C $Header: /u/gcmpack/MITgcm/pkg/gchem/gchem_tr_register.F,v 1.3 2018/01/19 22:23:06 jahn Exp $
C $Name: $
#include "GCHEM_OPTIONS.h"
CBOP
C !ROUTINE: GCHEM_TR_REGISTER
C !INTERFACE: ==========================================================
SUBROUTINE GCHEM_TR_REGISTER( myThid )
C !DESCRIPTION:
C Register GCHEM tracer indices
C !USES: ===============================================================
IMPLICIT NONE
#include "SIZE.h"
#include "EEPARAMS.h"
#include "PARAMS.h"
#include "GCHEM.h"
C !INPUT PARAMETERS: ===================================================
C myThid :: thread number
INTEGER myThid
C !OUTPUT PARAMETERS: ==================================================
C none
#ifdef ALLOW_GCHEM
C !LOCAL VARIABLES: ====================================================
C iUnit :: unit number for I/O
C msgBuf :: message buffer
c INTEGER iUnit
CHARACTER*(MAX_LEN_MBUF) msgBuf
CEOP
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
_BEGIN_MASTER(myThid)
WRITE(msgBuf,'(2A,2I5)') 'GCHEM_TR_REGISTER: ',
& ' Start registering GCHEM tracers'
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
& SQUEEZE_RIGHT, myThid )
C-- Initialise
gchem_Tracer_num = 0
gchem_sepFTr_num = 0
C-- Register GCHEM tracers: start with those using Separate Forcing
C and finish with those using gchem-tendency
#ifdef ALLOW_DIC
IF ( useDIC ) THEN
CALL DIC_TR_REGISTER(
U gchem_Tracer_num, gchem_sepFTr_num,
I myThid )
ENDIF
#endif
#ifdef ALLOW_BLING
IF ( useBLING ) THEN
CALL BLING_TR_REGISTER(
U gchem_Tracer_num, gchem_sepFTr_num,
I myThid )
ENDIF
#endif
#ifdef ALLOW_DARWIN
IF ( useDARWIN ) THEN
CALL DARWIN_TR_REGISTER(
U gchem_Tracer_num, gchem_sepFTr_num,
I myThid )
ENDIF
#endif
#ifdef ALLOW_CFC
IF ( useCFC ) THEN
CALL CFC_TR_REGISTER(
U gchem_Tracer_num, gchem_sepFTr_num,
I myThid )
ENDIF
#endif
#ifdef ALLOW_SPOIL
IF ( useSPOIL ) THEN
CALL SPOIL_TR_REGISTER(
U gchem_Tracer_num, gchem_sepFTr_num,
I myThid )
ENDIF
#endif
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
WRITE(msgBuf,'(2A,2I5)') 'GCHEM_TR_REGISTER: ',
& ' Numb. Trac & SepForc Trac:',
& gchem_Tracer_num, gchem_sepFTr_num
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
& SQUEEZE_RIGHT, myThid )
WRITE(msgBuf,'(A)') ' '
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
& SQUEEZE_RIGHT, myThid )
_END_MASTER(myThid)
_BARRIER
#endif /* ALLOW_GCHEM */
RETURN
END