   ## 2.1 Surface phosphate restoring

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.

## 2.2 Conservation equations

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

where

• L is the 3-D transport operator, which represents effects due to advection, diffusion, and convection;
• [] or "square brackets" indicate concentrations in moles/m^3 (or eq/m^3 for Alk);
• JbX is the biological source sink term for X;
• JvDIC and JvAlk are the "virtual" source-sink terms for changes in surface DIC and Alk, respectively, due to evaporation and precipitation; and
• JgDIC and JgO2 are the source-sink terms due to air-sea exchange of CO2 and O2, respectively.

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.

JvDIC= FvDIC/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.

## 2.3 Virtual fluxes (FvDIC and FvAlk)

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 = (S - S')/ Sg * dz1 /Tau

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.

## 2.4 Air-sea gas exchange fluxes (FgDIC and FgO2)

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)

with

(5a)   CO2sat = alphaC*pCO2atm *P/Po

(5b)   O2sat = O2sato*P/Po

where

• KwCO2 and KwO2 are the CO2 and O2 gas transfer (piston) velocities [m/s], respectively;
• CO2surf is the surface aqueous CO2 concentration [mol/m^3], which is computed from the model's surface [DIC], T, S, [Alk], and [PO4]; (see section 2.6);
• O2surf is the surface O2 concentration [mol/m^3] computed by the model;
• alphaC is the CO2 solubility for water-vapor saturated air [mol/(m^3 * uatm)];
• pCO2atm is the partial pressure of CO2 in dry air at one atmosphere total pressure [in uatm], which is the same as the dry air mixing ratio of CO2 multiplied by 10^6 ;
• O2sato is the O2 saturation concentration at one atmosphere total pressure for water saturated air [mol/m^3];
• P is the total air pressure at sea level [atm], locally; and
• Po is 1 atm.

## 2.5 The Piston Velocities (KwCO2 and KwO2)

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

where

• Fice is the fraction of the sea surface covered with ice, which varies from 0.0 to 1.0, and is given as monthly averages from the Walsh (1978) and Zwally et al. (1983) climatology (OCMIP-2 modelers must reset Fice values less than 0.2 to zero, after interpolation to their model grid)
• u2 is the instantaneous SSMI wind speed, averaged for each month, then squared, and subsequently averaged over the same month of all years to give the monthly climatology. (see the OCMIP-1 README.satdat for further details);
• v is the variance of the instantaneous SSMI wind speed computed over one month temporal resolution and 2.5 degree spatial resolution, and subsequently averaged over the same month of all years to give the monthly climatology. Again, see the OCMIP-1 README.satdat for further details.
• a is the coefficient of 0.337, consistent with a piston velocity in cm/hr. We adjusted the coefficient a for OCMIP-2, in order to obtain Broecker et al.'s (1986) radiocarbon-calibrated, global CO2 gas exchange of 0.061 mol CO2 /(m^2 * yr * uatm), when using the satellite SSMI wind information (u2 + v) from Boutin and Etcheto (pers. comm.). Our computed value for a is similar to that determined by Wanninkhof (a = 0.31), who used a different wind speed data set and assumptions about wind speed variance; we use the observed variance.
• Xconv = 1/3.6e+05, is a constant factor to convert the piston velocity from [cm/hr] to [m/s]. This conversion factor is already included in the forcing field xKw, provided below.
• ScCO2 and ScO2 are the Schmidt numbers for CO2 and O2, respectively. They are to be computed using the formulation of Wannikhof (1992) for CO2 and Keeling et al. (1998) for O2. The corresponding Fortran functions are scco2.f and sco2.f. Both ScCO2 and ScO2 are unitless.

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

• the variable Fice,
• the second term, [Xconv * a * (u2 + v)], denoted as xKw [m/s]
• the mask Tmask (1 if ocean; 0 if land),
• the total atmospheric pressure at sea level P [atm]
• the longitude Lon at the center of each 1 x 1 degree grid box,
• the latitude Lat at the center of each 1 x 1 degree grid box.

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 Fortran program rgasx_ocmip2.f for an example of how to read the information in `gasx_ocmip2.nc` into your interpolation routines. After compilation, to link and use `rgasx_ocmip2.f`, one must have already installed netCDF.

The file `gasx_ocmip2.nc` 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
```

## 2.6 Oceanic and Atmospheric Components

Apart from Kw, there are other terms that require further development to simulate air-sea gas exchange.

### Ocean

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.

### Atmosphere

The atmospheric components CO2sat and O2sat in equations (4a) and (4b) are specified a priori via four remaining terms:

1. alphaC: The CO2 solubility alphaC is to be computed using modeled SST and SSS, both of which vary in time at each grid point. For OCMIP-2 we use the solubility formulation of Weiss (1974), corrected for the contribution of water vapor to the total pressure (Weiss and Price, 1980, Table IV for solubility in [mol/(l * atm)]). The solubility alphaC is calculated within the routine co2calc.f.
2. pCO2atm: This is held constant at 278 ppm. For the OCMIP-2 simulations, modelers should pass pCO2atm as one of the the input arguments (xco2) to co2flux.f in units of ppm. This in turn is passed to co2calc.f.
3. O2sato: This is computed from the model T and S in units of mol/m^3, using the formulation of Garcia and Gordon (1992). The subroutine o2sato.f performs this function.
4. P: Is the total atmospheric pressure [atm] from the monthly mean climatology of Esbensen and Kushnir (1981). The latter, was given originally on a 4 x 5 degree grid (latitude x longitude) in bars. We converted P to atm by multiplying it by (1/1.101325). Land and sea ice values in the original data set were filled with average values from adjacent ocean points. These monthly mean arrays were then linearly interpolated to the 1 x 1 degree grid of Levitus (see netCDF file gasx_ocmip2.nc). The atmospheric pressure, is passed as an input argument, in atm, to both co2flux.f and o2flux.f.   