Module ocean_ibgc_mod
OVERVIEW
IDEALIZED OCEAN BIOGEOCHEMISTRY *
*
An idealized biogeochemical cycling module, in which the ecosystem and *
particles are treated implicitly. This is intended as a first-order *
complexity complement to more intricate ecosystem/biogeochemical models *
such as BLING, or the GFDL TOPAZ model. *
iBGC is not intended to simulate marine biogeochemistry in the most *
accurate sense possible - that is left to the more complex models. *
Instead, it is intended as a tool for basic research, being easily *
modified, simply understood, and readily used in idealized configurations.*
Note that the model parameters are not particularly well tuned for any *
ocean model, and the user should feel free to alter anything as they see *
fit. *
* Inorganic nutrients are incorporated into organic matter in the presence *
* of light. Once in the organic pool, the nutrient elements are recycled *
* between organisms and labile reservoirs as long as light is present in *
* sufficient abundance to fuel continued growth. In the absence of light, *
* inorganic nutrients gradually accumulate once again. The ideal nutrient *
* tracers are intended to capture the fundamental dynamics of these *
* light-dependent inorganic-organic transitions, but in a very simple, *
* transparent way that depends only on the physical circulation and the *
* availability of PAR. Thus, they ignore the complexities of ecosystems, *
* in terms of uptake dynamics and remineralization pathways. Although this *
* will certainly decrease their ability to reproduce the observed *
* distributions of nutrients in the ocean, they are computationally *
* inexpensive and easy to interpret, features which will hopefully give *
* them some utility. *
* The simplest ideal nutrient tracer, ideal_n, is non-conservative, *
* designed to quickly approach equilibrium (order 10 years), avoiding the *
* need for long integrations. The slightly less straightforward, *
* conservative tracers are remineralized through the water column and *
* therefore approach steady state on much longer, multi-centennial *
* timescales. *
*
* The core behaviour of the ideal nutrients are given by the exponential, *
* exp(-IRR/IRRk). IRR is the available light (average SW radiation, in *
* W/m2, within the grid cell) and IRRk (in W/m2) determines the light *
* level at which the phytoplankton growth rate approaches saturation. *
* Thus, this term is 1 when IRR is 0, and approaches 0 as IRR increases. A *
* larger value for IRRk causes the exponential to approach 0 more slowly, *
* ie. to saturate at a higher light level. *
*
* Uptake is determined by the product of the 1 minus the exponential term, *
* a maximum uptake velocity (Vmax, in s-1), and limitation caused by the *
* concentration of the ideal nutrient itself, N (in mol kg-1): *
* *
* -Vmax * (1 - exp( -IRR / IRRk )) * (N / N + k) *
* *
* The last term causes nutrient uptake to slow as the nutrient *
* concentration approaches 0, according to Michaelis-Menten dynamics. *
* *
* In ideal_n, regeneration is simply a constant rate, R. *
*
* Starting from this simple foundation, biogeochemical functionality is *
* added by creating a macronutrient (iPO4) with identical uptake to *
* ideal_n, but for which mass is conserved within the ocean. This is *
* achieved by separating the uptake into dissolved and particulate *
* organic matter, the latter of which is instantaneously remineralized *
* throughout the water column below according to a variant of the OCMPIP2 *
* protocol. This calculates the remineralization rate at each level as a *
* function of the temperature, base remineralization rate, and sinking *
* rate (itself a function of depth). Any flux reaching the bottom box is *
* instantly remineralized there to conserve mass within the ocean. *
* Meanwhile, Dissolved Organic Phosphorus (iDOP) is transported within the *
* ocean, decaying to PO4 at a temperature-dependent rate. *
*
* Given the apparent importance of iron (Fe) as a limiting micronutrient *
* in the oceans, it seemed interesting to try making another PO4 tracer, *
* limited by Fe, in addition to the basic limitations given above: this is *
* called iPO4f. The iron input is highly idealized, and the scavenging *
* function very simple, but iron-limitation develops and modulates *
* growth rate through iron-light colimitation in a way that may not be *
* totally unlike the real ocean. The Fe-limited PO4 cycle is completely *
* independent of the non-Fe-limited PO4, and they can be run on their own *
* or in parallel for comparison.
*
* A full biogeochemical simulation can then be made by selecting one of *
* the iPO4s as the central bgc variable (default is iPO4). Biological *
* consumption and production of other quantities, including a number of *
* gases and idealized gas tracers, are then determined from the generally *
* reliable Redfield stoichiometries. *
*
* Isotopic fractionations are simulated by multiplying the uptake rate of *
* the chemical species by the isotopic rate ratio, alpha. The tracer *
* concentrations of the heavy isotope species are actually *
* equal to the true concentration divided by the isotopic ratio of the *
* standard, e.g. 15NO3 = [15NO3] * [14Nair] / [15Nair]. The true value in *
* permil is given by (15NO3 / NO3 - 1.) * 1000. *
*
* Dissolved gases are handled according to the OCMIP2 protocol. The air- *
* sea exchange code was taken from the ocmip2_abiotic and ocmip2_biotic *
* modules, with negligible modification. Note that the 14C implementation *
* differs from that of abiotic, in that biological uptake and remineraliz- *
* ation of carbon impact the distribution of 14C, analagous to 15N. *
*
* Chlorophyll is estimated diagnostically from the net bgc iPO4 (or iPO4f) *
* uptake rate, with an adjustment for photoadaptation.
A general note on nomenclature
Variables starting with 'j' are source/sink terms; jprod_x is the
biological production term for the quantity 'x'; jremin_x is the
remineralization rate of the quantity 'x'. Variables starting with 'fp'
are sinking particulate flux terms. Most of the 'i's stand for idealized,
as in iBGC, and help to avoid duplication of arrays and tracer names used
by TOPAZ and BLING, so that ibgc can be run in parallel with these other
models. Most of the 'p's stand for particulate, though a lot of them
stand for phosphorus. So, for example, jprod_pip is the production rate
of particulate idealized phosphorus through the uptake of iPO4.
Tracer units are generally in mol kg-1, with some exceptions (suntan,
ideal_n, Fe).
A general note on parameter values:
Pretty much all of the parameter values were selected ad hoc, from very
loose principles. They were not particularly well 'tuned' to match any
given circulation model, though they gave reasonable results with the
3-degree ocean model, om1p7. As such, the user should feel free to make
changes to the default values given here.
Exceptions to this are: gas exchange parameters, radiocarbon decay,
nutrient stoichiometry, fractionation factors.
OTHER MODULES USED
diag_manager_mod
field_manager_mod
mpp_mod
fms_mod
fms_io_mod
time_manager_mod
time_interp_external_mod
mpp_domains_mod
constants_mod
ocean_tpm_util_mod
fm_util_mod
ocean_types_mod
ocmip2_co2calc_mod
coupler_types_mod
atmos_ocean_fluxes_mod
PUBLIC INTERFACE
PUBLIC DATA
None.
PUBLIC ROUTINES
-
allocate_arrays
-
DESCRIPTION
- Dynamically allocate arrays for quantities with unknown dimensions.
These are arrays that only exist temporarily.
-
ocean_ibgc_bbc
-
DESCRIPTION
- This sets up the boundary conditions at the bottom of the water
column. Here, this does nothing and is just a placeholder.
-
ocean_ibgc_end
-
DESCRIPTION
- Clean up various quantities for this run. This includes writing out
additional information to ensure reproduction across restarts.
-
ocean_ibgc_restart
-
DESCRIPTION
- Write out restart files registered through register_restart_file
-
ocean_ibgc_sbc
-
DESCRIPTION
- Calculate the surface boundary conditions. This includes things
like gas exchange, atmospheric deposition, and riverine inputs.
-
ocean_ibgc_flux_init
-
DESCRIPTION
- Set up any extra fields needed by the ocean-atmosphere gas fluxes
-
ocean_ibgc_init
-
DESCRIPTION
- Set up any extra fields needed by the tracer packages
Save pointers to various "types", such as Grid and Domains.
-
ocean_ibgc_init_sfc
-
DESCRIPTION
- SURFACE GAS FLUXES
This subroutine coordinates the calculation of gas solubilities in the surface layer,
and sends the appropriate values to the coupler.
First, for CO2 and 14CO2, the carbon solubility and speciation are calculated by the
subroutine co2calc, following the OCMIP2 protocol. These calculations are both made
using total CO2, following which the surface CO2 concentration (CO2*, also known as
H2CO3*) is scaled by the DI14C/DIC ratio to give the surface 14CO2 concentration.
The speciation calculation uses in situ temperature, salinity, idealized PO4 and
idealized SiO4 (which must be scaled to real SiO4 units, since I'm using PO4 units
for iSiO4).
Oxygen solubility is calculated here, using in situ temperature and salinity.
The actual gas fluxes will be calculated in the coupler using a piston velocity (Kw),
Flux = Kw * (alpha - csurf)
and returned as elements of ice_ocean_boundary_fluxes%bc in the ocean_ibgc_sbc
subroutine.
-
ocean_ibgc_sum_sfc
-
DESCRIPTION
- Sum surface fields for flux calculations.
-
ocean_ibgc_zero_sfc
-
DESCRIPTION
- Sum surface fields for flux calculations.
-
ocean_ibgc_avg_sfc
-
DESCRIPTION
- Sum surface fields for flux calculations.
-
ocean_ibgc_sfc_end
-
DESCRIPTION
- Finish up stuff for surface fields for flux calculations.
-
ocean_ibgc_source
-
DESCRIPTION
- Compute the source terms for the ideal nutrients, including boundary
conditions (not done in setvbc, to minimize number
of hooks required in MOM base code)
-
ocean_ibgc_start
-
DESCRIPTION
- Initialize variables, read in namelists, calculate constants for a given run
and allocate diagnostic arrays
-
ocean_ibgc_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.
Here, it is used only to set the values of preformed iPO4 and iDIC in
the mixed layer.
NAMELIST
&ocean_ibgc_nml
-
do_ideal
If true, then do ideal_n and suntan. This does not require any other
part of the model.
[logical]
-
do_po4
If true, then do the non-Fe-limited P cycle, iPO4 and iDOP. If either
this or do_po4f is true, PO4_pre and chl will be calculated as well. If
both do_po4 and do_po4f are true, po4 will be the master variable,
unless bgc_felim is true.
[logical]
-
do_po4f
If true, then do the Fe-limited P cycle, with iFe, iPO4f and DOP. If
either this or do_po4 is true, PO4_pre and chl will be calculated as well.
If both do_po4 and do_po4f are true, po4 will be the master variable,
unless do_bgc_felim is true.
[logical]
-
do_bgc_felim
If true, then use PO4f as the master variable for biogeochemical
calculations (gases, PO4_pre, chl, isotopes). Requires that do_PO4f be true.
[logical]
-
do_gasses
If true, then do the gases Dissolved Inorganic Carbon (iDIC) and oxygen
(iO2). Requires that do_po4 and/or do_po4f be true.
[logical]
-
do_carbon_comp
If true, then do the dissolved inorganic carbon component tracers,
Saturation DIC (iDIC_sat) and preformed DIC (iDIC_pre). Requires
that do_po4 and/or do_po4f be true, and that do_gasses be true.
[logical]
-
do_radiocarbon
If true, then do the radiocarbon tracers (iDI14C and iDO14C). Requires
that do_po4 and/or do_po4f be true, and that do_gasses be true.
[logical]
-
do_isio4
If true, then do silica cycle and silicon isotopes, iSiO4 and i30SiO4.
[logical]
-
do_no3_iso
If true, then do NO3 isotopes, i15NO3, iN18O3 and iDO15N. Requires that
do_po4 and/or do_po4f be true.
[logical]
DATA SETS
None.
ERROR MESSAGES
None.
REFERENCES
- The basic nutrient uptake equations will be described in an upcoming paper
by Galbraith et al. (in prep.). The remainder of the biogeochemistry
module may be documented more officially elsewhere. All are welcome to use
ibgc model output for the purposes of publication; however, please contact
Eric Galbraith (Eric.Galbraith@mcgill.ca) for the appropriate reference.
COMPILER SPECIFICS
None.
PRECOMPILER OPTIONS
None.
LOADER OPTIONS
None.
TEST PROGRAM
None.
KNOWN BUGS
None.
NOTES
None.
FUTURE PLANS
None.