Changeset 10401 for NEMO/trunk/src/TOP/PISCES/P4Z/p4zprod.F90
- Timestamp:
- 2018-12-17T16:57:34+01:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/TOP/PISCES/P4Z/p4zprod.F90
r10362 r10401 26 26 PUBLIC p4z_prod_alloc 27 27 28 LOGICAL , PUBLIC :: ln_newprod !:29 28 REAL(wp), PUBLIC :: pislopen !: 30 29 REAL(wp), PUBLIC :: pisloped !: … … 156 155 END DO 157 156 158 IF( ln_newprod ) THEN 159 DO jk = 1, jpkm1 160 DO jj = 1, jpj 161 DO ji = 1, jpi 162 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 163 ! Computation of production function for Carbon 164 ! --------------------------------------------- 165 zpislopen = zpislopeadn(ji,jj,jk) / ( ( r1_rday + bresp * r1_rday ) & 166 & * zmxl_fac(ji,jj,jk) * rday + rtrn) 167 zpisloped = zpislopeadd(ji,jj,jk) / ( ( r1_rday + bresp * r1_rday ) & 168 & * zmxl_fac(ji,jj,jk) * rday + rtrn) 169 zprbio(ji,jj,jk) = zprbio(ji,jj,jk) * ( 1.- EXP( -zpislopen * enano(ji,jj,jk) ) ) 170 zprdia(ji,jj,jk) = zprdia(ji,jj,jk) * ( 1.- EXP( -zpisloped * ediat(ji,jj,jk) ) ) 171 ! Computation of production function for Chlorophyll 172 !-------------------------------------------------- 173 zpislopen = zpislopeadn(ji,jj,jk) / ( zprmaxn(ji,jj,jk) * zmxl_chl(ji,jj,jk) * rday + rtrn ) 174 zpisloped = zpislopeadd(ji,jj,jk) / ( zprmaxd(ji,jj,jk) * zmxl_chl(ji,jj,jk) * rday + rtrn ) 175 zprnch(ji,jj,jk) = zprmaxn(ji,jj,jk) * ( 1.- EXP( -zpislopen * enanom(ji,jj,jk) ) ) 176 zprdch(ji,jj,jk) = zprmaxd(ji,jj,jk) * ( 1.- EXP( -zpisloped * ediatm(ji,jj,jk) ) ) 177 ENDIF 178 END DO 179 END DO 180 END DO 181 ELSE 182 DO jk = 1, jpkm1 183 DO jj = 1, jpj 184 DO ji = 1, jpi 185 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 186 ! Computation of production function for Carbon 187 ! --------------------------------------------- 188 zpislopen = zpislopeadn(ji,jj,jk) / ( zprbio(ji,jj,jk) * rday * xlimphy(ji,jj,jk) + rtrn ) 189 zpisloped = zpislopeadd(ji,jj,jk) / ( zprdia(ji,jj,jk) * rday * xlimdia(ji,jj,jk) + rtrn ) 190 zprbio(ji,jj,jk) = zprbio(ji,jj,jk) * ( 1.- EXP( -zpislopen * enano(ji,jj,jk) ) ) 191 zprdia(ji,jj,jk) = zprdia(ji,jj,jk) * ( 1.- EXP( -zpisloped * ediat(ji,jj,jk) ) ) 192 ! Computation of production function for Chlorophyll 193 !-------------------------------------------------- 194 zpislopen = zpislopen * zmxl_fac(ji,jj,jk) / ( zmxl_chl(ji,jj,jk) + rtrn ) 195 zpisloped = zpisloped * zmxl_fac(ji,jj,jk) / ( zmxl_chl(ji,jj,jk) + rtrn ) 196 zprnch(ji,jj,jk) = zprmaxn(ji,jj,jk) * ( 1.- EXP( -zpislopen * enanom(ji,jj,jk) ) ) 197 zprdch(ji,jj,jk) = zprmaxd(ji,jj,jk) * ( 1.- EXP( -zpisloped * ediatm(ji,jj,jk) ) ) 198 ENDIF 199 END DO 200 END DO 201 END DO 202 ENDIF 157 DO jk = 1, jpkm1 158 DO jj = 1, jpj 159 DO ji = 1, jpi 160 IF( etot_ndcy(ji,jj,jk) > 1.E-3 ) THEN 161 ! Computation of production function for Carbon 162 ! --------------------------------------------- 163 zpislopen = zpislopeadn(ji,jj,jk) / ( ( r1_rday + bresp * r1_rday ) & 164 & * zmxl_fac(ji,jj,jk) * rday + rtrn) 165 zpisloped = zpislopeadd(ji,jj,jk) / ( ( r1_rday + bresp * r1_rday ) & 166 & * zmxl_fac(ji,jj,jk) * rday + rtrn) 167 zprbio(ji,jj,jk) = zprbio(ji,jj,jk) * ( 1.- EXP( -zpislopen * enano(ji,jj,jk) ) ) 168 zprdia(ji,jj,jk) = zprdia(ji,jj,jk) * ( 1.- EXP( -zpisloped * ediat(ji,jj,jk) ) ) 169 ! Computation of production function for Chlorophyll 170 !-------------------------------------------------- 171 zpislopen = zpislopeadn(ji,jj,jk) / ( zprmaxn(ji,jj,jk) * zmxl_chl(ji,jj,jk) * rday + rtrn ) 172 zpisloped = zpislopeadd(ji,jj,jk) / ( zprmaxd(ji,jj,jk) * zmxl_chl(ji,jj,jk) * rday + rtrn ) 173 zprnch(ji,jj,jk) = zprmaxn(ji,jj,jk) * ( 1.- EXP( -zpislopen * enanom(ji,jj,jk) ) ) 174 zprdch(ji,jj,jk) = zprmaxd(ji,jj,jk) * ( 1.- EXP( -zpisloped * ediatm(ji,jj,jk) ) ) 175 ENDIF 176 END DO 177 END DO 178 END DO 203 179 204 180 ! Computation of a proxy of the N/C ratio … … 505 481 INTEGER :: ios ! Local integer 506 482 ! 507 NAMELIST/namp4zprod/ pislopen, pisloped, xadap, ln_newprod,bresp, excretn, excretd, &483 NAMELIST/namp4zprod/ pislopen, pisloped, xadap, bresp, excretn, excretd, & 508 484 & chlcnm, chlcdm, chlcmin, fecnm, fecdm, grosip 509 485 !!---------------------------------------------------------------------- … … 525 501 IF(lwp) THEN ! control print 526 502 WRITE(numout,*) ' Namelist : namp4zprod' 527 WRITE(numout,*) ' Enable new parame. of production (T/F) ln_newprod =', ln_newprod528 503 WRITE(numout,*) ' mean Si/C ratio grosip =', grosip 529 504 WRITE(numout,*) ' P-I slope pislopen =', pislopen … … 531 506 WRITE(numout,*) ' excretion ratio of nanophytoplankton excretn =', excretn 532 507 WRITE(numout,*) ' excretion ratio of diatoms excretd =', excretd 533 IF( ln_newprod ) THEN 534 WRITE(numout,*) ' basal respiration in phytoplankton bresp =', bresp 535 WRITE(numout,*) ' Maximum Chl/C in phytoplankton chlcmin =', chlcmin 536 ENDIF 508 WRITE(numout,*) ' basal respiration in phytoplankton bresp =', bresp 509 WRITE(numout,*) ' Maximum Chl/C in phytoplankton chlcmin =', chlcmin 537 510 WRITE(numout,*) ' P-I slope for diatoms pisloped =', pisloped 538 511 WRITE(numout,*) ' Minimum Chl/C in nanophytoplankton chlcnm =', chlcnm
Note: See TracChangeset
for help on using the changeset viewer.