PUBLIC INTERFACE ~ PUBLIC DATA ~ PUBLIC ROUTINES ~ NAMELIST ~ DIAGNOSTIC FIELDS ~ ERROR MESSAGES ~ REFERENCES ~ NOTES

Module ocmip2_co2calc_mod

Contact:  Richard D. Slater
Reviewers:  John P. Dunne
Change History: WebCVS Log


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

ocmip2_co2_alpha:
ocmip2_co2calc:
drtsafe:
ta_iter_1:


PUBLIC DATA

None.


PUBLIC ROUTINES

  1. 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.



  2. 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.



  3. drtsafe

    DESCRIPTION
    File taken from Numerical Recipes. Modified R. M. Key 4/94


  4. 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.


top