def millennial(C_pom, C_agg, C_mic, day, Kagg=0.0002, pa=1. / 3, Vpa=0.002, Kpa=50, Amax=500, Vpl=10, Kpl=150, Kpe=12, pi=2. / 3): St, Sw, CUE = m_scal.millennial(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 Fpl = Vpl * (C_pom / (Kpl + C_pom)) * (C_mic / (Kpe + C_mic)) * St * Sw C_pom_local = C_pom + pi * Fin_l + Fap - Fpa - Fpl return C_pom_local, Fin_l
def millennial_rad(C_pom,C_mic,C_maom,C_lmwc,C_pom_rad,C_mic_rad,C_maom_rad,C_lmwc_rad,years,\ day,Vpl=10,Kpl=150,Kpe=12,Vml=0.01,M_Lmin=10,Kml=25,lambdax = 8267, Aabs=10**-12,\ Kl=0.0015,Klm=0.25,c1=0.4833,c2=2.3282,clay_per=40,BulkD=1150,Vlm=0.35,Klb=7.2,pi=2./3.): St, Sw, CUE = m_scal.millennial(day) Qmax1 = 10**(c1 * math.log(clay_per, 10) + c2) Qmax = BulkD * Qmax1 * 10**(-3) # convert to gC/m2 (flagged) # Asn_pom = C_pom_rad / C_pom # Asn_mic = C_mic_rad/C_mic Asn_maom = C_maom_rad / C_maom Asn_lmwc = C_lmwc_rad / C_lmwc # inputs Fin_l = Fi[day - (day // 365) * 365] Fin_l_rad = Fin_l * ((rad_atm[-1 * years + day // 365] / 1000 + 1) * Aabs) rad_atm_record = rad_atm[-1 * years + day // 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 Fml = Vml * (C_maom - M_Lmin) / (Kml + C_maom - M_Lmin) * St * Sw Fpl_rad = Vpl * (C_pom / (Kpl + C_pom)) * (C_mic / (Kpe + C_mic)) * St * Sw * Asn_pom Fml_rad = Vml * (C_maom - M_Lmin) / (Kml + C_maom - M_Lmin) * St * Sw * Asn_maom # Fpl_rad = Vpl * (C_pom_rad/(Kpl+C_pom_rad)) * (C_mic_rad / (Kpe + C_mic_rad)) * St * Sw # Fml_rad = Vml * (C_maom_rad - M_Lmin) / (Kml + C_maom_rad - M_Lmin) * St * Sw # outputs Fl = Kl * C_lmwc * St * Sw # leaching Flm = C_lmwc * (Klm * Qmax * C_lmwc / (1 + (Klm * C_lmwc)) - C_maom) / Qmax * St * Sw Flb = Vlm * C_lmwc * C_mic / (C_mic + Klb) * St * Sw Fl_rad = Kl * C_lmwc * St * Sw * Asn_lmwc # leaching Flm_rad = C_lmwc * (Klm * Qmax * C_lmwc / (1 + (Klm * C_lmwc)) - C_maom) / Qmax * St * Sw * Asn_lmwc Flb_rad = Vlm * C_lmwc * C_mic / (C_mic + Klb) * St * Sw * Asn_lmwc # Fl_rad = Kl * C_lmwc_rad * St * Sw # leaching # Flm_rad = C_lmwc_rad * (Klm * Qmax * C_lmwc_rad/(1+(Klm * C_lmwc_rad)) - C_maom_rad ) / Qmax * St *Sw # Flb_rad = Vlm * C_lmwc_rad * C_mic_rad / (C_mic_rad + Klb) * St * Sw C_lmwc_local = C_lmwc + (1 - pi) * Fin_l + Fpl + Fml - Fl - Flm - Flb C_lmwc_rad_local = C_lmwc_rad + ( 1 - pi) * Fin_l_rad + Fpl_rad + Fml_rad - Fl_rad - Flm_rad - Flb_rad - ( 1 / (lambdax * 365)) * C_lmwc_rad # change unit to D14C per mil D14C_lmwc_local = ((C_lmwc_rad_local / C_lmwc_local) / Aabs - 1) * 1000 return C_lmwc_local, C_lmwc_rad_local, D14C_lmwc_local, rad_atm_record
def millennial_rad(C_lmwc,C_maom,C_mic,C_agg,C_lmwc_rad,C_maom_rad,C_mic_rad,C_agg_rad,day,c1=0.4833,\ clay_per=40,c2=2.3282,BulkD=1150,Klm=0.25,Kmm=0.025,lambdax = 8267, Aabs=10**-12,\ Kagg=0.0002,pa=1./3.,Vma=0.07,Kma=200,Amax=500,Vml=0.01,M_Lmin=10,Kml=25): St, Sw, CUE = m_scal.millennial(day) Qmax1 = 10**(c1 * math.log(clay_per, 10) + c2) Qmax = BulkD * Qmax1 * 10**(-3) # convert to gC/m2 (flagged) # Asn_lmwc = C_lmwc_rad / C_lmwc Asn_maom = C_maom_rad / C_maom Asn_mic = C_mic_rad / C_mic Asn_agg = C_agg_rad / C_agg #input Flm = C_lmwc * (Klm * Qmax * C_lmwc / (1 + (Klm * C_lmwc)) - C_maom) / Qmax * St * Sw # adsorption of LMWC Fbm = Kmm * C_mic * St * Sw # adsorption by mineral surface Fagg = Kagg * C_agg * St * Sw # break of aggregated carbon Fam = Fagg * ( 1 - pa ) # allocation of Fagg (flag: pa = 0.5 in Xu and 1/3 in Abramoff) Flm_rad = C_lmwc * (Klm * Qmax * C_lmwc / (1 + (Klm * C_lmwc)) - C_maom ) / Qmax * St * Sw * Asn_lmwc # adsorption of LMWC Fbm_rad = Kmm * C_mic * St * Sw * Asn_mic # adsorption by mineral surface Fagg_rad = Kagg * C_agg * St * Sw * Asn_agg # break of aggregated carbon Fam_rad = Fagg_rad * ( 1 - pa ) # allocation of Fagg (flag: pa = 0.5 in Xu and 1/3 in Abramoff) # Flm_rad = C_lmwc_rad * (Klm * Qmax * C_lmwc_rad/(1+(Klm * C_lmwc_rad)) - C_maom_rad) / Qmax * St *Sw # adsorption of LMWC # Fbm_rad = Kmm * C_mic_rad * St * Sw # adsorption by mineral surface # Fagg_rad = Kagg * C_agg_rad * St * Sw # break of aggregated carbon # Fam_rad = Fagg_rad * (1-pa) # allocation of Fagg (flag: pa = 0.5 in Xu and 1/3 in Abramoff) # output Fma = Vma * C_maom / (Kma + C_maom) * ( 1 - C_agg / Amax) * St * Sw # flag: Kma is 2000 in Xu (200 in Abramoff) Fml = Vml * (C_maom - M_Lmin) / (Kml + C_maom - M_Lmin) * St * Sw Fma_rad = Vma * C_maom / (Kma + C_maom) * ( 1 - C_agg / Amax) * St * Sw * Asn_maom # flag: Kma is 2000 in Xu (200 in Abramoff) Fml_rad = Vml * (C_maom - M_Lmin) / (Kml + C_maom - M_Lmin) * St * Sw * Asn_maom # Fma_rad = Vma * C_maom_rad /(Kma + C_maom_rad) * (1 - C_agg_rad/Amax) * St * Sw # flag: Kma is 2000 in Xu (200 in Abramoff) # Fml_rad = Vml * (C_maom_rad - M_Lmin) / (Kml + C_maom_rad - M_Lmin) * St * Sw C_maom_local = C_maom + Flm + Fbm + Fam - Fma - Fml C_maom_rad_local = C_maom_rad + Flm_rad + Fbm_rad + Fam_rad - Fma_rad - Fml_rad - ( 1 / (lambdax * 365)) * C_maom_rad # change unit to D14C per mil D14C_maom_local = ((C_maom_rad_local / C_maom_local) / Aabs - 1) * 1000 return C_maom_local, C_maom_rad_local, D14C_maom_local
def millennial(C_lmwc, C_mic, day, Vlm=0.35, Klb=7.2, Kmic=0.036, Kmm=0.025): St, Sw, CUE = m_scal.millennial(day) # input Flb = Vlm * C_lmwc * C_mic / (C_mic + Klb) * St * Sw # output Fbr = Kmic * C_mic * St * Sw # microbial mortality Fbm = Kmm * C_mic * St * Sw # adsorption of mineral surface # #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_rad(C_maom, C_pom, C_agg, C_maom_rad, C_pom_rad, C_agg_rad, day, Vma=0.07, Kma=200, Amax=500, Vpa=0.002, Kpa=50, Kagg=0.0002, lambdax=8267, Aabs=10**-12): St, Sw, CUE = m_scal.millennial(day) Asn_maom = C_maom_rad / C_maom Asn_pom = C_pom_rad / C_pom Asn_agg = C_agg_rad / C_agg # inputs Fma = Vma * C_maom / (Kma + C_maom) * (1 - C_agg / Amax) * St * Sw Fpa = Vpa * (C_pom / (Kpa + C_pom)) * (1 - (C_agg / Amax)) * St * Sw Fma_rad = Vma * C_maom / (Kma + C_maom) * (1 - C_agg / Amax) * St * Sw * Asn_maom Fpa_rad = Vpa * (C_pom / (Kpa + C_pom)) * (1 - (C_agg / Amax)) * St * Sw * Asn_pom # Fma_rad = Vma * C_maom_rad /(Kma + C_maom_rad) * (1 - C_agg_rad/Amax) * St * Sw # Fpa_rad = Vpa * (C_pom_rad / (Kpa + C_pom_rad)) * (1 - (C_agg_rad/Amax)) * St * Sw # outputs Fagg = Kagg * C_agg * St * Sw Fagg_rad = Kagg * C_agg * St * Sw * Asn_agg # Fagg_rad = Kagg * C_agg_rad * St * Sw C_agg_local = C_agg + Fma + Fpa - Fagg C_agg_rad_local = C_agg_rad + Fma_rad + Fpa_rad - Fagg_rad - ( 1 / (lambdax * 365)) * C_agg_rad # change unit to D14C per mil D14C_agg_local = ((C_agg_rad_local / C_agg_local) / Aabs - 1) * 1000 return C_agg_local, C_agg_rad_local, D14C_agg_local
def millennial_rad (C_pom,C_agg,C_mic,C_pom_rad,C_agg_rad,C_mic_rad,day,years,Kagg=0.0002,pa=1./3,\ Vpa=0.002,Kpa=50,Amax=500,Vpl=10,Kpl=150,Kpe=12,pi=2./3,lambdax = 8267, Aabs=10**-12): St, Sw, CUE = m_scal.millennial(day) Asn_pom = C_pom_rad / C_pom Asn_agg = C_agg_rad / C_agg # Asn_mic = C_mic_rad/C_mic # inputs Fin_l = Fi[day - (day // 365) * 365] Fin_l_rad = Fin_l * ((rad_atm[-1 * years + day // 365] / 1000 + 1) * Aabs) # temporary: start # if day ==0: # Fin_l = 172. # else: # Fin_l = 0 ########### end temporary Fagg = Kagg * C_agg * St * Sw Fap = Fagg * pa Fagg_rad = Kagg * C_agg * St * Sw * Asn_agg Fap_rad = Fagg_rad * pa # Fagg_rad = Kagg * C_agg_rad * St * Sw # Fap_rad = Fagg_rad * pa # outputs 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 Fpa_rad = Vpa * (C_pom / (Kpa + C_pom)) * (1 - (C_agg / Amax)) * St * Sw * Asn_pom Fpl_rad = Vpl * (C_pom / (Kpl + C_pom)) * (C_mic / (Kpe + C_mic)) * St * Sw * Asn_pom # Fpa_rad = Vpa * (C_pom_rad / (Kpa + C_pom_rad)) * (1 - (C_agg_rad/Amax)) * St * Sw # Fpl_rad = Vpl * (C_pom_rad/(Kpl+C_pom_rad)) * (C_mic_rad / (Kpe + C_mic_rad)) * St * Sw C_pom_local = C_pom + pi * Fin_l + Fap - Fpa - Fpl C_pom_rad_local = C_pom_rad + pi * Fin_l_rad + Fap_rad - Fpa_rad - Fpl_rad - ( 1 / (lambdax * 365)) * C_pom_rad # change unit to D14C per mil D14C_pom_local = ((C_pom_rad_local / C_pom_local) / Aabs - 1) * 1000 return C_pom_local, Fin_l, C_pom_rad_local, D14C_pom_local
def millennial(C_maom, C_pom, C_agg, day, Vma=0.07, Kma=200, Amax=500, Vpa=0.002, Kpa=50, Kagg=0.0002): St, Sw, CUE = m_scal.millennial(day) # inputs Fma = Vma * C_maom / (Kma + C_maom) * (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
def millennial_rad(C_lmwc, C_mic, C_lmwc_rad, C_mic_rad, day, Vlm=0.35, Klb=7.2, Kmic=0.036, Kmm=0.025, lambdax=8267, Aabs=10**-12): St, Sw, CUE = m_scal.millennial(day) Asn_lmwc = C_lmwc_rad / C_lmwc Asn_mic = C_mic_rad / C_mic # input Flb = Vlm * C_lmwc * C_mic / (C_mic + Klb) * St * Sw Flb_rad = Vlm * C_lmwc * C_mic / (C_mic + Klb) * St * Sw * Asn_lmwc # Flb_rad = Vlm * C_lmwc_rad * C_mic_rad / (C_mic_rad + Klb) * St * Sw # output Fbr = Kmic * C_mic * St * Sw # microbial mortality Fbm = Kmm * C_mic * St * Sw # adsorption of mineral surface Fbr_rad = Kmic * C_mic * St * Sw * Asn_mic # microbial mortality Fbm_rad = Kmm * C_mic * St * Sw * Asn_mic # adsorption of mineral surface # Fbr_rad = Kmic * C_mic_rad * St * Sw # microbial mortality # Fbm_rad = Kmm * C_mic_rad * St* Sw # adsorption of mineral surface # C_mic_local = C_mic + Flb * CUE - Fbm - Fbr F_res = Fbr + Flb * (1 - CUE) # radiocarbon C_mic_rad_local = C_mic_rad + Flb_rad * CUE - Fbm_rad - Fbr_rad - ( 1 / (lambdax * 365)) * C_mic_rad F_res_rad = Fbr_rad + Flb_rad * (1 - CUE) # # change unit to D14C per mil D14C_mic_local = ((C_mic_rad_local / C_mic_local) / Aabs - 1) * 1000 D14C_res_local = ((F_res_rad / F_res) / Aabs - 1) * 1000 return C_mic_local, F_res, C_mic_rad_local, F_res_rad, D14C_mic_local, D14C_res_local
def millennial(C_lmwc,C_maom,C_mic,C_agg,day,c1=0.4833,clay_per=40,c2=2.3282,BulkD=1150,Klm=0.25,Kmm=0.025,\ Kagg=0.0002,pa=1./3.,Vma=0.07,Kma=200,Amax=500,Vml=0.01,M_Lmin=10,Kml=25): St, Sw, CUE = m_scal.millennial(day) Qmax1 = 10**(c1 * math.log(clay_per, 10) + c2) Qmax = BulkD * Qmax1 * 10**(-3) # convert to gC/m2 (flagged) #input Flm = C_lmwc * (Klm * Qmax * C_lmwc / (1 + (Klm * C_lmwc)) - C_maom) / Qmax * St * Sw # adsorption of LMWC Fbm = Kmm * C_mic * St * Sw # adsorption by mineral surface Fagg = Kagg * C_agg * St * Sw # break of aggregated carbon Fam = Fagg * ( 1 - pa ) # allocation of Fagg (flag: pa = 0.5 in Xu and 1/3 in Abramoff) # output Fma = Vma * C_maom / (Kma + C_maom) * ( 1 - C_agg / Amax) * St * Sw # flag: Kma is 2000 in Xu (200 in Abramoff) 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
def millennial(C_pom,C_mic,C_maom,C_lmwc,day,Vpl=10,Kpl=150,Kpe=12,Vml=0.01,M_Lmin=10,Kml=25,\ Kl=0.0015,Klm=0.25,c1=0.4833,c2=2.3282,clay_per=40,BulkD=1150,Vlm=0.35,Klb=7.2,pi=2./3.): St, Sw, CUE = m_scal.millennial(day) Qmax1 = 10**(c1 * math.log(clay_per, 10) + c2) Qmax = BulkD * Qmax1 * 10**(-3) # convert to gC/m2 (flagged) # 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 Fml = Vml * (C_maom - M_Lmin) / (Kml + C_maom - M_Lmin) * St * Sw # outputs Fl = Kl * C_lmwc * St * Sw # leaching Flm = C_lmwc * (Klm * Qmax * C_lmwc / (1 + (Klm * C_lmwc)) - C_maom) / Qmax * St * Sw Flb = Vlm * C_lmwc * C_mic / (C_mic + Klb) * St * Sw C_lmwc_local = C_lmwc + (1 - pi) * Fin_l + Fpl + Fml - Fl - Flm - Flb return C_lmwc_local