source: branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/TOP_SRC/MY_TRC/par_my_trc.F90 @ 7179

Last change on this file since 7179 was 7179, checked in by timgraham, 4 years ago

Manually merge in changes from v3.6_extra_CMIP6_diagnostics branch.
This change also includes a change of the domain_def.xml file so XIOS2 must be used from this revision onwards

File size: 4.8 KB
Line 
1MODULE par_my_trc
2   !!======================================================================
3   !!                        ***  par_my_trc  ***
4   !! TOP :   set the MY_TRC parameters
5   !!======================================================================
6   !! History :   2.0  !  2007-12  (C. Ethe, G. Madec)  revised architecture
7   !!----------------------------------------------------------------------
8   !! NEMO/TOP 3.3 , NEMO Consortium (2010)
9   !! $Id$
10   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
11   !!----------------------------------------------------------------------
12   USE par_pisces , ONLY : jp_pisces       !: number of tracers in PISCES
13   USE par_pisces , ONLY : jp_pisces_2d    !: number of 2D diag in PISCES
14   USE par_pisces , ONLY : jp_pisces_3d    !: number of 3D diag in PISCES
15   USE par_pisces , ONLY : jp_pisces_trd   !: number of biological diag in PISCES
16
17   USE par_cfc    , ONLY : jp_cfc          !: number of tracers in CFC
18   USE par_cfc    , ONLY : jp_cfc_2d       !: number of tracers in CFC
19   USE par_cfc    , ONLY : jp_cfc_3d       !: number of tracers in CFC
20   USE par_cfc    , ONLY : jp_cfc_trd      !: number of tracers in CFC
21
22   USE par_c14b   , ONLY : jp_c14b         !: number of tracers in C14
23   USE par_c14b   , ONLY : jp_c14b_2d      !: number of tracers in C14
24   USE par_c14b   , ONLY : jp_c14b_3d      !: number of tracers in C14
25   USE par_c14b   , ONLY : jp_c14b_trd     !: number of tracers in C14
26
27   USE par_age   , ONLY : jp_age         !: number of tracers in AGE
28   USE par_age   , ONLY : jp_age_2d      !: number of tracers in AGE
29   USE par_age   , ONLY : jp_age_3d      !: number of tracers in AGE
30   USE par_age   , ONLY : jp_age_trd     !: number of tracers in AGE
31
32   IMPLICIT NONE
33
34   INTEGER, PARAMETER ::   jp_lm      =  jp_pisces     + jp_cfc     + jp_c14b     + jp_age      !:
35   INTEGER, PARAMETER ::   jp_lm_2d   =  jp_pisces_2d  + jp_cfc_2d  + jp_c14b_2d  + jp_age_2d   !:
36   INTEGER, PARAMETER ::   jp_lm_3d   =  jp_pisces_3d  + jp_cfc_3d  + jp_c14b_3d  + jp_age_3d   !:
37   INTEGER, PARAMETER ::   jp_lm_trd  =  jp_pisces_trd + jp_cfc_trd + jp_c14b_trd + jp_age_trd  !:
38
39#if defined key_my_trc
40   !!---------------------------------------------------------------------
41   !!   'key_my_trc'                     user defined tracers (MY_TRC)
42   !!---------------------------------------------------------------------
43   LOGICAL, PUBLIC, PARAMETER ::   lk_my_trc     = .TRUE.   !: PTS flag
44   INTEGER, PUBLIC, PARAMETER ::   jp_my_trc     =  1       !: number of PTS tracers
45   INTEGER, PUBLIC, PARAMETER ::   jp_my_trc_2d  =  0       !: additional 2d output arrays ('key_trc_diaadd')
46   INTEGER, PUBLIC, PARAMETER ::   jp_my_trc_3d  =  0       !: additional 3d output arrays ('key_trc_diaadd')
47   INTEGER, PUBLIC, PARAMETER ::   jp_my_trc_trd =  0       !: number of sms trends for MY_TRC
48
49   ! assign an index in trc arrays for each PTS prognostic variables
50   INTEGER, PUBLIC, PARAMETER ::   jpmyt1 = jp_lm + 1     !: 1st MY_TRC tracer
51
52#else
53   !!---------------------------------------------------------------------
54   !!   Default                           No user defined tracers (MY_TRC)
55   !!---------------------------------------------------------------------
56   LOGICAL, PUBLIC, PARAMETER ::   lk_my_trc     = .FALSE.  !: MY_TRC flag
57   INTEGER, PUBLIC, PARAMETER ::   jp_my_trc     =  0       !: No MY_TRC tracers
58   INTEGER, PUBLIC, PARAMETER ::   jp_my_trc_2d  =  0       !: No MY_TRC additional 2d output arrays
59   INTEGER, PUBLIC, PARAMETER ::   jp_my_trc_3d  =  0       !: No MY_TRC additional 3d output arrays
60   INTEGER, PUBLIC, PARAMETER ::   jp_my_trc_trd =  0       !: number of sms trends for MY_TRC
61#endif
62
63   ! Starting/ending PISCES do-loop indices (N.B. no PISCES : jpl_pcs < jpf_pcs the do-loop are never done)
64   INTEGER, PUBLIC, PARAMETER ::   jp_myt0     = jp_lm     + 1              !: First index of MY_TRC passive tracers
65   INTEGER, PUBLIC, PARAMETER ::   jp_myt1     = jp_lm     + jp_my_trc      !: Last  index of MY_TRC passive tracers
66   INTEGER, PUBLIC, PARAMETER ::   jp_myt0_2d  = jp_lm_2d  + 1              !: First index of MY_TRC passive tracers
67   INTEGER, PUBLIC, PARAMETER ::   jp_myt1_2d  = jp_lm_2d  + jp_my_trc_2d   !: Last  index of MY_TRC passive tracers
68   INTEGER, PUBLIC, PARAMETER ::   jp_myt0_3d  = jp_lm_3d  + 1              !: First index of MY_TRC passive tracers
69   INTEGER, PUBLIC, PARAMETER ::   jp_myt1_3d  = jp_lm_3d  + jp_my_trc_3d   !: Last  index of MY_TRC passive tracers
70   INTEGER, PUBLIC, PARAMETER ::   jp_myt0_trd = jp_lm_trd + 1              !: First index of MY_TRC passive tracers
71   INTEGER, PUBLIC, PARAMETER ::   jp_myt1_trd = jp_lm_trd + jp_my_trc_trd  !: Last  index of MY_TRC passive tracers
72
73   !!======================================================================
74END MODULE par_my_trc
Note: See TracBrowser for help on using the repository browser.