Analysis on SR9

在这里插入图片描述
Run1-Temperature: Set TOPTx, KxBETA1, KxBETA2, KxC, KxRT for all three groups equal to the values for PHYT3 (green). All other parameters at their default values.
TOPT*: Optimal growth temperature
K*BETA1/2: Temperature correction effect on growth rate below/above TOPT*
K*C: Saturated phytoplankton growth rate at TOPT*
K*RT: Temperature coefficient for KRB, KRB is Endogenous respiration rate at 30 deg. C

control runSR01
TOPT1=2.5000E1TOPT1=2.0000E1
TOPT2=4.0000E0TOPT2=2.0000E1
TOPT3=2.0000E1TOPT3=2.0000E1
K1BETA1=5.0000E-2K1BETA1=6.0000E-3
K2BETA1=6.0000E-3K2BETA1=6.0000E-3
K3BETA1=6.0000E-3K3BETA1=6.0000E-3
K1BETA2=5.0000E-2K1BETA2=6.0000E-3
K2BETA2=6.0000E-3K2BETA2=6.0000E-3
K3BETA2=6.0000E-3K3BETA2=6.0000E-3
K1C=2.3000E0K1C=2.0000E0
K2C=2.0000E0K2C=2.0000E0
K3C=2.0000E0K3C=2.0000E0
K1RT=1.0900E0K1RT=1.0800E0
K2RT=1.0700E0K2RT=1.0800E0
K3RT=1.0800E0K3RT=1.0800E0

TOPT*, K*BETA1, K*BETA2 and K*C, KRT* were defined in mod_CONSTANTS.F

TOPT(n)      = CONST(j+ 1)  !
KBETA1(n)    = CONST(j+ 2)  !
KBETA2(n)    = CONST(j+ 3)  !
KCx(n)       = CONST(j+ 4)  !
KRT(n)       = CONST(j+11)  !

TOPT*, K*BETA1, KBETA2 and KC were used in eutro_init_std.F

          !---------------------------------------------------
          !-  Step #1: COMPUTE TEMPERATURE-CORR. GROWTH RATE
          !---------------------------------------------------
            IF(HYDTEMP(I,K).LE.TOPT(N))THEN
              val = KCx(N)*EXP(-KBETA1(N)*(HYDTEMP(I,K)-TOPT(N))**2.)       #KCx is K*C; KBETA1 is K*BETA1
            ELSE
              val = KCx(N)*EXP(-KBETA2(N)*(TOPT(N)-HYDTEMP(I,K))**2.)
            ENDIF

请添加图片描述
请添加图片描述

请添加图片描述

K*RT were used in eutro_init_std.F

