예제 #1
0
def millennial_xu(C_pom,C_mic,C_maom,C_lmwc,day,Vpl=10,Kpl=150,Vml=0.01,M_Lmin=10,Kml=25,\
    Kl=0.0015,Klmc_min=0.25,clay_per=40,Vlm=0.35,Klb=7.2,pi=2./3.):
    St, Sw, CUE = m_scal.millennial_xu(day)
    Qmax = 10.0**(0.297 * math.log(clay_per, 10) + 2.355 + 0.50)  #!* 1.25
    # inputs
    Fin_l = Fi[day - (day // 365) * 365]
    # temporary: start
    #if day ==0:
    #   Fin_l = 172.
    #else:
    #   Fin_l = 0
    ########### end temporary
    # Fpl = Vpl * (C_pom/(Kpl+C_pom)) * (C_mic / (Kpe + C_mic)) * St * Sw
    Fpl = Vpl * C_pom / (C_pom +
                         Kpl) * St * Sw  # !* (1. - MB / (MB + k_POMes))
    Fml = Vml * (C_maom - M_Lmin) / (Kml + C_maom - M_Lmin) * St * Sw
    # outputs
    # Fl = Kl * C_lmwc * St * Sw # leaching
    Fl = C_lmwc * Kl * St
    #Flm = C_lmwc * (Klm * Qmax * C_lmwc/(1+(Klm * C_lmwc)) - C_maom ) / Qmax * St *Sw
    temp_Flm = (Klmc_min * Qmax * C_lmwc) / (2. + Klmc_min * C_lmwc) - C_maom
    Flm = (temp_Flm / Qmax + 0.0015) * C_lmwc / 50. * St * Sw
    # Flb = Vlm * C_lmwc * C_mic / (C_mic + Klb) * St * Sw
    Flb = C_lmwc * Vlm * St * Sw * C_mic / (C_mic + Klb) * C_lmwc / (20. +
                                                                     C_lmwc)

    C_lmwc_local = C_lmwc + (1 - pi) * Fin_l + Fpl + Fml - Fl - Flm - Flb
    return C_lmwc_local
def millennial_xu(C_pom,
                  C_agg,
                  C_mic,
                  day,
                  Kagg=0.0002,
                  pa=1.5 / 3,
                  Vpa=0.002,
                  Kpa=50,
                  Amax=500,
                  Vpl=10,
                  Kpl=150,
                  pi=2. / 3):
    St, Sw, CUE = m_scal.millennial_xu(day)
    # inputs
    Fin_l = Fi[day - (day // 365) * 365]
    # temporary: start
    # if day ==0:
    #     Fin_l = 172.
    # else:
    #     Fin_l = 0
    ########### end temporary
    Fagg = Kagg * C_agg * St * Sw
    Fap = Fagg * pa
    # outputs
    #Fpa = Vpa * (C_pom / (Kpa + C_pom)) * (1 - (C_agg/Amax)) * St * Sw
    Fpa = Vpa * C_pom / (Kpa + C_pom) * (1. - C_agg / Amax) * St * Sw
    #Fpl = Vpl * (C_pom/(Kpl+C_pom)) * (C_mic / (Kpe + C_mic)) * St * Sw
    Fpl = Vpl * C_pom / (C_pom +
                         Kpl) * St * Sw  # !* (1. - MB / (MB + k_POMes))

    C_pom_local = C_pom + pi * Fin_l + Fap - Fpa - Fpl
    return C_pom_local, Fin_l
예제 #3
0
def millennial_xu(C_lmwc, C_mic, day, Vlm=0.35, Klb=7.2, Kmic=0.025):
    St, Sw, CUE = m_scal.millennial_xu(day)
    # input
    # Flb = Vlm * C_lmwc * C_mic / (C_mic + Klb) * St * Sw
    Flb = C_lmwc * Vlm * St * Sw * C_mic / (C_mic + Klb) * C_lmwc / (20. +
                                                                     C_lmwc)
    # output
    # Fbr = Kmic * C_mic * St * Sw # microbial mortality
    Fbr = C_mic * Kmic * St * Sw
    #Fbm = Kmm * C_mic * St* Sw # adsorption of mineral surface
    Fbm = C_mic * Kmic * 0.15 * St * Sw
    #
    #CUE = 0.4
    C_mic_local = C_mic + Flb * CUE - Fbm - Fbr

    F_res = Fbr + Flb * (1 - CUE)
    return C_mic_local, F_res
def millennial_xu(C_lmwc,C_maom,C_mic,C_agg,day,clay_per=40,Klmc_min=0.25,Kmic=0.036,\
    Kagg=0.0002,pa=1.5/3.,Vma=0.07,Kma=2000,Amax=500,Vml=0.01,M_Lmin=10,Kml=25):
    St, Sw, CUE = m_scal.millennial_xu(day)
    Qmax = 10.0**(0.297 * math.log(clay_per, 10) + 2.355 + 0.50)  #!* 1.25
    #input
    # Flm = C_lmwc * (Klm * Qmax * C_lmwc/(1+(Klm * C_lmwc)) - C_maom ) / Qmax * St *Sw # adsorption of LMWC
    temp_Flm = (Klmc_min * Qmax * C_lmwc) / (2. + Klmc_min * C_lmwc) - C_maom
    Flm = (temp_Flm / Qmax + 0.0015) * C_lmwc / 50. * St * Sw
    # Fbm = Kmm * C_mic * St * Sw # adsorption by mineral surface
    Fbm = C_mic * Kmic * 0.15 * St * Sw
    # Fagg = Kagg * C_agg * St * Sw # break of aggregated carbon
    Fagg = C_agg * Kagg * St * Sw
    Fam = Fagg * (1 - pa)  # allocation of Fagg
    # output
    # Fma = Vma * C_maom /(Kma + C_maom) * (1 - C_agg/Amax) * St * Sw
    Fma = Vma * C_maom / (Kma + C_maom) * (1. - C_agg / Amax)
    Fml = Vml * (C_maom - M_Lmin) / (Kml + C_maom - M_Lmin) * St * Sw

    C_maom_local = C_maom + Flm + Fbm + Fam - Fma - Fml
    return C_maom_local
예제 #5
0
def millennial_xu(C_maom,
                  C_pom,
                  C_agg,
                  day,
                  Vma=0.07,
                  Kma=2000,
                  Amax=500,
                  Vpa=0.002,
                  Kpa=50,
                  Kagg=0.0002):
    St, Sw, CUE = m_scal.millennial_xu(day)
    # inputs
    Fma = Vma * C_maom / (Kma + C_maom) * (1. - C_agg / Amax)
    Fpa = Vpa * C_pom / (Kpa + C_pom) * (1. - C_agg / Amax) * St * Sw
    # Fpa = Vpa * (C_pom / (Kpa + C_pom)) * (1 - (C_agg/Amax)) * St * Sw
    # outputs
    Fagg = Kagg * C_agg * St * Sw

    C_agg_local = C_agg + Fma + Fpa - Fagg
    return C_agg_local