| 1 |
C $Header: /u/gcmpack/MITgcm_contrib/darwin2/pkg/monod/MONOD_SIZE.h,v 1.4 2012/07/26 20:43:36 stephd Exp $ |
| 2 |
C $Name: $ |
| 3 |
|
| 4 |
c MONOD_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 |
|
| 15 |
INTEGER npmax |
| 16 |
INTEGER nzmax |
| 17 |
PARAMETER(npmax=78,nzmax=2) |
| 18 |
|
| 19 |
C iPO4 :: index of PO4 in Ptracer |
| 20 |
C iNO3 :: index of NO3 in Ptracer |
| 21 |
C iFeT :: index of FeT in Ptracer |
| 22 |
C iSi :: index of Si in Ptracer |
| 23 |
C iDOP :: index of DOP in Ptracer |
| 24 |
C iDON :: index of DON in Ptracer |
| 25 |
C iDOFe :: index of DOFe in Ptracer |
| 26 |
C iPOP :: index of POP in Ptracer |
| 27 |
C iPON :: index of PON in Ptracer |
| 28 |
C iPOFe :: index of POFe in Ptracer |
| 29 |
C iPOSi :: index of POSi in Ptracer |
| 30 |
C iNH4 :: index of NH4 in Ptracer |
| 31 |
C iNO2 :: index of NO2 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 iCDOM :: index of CDOM (if using CDOM) |
| 36 |
C nDarwin :: total number of ptracers used by DARWIN |
| 37 |
C nCompZooMax :: maximum number of components each zooplankton can have (P,N,...) |
| 38 |
C strideCompZoo :: increment between components of zooplankton |
| 39 |
C :: iZooComp(nz) = iZoo+(nz-1)*strideTypeZoo+(iComp-1)*strideCompZoo |
| 40 |
C strideTypeZoo :: increment between types of zooplankton |
| 41 |
C :: iZooComp(nz) = iZoo+(nz-1)*strideTypeZoo+(iComp-1)*strideCompZoo |
| 42 |
C the only reasonable choices for the above two are: |
| 43 |
C strideCompZoo = 1 |
| 44 |
C strideTypeZoo = nCompZooMax |
| 45 |
C (the traditional choice) or |
| 46 |
C strideCompZoo = nzmax |
| 47 |
C strideTypeZoo = 1 |
| 48 |
C remember to bring the fields in data.ptracers in the right order ! |
| 49 |
|
| 50 |
INTEGER iPO4 |
| 51 |
INTEGER iNO3 |
| 52 |
INTEGER iFeT |
| 53 |
INTEGER iSi |
| 54 |
INTEGER iDOP |
| 55 |
INTEGER iDON |
| 56 |
INTEGER iDOFe |
| 57 |
INTEGER iPOP |
| 58 |
INTEGER iPON |
| 59 |
INTEGER iPOFe |
| 60 |
INTEGER iPOSi |
| 61 |
INTEGER iNH4 |
| 62 |
INTEGER iNO2 |
| 63 |
INTEGER iZoo |
| 64 |
INTEGER iPhy |
| 65 |
INTEGER nDarwin |
| 66 |
INTEGER nCompZooMax |
| 67 |
INTEGER strideCompZoo |
| 68 |
INTEGER strideTypeZoo |
| 69 |
INTEGER iTot |
| 70 |
INTEGER nTOT |
| 71 |
#ifdef ALLOW_CARBON |
| 72 |
INTEGER iDIC |
| 73 |
INTEGER iDOC |
| 74 |
INTEGER iPOC |
| 75 |
INTEGER iPIC |
| 76 |
INTEGER iALK |
| 77 |
INTEGER iO2 |
| 78 |
INTEGER iZoC |
| 79 |
#endif |
| 80 |
#ifdef DYNAMIC_CHL |
| 81 |
INTEGER iChl |
| 82 |
#endif |
| 83 |
#ifdef ALLOW_CDOM |
| 84 |
INTEGER iCDOM |
| 85 |
#endif |
| 86 |
#ifdef ONLY_P_CYCLE |
| 87 |
INTEGER nptot |
| 88 |
PARAMETER (nptot=npmax+nzmax+4) |
| 89 |
c |
| 90 |
PARAMETER (nCompZooMax=1) |
| 91 |
PARAMETER (strideCompZoo=1) |
| 92 |
PARAMETER (strideTypeZoo=nCompZooMax) |
| 93 |
PARAMETER (iPO4 =1) |
| 94 |
PARAMETER (iNO3 =nptot) |
| 95 |
PARAMETER (iFeT =nptot) |
| 96 |
PARAMETER (iSi =nptot) |
| 97 |
PARAMETER (iDOP =2) |
| 98 |
PARAMETER (iDON =nptot) |
| 99 |
PARAMETER (iDOFe =nptot) |
| 100 |
PARAMETER (iZoo =3) |
| 101 |
PARAMETER (iPOP =iZoo+nzmax*nCompZooMax) |
| 102 |
PARAMETER (iPON =nptot ) |
| 103 |
PARAMETER (iPOFe =nptot ) |
| 104 |
PARAMETER (iPOSi =nptot ) |
| 105 |
PARAMETER (iNH4 =nptot ) |
| 106 |
PARAMETER (iNO2 =nptot ) |
| 107 |
PARAMETER (iPhy =iPOP +1) |
| 108 |
#ifdef DYNAMIC_CHL |
| 109 |
PARAMETER (iChl =iPhy +npmax) |
| 110 |
PARAMETER (iTOT =iPhy +npmax+npmax) |
| 111 |
#else |
| 112 |
PARAMETER (iTOT =iPhy +npmax) |
| 113 |
#endif |
| 114 |
#ifdef ALLOW_CDOM |
| 115 |
PARAMETER (iCDOM =iTOT) |
| 116 |
PARAMETER (nTOT = iCDOM+1) |
| 117 |
#else |
| 118 |
PARAMETER (nTOT =iTOT) |
| 119 |
#endif |
| 120 |
PARAMETER (nDarwin=nTOT-1) |
| 121 |
#else /* ALL NUTRIENT CYCLES */ |
| 122 |
PARAMETER (nCompZooMax=4) |
| 123 |
PARAMETER (strideCompZoo=1) |
| 124 |
PARAMETER (strideTypeZoo=nCompZooMax) |
| 125 |
PARAMETER (iPO4 =1) |
| 126 |
PARAMETER (iNO3 =2) |
| 127 |
PARAMETER (iFeT =3) |
| 128 |
PARAMETER (iSi =4) |
| 129 |
PARAMETER (iDOP =5) |
| 130 |
PARAMETER (iDON =6) |
| 131 |
PARAMETER (iDOFe =7) |
| 132 |
PARAMETER (iZoo =8) |
| 133 |
PARAMETER (iPOP =iZoo+nzmax*nCompZooMax) |
| 134 |
PARAMETER (iPON =iPOP +1) |
| 135 |
PARAMETER (iPOFe =iPON +1) |
| 136 |
PARAMETER (iPOSi =iPOFe +1) |
| 137 |
PARAMETER (iNH4 =iPOSi +1) |
| 138 |
PARAMETER (iNO2 =iNH4 +1) |
| 139 |
PARAMETER (iPhy =iNO2 +1) |
| 140 |
#ifdef DYNAMIC_CHL |
| 141 |
PARAMETER (iChl =iPhy +npmax) |
| 142 |
PARAMETER (iTOT =iPhy +npmax+npmax) |
| 143 |
#else |
| 144 |
PARAMETER (iTOT =iPhy +npmax) |
| 145 |
#endif |
| 146 |
#ifdef ALLOW_CDOM |
| 147 |
PARAMETER (iCDOM =iTOT) |
| 148 |
PARAMETER (nTOT = iCDOM+1) |
| 149 |
#else |
| 150 |
PARAMETER (nTOT =iTOT) |
| 151 |
#endif |
| 152 |
#ifdef ALLOW_CARBON |
| 153 |
PARAMETER (iDIC =nTOT) |
| 154 |
PARAMETER (iDOC =iDIC+1) |
| 155 |
PARAMETER (iPOC =iDOC+1) |
| 156 |
PARAMETER (iPIC =iPOC+1) |
| 157 |
PARAMETER (iALK =iPIC+1) |
| 158 |
PARAMETER (iO2 =iALK+1) |
| 159 |
PARAMETER (iZoC =iO2+1) |
| 160 |
PARAMETER (nDarwin=iZoC+nzmax-1) |
| 161 |
#else |
| 162 |
PARAMETER (nDarwin=nTOT-1) |
| 163 |
#endif |
| 164 |
#endif |
| 165 |
|
| 166 |
|
| 167 |
C iZooP(nzmax) :: index of phosphorus content of each zooplankton type |
| 168 |
C iZooN(nzmax) :: index of nitrogen content of each zooplankton type |
| 169 |
C iZooFe(nzmax) :: index of iron content of each zooplankton type |
| 170 |
C iZooSi(nzmax) :: index of silica content of each zooplankton type |
| 171 |
C these are computed in darwin_init_fixed from iZoo, strideCompZoo and strideTypeZoo |
| 172 |
INTEGER iZooP (nzmax) |
| 173 |
INTEGER iZooN (nzmax) |
| 174 |
INTEGER iZooFe(nzmax) |
| 175 |
INTEGER iZooSi(nzmax) |
| 176 |
#ifdef ALLOW_CARBON |
| 177 |
INTEGER iZooC(nzmax) |
| 178 |
#endif |
| 179 |
COMMON/DARWIN_SIZE/ iZooP, iZooN, iZooFe, iZooSi |
| 180 |
#ifdef ALLOW_CARBON |
| 181 |
& ,iZooC |
| 182 |
#endif |
| 183 |
|
| 184 |
|