buffer {seacarb} | R Documentation |
Returns buffer parameters of the seawater carbonate system.
buffer(flag, var1, var2, S=35, T=25, P=0, Pt=0, Sit=0, k1k2='l', kf='pf', pHscale="T")
flag |
select the couple of variables available. The flags which can be used are:
flag = 1 pH and CO2 given flag = 2 CO2 and HCO3 given flag = 3 CO2 and CO3 given flag = 4 CO2 and ALK given flag = 5 CO2 and DIC given flag = 6 pH and HCO3 given flag = 7 pH and CO3 given flag = 8 pH and ALK given flag = 9 pH and DIC given flag = 10 HCO3 and CO3 given flag = 11 HCO3 and ALK given flag = 12 HCO3 and DIC given flag = 13 CO3 and ALK given flag = 14 CO3 and DIC given flag = 15 ALK and DIC given flag = 21 pCO2 and pH given flag = 22 pCO2 and HCO3 given flag = 23 pCO2 and CO3 given flag = 24 pCO2 and ALK given flag = 25 pCO2 and DIC given |
var1 |
enter value of the first variable in mol/kg, except for pH and for pCO2 in μatm |
var2 |
enter value of the second variable in mol/kg, except for pH |
S |
Salinity |
T |
Temperature in degrees Celsius |
P |
Hydrostatic pressure in bar (surface = 0) |
Pt |
Concentration of total phosphate in mol/kg |
Sit |
Concentration of total silicate in mol/kg |
k1k2 |
"l" for using K1 and K2 from Lueker et al. (2000) and "r" for using K1 and K2 from Roy et al. (1993), default is "l" |
kf |
"pf" for using Kf from Perez and Fraga (1987) and "dg" for using Kf from Dickson and Riley (1979), default is "pf" |
pHscale |
choice of pH scale: "T" for the total scale, "F" for the free scale and "SWS" for using the seawater scale, default is "T" (total scale) |
The arguments can be given as a unique number or as vectors. If the lengths of the vectors are different, the longer vector is retained and only the first value of the other vectors is used. It is recommended to use either vectors with the same dimension or one vector for one argument and numbers for the other arguments.
The function returns a data frame containing the following columns:
PhiD |
PhiD, chemical buffer factor (dpH/d[DIC]); input/output of dissolved CO2 (unit pH per mol/kg) |
BetaD |
BetaD, homogeneous or Revelle buffer factor (dln(pCO2)/dln[DIC]); input/output of dissolved CO2 |
PiD |
PiD, chemical buffer factor (dpCO2/d[DIC]); input/output of dissolved CO2 (μ atm per mol/kg) |
PhiB |
PhiB, chemical buffer factor (dpH/d[DIC]); from input/output of bicarbonate (unit pH per mol/kg) |
BetaB |
BetaB, homogeneous buffer factor (dln(pCO2)/dln[DIC]); input/output of bicarbonate |
PiB |
PiB, chemical buffer factor (dpCO2/d[DIC]); input/output of dissolved CO2 (μ atm per mol/kg) |
PhiC |
PhiC, chemical buffer factor (dpH/d[DIC]); input/output of carbonate (unit pH per mol/kg) |
BetaC |
BetaC, homogeneous buffer factor (dln(pCO2)/dln[DIC]); input/output of carbonate |
PiC |
PiC, chemical buffer factor (dpCO2/d[DIC]); input/output of carbonate (μ atm per mol/kg) |
PhiH |
PhiH, chemical buffer factor (dpH/d[ALK]); input/output of strong acid (unit pH per mol/kg) |
PiH |
PiH, chemical buffer factor (dpCO2/d[ALK]); input/output of strong acid (μ atm per mol/kg) |
Heloise Lavigne, Aurelien Proye and Jean-Pierre Gattuso gattuso@obs-vlfr.fr
Frankignoulle, M. 1994 A complete set of buffer factors for acid/base CO2 system in seawater. Journal of Marine Systems 5, 111-118.
Lueker, T. J. Dickson, A. G. and Keeling, C. D. 2000 Ocean pCO2 calculated from dissolved inorganic carbon, alkalinity, and equations for K1 and K2: validation based on laboratory measurements of CO2 in gas and seawater at equilibrium. Marine Chemistry 70 105-119.
Perez, F. F. and Fraga, F. 1987 Association constant of fluoride and hydrogen ions in seawater. Marine Chemistry 21, 161-168.
Roy, R. N. Roy, L. N. Vogel, K. M. Porter-Moore, C. Pearson, T. Good C. E., Millero F. J. and Campbell D. M., 1993. The dissociation constants of carbonic acid in seawater at salinities 5 to 45 and temperatures 0 to 45°C. Marine Chemistry 44, 249-267.
## Computation with a couple of variables buffer(flag=8, var1=8.2, var2=0.00234, S=35, T=25, P=0, Pt=0, Sit=0, pHscale="T", kf="pf", k1k2="l") ## Using vectors as arguments flag <- c(8, 2, 8) var1 <- c(8.2, 7.477544e-06, 8.2) var2 <- c(0.002343955, 0.001649802, 2400e-6) S <- c(35, 35, 30) T <- c(25, 25, 30) P <- c(0, 0, 0) Pt <- c(0, 0, 0) Sit <- c(0, 0, 0) kf <- c("pf", "pf", "pf") k1k2 <- c("l", "l", "l") pHscale <- c("T", "T", "T") buffer(flag=flag, var1=var1, var2=var2, S=S, T=T, P=P, Pt=Pt, Sit=Sit, kf=kf, k1k2=k1k2, pHscale=pHscale) ## Test for all flags flag <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 21, 22, 23, 24, 25) var1 <- c(8.200000, 7.477544e-06, 7.477544e-06, 7.477544e-06, 7.477544e-06, 8.2, 8.2, 8.2, 8.2, 0.001685024, 0.001685024, 0.001685024, 0.0002888382, 0.0002888382, 0.002391252, 264.2008, 264.2008, 264.2008, 264.2008, 264.2008) var2 <- c(7.477544e-06, 0.001685024, 0.0002888382, 0.002391252, 0.001981340, 0.001685024, 0.0002888382, 0.002391252, 0.001981340, 0.0002888382, 0.002391252, 0.001981340, 0.002391252, 0.001981340, 0.001981340, 8.2, 0.001685024, 0.0002888382, 0.002391252, 0.001981340) buffer(flag=flag, var1=var1, var2=var2)