source: branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/AGE/par_age.F90 @ 7703

Last change on this file since 7703 was 7703, checked in by marc, 4 years ago

Marc 20/2/17. Fix two bugs.

  • Property svn:executable set to *
File size: 5.2 KB
Line 
1MODULE par_age
2   !!======================================================================
3   !!                        ***  par_age  ***
4   !! TOP :   set the AGE 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_medusa , ONLY : jp_medusa       !: number of tracers in MEDUSA
18   USE par_medusa , ONLY : jp_medusa_2d    !: number of 2D diag in MEDUSA
19   USE par_medusa , ONLY : jp_medusa_3d    !: number of 3D diag in MEDUSA
20   USE par_medusa , ONLY : jp_medusa_trd   !: number of biological diag in MEDUSA
21
22   USE par_idtra  , ONLY : jp_idtra        !: number of tracers in MEDUSA
23   USE par_idtra  , ONLY : jp_idtra_2d     !: number of tracers in MEDUSA
24   USE par_idtra  , ONLY : jp_idtra_3d     !: number of tracers in MEDUSA
25   USE par_idtra  , ONLY : jp_idtra_trd    !: number of tracers in MEDUSA
26
27   USE par_cfc    , ONLY : jp_cfc          !: number of tracers in CFC
28   USE par_cfc    , ONLY : jp_cfc_2d       !: number of tracers in CFC
29   USE par_cfc    , ONLY : jp_cfc_3d       !: number of tracers in CFC
30   USE par_cfc    , ONLY : jp_cfc_trd      !: number of tracers in CFC
31
32   USE par_c14b   , ONLY : jp_c14b         !: number of tracers in C14
33   USE par_c14b   , ONLY : jp_c14b_2d      !: number of tracers in C14
34   USE par_c14b   , ONLY : jp_c14b_3d      !: number of tracers in C14
35   USE par_c14b   , ONLY : jp_c14b_trd     !: number of tracers in C14
36
37   IMPLICIT NONE
38
39   INTEGER, PARAMETER ::   jp_lm      =  jp_pisces     + jp_medusa     +            &
40                      jp_idtra      + jp_cfc     + jp_c14b     !:  cum. number of pass. tracers
41   INTEGER, PARAMETER ::   jp_lm_2d   =  jp_pisces_2d  + jp_medusa_2d  +            &
42                      jp_idtra_2d   + jp_cfc_2d  + jp_c14b_2d  !:
43   INTEGER, PARAMETER ::   jp_lm_3d   =  jp_pisces_3d  + jp_medusa_3d  +            &
44                      jp_idtra_3d   + jp_cfc_3d  + jp_c14b_3d  !:
45   INTEGER, PARAMETER ::   jp_lm_trd  =  jp_pisces_trd + jp_medusa_trd +            &
46                      jp_idtra_trd  + jp_cfc_trd + jp_c14b_trd !:
47
48#if defined key_age
49   !!---------------------------------------------------------------------
50   !!   'key_age'                     user defined tracers (AGE)
51   !!---------------------------------------------------------------------
52   LOGICAL, PUBLIC, PARAMETER ::   lk_age     = .TRUE.   !: PTS flag
53   INTEGER, PUBLIC, PARAMETER ::   jp_age     =  1       !: number of PTS tracers
54   INTEGER, PUBLIC, PARAMETER ::   jp_age_2d  =  0       !: additional 2d output arrays ('key_trc_diaadd')
55   INTEGER, PUBLIC, PARAMETER ::   jp_age_3d  =  0       !: additional 3d output arrays ('key_trc_diaadd')
56   INTEGER, PUBLIC, PARAMETER ::   jp_age_trd =  0       !: number of sms trends for AGE
57
58   ! assign an index in trc arrays for each PTS prognostic variables
59   INTEGER, PUBLIC, PARAMETER ::   jpage1 = jp_lm + 1     !: 1st AGE tracer
60
61#else
62   !!---------------------------------------------------------------------
63   !!   Default                           No user defined tracers (AGE)
64   !!---------------------------------------------------------------------
65   LOGICAL, PUBLIC, PARAMETER ::   lk_age     = .FALSE.  !: AGE flag
66   INTEGER, PUBLIC, PARAMETER ::   jp_age     =  0       !: No AGE tracers
67   INTEGER, PUBLIC, PARAMETER ::   jp_age_2d  =  0       !: No AGE additional 2d output arrays
68   INTEGER, PUBLIC, PARAMETER ::   jp_age_3d  =  0       !: No AGE additional 3d output arrays
69   INTEGER, PUBLIC, PARAMETER ::   jp_age_trd =  0       !: number of sms trends for AGE
70#endif
71
72   ! Starting/ending PISCES do-loop indices (N.B. no PISCES : jpl_pcs < jpf_pcs the do-loop are never done)
73   INTEGER, PUBLIC, PARAMETER ::   jp_age0     = jp_lm     + 1              !: First index of AGE passive tracers
74   INTEGER, PUBLIC, PARAMETER ::   jp_age1     = jp_lm     + jp_age      !: Last  index of AGE passive tracers
75   INTEGER, PUBLIC, PARAMETER ::   jp_age0_2d  = jp_lm_2d  + 1              !: First index of AGE passive tracers
76   INTEGER, PUBLIC, PARAMETER ::   jp_age1_2d  = jp_lm_2d  + jp_age_2d   !: Last  index of AGE passive tracers
77   INTEGER, PUBLIC, PARAMETER ::   jp_age0_3d  = jp_lm_3d  + 1              !: First index of AGE passive tracers
78   INTEGER, PUBLIC, PARAMETER ::   jp_age1_3d  = jp_lm_3d  + jp_age_3d   !: Last  index of AGE passive tracers
79   INTEGER, PUBLIC, PARAMETER ::   jp_age0_trd = jp_lm_trd + 1              !: First index of AGE passive tracers
80   INTEGER, PUBLIC, PARAMETER ::   jp_age1_trd = jp_lm_trd + jp_age_trd  !: Last  index of AGE passive tracers
81
82   !!======================================================================
83END MODULE par_age
Note: See TracBrowser for help on using the repository browser.