1 |
C $Header: /u/gcmpack/MITgcm_contrib/ecco_darwin/v4_llc270/code_darwin/DARWIN_SIZE.h,v 1.2 2019/08/26 05:33:09 dcarroll Exp $ |
2 |
C $Name: $ |
3 |
|
4 |
c DARWIN_SIZE.h |
5 |
c description: Size specification for generalized ecosystem model |
6 |
c Mick Follows, Scott Grant Fall/Winter 2005 |
7 |
c Stephanie Dutkiewicz Spring/Summer 2006 |
8 |
c |
9 |
c |
10 |
c npmax = no of "functional groups" of phytoplankton |
11 |
c nzmax = no of "functional groups" of zooplankton |
12 |
c |
13 |
c |
14 |
INTEGER npmax |
15 |
INTEGER nzmax |
16 |
PARAMETER(npmax=5,nzmax=2) |
17 |
|
18 |
C iPO4 :: index of PO4 in Ptracer |
19 |
C iNO3 :: index of NO3 in Ptracer |
20 |
C iFeT :: index of FeT in Ptracer |
21 |
C iSi :: index of Si in Ptracer |
22 |
C iDOP :: index of DOP in Ptracer |
23 |
C iDON :: index of DON in Ptracer |
24 |
C iDOFe :: index of DOFe in Ptracer |
25 |
C iPOP :: index of POP in Ptracer |
26 |
C iPON :: index of PON in Ptracer |
27 |
C iPOFe :: index of POFe in Ptracer |
28 |
C iPOSi :: index of POSi in Ptracer |
29 |
C iNH4 :: index of NH4 in Ptracer |
30 |
C iNO2 :: index of NO2 in Ptracer |
31 |
C iCa :: index of Ca in Ptracer |
32 |
C iZoo :: index of first zooplankton |
33 |
C iPhy :: index of first phytoplankton |
34 |
C iChl :: index of first phytoplankton Chl (if using dynamic chl) |
35 |
C nDarwin :: total number of ptracers used by DARWIN |
36 |
C nCompZooMax :: maximum number of components each zooplankton can have (P,N,...) |
37 |
C strideCompZoo :: increment between components of zooplankton |
38 |
C :: iZooComp(nz) = iZoo+(nz-1)*strideTypeZoo+(iComp-1)*strideCompZoo |
39 |
C strideTypeZoo :: increment between types of zooplankton |
40 |
C :: iZooComp(nz) = iZoo+(nz-1)*strideTypeZoo+(iComp-1)*strideCompZoo |
41 |
C the only reasonable choices for the above two are: |
42 |
C strideCompZoo = 1 |
43 |
C strideTypeZoo = nCompZooMax |
44 |
C (the traditional choice) or |
45 |
C strideCompZoo = nzmax |
46 |
C strideTypeZoo = 1 |
47 |
C remember to bring the fields in data.ptracers in the right order ! |
48 |
|
49 |
INTEGER iPO4 |
50 |
INTEGER iNO3 |
51 |
INTEGER iFeT |
52 |
INTEGER iSi |
53 |
INTEGER iDOP |
54 |
INTEGER iDON |
55 |
INTEGER iDOFe |
56 |
INTEGER iPOP |
57 |
INTEGER iPON |
58 |
INTEGER iPOFe |
59 |
INTEGER iPOSi |
60 |
INTEGER iNH4 |
61 |
INTEGER iNO2 |
62 |
INTEGER iZoo |
63 |
INTEGER iPhy |
64 |
INTEGER nDarwin |
65 |
INTEGER nCompZooMax |
66 |
INTEGER strideCompZoo |
67 |
INTEGER strideTypeZoo |
68 |
INTEGER iTot |
69 |
#ifdef ALLOW_CARBON |
70 |
INTEGER iDIC |
71 |
INTEGER iDOC |
72 |
INTEGER iPOC |
73 |
INTEGER iPIC |
74 |
INTEGER iALK |
75 |
INTEGER iO2 |
76 |
INTEGER iZoC |
77 |
INTEGER iCA |
78 |
#endif |
79 |
#ifdef DYNAMIC_CHL |
80 |
INTEGER iChl |
81 |
#endif |
82 |
PARAMETER (nCompZooMax=4) |
83 |
PARAMETER (strideCompZoo=1) |
84 |
PARAMETER (strideTypeZoo=nCompZooMax) |
85 |
PARAMETER (iPO4 =1) |
86 |
PARAMETER (iNO3 =2) |
87 |
PARAMETER (iFeT =3) |
88 |
PARAMETER (iSi =4) |
89 |
PARAMETER (iDOP =5) |
90 |
PARAMETER (iDON =6) |
91 |
PARAMETER (iDOFe =7) |
92 |
PARAMETER (iZoo =8) |
93 |
PARAMETER (iPOP =iZoo+nzmax*nCompZooMax) |
94 |
PARAMETER (iPON =iPOP +1) |
95 |
PARAMETER (iPOFe =iPON +1) |
96 |
PARAMETER (iPOSi =iPOFe +1) |
97 |
PARAMETER (iNH4 =iPOSi +1) |
98 |
PARAMETER (iNO2 =iNH4 +1) |
99 |
PARAMETER (iPhy =iNO2 +1) |
100 |
#ifdef DYNAMIC_CHL |
101 |
PARAMETER (iChl =iPhy +npmax) |
102 |
PARAMETER (iTOT =iPhy +npmax+npmax) |
103 |
#else |
104 |
PARAMETER (iTOT =iPhy +npmax) |
105 |
#endif |
106 |
#ifdef ALLOW_CARBON |
107 |
PARAMETER (iDIC =iTOT) |
108 |
PARAMETER (iDOC =iDIC+1) |
109 |
PARAMETER (iPOC =iDOC+1) |
110 |
PARAMETER (iPIC =iPOC+1) |
111 |
PARAMETER (iALK =iPIC+1) |
112 |
PARAMETER (iO2 =iALK+1) |
113 |
PARAMETER (iZoC =iO2+1) |
114 |
PARAMETER (iCA = iZoC+nzmax) |
115 |
PARAMETER (nDarwin=iCA-1) |
116 |
#else |
117 |
PARAMETER (nDarwin=iTOT-1) |
118 |
#endif |
119 |
C iZooP(nzmax) :: index of phosphorus content of each zooplankton type |
120 |
C iZooN(nzmax) :: index of nitrogen content of each zooplankton type |
121 |
C iZooFe(nzmax) :: index of iron content of each zooplankton type |
122 |
C iZooSi(nzmax) :: index of silica content of each zooplankton type |
123 |
C these are computed in darwin_init_fixed from iZoo, strideCompZoo and strideTypeZoo |
124 |
INTEGER iZooP (nzmax) |
125 |
INTEGER iZooN (nzmax) |
126 |
INTEGER iZooFe(nzmax) |
127 |
INTEGER iZooSi(nzmax) |
128 |
#ifdef ALLOW_CARBON |
129 |
INTEGER iZooC(nzmax) |
130 |
#endif |
131 |
COMMON/DARWIN_SIZE/ iZooP, iZooN, iZooFe, iZooSi |
132 |
#ifdef ALLOW_CARBON |
133 |
& ,iZooC |
134 |
#endif |
135 |
|
136 |
|