!-------------------------------------------------------------------
  !-  INITIALIZE TEMP-CORRECTED REACTION RATES (LOOKUP ARRAYS:
  !-------------------------------------------------------------------
    DO ITEMP=1,450
      TEMP = (FLOAT(ITEMP-1)/10.+0.05) - 20.
      DO N=1,MXPHYT
        KRBT(N,ITEMP) = KRB(N)*(KRT(N)**TEMP)          #KRT is K*RT
        KGRZCT(N,ITEMP) = KGRZC(N)*(KGRZT(N)**TEMP)
            ENDDO
    ENDDO

KRBT was used in step 4

          !---------------------------------------------------
          !-  Step #4: DEATH: RESPIRATION + GRAZING BY ZOOPLANKTON
          !---------------------------------------------------
            IF (DO(I,K,1).LT.1.0E-04) THEN
              RESP0(I,K,N) = 0.0
              GRAZ0(I,K,N) = 0.0
            ELSE
              RESP0(I,K,N) = KRG(N)*GPP(I,K,N) &                     !Growth-dependent...
                                + KRBT(N,ISTP20(I,K))*CPHYT             !Basal/resting...

              IF(ZGMOPT.EQ.0) THEN         !User-specified grazing rate (temp.-corr.)...
                GRAZ0(I,K,N) = KGRZCT(N,ISTP20(I,K))*CPHYT
              ELSEIF(ZGMOPT.EQ.1) THEN     !Calculated in zooplankton sub-model...

              ELSEIF(ZGMOPT.EQ.2) THEN     !UMR-specific approach originally coded by HQI...
                CALL GRZCOEFF(IX,CLAD,COPE)   !Update CLAD,COPE coefficients...
                ALGC = PHYT1(I,K,1)+PHYT2(I,K,1)+PHYT3(I,K,1) &
                                   +PHYT4(I,K,1)+PHYT5(I,K,1)
                GRAZ0(I,K,N) = KGRZCT(N,ISTP20(I,K))*CPHYT &
                             * ( CLAD*0.9/(0.9+ALGC) + COPE*0.35/(0.35+ALGC))
              ENDIF
            ENDIF

Run4-phosphorus: Set KMPx, CRBPx1, CRBPx2, CRBPx3, for all three groups equal to the values for PHYT3 (green). All other parameters at their default values.
KMP*: Half saturation constant for phosphorus
CRBP*1: Carbon to phosphorus ratio (non‐P‐limited)
CRBP*2: Carbon to phosphorus ratio (P‐limited)
CRBP*3: Coefficient determining range of P limitation

control runSR01
KMP1=3.0000E-3KMP1=1.0000E-3
KMP2=1.0000E-3KMP2=1.0000E-3
KMP3=1.0000E-3KMP3=1.0000E-3
CRBP11=4.0000E1CRBP11=5.0000E1
CRBP21=4.0000E1CRBP21=5.0000E1
CRBP31=5.0000E1CRBP31=5.0000E1
CRBP12=9.0000E1CRBP12=1.0000E2
CRBP22=9.0000E1CRBP22=1.0000E2
CRBP32=1.0000E2CRBP32=1.0000E2
CRBP13=1.0000E2CRBP13=5.0000E1
CRBP23=2.0000E2CRBP23=5.0000E1
CRBP33=5.0000E1CRBP33=5.0000E1

KMP* were defined in mod_CONSTANTS.F

KMP(n)       = CONST(j+ 8)  !

KMP* were used in eutro_init_std.F

          !---------------------------------------------------
          !-  Step #3: GROWTH RATE REDUCTION TO NUTRIENT LIMITATION(S)
          !---------------------------------------------------
          !---COMPUTE MICHAELIS TERMS            
            DIN = DNH4(I,K,1) + NO23(I,K,1)
            XEMP1 = (DIN) / (KMN(N) + DIN)
            XEMP2 = DPO4(I,K,1) / (KMP(N) + DPO4(I,K,1)).   ##### KMP was used here!!!!
            XEMP3 = DSI(I,K,1) / (KMS(N) + DSI(I,K,1))

          !---COMPUTE GROWTH RATE REDUCTION DUE TO NUTRIENT LIMITATION
          !---USE 'MINIMUM' FORM RATHER THAN 'MULTIPLICATIVE' FORM
            RNUTR(I,K,N) = MIN(XEMP1,XEMP2,XEMP3)
            RDIN(I,K,N) = XEMP1
            RPHP(I,K,N) = XEMP2
            RDSI(I,K,N) = XEMP3
!            IF (RNUTR(I,K,N) < 0.) THEN
!                PRINT*, "I, K, N = ", I, K, N
!                PRINT*, "KMN(N) = ", KMN(N)
!                PRINT*, "KMP(N) = ", KMP(N)
!                PRINT*, "KMS(N) = ", KMS(N)
!                PRINT*, "DNH4(I,K,1) = ", DNH4(I,K,1)
!                PRINT*, "NO23(I,K,1) = ", NO23(I,K,1)
!                PRINT*, "DPO4(I,K,1) = ", DPO4(I,K,1)
!                PRINT*, "DSI(I,K,1) = ", DSI(I,K,1)
!            ENDIF

            ALGVS(I,K,N) = (VSBAS(N)+VSNTR(N)*(1.-RNUTR(I,K,N))) &  !Effect of nutrient lim. on settling...
                              *VSBAST**STP20(I,K)

            GPP(I,K,N) = RNUTR(I,K,N)*RLGHT(I,K,N) &         !Removed RGP factor (TMR-2/14/07)
                                     *GITMAX(I,K,N)*CPHYT    !Compute gross growth rate (combine factors)...


CRBP** were defined in mod_CONSTANTS.F

       CRBP(n,1)    = CONST(j+16)  !
       CRBP(n,2)    = CONST(j+17)  !
       CRBP(n,3)    = CONST(j+18)  !

CRBP** were used in eutro_init_std.F

      IF(CRBP(N,2).GT.0) THEN
        IF(CRBP(N,2).GE.CRBP(N,1))  THEN
          CRBP(N,2) = CRBP(N,2)-CRBP(N,1)
        ELSE
          WRITE(OUT,1001)  CRBP(N,1),CRBP(N,2)
 1001     FORMAT(///10X,'ERROR...CRBP(N,1) > CRBP(N,2)',F6.1,' > ',F6.1)
        ENDIF
      ENDIF

  !-------------------------------------------------------------------
  !-  INITIALIZE ALGAL NUTRIENT TO CARBON RATIOS
  !-------------------------------------------------------------------
    DO I=1,M
      DO K=1,ZGVC(I) 
        PCRB1(I,K) = 1./CRBP(1,1)
        NCRB1(I,K) = 1./CRBN(1,1)
        SCRB1(I,K) = 1./CRBS(1,1)
        PCRB2(I,K) = 1./CRBP(2,1)
        NCRB2(I,K) = 1./CRBN(2,1)
        SCRB2(I,K) = 1./CRBS(2,1)
        PCRB3(I,K) = 1./CRBP(3,1)
        NCRB3(I,K) = 1./CRBN(3,1)
        SCRB3(I,K) = 1./CRBS(3,1)
        PCRB4(I,K) = 1./CRBP(4,1)
        NCRB4(I,K) = 1./CRBN(4,1)
        SCRB4(I,K) = 1./CRBS(4,1)
        PCRB5(I,K) = 1./CRBP(5,1)
        NCRB5(I,K) = 1./CRBN(5,1)
        SCRB5(I,K) = 1./CRBS(5,1)
      ENDDO
   ENDDO

  !-------------------------------------------------------------------
  !-  INITIALIZE RATIO ARRAYS:
  !-------------------------------------------------------------------
    DO n=1,3                                                            !Loop over 3 coefficients...
      CRBP1(n) = CRBP(1,n)
      CRBP2(n) = CRBP(2,n)
      CRBP3(n) = CRBP(3,n)

      !-----------------------------------------------------------------------
      !                           PHOSPHORUS
      !-----------------------------------------------------------------------
          IF(FSM(IXG).EQ.1.)THEN                  !Bypass stoich calcs for boundary cells (TMR-1/4/11)...
            IF(CRBP(1,2).NE.0. .OR. CRBP(2,2).NE.0. .OR. CRBP(3,2).NE.0. &
                               .OR. CRBP(4,2).NE.0. .OR. CRBP(5,2).NE.0.)  THEN
              CALL STOICH_P5(PO4T(I,K,1),DIP_MIN,KADPO41,KADPO42 &
                             ,SS1(I,K,1),SS2(I,K,1) &
                             ,PHYT1(I,K,1),PHYT2(I,K,1),PHYT3(I,K,1) &
                             ,PHYT4(I,K,1),PHYT5(I,K,1) &
                             ,CRBP1,CRBP2,CRBP3,CRBP4,CRBP5 &
                             ,PCRB1(I,K),PCRB2(I,K),PCRB3(I,K) &
                             ,PCRB4(I,K),PCRB5(I,K),.FALSE.,PIP_FLAG)
            ENDIF
          ENDIF

Run9-zooplankton feeding selectivity: Set UPxZ1 = 1, UPxZ2 = 1, and UPxZ3 = 1 for all PHYT groups (zooplankton feeding selectivity). All other parameters at their default values.
UP1/2/3Z*: Utilization of PHYT1/2/3 by cladocerans/copepods/microzooplankton

control runSR01
UP1Z1=0UP1Z1=1
UP2Z1=1UP2Z1=1
UP3Z1=1UP3Z1=1
UP1Z2=0UP1Z2=1
UP2Z2=1UP2Z2=1
UP3Z2=1UP3Z2=1
UP1Z3=0UP1Z3=1
UP2Z3=1UP2Z3=1
UP3Z3=1UP3Z3=1

UP*Z1/2/3 were defined in mod_CONSTANTS.F

mod_CONSTANTS.F:       UP1Z(z)      = CONST(j+17)  !
mod_CONSTANTS.F:       UP2Z(z)      = CONST(j+18)  !
mod_CONSTANTS.F:       UP3Z(z)      = CONST(j+19)  !
mod_CONSTANTS.F:       UP4Z(z)      = CONST(j+20)  !
mod_CONSTANTS.F:       UP5Z(z)      = CONST(j+21)  !

# z=1,3
# IF(z.EQ.1) j=300
# IF(z.EQ.2) j=340
# IF(z.EQ.3) j=380
# The sequence aligns with the position of UP*Z* in pc.inp.

UP*Z were used in eutro_zooplankton.F

!---Grazing of phytoplankton & detritus:
GZP1(z) = UP1Z(z)*MAX(0.,PHYT1(I,K,1)-CP1Z(z))      !Blue-greens...
GZP2(z) = UP2Z(z)*MAX(0.,PHYT2(I,K,1)-CP2Z(z))      !Diatoms...
GZP3(z) = UP3Z(z)*MAX(0.,PHYT3(I,K,1)-CP3Z(z))      !Assemblage...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值