Hi guys,
I just meet a problem related to NEMURO. Based on the paper "NEMURO-A lower trophic level model for the North Pacific marine ecosystem", the small zooplankton cannot graze on large phytoplankton. While in the source code, I just found
! Small Zooplankton grazing on Large Phytoplankton, GraPL2ZS.
!
#if defined IVLEV_EXPLICIT
cff4=1.0_r8-EXP(LamL(ng)*(PL2ZSstar(ng)-Bio(i,k,iLphy)))
GraPL2ZS=fac2*cff2*MAX(0.0_r8,cff4)*Bio(i,k,iSzoo)
Bio(i,k,iLphy)=Bio(i,k,iLphy)-GraPL2ZS
Bio(i,k,iSzoo)=Bio(i,k,iSzoo)+GraPL2ZS
#else
# ifdef HOLLING_GRAZING
cff4=1.0_r8/(KPL2ZS(ng)+Bio(i,k,iLphy)*Bio(i,k,iLphy))
cff=fac2*cff2*cff4*Bio(i,k,iSzoo)*Bio(i,k,iLphy)
# elif defined IVLEV_IMPLICIT
cff4=1.0_r8-EXP(LamL(ng)*(PL2ZSstar(ng)-Bio(i,k,iLphy)))
cff5=1.0_r8/(fac2*cff4)
cff=(1.0_r8+Bio(i,k,iLphy)*cff5)*cff2*Bio(i,k,iSzoo)
# endif
Bio(i,k,iLphy)=Bio(i,k,iLphy)/(1.0_r8+cff)
GraPL2ZS=cff*Bio(i,k,iLphy)
Bio(i,k,iSzoo)=Bio(i,k,iSzoo)+GraPL2ZS
#endif
#ifdef IRON_LIMIT
! Grazing Fe terms
cffFe=GraPL2ZS*Bio(i,k,iFeLp)/MAX(MinVal,Bio(i,k,iLphy))
Bio(i,k,iFeLp)=Bio(i,k,iFeLp)-cffFe
Bio(i,k,iFeD_)=Bio(i,k,iFeD_)+cffFe*FeRR(ng)
#endif
!
I am not quite sure why the developers need to add this in source code, can someone give me a reasonable explanation?
Best,
Johnny