New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
par_medusa.F90 in branches/NERC/dev_r5518_GO6_CleanMedusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA – NEMO

source: branches/NERC/dev_r5518_GO6_CleanMedusa/NEMOGCM/NEMO/TOP_SRC/MEDUSA/par_medusa.F90 @ 8372

Last change on this file since 8372 was 8372, checked in by jpalmier, 7 years ago

JPALM -- debug switch TOP module call order ; remove trc2d and trc3d from MEDUSA (obsolete); rm trcrst_medusa (obsolete)

File size: 9.1 KB
Line 
1MODULE par_medusa
2   !!======================================================================
3   !!                        ***  par_medusa  ***
4   !! TOP :   set the MEDUSA parameters
5   !!======================================================================
6   !! History :   2.0  !  2007-12  (C. Ethe, G. Madec)  revised architecture
7   !!              -   !  2008-08  (K. Popova) adaptation for MEDUSA
8   !!              -   !  2008-11  (A. Yool) continuing adaptation for MEDUSA
9   !!              -   !  2010-03  (A. Yool) updated for branch inclusion
10   !!              -   !  2011-04  (A. Yool) updated for ROAM project
11   !!       -   !  2013-03  (A. Yool) updated for v3.5 NEMO
12   !!----------------------------------------------------------------------
13   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)
14   !! $Id$
15   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
16   !!----------------------------------------------------------------------
17   USE par_pisces , ONLY : jp_pisces       !: number of tracers in PISCES
18   USE par_pisces , ONLY : jp_pisces_2d    !: number of 2D diag in PISCES
19   USE par_pisces , ONLY : jp_pisces_3d    !: number of 3D diag in PISCES
20   USE par_pisces , ONLY : jp_pisces_trd   !: number of biological diag in PISCES
21
22   USE par_cfc    , ONLY : jp_cfc          !: number of tracers in CFC
23   USE par_cfc    , ONLY : jp_cfc_2d       !: number of tracers in CFC
24   USE par_cfc    , ONLY : jp_cfc_3d       !: number of tracers in CFC
25   USE par_cfc    , ONLY : jp_cfc_trd      !: number of tracers in CFC
26
27   USE par_c14b   , ONLY : jp_c14b         !: number of tracers in C14
28   USE par_c14b   , ONLY : jp_c14b_2d      !: number of tracers in C14
29   USE par_c14b   , ONLY : jp_c14b_3d      !: number of tracers in C14
30   USE par_c14b   , ONLY : jp_c14b_trd     !: number of tracers in C14
31
32   USE par_age    , ONLY : jp_age          !: number of tracers in Age
33   USE par_age    , ONLY : jp_age_2d       !: number of tracers in Age
34   USE par_age    , ONLY : jp_age_3d       !: number of tracers in Age
35   USE par_age    , ONLY : jp_age_trd      !: number of tracers in Age
36
37   USE par_my_trc , ONLY : jp_my_trc       !: number of tracers in my_trc
38   USE par_my_trc , ONLY : jp_my_trc_2d    !: number of tracers in my_trc
39   USE par_my_trc , ONLY : jp_my_trc_3d    !: number of tracers in my_trc
40   USE par_my_trc , ONLY : jp_my_trc_trd   !: number of tracers in my_trc
41
42   USE par_idtra  , ONLY : jp_idtra        !: number of tracers in IDTRA
43   USE par_idtra  , ONLY : jp_idtra_2d     !: number of tracers in IDTRA
44   USE par_idtra  , ONLY : jp_idtra_3d     !: number of tracers in IDTRA
45   USE par_idtra  , ONLY : jp_idtra_trd    !: number of tracers in IDTRA
46
47   IMPLICIT NONE
48
49   INTEGER, PARAMETER ::   jp_lm      =  jp_pisces     +  jp_age     +  &
50                      jp_idtra      + jp_cfc     + jp_c14b    +  jp_my_trc       !:  cum. number of pass. tracers
51   INTEGER, PARAMETER ::   jp_lm_2d   =  jp_pisces_2d  + jp_age_2d   +  &
52                      jp_idtra_2d   + jp_cfc_2d  + jp_c14b_2d +  jp_my_trc_2d    !:
53   INTEGER, PARAMETER ::   jp_lm_3d   =  jp_pisces_3d  + jp_age_3d   +  &
54                      jp_idtra_3d   + jp_cfc_3d  + jp_c14b_3d +  jp_my_trc_3d    !:
55   INTEGER, PARAMETER ::   jp_lm_trd  =  jp_pisces_trd + jp_age_trd  +  &
56                      jp_idtra_trd  + jp_cfc_trd + jp_c14b_trd + jp_my_trc_trd   !:
57
58
59#if defined key_medusa
60   !!---------------------------------------------------------------------
61   !!   'key_medusa'                     user defined tracers (MEDUSA)
62   !!---------------------------------------------------------------------
63   LOGICAL, PUBLIC, PARAMETER ::   lk_medusa     = .TRUE.   !: PTS flag
64# if defined key_roam
65   INTEGER, PUBLIC, PARAMETER ::   jp_medusa     =  15      !: number of PTS tracers
66   INTEGER, PUBLIC, PARAMETER ::   jp_medusa_2d  =  225     !: additional 2d output arrays (used if ln_diatrc=T)
67   INTEGER, PUBLIC, PARAMETER ::   jp_medusa_3d  =  5       !: additional 3d output arrays (used if ln_diatrc=T)
68   INTEGER, PUBLIC, PARAMETER ::   jp_medusa_trd =  0       !: number of sms trends for MEDUSA
69# else
70   INTEGER, PUBLIC, PARAMETER ::   jp_medusa     =  11      !: number of PTS tracers
71   INTEGER, PUBLIC, PARAMETER ::   jp_medusa_2d  =  90      !: additional 2d output arrays (used if ln_diatrc=T)
72   INTEGER, PUBLIC, PARAMETER ::   jp_medusa_3d  =  4       !: additional 3d output arrays (used if ln_diatrc=T)
73   INTEGER, PUBLIC, PARAMETER ::   jp_medusa_trd =  0       !: number of sms trends for MEDUSA
74# endif
75
76   ! assign an index in trc arrays for each PTS prognostic variables
77   INTEGER, PUBLIC, PARAMETER ::   jpchn  =  jp_lm + 1      !: non-diatom chlorophyll concentration
78   INTEGER, PUBLIC, PARAMETER ::   jpchd  =  jp_lm + 2      !: diatom     chlorophyll concentration
79   INTEGER, PUBLIC, PARAMETER ::   jpphn  =  jp_lm + 3      !: non-diatom concentration
80   INTEGER, PUBLIC, PARAMETER ::   jpphd  =  jp_lm + 4      !: diatom     concentration
81   INTEGER, PUBLIC, PARAMETER ::   jpzmi  =  jp_lm + 5      !: microzooplankton concentration
82   INTEGER, PUBLIC, PARAMETER ::   jpzme  =  jp_lm + 6      !: mesozooplankton  concentration
83   INTEGER, PUBLIC, PARAMETER ::   jpdin  =  jp_lm + 7      !: dissolved inorganic nitrogen concentration
84   INTEGER, PUBLIC, PARAMETER ::   jpsil  =  jp_lm + 8      !: silicic acid concentration
85   INTEGER, PUBLIC, PARAMETER ::   jpfer  =  jp_lm + 9      !: total iron concentration
86   INTEGER, PUBLIC, PARAMETER ::   jpdet  =  jp_lm + 10     !: slow-sinking detritus concentration
87   INTEGER, PUBLIC, PARAMETER ::   jppds  =  jp_lm + 11     !: diatom silicon concentration
88# if defined key_roam
89   INTEGER, PUBLIC, PARAMETER ::   jpdtc  =  jp_lm + 12     !: slow-sinking detritus carbon concentration
90   INTEGER, PUBLIC, PARAMETER ::   jpdic  =  jp_lm + 13     !: dissolved inorganic carbon concentration
91   INTEGER, PUBLIC, PARAMETER ::   jpalk  =  jp_lm + 14     !: alkalinity
92   INTEGER, PUBLIC, PARAMETER ::   jpoxy  =  jp_lm + 15     !: dissolved oxygen concentration
93# endif
94
95   ! assign an index in trc arrays for each PTS prognostic variables
96   INTEGER, PUBLIC, PARAMETER ::   jpchn_lc  =  1      !: non-diatom chlorophyll concentration
97   INTEGER, PUBLIC, PARAMETER ::   jpchd_lc  =  2      !: diatom     chlorophyll concentration
98   INTEGER, PUBLIC, PARAMETER ::   jpphn_lc  =  3      !: non-diatom concentration
99   INTEGER, PUBLIC, PARAMETER ::   jpphd_lc  =  4      !: diatom     concentration
100   INTEGER, PUBLIC, PARAMETER ::   jpzmi_lc  =  5      !: microzooplankton concentration
101   INTEGER, PUBLIC, PARAMETER ::   jpzme_lc  =  6      !: mesozooplankton  concentration
102   INTEGER, PUBLIC, PARAMETER ::   jpdin_lc  =  7      !: dissolved inorganic nitrogen concentration
103   INTEGER, PUBLIC, PARAMETER ::   jpsil_lc  =  8      !: silicic acid concentration
104   INTEGER, PUBLIC, PARAMETER ::   jpfer_lc  =  9      !: total iron concentration
105   INTEGER, PUBLIC, PARAMETER ::   jpdet_lc  =  10     !: slow-sinking detritus concentration
106   INTEGER, PUBLIC, PARAMETER ::   jppds_lc  =  11     !: diatom silicon concentration
107# if defined key_roam
108   INTEGER, PUBLIC, PARAMETER ::   jpdtc_lc  =  12     !: slow-sinking detritus carbon concentration
109   INTEGER, PUBLIC, PARAMETER ::   jpdic_lc  =  13     !: dissolved inorganic carbon concentration
110   INTEGER, PUBLIC, PARAMETER ::   jpalk_lc  =  14     !: alkalinity
111   INTEGER, PUBLIC, PARAMETER ::   jpoxy_lc  =  15     !: dissolved oxygen concentration
112# endif
113
114#else
115   !!---------------------------------------------------------------------
116   !!   Default                           No user defined tracers (MEDUSA)
117   !!---------------------------------------------------------------------
118   LOGICAL, PUBLIC, PARAMETER ::   lk_medusa     = .FALSE.  !: MEDUSA flag
119   INTEGER, PUBLIC, PARAMETER ::   jp_medusa     =  0       !: No MEDUSA tracers
120   INTEGER, PUBLIC, PARAMETER ::   jp_medusa_2d  =  0       !: No MEDUSA additional 2d output arrays
121   INTEGER, PUBLIC, PARAMETER ::   jp_medusa_3d  =  0       !: No MEDUSA additional 3d output arrays
122   INTEGER, PUBLIC, PARAMETER ::   jp_medusa_trd =  0       !: number of sms trends for MEDUSA
123#endif
124
125   ! Starting/ending PISCES do-loop indices (N.B. no PISCES : jpl_pcs < jpf_pcs the do-loop are never done)
126   INTEGER, PUBLIC, PARAMETER ::   jp_msa0     = jp_lm     + 1              !: First index of MEDUSA passive tracers
127   INTEGER, PUBLIC, PARAMETER ::   jp_msa1     = jp_lm     + jp_medusa      !: Last  index of MEDUSA passive tracers
128   INTEGER, PUBLIC, PARAMETER ::   jp_msa0_2d  = jp_lm_2d  + 1              !: First index of MEDUSA passive tracers
129   INTEGER, PUBLIC, PARAMETER ::   jp_msa1_2d  = jp_lm_2d  + jp_medusa_2d   !: Last  index of MEDUSA passive tracers
130   INTEGER, PUBLIC, PARAMETER ::   jp_msa0_3d  = jp_lm_3d  + 1              !: First index of MEDUSA passive tracers
131   INTEGER, PUBLIC, PARAMETER ::   jp_msa1_3d  = jp_lm_3d  + jp_medusa_3d   !: Last  index of MEDUSA passive tracers
132   INTEGER, PUBLIC, PARAMETER ::   jp_msa0_trd = jp_lm_trd + 1              !: First index of MEDUSA passive tracers
133   INTEGER, PUBLIC, PARAMETER ::   jp_msa1_trd = jp_lm_trd + jp_medusa_trd  !: Last  index of MEDUSA passive tracers
134
135   !!======================================================================
136END MODULE par_medusa
Note: See TracBrowser for help on using the repository browser.