Changeset 12349 for NEMO/branches/2019/dev_r11708_aumont_PISCES_QUOTA/src/TOP/PISCES/P4Z/p5zmicro.F90
- Timestamp:
- 2020-01-28T17:17:13+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11708_aumont_PISCES_QUOTA/src/TOP/PISCES/P4Z/p5zmicro.F90
r11536 r12349 75 75 REAL(wp) :: zcompapi, zgraze , zdenom, zfact, zfood, zfoodlim 76 76 REAL(wp) :: ztmp1, ztmp2, ztmp3, ztmp4, ztmp5, ztmptot 77 REAL(wp) :: zepsherf, zepshert, zepsher v, zrespirc, zrespirn, zrespirp, zbasresb, zbasresi77 REAL(wp) :: zepsherf, zepshert, zepsherq, zepsherv, zrespirc, zrespirn, zrespirp, zbasresb, zbasresi 78 78 REAL(wp) :: zgraztotc, zgraztotn, zgraztotp, zgraztotf, zbasresn, zbasresp, zbasresf 79 79 REAL(wp) :: zgradoc, zgradon, zgradop, zgraref, zgradoct, zgradont, zgradopt, zgrareft … … 84 84 REAL(wp) :: zgrazdc, zgrazdn, zgrazdp, zgrazdf, zgraznf, zgrazz 85 85 REAL(wp) :: zgrazpc, zgrazpn, zgrazpp, zgrazpf, zbeta, zrfact2, zmetexcess 86 REAL(wp) :: zsigma, zdiffdn, zdiffpn, zdiffdp, zproport, zproport2 86 87 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zgrazing, zfezoo 87 88 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zw3d, zzligprod … … 104 105 zcompaz = MAX( ( trb(ji,jj,jk,jpzoo) - 1.e-9 ), 0.e0 ) 105 106 zfact = xstep * tgfunc2(ji,jj,jk) * zcompaz 106 107 ! Proportion of nano and diatoms that are within the size range 108 ! accessible to microzooplankton. 109 zproport = min(1.0, exp(-1.1 * MAX(0., ( sized(ji,jj,jk) - 1.8 ))**0.8 )) 110 zproport2 = sizen(ji,jj,jk)**(-0.54) 107 111 ! Michaelis-Menten mortality rates of microzooplankton 108 112 ! ----------------------------------------------------- … … 118 122 ! A threshold can be specified in the namelist 119 123 ! -------------------------------------------- 120 zcompadi = MIN( MAX( ( trb(ji,jj,jk,jpdia) - xthreshdia ), 0.e0 ), xsizedia)121 zcompaph = MAX( ( trb(ji,jj,jk,jpphy) - xthreshphy ), 0.e0 )124 zcompadi = zproport * MAX( ( trb(ji,jj,jk,jpdia) - xthreshdia ), 0.e0 ) 125 zcompaph = zproport2 * MAX( ( trb(ji,jj,jk,jpphy) - xthreshphy ), 0.e0 ) 122 126 zcompaz = MAX( ( trb(ji,jj,jk,jpzoo) - xthreshzoo ), 0.e0 ) 123 127 zcompapi = MAX( ( trb(ji,jj,jk,jppic) - xthreshpic ), 0.e0 ) … … 140 144 ! most abundant species 141 145 ! ------------------------------------------------------------ 142 ztmp1 = xprefn * zcompaph**1.5 143 ztmp2 = xprefp * zcompapi**1.5 144 ztmp3 = xprefc * zcompapoc**1.5 145 ztmp4 = xprefd * zcompadi**1.5 146 ztmp5 = xprefz * zcompaz**1.5 146 zsigma = 1.0 - zdenom**2/(0.05**2+zdenom**2) 147 zsigma = 0.5 + 1.0*zsigma 148 zdiffpn = exp( -ABS(log(0.5 * sizep(ji,jj,jk) / (3.0 * sizen(ji,jj,jk) + rtrn )) )**2 / zsigma**2 ) 149 zdiffdn = exp( -ABS(log(3.0 * sizen(ji,jj,jk) / (5.0 * sized(ji,jj,jk) + rtrn )) )**2 / zsigma**2) 150 zdiffdp = exp( -ABS(log(0.5 * sizep(ji,jj,jk) / (5.0 * sized(ji,jj,jk) + rtrn )) )**2 / zsigma**2) 151 ztmp1 = xprefn * zcompaph * ( zcompaph + zdiffdn * zcompadi + zdiffpn * zcompapi ) / ( 1.0 + zdiffdn + zdiffpn ) 152 ztmp2 = xprefp * zcompapi * ( zcompapi + zdiffpn * zcompaph + zdiffdp * zcompadi ) / ( 1.0 + zdiffpn + zdiffdp ) 153 ztmp3 = xprefc * zcompapoc**2 154 ztmp4 = xprefd * zcompadi * ( zdiffdp * zcompapi + zdiffdn * zcompaph + zcompadi ) / ( 1.0 + zdiffdn + zdiffdp ) 155 ztmp5 = xprefz * zcompaz**2 147 156 ztmptot = ztmp1 + ztmp2 + ztmp3 + ztmp4 + ztmp5 + rtrn 148 157 ztmp1 = ztmp1 / ztmptot … … 192 201 zbeta = MAX( 0., (epsher - epshermin) ) 193 202 zepsherf = epshermin + zbeta / ( 1.0 + 0.04E6 * 12. * zfood * zbeta ) 194 zepsherv = zepsherf * zepshert 203 zepsherq = 0.5 + (1.0 - 0.5) * zepshert * ( 1.0 + 1.0 ) / ( zepshert + 1.0 ) 204 zepsherv = zepsherf * zepshert * zepsherq 195 205 196 206 ! Respiration of microzooplankton
Note: See TracChangeset
for help on using the changeset viewer.