196 |
mu_diaz(i,j,k) = 0. _d 0 |
mu_diaz(i,j,k) = 0. _d 0 |
197 |
irr_eff(i,j,k) = 0. _d 0 |
irr_eff(i,j,k) = 0. _d 0 |
198 |
irr_inst(i,j,k) = 0. _d 0 |
irr_inst(i,j,k) = 0. _d 0 |
199 |
|
irrk(i,j,k) = 0. _d 0 |
200 |
|
NO3_lim(i,j,k) = 0. _d 0 |
201 |
|
PO4_lim(i,j,k) = 0. _d 0 |
202 |
|
Fe_lim(i,j,k) = 0. _d 0 |
203 |
|
Fe_lim_diaz(i,j,k) = 0. _d 0 |
204 |
PtoN(i,j,k) = 0. _d 0 |
PtoN(i,j,k) = 0. _d 0 |
205 |
FetoN(i,j,k) = 0. _d 0 |
FetoN(i,j,k) = 0. _d 0 |
206 |
NPP(i,j,k) = 0. _d 0 |
NPP(i,j,k) = 0. _d 0 |
222 |
CALL TRACER_MIN_VAL( PTR_NO3, 1. _d -7) |
CALL TRACER_MIN_VAL( PTR_NO3, 1. _d -7) |
223 |
CALL TRACER_MIN_VAL( PTR_PO4, 1. _d -8) |
CALL TRACER_MIN_VAL( PTR_PO4, 1. _d -8) |
224 |
CALL TRACER_MIN_VAL( PTR_FE, 1. _d -11) |
CALL TRACER_MIN_VAL( PTR_FE, 1. _d -11) |
225 |
|
CALL TRACER_MIN_VAL( PTR_O2, 1. _d -11) |
226 |
|
CALL TRACER_MIN_VAL( PTR_DON, 1. _d -11) |
227 |
|
CALL TRACER_MIN_VAL( PTR_DOP, 1. _d -11) |
228 |
#endif |
#endif |
229 |
|
|
|
|
|
230 |
c----------------------------------------------------------- |
c----------------------------------------------------------- |
231 |
c mixed layer depth calculation for light and dvm |
c mixed layer depth calculation for light and dvm |
232 |
c |
c |
235 |
I bi, bj, imin, imax, jmin, jmax, |
I bi, bj, imin, imax, jmin, jmax, |
236 |
I myIter, myTime, myThid) |
I myIter, myTime, myThid) |
237 |
|
|
|
|
|
238 |
c Phytoplankton mixing |
c Phytoplankton mixing |
239 |
c The mixed layer is assumed to homogenize vertical gradients of phytoplankton. |
c The mixed layer is assumed to homogenize vertical gradients of phytoplankton. |
240 |
c This allows for basic Sverdrup dynamics in a qualitative sense. |
c This allows for basic Sverdrup dynamics in a qualitative sense. |
241 |
c This has not been thoroughly tested, and care should be |
c This has not been thoroughly tested, and care should be |
242 |
c taken with its interpretation. |
c taken with its interpretation. |
243 |
|
|
244 |
|
|
245 |
#ifdef ML_MEAN_PHYTO |
#ifdef ML_MEAN_PHYTO |
246 |
DO j=jmin,jmax |
DO j=jmin,jmax |
247 |
DO i=imin,imax |
DO i=imin,imax |
296 |
I bi, bj, imin, imax, jmin, jmax, |
I bi, bj, imin, imax, jmin, jmax, |
297 |
I myIter, myTime, myThid ) |
I myIter, myTime, myThid ) |
298 |
|
|
|
|
|
|
|
|
299 |
c phytoplankton photoadaptation to local light level |
c phytoplankton photoadaptation to local light level |
300 |
DO k=1,Nr |
DO k=1,Nr |
301 |
DO j=jmin,jmax |
DO j=jmin,jmax |
309 |
ENDDO |
ENDDO |
310 |
ENDDO |
ENDDO |
311 |
|
|
|
|
|
312 |
c --------------------------------------------------------------------- |
c --------------------------------------------------------------------- |
313 |
c Nutrient uptake and partitioning between organic pools |
c Nutrient uptake and partitioning between organic pools |
314 |
|
|
355 |
|
|
356 |
c Light-saturated maximal photosynthesis rate |
c Light-saturated maximal photosynthesis rate |
357 |
|
|
|
c Pc_m = Pc_0 * expkT(i,j,k) |
|
|
c & * max(1. _d -8, NO3_lim(i,j,k) * PO4_lim(i,j,k) |
|
|
c & * Fe_lim(i,j,k))**(1. / 3.) |
|
|
c & * maskC(i,j,k,bi,bj) |
|
|
c |
|
|
c Pc_m_diaz = Pc_0_diaz |
|
|
c & * exp(kappa_eppley_diaz * theta(i,j,k,bi,bj)) |
|
|
c & * max(1. _d -8, PO4_lim(i,j,k) |
|
|
c & * Fe_lim_diaz(i,j,k))**(1. / 2.) |
|
|
c & * maskC(i,j,k,bi,bj) |
|
|
|
|
|
|
|
358 |
#ifdef BLING_ADJOINT_SAFE_tmp_xxxxxxxxxxxxxxxxxx_needs_testing |
#ifdef BLING_ADJOINT_SAFE_tmp_xxxxxxxxxxxxxxxxxx_needs_testing |
359 |
th1 = tanh( (NO3_lim(i,j,k)-PO4_lim(i,j,k))*1. _d 6 ) |
th1 = tanh( (NO3_lim(i,j,k)-PO4_lim(i,j,k))*1. _d 6 ) |
360 |
nut_lim = ( 1. _d 0 - th1 ) * NO3_lim(i,j,k) * 0.5 _d 0 |
nut_lim = ( 1. _d 0 - th1 ) * NO3_lim(i,j,k) * 0.5 _d 0 |
387 |
& * min(PO4_lim(i,j,k), Fe_lim_diaz(i,j,k)) |
& * min(PO4_lim(i,j,k), Fe_lim_diaz(i,j,k)) |
388 |
& * maskC(i,j,k,bi,bj) |
& * maskC(i,j,k,bi,bj) |
389 |
|
|
390 |
|
CMM( Pc_m and Pc_m_diaz crash adjoint if get too small |
391 |
|
#ifdef BLING_ADJOINT_SAFE |
392 |
|
Pc_m = MAX(Pc_m ,maskC(i,j,k,bi,bj)*1. _d -15) |
393 |
|
Pc_m_diaz = MAX(Pc_m_diaz,maskC(i,j,k,bi,bj)*1. _d -15) |
394 |
|
#endif |
395 |
|
CMM) |
396 |
#endif |
#endif |
397 |
|
|
398 |
|
|
600 |
I bi, bj, imin, imax, jmin, jmax, |
I bi, bj, imin, imax, jmin, jmax, |
601 |
I myIter, myTime, myThid) |
I myIter, myTime, myThid) |
602 |
|
|
|
|
|
603 |
c----------------------------------------------------------- |
c----------------------------------------------------------- |
604 |
c remineralization from diel vertical migration |
c remineralization from diel vertical migration |
605 |
CALL BLING_DVM( |
CALL BLING_DVM( |