Module generic_BLING
OVERVIEW
This module contains the generic version of BLING.
It is designed so that both GFDL Ocean models, GOLD and MOM, can use it.
WARNING: although the core components of the model (PO4, Fed, DOP, O2)
have been quite well tested, the other components should be viewed as
developmental at this point. There may still be some bugs, particularly
in the CaCO3 burial scheme. EDG June 4, 2009
Biogeochemistry with Light, Iron, Nutrient and Gas (BLING) includes an
implicit ecological model of growth limitation by light,
temperature, phosphate and iron, along with dissolved organic
phosphorus and O2 pools.
Food web processing in the euphotic zone and remineralization/
dissolution through the ocean interior are handled as in Dunne et al.
(2005). O2 equilibria and gas exchange follow OCMIP2 protocols.
Additional functionality comes from an optional carbon cycle that is
non-interactive, i.e. does not change the core BLING behaviour, as
well as tracers for radiocarbon (14c), a decomposition of carbon
components by gas exchange and remineralization (carbon_pre), and a
decomposition of phosphate as preformed and remineralized (po4_pre).
OTHER MODULES USED
coupler_types_mod
field_manager_mod
mpp_mod
fms_mod
time_manager_mod
fm_util_mod
diag_manager_mod
constants_mod
g_tracer_utils
FMS_ocmip2_co2calc_mod
PUBLIC INTERFACE
PUBLIC ROUTINES
-
generic_BLING_init
call generic_BLING_init (tracer_list)
-
DESCRIPTION
-
This subroutine:
Adds all the BLING Tracers to the list of generic Tracers passed
to it via utility subroutine g_tracer_add(). Adds all the parameters
used by this module via utility subroutine g_tracer_add_param().
Allocates all work arrays used in the module.
-
INPUT
-
| tracer_list |
Pointer to the head of generic tracer list.
[type(g_tracer_type), pointer] |
-
generic_BLING_update_from_coupler
call generic_BLING_update_from_coupler (tracer_list)
-
DESCRIPTION
-
Some tracer fields could be modified after values are obtained from the
coupler. This subroutine is the place for specific tracer manipulations.
BLING currently does not use this.
-
INPUT
-
| tracer_list |
Pointer to the head of generic tracer list.
[type(g_tracer_type), pointer] |
-
generic_BLING_update_from_bottom
call generic_BLING_update_from_bottom (tracer_list,dt, tau)
-
DESCRIPTION
-
Some tracers could have bottom fluxes and reservoirs.
This subroutine is the place for specific tracer manipulations.
BLING currently does not use this.
-
INPUT
-
| tracer_list |
Pointer to the head of generic tracer list.
[type(g_tracer_type), pointer] |
| dt |
Time step increment
[real] |
| tau |
Time step index to be used for %field
[integer] |
-
generic_BLING_update_from_source
call generic_BLING_update_from_source (tracer_list,Temp,Salt,dzt,hblt_depth,& ilb,jlb,tau,dt, grid_dat,sw_pen,opacity)
-
DESCRIPTION
-
This is the subroutine to contain most of the biogeochemistry for calculating the
interaction of tracers with each other and with outside forcings.
-
INPUT
-
| tracer_list |
Pointer to the head of generic tracer list.
[type(g_tracer_type), pointer] |
| ilb,jlb |
Lower bounds of x and y extents of input arrays on data domain
[integer] |
| Temp |
Ocean temperature
[real, dimension(ilb:,jlb:,:)] |
| Salt |
Ocean salinity
[real, dimension(ilb:,jlb:,:)] |
| dzt |
Ocean layer thickness (meters)
[real, dimension(ilb:,jlb:,:)] |
| opacity |
Ocean opacity
[real, dimension(ilb:,jlb:,:)] |
| sw_pen |
Shortwave peneteration
[real, dimension(ilb:,jlb:)] |
| hblt_depth |
[real, dimension(ilb:,jlb:)] |
| grid_dat |
Grid area
[real, dimension(ilb:,jlb:)] |
| tau |
Time step index of %field
[integer] |
| dt |
Time step increment
[real] |
-
generic_BLING_set_boundary_values
call generic_BLING_set_boundary_values (tracer_list,SST,SSS,rho,ilb,jlb,tau)
-
DESCRIPTION
-
-
INPUT
-
| tracer_list |
Pointer to the head of generic tracer list.
[type(g_tracer_type), pointer] |
| ilb,jlb |
Lower bounds of x and y extents of input arrays on data domain
[integer] |
| SST |
Sea Surface Temperature
[real, dimension(ilb:,jlb:)] |
| SSS |
Sea Surface Salinity
[real, dimension(ilb:,jlb:)] |
| rho |
Ocean density
[real, dimension(ilb:,jlb:,:,:)] |
| tau |
Time step index of %field
[integer] |
-
generic_BLING_end
call generic_BLING_end
-
DESCRIPTION
-
Deallocate all work arrays
NAMELIST
&generic_bling_nml
-
do_14c
If true, then simulate radiocarbon. Includes 2 prognostic tracers, DI14C
and DO14C. Requires that do_carbon = .true. Note that 14C is not taken up
by CaCO3 at the current time, but cycles only through the soft tissue.
This is a mistake that will be fixed later.
[logical]
-
do_carbon
If true, then simulate the carbon cycle based on strict stoichiometry
of C:P. Includes 1 prognostic tracer, DIC.
[logical]
-
do_carbon_pre
If true, then simulate the carbon cycle based on strict stoichiometry
of C:P. Includes 3 prognostic tracers, DIC, ALK and ALK_pre. Requires
that do_carbon = .true.
[logical]
-
do_po4_pre
If true, then simulate preformed PO4, a useful theoretical construct
equal to PO4 in the surface layer and subject only to passive transport
everywhere else. 1 prognostic tracer, PO4_pre.
[logical]
-
bury_caco3
If true, then allow CaCO3 to be buried in sediments as a function
of sinking CaCO3 flux and bottom water saturation state, and allow
a river input of alkalinity to compensate. Caution: this will cause
the alkalinity to have a long term drift, which will produce a long
term drift in the carbon cycle. Should be considered highly
experimental at this point. Requires that do_carbon=.true.
[logical]
-
use_bling_chl
If true, names the BLING diagnostic chlorophyll field 'chl'. Thus,
if read_chl=.false. in the shortwave namelist, BLING chlorophyll will
be used to calculate sw absorption. Set this to false in order to
have the chlorophyll field named chl_b, preventing conflict with the
TOPAZ chlorophyll field, so that the two modules can run
simultaneously.
[logical]
REFERENCES
-
This model is available for public use.
The current version is BLING.0. The version number refers to the core
model behaviour; additional tracers exist in different iterations of the
module. In publications it should be referenced as:
Galbraith, E.D., Gnanadesikan, A., Dunne, J. and Hiscock, M. 2009.
Regional impacts of iron-light colimitation in a global
biogeochemical model. Biogeosciences Discussions, 6, 1-47.
All parameter values are as described in this paper.
Note that this reference is only for the core model components, and
does not include any of the additional functionalities, which remain
undocumented. Please contact Eric Galbraith (eric.galbraith@mcgill.ca)
for more information.