source: branches/dev_001_GM/NEMO/TOP_SRC/PISCES/par_PISCES.F90 @ 768

Last change on this file since 768 was 768, checked in by gm, 13 years ago

dev_001_GM - create 1 trclsm_ module by trc model (CFC, LOBSTER, PISCES..) + some bug corrections

File size: 8.0 KB
Line 
1MODULE par_PISCES
2   !!======================================================================
3   !!                        ***  par_PISCES  ***
4   !! TOP :   set the PISCES parameters
5   !!======================================================================
6   !! History :   2.0  !  2007-12  (C. Ethe, G. Madec)  revised architecture
7   !!----------------------------------------------------------------------
8   !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007)
9   !! $Id:$
10   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)
11   !!----------------------------------------------------------------------
12   USE par_LOBSTER, ONLY : jp_lobster   !: number of tracers in LOBSTER
13
14   IMPLICIT NONE
15   PUBLIC
16
17   INTEGER, PUBLIC, PARAMETER ::   jp_l  = jp_lobster      !: cumulative number of already defined TRC
18
19#if defined key_trc_pisces  &&  defined key_trc_kriest
20   !!---------------------------------------------------------------------
21   !!   'key_trc_pisces' & 'key_trc_kriest'         PISCES bio-model + ???
22   !!---------------------------------------------------------------------
23   LOGICAL, PUBLIC, PARAMETER ::   lk_trc_pisces = .TRUE.  !: PISCES flag
24   LOGICAL, PUBLIC, PARAMETER ::   lk_trc_kriest = .TRUE.  !: Kriest flag
25   INTEGER, PUBLIC, PARAMETER ::   jp_pisces     =  23     !: number of passive tracers
26   INTEGER, PUBLIC, PARAMETER ::   jp_pisces_2d  =  13     !: additional 2d output ('key_trc_diaadd')
27   INTEGER, PUBLIC, PARAMETER ::   jp_pisces_3d  =  18     !: additional 3d output ('key_trc_diaadd')
28   INTEGER, PUBLIC, PARAMETER ::   jp_pisces_trd =   1     !: number of sms trends for PISCES
29
30   ! assign an index in trc arrays for each LOBSTER prognostic variables
31   !    WARNING: be carefull about the order when reading the restart
32        !   !!gm  this warning should be obsolet with IOM
33   INTEGER, PUBLIC, PARAMETER ::   jpdic = jp_l +  1    !: dissolved inoganic carbon concentration
34   INTEGER, PUBLIC, PARAMETER ::   jptal = jp_l +  2    !: total alkalinity
35   INTEGER, PUBLIC, PARAMETER ::   jpoxy = jp_l +  3    !: oxygen carbon concentration
36   INTEGER, PUBLIC, PARAMETER ::   jpcal = jp_l +  4    !: calcite  concentration
37   INTEGER, PUBLIC, PARAMETER ::   jppo4 = jp_l +  5    !: phosphate concentration
38   INTEGER, PUBLIC, PARAMETER ::   jppoc = jp_l +  6    !: small particulate organic phosphate concentration
39   INTEGER, PUBLIC, PARAMETER ::   jpsil = jp_l +  7    !: silicate concentration
40   INTEGER, PUBLIC, PARAMETER ::   jpphy = jp_l +  8    !: phytoplancton concentration
41   INTEGER, PUBLIC, PARAMETER ::   jpzoo = jp_l +  9    !: zooplancton concentration
42   INTEGER, PUBLIC, PARAMETER ::   jpdoc = jp_l + 10    !: dissolved organic carbon concentration
43   INTEGER, PUBLIC, PARAMETER ::   jpdia = jp_l + 11    !: Diatoms Concentration
44   INTEGER, PUBLIC, PARAMETER ::   jpmes = jp_l + 12    !: Mesozooplankton Concentration
45   INTEGER, PUBLIC, PARAMETER ::   jpbsi = jp_l + 13    !: (big) Silicate Concentration
46   INTEGER, PUBLIC, PARAMETER ::   jpfer = jp_l + 14    !: Iron Concentration
47   INTEGER, PUBLIC, PARAMETER ::   jpnum = jp_l + 15    !: Big iron particles Concentration
48   INTEGER, PUBLIC, PARAMETER ::   jpsfe = jp_l + 16    !: number of particulate organic phosphate concentration
49   INTEGER, PUBLIC, PARAMETER ::   jpdfe = jp_l + 17    !: Diatoms iron Concentration
50   INTEGER, PUBLIC, PARAMETER ::   jpdsi = jp_l + 18    !: Diatoms Silicate Concentration
51   INTEGER, PUBLIC, PARAMETER ::   jpnfe = jp_l + 19    !: Nano iron Concentration
52   INTEGER, PUBLIC, PARAMETER ::   jpnch = jp_l + 20    !: Nano Chlorophyll Concentration
53   INTEGER, PUBLIC, PARAMETER ::   jpdch = jp_l + 21    !: Diatoms Chlorophyll Concentration
54   INTEGER, PUBLIC, PARAMETER ::   jpno3 = jp_l + 22    !: Nitrates Concentration
55   INTEGER, PUBLIC, PARAMETER ::   jpnh4 = jp_l + 23    !: Ammonium Concentration
56
57#elif defined key_trc_pisces
58   !!---------------------------------------------------------------------
59   !!   'key_trc_pisces'   :                     standard PISCES bio-model
60   !!---------------------------------------------------------------------
61   LOGICAL, PUBLIC, PARAMETER ::   lk_trc_pisces = .TRUE.  !: PISCES flag
62   LOGICAL, PUBLIC, PARAMETER ::   lk_trc_kriest = .FALSE. !: Kriest flag
63   INTEGER, PUBLIC, PARAMETER ::   jp_pisces     = 24      !: number of PISCES passive tracers
64   INTEGER, PUBLIC, PARAMETER ::   jp_pisces_2d  = 13      !: additional 2d output ('key_trc_diaadd')
65   INTEGER, PUBLIC, PARAMETER ::   jp_pisces_3d  = 11      !: additional 3d output ('key_trc_diaadd')
66   INTEGER, PUBLIC, PARAMETER ::   jp_pisces_trd =  1      !: number of sms trends for PISCES
67
68   ! assign an index in trc arrays for each LOBSTER prognostic variables
69   !    WARNING: be carefull about the order when reading the restart
70        !   !!gm  this warning should be obsolet with IOM
71   INTEGER, PUBLIC, PARAMETER ::   jpdic = jp_l +  1    !: dissolved inoganic carbon concentration
72   INTEGER, PUBLIC, PARAMETER ::   jptal = jp_l +  2    !: total alkalinity
73   INTEGER, PUBLIC, PARAMETER ::   jpoxy = jp_l +  3    !: oxygen carbon concentration
74   INTEGER, PUBLIC, PARAMETER ::   jpcal = jp_l +  4    !: calcite  concentration
75   INTEGER, PUBLIC, PARAMETER ::   jppo4 = jp_l +  5    !: phosphate concentration
76   INTEGER, PUBLIC, PARAMETER ::   jppoc = jp_l +  6    !: small particulate organic phosphate concentration
77   INTEGER, PUBLIC, PARAMETER ::   jpsil = jp_l +  7    !: silicate concentration
78   INTEGER, PUBLIC, PARAMETER ::   jpphy = jp_l +  8    !: phytoplancton concentration
79   INTEGER, PUBLIC, PARAMETER ::   jpzoo = jp_l +  9    !: zooplancton concentration
80   INTEGER, PUBLIC, PARAMETER ::   jpdoc = jp_l + 10    !: dissolved organic carbon concentration
81   INTEGER, PUBLIC, PARAMETER ::   jpdia = jp_l + 11    !: Diatoms Concentration
82   INTEGER, PUBLIC, PARAMETER ::   jpmes = jp_l + 12    !: Mesozooplankton Concentration
83   INTEGER, PUBLIC, PARAMETER ::   jpbsi = jp_l + 13    !: (big) Silicate Concentration
84   INTEGER, PUBLIC, PARAMETER ::   jpfer = jp_l + 14    !: Iron Concentration
85   INTEGER, PUBLIC, PARAMETER ::   jpbfe = jp_l + 15    !: Big iron particles Concentration
86   INTEGER, PUBLIC, PARAMETER ::   jpgoc = jp_l + 16    !: big particulate organic phosphate concentration
87   INTEGER, PUBLIC, PARAMETER ::   jpsfe = jp_l + 17    !: Small iron particles Concentration
88   INTEGER, PUBLIC, PARAMETER ::   jpdfe = jp_l + 18    !: Diatoms iron Concentration
89   INTEGER, PUBLIC, PARAMETER ::   jpdsi = jp_l + 19    !: Diatoms Silicate Concentration
90   INTEGER, PUBLIC, PARAMETER ::   jpnfe = jp_l + 20    !: Nano iron Concentration
91   INTEGER, PUBLIC, PARAMETER ::   jpnch = jp_l + 21    !: Nano Chlorophyll Concentration
92   INTEGER, PUBLIC, PARAMETER ::   jpdch = jp_l + 22    !: Diatoms Chlorophyll Concentration
93   INTEGER, PUBLIC, PARAMETER ::   jpno3 = jp_l + 23    !: Nitrates Concentration
94   INTEGER, PUBLIC, PARAMETER ::   jpnh4 = jp_l + 24    !: Ammonium Concentration
95
96#else
97   !!---------------------------------------------------------------------
98   !!   Default                                   No CFC geochemical model
99   !!---------------------------------------------------------------------
100   LOGICAL, PUBLIC, PARAMETER ::   lk_trc_pisces = .FALSE.  !: CFC flag
101   LOGICAL, PUBLIC, PARAMETER ::   lk_trc_kriest = .FALSE.  !: Kriest flag
102   INTEGER, PUBLIC, PARAMETER ::   jp_pisces     =  0       !: No CFC tracers
103   INTEGER, PUBLIC, PARAMETER ::   jp_pisces_2d  =  0       !: No CFC additional 2d output arrays
104   INTEGER, PUBLIC, PARAMETER ::   jp_pisces_3d  =  0       !: No CFC additional 3d output arrays
105   INTEGER, PUBLIC, PARAMETER ::   jp_pisces_trd =  0       !: number of sms trends for PISCES
106#endif
107
108   ! Starting/ending PISCES do-loop indices (N.B. no PISCES : jpl_pcs < jpf_pcs the do-loop are never done)
109   INTEGER, PUBLIC, PARAMETER ::   jpf_pcs = jp_l + 1           !: First index of CFC passive tracers
110   INTEGER, PUBLIC, PARAMETER ::   jpl_pcs = jp_l + jp_pisces   !: Last  index of CFC passive tracers
111
112   !!======================================================================
113END MODULE par_PISCES
Note: See TracBrowser for help on using the repository browser.