def calc_CO2_loss_temp (PCO2, alk, d, pHin, pHend, delpH, S, Tin, Tend, delT):
    L = np.array(['-', '--', '-.', ':', '--'])
    pH = np.arange(pHin, pHend, delpH)
    Tsteps = np.arange(Tin, Tend, delT)
    nTsteps = len(Tsteps)
    y = np.zeros((nTsteps, len(pH)))
    i = 0
    for c in Tsteps:
        Tc = c - 273.15; #celcius
        P = 10; #(dbar)
        t = Tc*1.00024;
        p = P/10;
        den = calc_density(S, t, p); #(kg/m3)
        K1 = calc_K1(c,S)*(den/1000) #mol/L
        pK1 = -np.log10(K1)
        K2 = calc_K2(c,S)*(den/1000) #mol/L
        pK2 = -np.log10(K2)
        Kh = calc_Kh(c,S)*(den/1000) #mol/L/atm
        CO2sat = PCO2*Kh*1000 #mole/m3
        kLa = 0.5*(1.024**((Tc)-20))
        alpha0 = calc_alpha0(pH, pK1, pK2)
        alpha1 = calc_alpha1(pH, pK1, pK2)
        alpha2 = calc_alpha2(pH, pK1, pK2)
            
        H = 10**(-pH)
        OH = 10**(-(14-pH))
        bt = (1/(alpha1 + (2*alpha2)))
        tp = (alk - OH + H)
        CT = tp * bt
            
        H2CO3 = alpha0*CT
        y[i,:] = kLa*(H2CO3 - CO2sat)*24*44
        y = y*d
        plt.plot(pH, y[i,:].T, linestyle=L[i])
        i += 1
Esempio n. 2
0
def calc_CO2_loss_sal (pK1, pK2, alk, d, PCO2, pHin, pHend, delpH, kLa, T, Sin, Send, delS):
    L = np.array(['-', '--', '-.', ':', '--'])
    pH = np.arange(pHin, pHend, delpH)
    Ssteps = np.arange(Sin, Send, delS)
    nSsteps = len(Ssteps)
    y = np.zeros((nSsteps, len(pH)))
    i = 0
    for c in Ssteps:
        Tc = 20; #celcius
        P = 10; #(dbar)
        t = Tc*1.00024;
        p = P/10;
        den = calc_density(c, t, p); #(kg/m3)
        K1 = calc_K1(T,c)*(den/1000) #mol/L
        pK1 = -np.log10(K1)
        K2 = calc_K2(T,c)*(den/1000) #mol/L
        pK2 = -np.log10(K2)
        Kh = calc_Kh(T,c)*(den/1000) #mol/L/atm
        alpha0 = calc_alpha0(pH, pK1, pK2)
        alpha1 = calc_alpha1(pH, pK1, pK2)
        alpha2 = calc_alpha2(pH, pK1, pK2)
        CO2sat = PCO2*Kh*1000
            
        H = 10**(-pH)
        OH = 10**(-(14-pH))
        bt = (1/(alpha1 + (2*alpha2)))
        tp = (alk - OH + H)
        CT = tp * bt
            
        H2CO3 = alpha0*CT
        y[i,:] = kLa*(H2CO3 - CO2sat)*24*44
        y = y*d
        plt.plot(pH, y[i,:].T, linestyle=L[i])
        i += 1
from calc_alphas import *
from calc_density import *
from rates import *
import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt

global k1, k2, k3, k4

T = 20 + 273.15
S = 35
Tc = 20
P = 10  #(dbar)
t = Tc * 1.00024
p = P / 10
den = calc_density(S, t, p)  #(kg/m3)
PCO2 = 0.000416
d = 0.15
y1 = 1.714  #g CO2 per g algae
y2 = 0.1695  #g HCO3 as CO2 per g algae
Kh = calc_Kh(T, S) * (den / 1000)  #mol/L/atm
K1 = calc_K1(T, S) * (den / 1000)  #mol/L
pK1 = -np.log10(K1)
K2 = calc_K2(T, S) * (den / 1000)  #mol/L
pK2 = -np.log10(K2)

Csat = PCO2 * Kh * 44 * 1000

alk0 = 2.5
r_algae = 10
pH = 8
from calc_density import *
import numpy as np
import matplotlib.pyplot as plt
from calc_CO2_loss_temp import *

#figures with different alkalinities
T = 10 + 273.15
while T <= 30 + 273.15:
    S = 35
    Tc = T - 273.15
    #celcius
    P = 10
    #(dbar)
    t = Tc * 1.00024
    p = P / 10
    den = calc_density(S, t, p)
    #(kg/m3)
    K1 = calc_K1(T, S) * (den / 1000)  #mol/L
    pK1 = -np.log10(K1)
    K2 = calc_K2(T, S) * (den / 1000)  #mol/L
    pK2 = -np.log10(K2)
    Kh = calc_Kh(T, S) * (den / 1000)  #mol/L/atm
    PCO2 = 0.000416
    alkin = 2
    alkend = 27
    delalk = 5
    pHin = 6
    pHend = 8.2
    delpH = 0.1
    d = 0.15
    kLa = 0.5 * (1.024**((T - 273.15) - 20))