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

Module ocmip2_biotic_mod

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


OVERVIEW

Ocean Carbon Model Intercomparison Study II: Biotic module

Implementation of routines to solve the OCMIP-2 Biotic simulations as outlined in the Biotic-HOWTO documentation, revision 1.7, 1999/10/05.


OTHER MODULES USED

        diag_manager_mod
field_manager_mod
fms_mod
mpp_mod
time_manager_mod
time_interp_external_mod
ocean_tpm_util_mod
ocean_sbc_mod
ocean_types_mod
ocmip2_co2calc_mod
mpp_io_mod

PUBLIC INTERFACE

allocate_arrays:
bc_interp:
locate:
ocmip2_biotic_bbc:
ocmip2_biotic_end:
ocmip2_biotic_sbc:
ocmip2_biotic_init:
ocmip2_biotic_source:
ocmip2_biotic_start:
ocmip2_biotic_tracer:
read_c14atm:
read_co2atm:
set_array:


PUBLIC DATA

None.


PUBLIC ROUTINES

  1. allocate_arrays

    DESCRIPTION
    Dynamically allocate arrays


  2. bc_interp

    DESCRIPTION
    Interpolates atmospheric CO2 and C-14 to the timestep of the model

    ARGUMENT LIST -

    Note: Variable type is given in square brackets (below) (r-real, i-integer, l-logical, c-character; s-scaler, a-array).

    INPUT:

    [rs] - year_model = decimal year of model (e.g., 1990.67), as computed from the timestep and the year of the initialization of the simulation. This information is necessary to interpolate atmospheric levels of CO2 (atmco2_t) and C-14 (atmc14_t) from the historical records chosen for OCMIP-2 (from Enting et al. (1994).

    [cs] - futr_scen = Either 'S450' or 'S650' (in upper CASE) Choses from the IPCC future scenarios by the same names. These scenarios are standard for OCMIP-2 future runs. The choice of "futr_scen" does NOT affect "atmc14_t". Likewise, it does NOT affect "atmco2_t" prior to 1990.5.

    OUTPUT:

    [rs] - atmco2_t = Atmospheric CO2 (ppm) at "year_model"

    [ra] - atmc14_t = 3-member array of atmospheric C-14 at year_model". Sequentially, the 3 values correspond to forcing in 3 latitudinal bands: (1) 90S - 20S, (2) 20S - 20N, and (3) 20N - 90N.

    James Orr, LSCE/CEA-CNRS, Saclay, France, 20 April 1999


  3. locate

    DESCRIPTION
    After Numerical recipes:

    Given an array XX of length N, and a given value of X, returns a value of J such that X is between XX(J) and XX(J+1). XX must be monotonic, either increasing or decreasing. J=0 or J=N is returned to indicate that X is out of range. New features:

    If "period" is specified, then the array, xx, is considered to be periodic with a period of "period". If "x_in" is out of range, then add or subtract "period" once to attempt to make "x_in" be in range.

    If "nearest" is specified, and true, then return "j" such that it is the element of "xx" which is nearest to the value of "x_in" (where "x_in" may have been modified by the value "period", above). With this option, "j" will be in the range 1 <= j <= n.


  4. ocmip2_biotic_bbc

    DESCRIPTION
    calculate the surface boundary conditions


  5. ocmip2_biotic_end

    DESCRIPTION
    Clean up various BIOTIC quantities for this run.


  6. ocmip2_biotic_sbc

    DESCRIPTION
    Calculate the surface boundary conditions


  7. ocmip2_biotic_init

    DESCRIPTION
    Set up any extra fields needed by the tracer packages

    Save pointers to various "types", such as Grid and Domains.


  8. ocmip2_biotic_source

    DESCRIPTION
    compute the source terms for the BIOTICs, including boundary conditions (not done in setvbc, to minimize number of hooks required in MOM base code)


  9. ocmip2_biotic_start

    DESCRIPTION
    Initialize variables, read in namelists, calculate constants for a given run and allocate diagnostic arrays


  10. ocmip2_biotic_tracer

    DESCRIPTION
    Perform things that should be done in tracer, but are done here in order to minimize the number of hooks necessary in the MOM4 basecode


  11. read_c14atm

    DESCRIPTION
    Reads temporal history of atmospheric C-14 (permil)

    ARGUMENT LIST -

    Note: Variable type is given in square brackets (below) (r-real, i-integer, l-logical, c-character; s-scaler, a-array).

    INPUT:

    none

    OUTPUT:

    [ia] - nc14rec = 3-member array with the number of records of atmospheric C-14 in each of the 3 latitudinal bands listed below.

    [ra] - yrc14rec = Sequential list of times (in decimal years) for when atmospheric C-14 data is available

    [ra] - atmc14rec = Corresponding sequential list of atmospheric C-14 (permil), in 3 latitudinal bands: (1) 90S - 20S, (2) 20S - 20N, and (3) 20N - 90N. This record is from Enting et al. (1994).

    Reference:

    Enting, I.G., T. M. L. Wigley, M. Heimann, 1994. Future Emissions and concentrations of carbon dioxide: key ocean / atmosphere / land analyses, CSIRO Aust. Div. Atmos. Res. Tech. Pap. No. 31, 118 pp.

    James ORR, LSCE/CEA-CNRS, Saclay, France, 17 April 1999


  12. read_co2atm

    DESCRIPTION
    Read temporal history of atmospheric CO2 (uatm)

    Argument list -

    Note: Variable TYPE is given in square brackets (below) (r-REAL, i-INTEGER, l-LOGICAL, c-CHARACTER; s-scaler, a-array).

    INPUT:

    [cs] - futr_scen = IPCC future scenario: either S350, S450, S550, S650, S750, DS450, or DS550 from Enting et al. (1994), or CIS9 signifying c-IS92A for IPCC (2000) run. From 1765-1990.5, it doesn't matter which scenario you use, i.e., atmospheric CO2 will be the same (from a spline fit to Siple Ice core and Mauna Loa data. Subsequently, atmospheric CO2 is different, according to the choice given above.

    OUTPUT:

    [is] - nco2rec = Number of records (years) for atmospheric CO2 from historical (splco2.dat) plus future (stab.dat) records

    [ra] - yrco2rec = sequential list of times (in decimal years) for WHEN atmospheric CO2 data is available

    [ra] - atmco2rec = corresponding sequential list of atmospheric co2 (ppm).

    This record is from Enting et al. (1994).

    Reference:

    Enting, I.G., T. M. L. Wigley, M. Heimann, 1994. Future emissions and concentrations of carbon dioxide: key ocean / atmosphere / land analyses, CSIRO Aust. Div. Atmos. Res., Tech. Pap. No. 31, 118 pp.

    James Orr, LSCE/CEA-CNRS, Saclay, France, 17 April 1999


  13. set_array

    DESCRIPTION
    Set up an array covering the model domain with a user-specified value, in user-specified regions. There are a given number of 2-d regions specified by the values slat, nlat, wlon and elon. The longitudes are for a cyclic domain, and if wlon and elon are on opposite sides of the cut, the correct thing will be done. Elon is considered to be east of wlon, so if elon is less than wlon, then the region east of elon to the cut will be filled, and the region from the cut to wlon will be filled.

    After setting up the array in this routine, it may prove useful to allow fine-tuning the settings via an array in a namelist.

    Arguments: Input: num_regions = number of user-specified regions which will be filled

    wlon = 1-d array of western (starting) longitudes for the rectangular regions

    elon = 1-d array of eastern (ending) longitudes for the rectangular regions

    slat = 1-d array of southern (starting) latitudes for the rectangular regions

    nlat = 1-d array of northern (ending) latitudes for the rectangular regions

    Note: if slat >= nlat, then nothing is done for that region

    set_value = the value to assign to array in the user-specified regions

    unset_value = the value to assign to array outside of the user-specified regions

    name = character variable used in informative messages

    coastal_only = true to limit changes only to coastal points (i.e., at least one bordering point is land)

    Output:

    array = 2-d array which will contain the set- and unset- values. The array is assumed to have a border one unit wide on all edges, ala MOM. A cyclic boundary condition will be set if requested.



DATA SETS

None.


ERROR MESSAGES

None.


REFERENCES

  1. http://www.ipsl.jussieu.fr/OCMIP/phase2/simulations/Biotic/HOWTO-Biotic.html
  2. Press, W. H., S. A. Teukosky, W. T. Vetterling, B. P. Flannery, 1992. Numerical Recipes in FORTRAN, Second Edition, Cambridge University Press.
  3. Enting, I.G., T. M. L. Wigley, M. Heimann, 1994. Future Emissions and concentrations of carbon dioxide: key ocean / atmosphere / land analyses, CSIRO Aust. Div. Atmos. Res. Tech. Pap. No. 31, 118 pp.


COMPILER SPECIFICS

None.


PRECOMPILER OPTIONS

None.


LOADER OPTIONS

None.


TEST PROGRAM

None.


KNOWN BUGS

None.


NOTES

None.


FUTURE PLANS

None.


top