F. Louanchi has created a monthly climatology of phosphate in the upper ocean that is to be used to nudge the model towards observations in the upper 75 m. These data are on a 2 x 2 degree grid for the six following depth levels: 0, 10, 20, 30, 50 and 75 m. The data are in the file po4mapnew.dat.gz. See the files README.po4maps, readmap.f, and nutrient-doc for further information. All modelers are required to linearly interpolate the phosphate maps spatially and temporally to their model grid. Units of the phosphate maps are mmol/m^3 and these will have to be converted by each group to model units of mol/m^3.
There are five tracers carried in this run: phosphate (PO4), dissolved organic phosphorus (DOP), oxygen (O2), dissolved inorganic carbon (DIC) and alkalinity (Alk). The corresponding conservation equations are
(1a)   d[PO4]/dt = L([PO4]) + JbPO4
(1b)   d[DOP]/dt = L([DOP]) + JbDOP
(1c)   d[O2]/dt = L([O2]) + JbO2 + JgO2
(1d)   d[DIC]/dt = L([DIC]) + JbDIC + JgDIC + JvDIC
(1e)   d[Alk]/dt = L([Alk]) + JbAlk + JvAlk
The source-sink terms JvDIC, JvAlk, JgDIC, and JgO2 are added only as surface boundary conditions. That is they are equal to zero in all subsurface layers. These source-sink terms are equivalent to the fluxes, described below, divided by the surface layer thickness dz1.
JvAlk = FvAlk/dz1
JgDIC = FgDIC/dz1
JgO2 = FgO2/dz1
The Jb terms are rather detailed and are described in the OCMIP-2 simulation design document; they are not repeated here. We have supplied some Fortran code, found in the files bio.h, bio.f, and jbio.f. This code should be used to compute the Jb terms. However, this code serves only as a template, which must be modified by each group to suit their particular model.
In models where surface salinity is restored to observed values, this results in a surface flux of salt, not a surface flux of water as in the real world. Such surface salt fluxes are typically found in models with a rigid lid, and even in some models with a free surface (e.g., the OGCM from Louvain-la-Neuve). For simplicity, we categorize both classes of models as "rigid-lid-like". Conversely, non-rigid-lid-like models have a free surface and restore surface salinity by an equivalent flux of water leading to dilution or concentration (e.g., the MPI LSG model). Salinity in the latter type of free-surface model is conserved; E-P fluxes are taken into account by the velocity fields and thus do not need to be explicitly formulated in the transport model.
Yet for all rigid-lid-like models, we must explicitly take into account the concentration-dilution effect of E-P (Evaporation minus Precipitation), which changes surface [DIC] and [Alk]. Thus we add the virtual flux to the surface layer, each time step according to
(2a)   FvDIC = DICg * (E-P)
(2b)   FvAlk = Alkg * (E-P)
where DICg and Alkg are the model's globally averaged surface concentrations of DIC and Alk, respectively. Both global averages must be computed at least every five years. For rigid-lid-like models with only salinity restoring, we suggest that (P - E) be computed as
(3)   P - E =
where S' is the observed local salinity to which modeled local salinity S is being restored, Sg is the model's globally averaged surface salinity, dz1 is the top layer thickness, and Tau is the restoring time scale for salinity. For rigid-lid models (or free surface models) which in addition include explicit P - E water fluxes, that term must of course also be added to eq (3).
IMPORTANT: It is critical that the virtual fluxes do not result in a net flux of alkalinity to or from the model. There are at least two ways of getting around this. One possibility is to insure that the global mean of E -P used in equations (2a) and (2b) is equal to zero. This could be achieved by subtracting off the global mean E - P before computing the virtual flux. A second possibility is to update the inventory of alkalinity periodically so that the inventory of alkalinity + 16*phosphate is at its initial value. See also Section 3.
For simulations of DIC and O2, OCMIP-2 simulations will directly model the finite air-sea fluxes FgDIC and FgO2, respectively. Modelers must use the formulation for the standard OCMIP-2 air-to-sea flux:
(4a)   FgDIC = KwCO2 (CO2sat - CO2surf)
(4b)   FgO2 = KwO2 (O2sat - O2surf)
(5a)   CO2sat = alphaC*pCO2atm *P/Po
(5b)   O2sat = O2sato*P/Po
For simulations of DIC and O2, modelers must use the standard OCMIP-2 formulation for the piston velocities of CO2 (KwCO2) and O2 (KwO2). The monthly climatologies of KwCO2 and KwO2 are to be interpolated linearly in time by each modeling group. They are computed with the following equations adapted from Wannikhof (1992, eq. 3):
(6a)    Kw = (1 - Fice) [Xconv * a *(u2 + v)] (ScCO2/660)**-1/2
(6b)    Kw = (1 - Fice) [Xconv * a *(u2 + v)] (ScO2/660)**-1/2
Practically speaking, to use equations (4) and (6), each group will interpolate the OCMIP-2 standard information to their own model grid. The standard information is provided by IPSL/LSCE as a monthly climatology on the 1 x 1 degree grid of Levitus (1982) in netCDF format (in file gasx_ocmip2.nc). Gridded variables in that file include
For the variables Fice and xKw,
continents on the 1 x 1 degree standard grid have been
flooded with adjacent ocean values. Such an approach avoids
discontinuities at land-sea boundaries during interpolation. See the
for an example of how to read the information in
into your interpolation routines. After compilation, to link and
rgasx_ocmip2.f, one must have already installed netCDF.
may also be inspected with software that uses netCDF format, such as ncdump
or Ferret. Ferret will be used for some of the analysis during OCMIP-2.
We encourage participants to become familiar with Ferret now.
After installation, one can visualize maps of the standard information in gasx_ocmip2.nc, by using the Ferret script vgasx_ocmip2.jnl.
After launching Ferret, simply issue the following command (at Ferret's "yes?" prompt)
yes? go vgasx_ocmip2.jnl
Apart from Kw, there are other terms that require further development to simulate air-sea gas exchange.
The oceanic term CO2surf [in mol/m^3] is not carried as a tracer, so it must be computed each timestep to determine gas exchange.
CO2surf is the surface [CO2] concentration, which is computed from the model's surface [DIC], [Alk], T, S, and [PO4] through the equations and constants found in the subroutine co2calc.f. Silicate is also needed as an input, as it affects the equilibria; for that, we use its global mean surface value of 7.5 umol/kg.
IMPORTANT: The carbonate chemistry subroutine co2calc.f was originally designed to require tracer input ([DIC], [Alk], [PO4], and [SiO2]) on a per mass basis (umol/kg); however, for OCMIP-2 co2calc.f has been modified to pass tracer concentrations on a per volume basis (mol/m^3), as carried in ocean models. To do so, we use the mean surface density of the ocean (1024.5 kg/m^3) as a constant conversion factor; we do NOT use model-predicted densities. Output arguments co2star (CO2surf) and dco2star (CO2sat - CO2surf) are also returned in mol/m^3.
The atmospheric components CO2sat and O2sat in equations (4a) and (4b) are specified a priori via four remaining terms: