Module ocmip2_co2calc_mod
OVERVIEW
Surface fCO2 calculation
Calculate the fugacity of CO2 at the surface in thermodynamic
equilibrium with the current alkalinity (Alk) and total dissolved
inorganic carbon (DIC) at a particular temperature and salinity
using an initial guess for the total hydrogen
ion concentration (htotal)
OTHER MODULES USED
PUBLIC INTERFACE
PUBLIC DATA
None.
PUBLIC ROUTINES
-
ocmip2_co2_alpha
-
DESCRIPTION
- Calculate CO2 solubility, alpha, from
temperature (t) and salinity (s).
INPUT
isd = first i-limit of the arrays with halo
ied = last i-limit of the arrays with halo
jsd = first j-limit of the arrays with halo
jed = last j-limit of the arrays with halo
isc = first i-limit of the arrays for computation
iec = last i-limit of the arrays for computation
jsc = first j-limit of the arrays for computation
jec = last j-limit of the arrays for computation
t = temperature (degrees C)
s = salinity (PSU)
mask = land mask array (0.0 = land)
OUTPUT
alpha = Solubility of CO2 for air? (mol/kg/atm unless scaled)
IMPORTANT: Some words about units - (JCO, 4/4/1999)
- Models may carry tracers in mol/m^3 (on a per volume basis)
- Conversely, this routine, which was written by observationalists
(C. Sabine and R. Key), passes input arguments in umol/kg
(i.e., on a per mass basis)
- Thus, if the input or output units need to be changed from/to mol/m^3
then set scale to an appropriate value. For example, if the model
uses mol/m^3, then scale should be set to something like 1.0/1024.5
to convert from mol/m^3 to mol/kg.
-
ocmip2_co2calc
-
DESCRIPTION
- Calculate co2* from total alkalinity and total CO2 at
temperature (t) and salinity (s).
It is assumed that init_ocmip2_co2calc has already been called with
the T and S to calculate the various coefficients.
INPUT
isd = first i-limit of the arrays with halo
ied = last i-limit of the arrays with halo
jsd = first j-limit of the arrays with halo
jed = last j-limit of the arrays with halo
isc = first i-limit of the arrays for computation
iec = last i-limit of the arrays for computation
jsc = first j-limit of the arrays for computation
jec = last j-limit of the arrays for computation
mask = land mask array (0.0 = land)
t = temperature (degrees C)
s = salinity (PSU)
dic_in = total inorganic carbon (mol/kg unless scaled)
where 1 T = 1 metric ton = 1000 kg
ta_in = total alkalinity (eq/kg unless scaled)
pt_in = inorganic phosphate (mol/kg unless scaled)
sit_in = inorganic silicate (mol/kg unless scaled)
htotallo = factor to set lower limit of htotal range
htotalhi = factor to set upper limit of htotal range
htotal = H+ concentraion
OUTPUT
co2star = CO2*water (kg/kg unless scaled)
alpha = Solubility of CO2 for air? (kg/kg/atm unless scaled)
pco2surf = oceanic pCO2 (ppmv)
k1 = activity factors for carbonate species
k2 (see below)
invtk = 1/(t+273.15)
IMPORTANT: Some words about units - (JCO, 4/4/1999)
- Models may carry tracers in mol/m^3 (on a per volume basis)
- Conversely, this routine, which was written by observationalists
(C. Sabine and R. Key), passes input arguments in umol/kg
(i.e., on a per mass basis)
- Thus, if the input or output units need to be changed from/to mol/m^3
then set scale to an appropriate value. For example, if the model
uses mol/m^3, then scale should be set to something like 1.0/1024.5
to convert from mol/m^3 to mol/kg.
-
drtsafe
-
DESCRIPTION
- File taken from Numerical Recipes. Modified R. M. Key 4/94
-
ta_iter_1
-
DESCRIPTION
- This routine expresses TA as a function of DIC, htotal and constants.
It also calculates the derivative of this function with respect to
htotal. It is used in the iterative solution for htotal. In the call
"x" is the input value for htotal, "fn" is the calculated value for TA
and "df" is the value for dTA/dhtotal
DATA SETS
None.
ERROR MESSAGES
None.