- Timestamp:
- 2017-05-09T12:14:45+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmeso.F90
r7617 r8003 76 76 REAL(wp) :: zepshert, zepsherv, zgrarsig, zgraztot, zgraztotn, zgraztotf 77 77 REAL(wp) :: zgrarem2, zgrafer2, zgrapoc2, zprcaca, zmortz2, zgrasrat, zgrasratn 78 #if defined key_kriest79 REAL znumpoc80 #endif81 78 REAL(wp) :: zrespz2, ztortz2, zgrazd, zgrazz, zgrazpof 82 79 REAL(wp) :: zgrazn, zgrazpoc, zgraznf, zgrazf 83 80 REAL(wp) :: zgrazfffp, zgrazfffg, zgrazffep, zgrazffeg 81 REAL(wp) :: zbeta, zepsherf 84 82 CHARACTER (len=25) :: charout 85 83 REAL(wp), POINTER, DIMENSION(:,:,:) :: zgrazing, zw3d, zfezoo2 … … 104 102 DO ji = 1, jpi 105 103 zcompam = MAX( ( trb(ji,jj,jk,jpmes) - 1.e-9 ), 0.e0 ) 106 # if defined key_degrad107 zstep = xstep * facvol(ji,jj,jk)108 # else109 104 zstep = xstep 110 # endif111 105 zfact = zstep * tgfunc2(ji,jj,jk) * zcompam 112 106 … … 148 142 ! ---------------------------------- 149 143 ! ---------------------------------- 150 # if ! defined key_kriest151 144 zgrazffeg = grazflux * zstep * wsbio4(ji,jj,jk) & 152 145 & * tgfunc2(ji,jj,jk) * trb(ji,jj,jk,jpgoc) * trb(ji,jj,jk,jpmes) 153 146 zgrazfffg = zgrazffeg * trb(ji,jj,jk,jpbfe) / (trb(ji,jj,jk,jpgoc) + rtrn) 154 # endif155 147 zgrazffep = grazflux * zstep * wsbio3(ji,jj,jk) & 156 148 & * tgfunc2(ji,jj,jk) * trb(ji,jj,jk,jppoc) * trb(ji,jj,jk,jpmes) 157 149 zgrazfffp = zgrazffep * trb(ji,jj,jk,jpsfe) / (trb(ji,jj,jk,jppoc) + rtrn) 158 150 ! 159 # if ! defined key_kriest160 151 zgraztot = zgrazd + zgrazz + zgrazn + zgrazpoc + zgrazffep + zgrazffeg 161 152 ! Compute the proportion of filter feeders … … 179 170 & + zgrazpoc + zgrazffep + zgrazffeg 180 171 zgraztotf = zgrazf + zgraznf + zgrazz * ferat3 + zgrazpof + zgrazfffp + zgrazfffg 181 # else182 zgraztot = zgrazd + zgrazz + zgrazn + zgrazpoc + zgrazffep183 ! Compute the proportion of filter feeders184 zproport = zgrazffep / ( zgraztot + rtrn )185 zgrazffep = zproport * zgrazffep186 zgrazfffp = zproport * zgrazfffp187 zgraztot = zgrazd + zgrazz + zgrazn + zgrazpoc + zgrazffep188 zgraztotn = zgrazd * quotad(ji,jj,jk) + zgrazz + zgrazn * quotan(ji,jj,jk) + zgrazpoc + zgrazffep189 zgraztotf = zgrazf + zgraznf + zgrazz * ferat3 + zgrazpof + zgrazfffp190 # endif191 172 192 173 ! Total grazing ( grazing by microzoo is already computed in p4zmicro ) … … 198 179 zgrasratn = ( zgraztotn +rtrn )/ ( zgraztot + rtrn ) 199 180 zepshert = MIN( 1., zgrasratn, zgrasrat / ferat3) 200 zepsherv = zepshert * MIN( epsher2, (1. - unass2) * zgrasrat / ferat3, (1. - unass2) * zgrasratn ) 181 zbeta = 1./ (epsher2 - 0.2) 182 zepsherf = 0.2 + 1./ (zbeta + 0.04 * 12. * zfood *1E6 ) 183 zepsherv = zepshert * MIN( zepsherf, (1. - unass2) * zgrasrat / ferat3, (1. - unass2) * zgrasratn ) 201 184 zgrarem2 = zgraztot * ( 1. - zepsherv - unass2 ) & 202 185 & + ( 1. - epsher2 - unass2 ) / ( 1. - epsher2 ) * ztortz2 … … 232 215 tra(ji,jj,jk,jpdfe) = tra(ji,jj,jk,jpdfe) - zgrazf 233 216 234 #if defined key_kriest235 znumpoc = trb(ji,jj,jk,jpnum) / ( trb(ji,jj,jk,jppoc) + rtrn )236 tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) + zmortzgoc - zgrazpoc - zgrazffep + zgrapoc2237 tra(ji,jj,jk,jpnum) = tra(ji,jj,jk,jpnum) - zgrazpoc * znumpoc + zgrapoc2 * xkr_dmeso &238 & + zmortzgoc * xkr_dmeso - zgrazffep * znumpoc * wsbio4(ji,jj,jk) / ( wsbio3(ji,jj,jk) + rtrn )239 tra(ji,jj,jk,jpsfe) = tra(ji,jj,jk,jpsfe) + ferat3 * zmortzgoc - zgrazfffp - zgrazpof &240 & + zgraztotf * unass2241 zfracal = trb(ji,jj,jk,jpcal) / (trb(ji,jj,jk,jppoc) + rtrn )242 zgrazcal = ( zgrazffep + zgrazpoc ) * (1. - part2) * zfracal243 #else244 217 tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) - zgrazpoc - zgrazffep + zfrac 245 218 prodpoc(ji,jj,jk) = prodpoc(ji,jj,jk) + zfrac … … 253 226 zfracal = trb(ji,jj,jk,jpcal) / (trb(ji,jj,jk,jpgoc) + rtrn ) 254 227 zgrazcal = zgrazffeg * (1. - part2) * zfracal 255 #endif256 228 257 229 ! calcite production
Note: See TracChangeset
for help on using the changeset viewer.