Abiotic-HOWTO
J. Orr, R. Najjar, C. Sabine, and F. Joos
$Revision: 1.16 $, $Date: 2000/01/08 18:46:21 $
This document provides step-by-step guidelines to make the so-called
solubility pump runs for CO2 and C-14 according to the standard
OCMIP-2 protocols. No biological effects are included. The ocean
model carries only DIC and DIC14. We describe five types of abiotic
simulations: (1) Equilibrium run, (2) Historical run for 1765-2000,
(3) Future runs (IPCC S650 and CIS92A) for DIC only, (4) a 1000-yr
Pulse Input run for DIC only, and (5) three Control runs needed for
drift correction for the Abiotic transient runs (i.e., the Historical,
Future, and Pulse simulations).
______________________________________________________________________
Table of Contents:
1. Recuperation of OCMIP-2 files by ftp:
2. Model runs
2.1. Conservation equations
2.2. Virtual flux (Fv)
2.3. Air-sea gas exchange fluxes (F and F14)
2.4. The Piston Velocity Kw
2.5. Oceanic and Atmospheric Components
2.5.1. Ocean
2.5.2. Atmosphere
3. Initialization and duration of simulations
4. Output type and frequency
5. Output Format
5.1. Output routines
5.2. Downloading the output routines
5.3. Compiling the output routines
5.4. Using the output routines
5.4.1. Equilibrium Output
5.4.2. Historical Output
5.4.3. Future Output
5.4.4. Pulse Output
5.4.5. Control Output
5.4.6. Names of Output files
5.5. Need more details?
6. Transfer of output
7. References
8. Contacts
9. Same document, another format?
______________________________________________________________________
1. Recuperation of OCMIP-2 files by ftp:
To comply with OCMIP-2 guidelines, all modelers must make simulations
according to OCMIP-2 standard boundary conditions. To do so, one must
first recuperate the following files via this Web page. (you can save
a file to disk by clicking on its link while holding down the Shift
key)
o Files concerning gas exchange (same for all OCMIP-2 runs)
o rgasx_ocmip2.f
o gasx_ocmip2.nc.gz
o vgasx_ocmip2.jnl
o Files concerning atmospheric CO2 and C-14, for transient
simulations
o splco2.dat
o stab.dat
o cis92a.dat
o c14nth.dat
o c14equ.dat
o c14sth.dat
o read_co2atm.f
o read_c14atm.f
o c_interp.f
o try_c_interp.f
o locate.f
o Files concerning abiotic model
o scco2.f
o co2flux.f
o Files concerning standard carbonate chemistry (same for all OCMIP-2
carbon runs)
o README.Cchem
o Makefile
o co2calc.f
o drtsafe.f
o ta_iter_1.f
o test.r
o test.out.gz
After transferring these files (in binary mode), modelers must then
uncompress (gunzip) the file containing the gas exchange boundary
conditions (gasx_ocmip2.nc.gz):
______________________________________________________________________
gunzip gasx_ocmip2.nc
______________________________________________________________________
Other files are text and need no special treatment after transfer. Use
of these files is described below.
2. Model runs
2.1. Conservation equations
For the inorganic carbon and radiocarbon, both passive tracers, the
conservation equations carried in the model are
(1a) d[DIC]/dt = L([DIC]) + Jv + J
and
(1b) d[DIC14]/dt = L([DIC14]) - Lambda * [DIC14] + Jv14 + J14
where
o [DIC] is the model's concentration (moles/m^3) of total dissolved
inorganic carbon;
o [DIC14] is the model's DIC-normalized concentration (also in
moles/m^3) of total dissolved inorganic C-14 (see below);
o L is the 3-D transport operator, which represents effects due to
advection, diffusion, and convection;
o Lambda is the radioactive decay constant for C-14 (ln(2) / 5730
year = 1.2097e-04 year^-1), converted to s^-1 using the number of
seconds/year in your particular model;
o Jv is the "virtual" source-sink term representing the changes in
surface [DIC] due to evaporation and precipitation, which must be
accounted for because of the relatively high background
concentration of [DIC];
o Jv14 is the "virtual" source-sink term for changes in surface
[DIC14]due to evaporation and precipitation (E-P changes in
background concentrations are of the same order as observed
variability);
o J is the the source-sink term due to air-sea exchange of CO2; and
o J14 is the source-sink term due to air-sea exchange of 14CO2.
The source-sink terms Jv, Jv14, J, and J14 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.
Jv = Fv/dz1
Jv14 = Fv14/dz1
J = F/dz1
J14 = F14/dz1
2.2. Virtual flux (Fv)
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) Fv = DICg * (E-P)
(2b) Fv14 = DIC14g * (E-P)
where DICg and DIC14g are the model's globally averaged surface
concentrations of DIC and DIC14, respectively. Both global averages
must be computed at least once per year. 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-like models which in
addition include explicit P - E water fluxes, that term must of course
also be added to eq (3).
2.3. Air-sea gas exchange fluxes (F and F14)
For simulations of DIC and DIC14, OCMIP-2 simulations will directly
model the finite air-sea fluxes F and F14, respectively. Modelers
must use the formulation for the standard OCMIP-2 air-to-sea flux,
(4a) F = Kw (Csat - Csurf)
(4b) F14 = Kw (14Csat - 14Csurf)
with
(5a) Csat = alphaC * pCO2atm * P/Po
(5b) 14Csat = Csat * Ratm
where
o Kw is the CO2 gas transfer (piston) velocity [m/s] ;
o Csurf is the surface aqueous [CO2] concentration [mol/m^3], which
is computed from the model's surface [DIC], T, S, and [Alk] (see
section 2.5);
o 14Csurf is the surface ocean [14CO2] (see section 2.5);
o alphaC is the C solubility for water-vapor saturated air [mol/(m^3
* uatm)];
o pCO2atm is the partial pressure of CO2 in dry air at one atmosphere
total pressure [in microatm], which is the same as the dry air
mixing ratio of CO2 multiplied by 10^6 ;
o P is the total air pressure at sea level [atm], locally;
o Po is 1 atm; and
o Ratm is the normalized atmospheric ratio of C-14/C-12, which for
our purposes we divide by the analogous ratio for the standard Rstd
(6) Ratm = (1 + D14Catm/1000)
where D14Catm is the atmospheric Delta C-14, the fractionation
corrected ratio of C-14/C-12, given in permil (see below).
Those familiar with C-14, may be surprised that in equation (6) we
define Ratm, without multiplying the right hand term by Rstd
(1.176e-12). Instead, we prefer to be able to compare [DIC14] to
[DIC], directly, in order to simplify early interpretation and code
verification. With the above formulation for the OCMIP equilibrium
runs (where pCO2atm=278 ppm and D14Catm=0 permil), if both tracers are
initialized identically, the only difference between units for the
[DIC] and [DIC14] tracers will be due to radioactive decay. For the
anthropogenic runs, there will also be contributions due to
differences between atmospheric records for pCO2atm and D14Catm.
2.4. The Piston Velocity Kw
For simulations of DIC and DIC14, modelers must use the standard
OCMIP-2 formulation for the piston velocity Kw for CO2. The monthly
climatology of Kw, to be interpolated linearly in time by each
modeling group, is computed with the following equation adapted from
Wanninkhof (1992, eq. 3):
(7) Kw = (1 - Fice) [Xconv * a *(u2 + v)] (Sc/660)**-1/2
where
o 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)
o u2 is the instantaneous SSMI wind speed, averaged for each month,
then squared, and subsequently averaged over th e same month of all
years to give the monthly climatology. (see the OCMIP-1
README.satdat for further details);
o 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.
o 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.
o 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.
o Sc is the Schmidt number which is to be computed using modeled SST,
using the formulation from Wanninkhof (1992). The function scco2.f
computes the Sc (unit-less) for CO2.
Practically speaking, to use equation (2) 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
o the variable Fice,
o the second term, [Xconv * a * (u2 + v)], denoted as xKw [m/s]
o the mask Tmask (1 if ocean; 0 if land),
o the total atmospheric pressure at sea level P [atm]
o the longitude Lon at the center of each 1 x 1 degree grid box,
o 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.gz 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.5. Oceanic and Atmospheric Components
Apart from Kw, there are a total of four other terms in equation (4a)
and (4b) which require further development.
2.5.1. Ocean
The oceanic terms Csurf and 14Csurf [in mol/m^3] are not carried as
tracers, so they must be computed each timestep to determine gas
exchange
Csurf is the surface [CO2] concentration [mol/m^3], which is computed
from the model's surface [DIC], T, S, and [Alk] through the equations
and constants found in the subroutine co2calc.f. As input, we must
provide alkalinity, which we determine as a normalized linear function
of salinity.
(8) [Alk] = Alkbar * S/Sbar
where [Alkbar] is 2310 microeq/kg and Sbar is the model's annual mean
surface salinity, integrated globally (horizontally). Two other input
arguments, both nutrient concentrations, are needed as input. Although
accounting for both of their equilibria makes a difference, neither
nutrient is included in the solubility pump run. Hence we take
concentrations of both as being constant, equal to the global mean of
surface observations: 0.5 micromol/kg for phosphate and 7.5
micromol/kg for silicate. Note that for the later OCMIP-2 run which
includes the biological pump, we will use observed seasonal
distributions of surface phosphate.
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. For example, OCMIP-2
modelers should used SiO2 = 7.7e-03 mol/m^3 and PO4 = 5.1e-04 mol/m^3
as input arguments; again both are constant for the abiotic
simulation. The output arguments co2star (Csurf) and dco2star (Csat -
Csurf) are also returned in mol/m^3.
14Csurf is the surface ocean [14CO2], defined as
(9) 14Csurf = Csurf * Rocn,
where
(10) Rocn = [DIC14]/[DIC].
Furthermore, for comparison to ocean measurements, we compute
(11) D14Cocn = 1000*(Rocn - 1).
Following equation (4), we do not include Rstd when calculating
D14Cocn in the model.
2.5.2. Atmosphere
The atmospheric components Csat and 14Csat 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: For the Equilibrium run, pCO2atm is held constant at 278
ppm. For the anthropogenic perturbation, we define the equilibrium
state as year 1765.0. Then for the Historical run, the model must
be integrated until the end of 1999, following the observed record
until 1990.5 (splco2.dat) and IPCC scenario S650 (stab.dat) until
2000.0 (Enting, 1994). That same scenario, Future run S650, will
be continued from 2000.0 to 2300.0. Similarly, a second Future run
CIS92A (see also cis92a.dat) will be run from 1990.0 to 2100.0,
after initializing with model output from the Historical run in
1990.0. Additionally a Pulse run will be made, where preindustrial
atmospheric CO2 is doubled and allowed to decline for 1000 years.
Finally to eliminate effects due to model drift, we will make
essentially two Control runs: (1) the first will be held to the
same atmospheric boundary conditions as the Equilibrium run ,
carrying both DIC and DIC14 during 1765-2000 but only DIC from
2000-2300; (2) the second will be analogous to the Pulse run, made
in forward mode for 1000 years, except that atmospheric CO2 will
not be doubled on the first time step.
3. D14Catm: is atmospheric Delta C-14 [in permil]. For the
Equilibrium run, D14Catm is held constant at 0 permil. For the
Historical run, we define the equilibrium state as year 1765.0.
Then the model must be integrated until the end of year 1999
following the observed record (Enting, 1994). The observed
atmospheric C-14 record is given for three latitudinal bands:
o 90S-20S
o 20S-20N
o 20N-90N
There will be NO future or pulse simulations for C-14.
4. P: Is the total atmospheric pressure [atm] from the monthly mean
climatology of Esbensen and Kushnir (1981). The latter, given
originally on a 4 x 5 degree grid (latitude x longitude) in bars,
is converted to atm by multiplying 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).
Technical notes:
1. The ASCII file splco2.dat provides values of atmospheric pCO2 [in
microatm], every half year, for the period from 1765.0 to 1990.5.
Thereafter, there are two files used for future scenarios: for
scenario S650, the ASCII file stab.dat provides half-year values of
atmospheric pCO2 [in microatm] for the period from 1990.5 to
2300.5; for scenario CIS92A, the ASCII file cis92a.dat provides
yearly values of atmospheric pCO2 for the period from 1990.5 to
2100.5. The subroutine read_co2atm.f reads atmospheric CO2
information from all three files.
2. The ASCII files c14nth.dat, c14equ.dat, and c14sth.dat provide mid-
year values of atmospheric D14Catm [in permil] for the period from
1764.5 to 2000.0. See the subroutine read_c14atm.f
3. The Fortran subroutine c_interp.f temporally interpolates
(linearly) both pCO2atm and D14Catm at a given timestep. That
routine is called by the demonstration program try_c_interp.f,
which spatially assigns D14Catm to the three latitudinal bands for
C-14 (see above). Thus both routines together effect (1) temporal
interpolation for both pCO2atm and D14Catm and (2) spatial
"interpolation" for D14Catm as a function of latitude.
3. Initialization and duration of simulations
1. Equilibrium run:
o Initial Conditions: These don't really matter for the Abiotic
Equilibrium run. That is, the final steady-state distributions for
DIC and DIC14 do not depend on the initial conditions because
exchange with the atmosphere will ultimately determine their final
steady-state inventories. However, a judicious choice of initial
conditions can reduce the integration time required to reach
steady-state. Unfortunately, initial conditions must be quite
close indeed to the steady-state solution if there is to be a
significant reduction in computing time. The choice of initial
conditions is left to the discretion of each of the modeling
groups. For initial debugging, groups may prefer to initialize
DIC14 to the same 3-D field as used for DIC. That way the only
difference between the two tracers is driven by radioactive decay.
o Duration: The Equilibrium run for abiotic DIC and DIC14 should be
continued until at least both the following criteria are reached:
o For DIC, we recommend that the globally integrated air-sea flux
should be less than 0.01 Pg C/yr
o For C-14, we recommend that 98% of the ocean volume should have a
drift of less than 0.001 permil/year (Aumont et al., 1998, p. 105).
In terms of C-14 age, this drift is equivalent to a change of 8.27
yr per 1000 years of simulation.
For most models, these criteria can be reached only after
integrations of at least few thousand model years.
2. Historical run:
o Initial Conditions: The historical abiotic simulation for both DIC
and DIC14 will be initialized with final output (on Dec. 31) from
the Equilibrium run or "steady-state" simulation.
o Duration: The historical simulation will begin at the beginning of
1765 (Jan 1, i.e., 1765.0). The anthropogenic simulation will be
continued until the year 2000.0.
o CO2: Until 1990.5, pCO2atm will follow the splco2.dat; then from
1990.5 to 2000.0, the atmosphere will follow IPCC scenario S650 in
stab.dat.
o C-14: Atmospheric D14Catm will follow values in c14nth.dat,
c14equ.dat, and c14sth.dat (for 90S-20S, 20S-20N, and 20N-90N,
respectively) until 2000.0. For lack of data, atmospheric C-14
between 1995.5 and 2000.0 is held constant at 107 permil.
3. Future runs (DIC only):
o Future run CIS92A:
o Initial Conditions: 3-D DIC field, 2-D Cumulative Fluxes and 2-D
Cumulative Virtual Flux fields to be initialized with output from
the Historical run at 1990.0
o Duration: to be continued using atmospheric CO2 from IPCC Scenario
CIS92A until the year 2100.0
o Future run S650:
o Initial Conditions: 3-D DIC field, 2-D Cumulative Fluxes and 2-D
Cumulative Virtual Flux fields to be initialized with output from
the Historical run at 1990.0
o Duration: to be continued using atmospheric CO2 from IPCC Scenario
S650 until the year 2300.0
4. Pulse input response function (DIC only):
o Initial Conditions: Ocean DIC is to be initialized with final
output from the Equilibrium run; Atmospheric CO2 is to be doubled
(556 ppm, where 1 ppm = 2.123 Pg C) at t=0, and then be controlled
only via air-sea fluxes. Thus the model is then to be run in
forward mode (atmospheric CO2 is calculated). The Injection HOWTO
describes other forward simulations in more detail.
o Duration: The total integration will be for 1000 years (1765.0 -
2765.0).
5. Control Runs
o Historical Control (DIC and DIC14); and Future Control (DIC only)/:
o Initial Conditions: Ocean DIC is to be initialized with final
output from the Equilibrium run; Atmospheric CO2 and C-14 are to be
held at preindustrial conditions (278 ppm, 0 permil) throughout the
duration of the simulation.
o Duration: The total integration for DIC will be for 535 years
(1765.0 - 2300.0). However the integration including DIC14 is only
necessary for the first 235 years (Historical Control run 1765.0 -
2000.0).
o Historical-Future transistion: If run separately, the Future
Control run should be initialized with the 3-D DIC fields AND the
2-D Cumulative Fluxes (i.e., both air-sea gas cumulative flux and
virtual cumulative flux) from the last time step of 1999 (end of
Historical Control run).
o Pulse Control (DIC only):
o Initial Conditions: Ocean DIC is to be initialized with final
output from the Equilibrium run; Atmospheric CO2 is to be
initialized with the quantity of CO2 equivalent to 278 ppm (1 ppm =
2.123 Pg C) at t=0, and then be controlled only via air-sea fluxes.
Thus the model is to be run in forward mode (atmospheric CO2 is
calculated). The Injection HOWTO describes other forward
simulations in more detail.
o Duration: The total integration will be for 1000 years (the
equivalent of 1765.0 - 2765.0).
There are no Future or Pulse simulations for DIC14.
4. Output type and frequency
1. Equilibrium Output: steady-state "natural" simulation
o Type: (N.B. Below, the terms 3-D, 2-D, and 0-D refer to spatial
dimensions; another dimension must be added for time).
o [3-D] fields:
a. Concentrations for both passive tracers [DIC] and [DIC14] (both
in mol/m^3); and
b. Alk (in eq/m^3), as determined from equation (8);
o [2-D] fields
a. pCO2surf = Csurf/alphaC (uatm);
b. dpCO2 = (Csurf - Csat*P/Po) (uatm);
c. Air-sea DIC gas exchange flux F (mol/(m^2 * s));
d. Air-sea DIC14 flux F14 (mol/(m^2 * s));
e. Virtual DIC flux Fv (mol/(m^2 * s));
f. Virtual DIC14 flux Fv14 (mol/(m^2 * s));
o Frequency: Monthly means and annual mean for the final year of
equilibrium simulation.
2. Historical Output: for anthropogenic run for CO2 and C-14
(1765.0-2000.0)
o Type: Same as for the Equilibrium run (except Alk, which is the
same), plus
o [2-D] fields
a. Surface DIC concentration (mol/m^3);
b. Surface DC14ocn (permil), see equation (11);
c. Vertical Inventory of DIC (mol/m^2), i.e., the vertical integral
of its concentration with depth, throughout the water column.
d. Vertical Inventory of DC14ocn (permil * m), i.e., the vertical
integral of its level with depth, throughout the water column
(permil*m are strange but useful units).
e. End-of-the-year cumulative air-sea gas exchange fluxes F and
F14, accumulated every time step since year=1765.0 (mol/m^2).
f. End-of-the-year cumulative virtual fluxes Fv and Fv14,
accumulated every time step since year=1765.0 (mol/m^2).
o [0-D] fields
a. Globally averaged atmospheric pCO2atm (uatm) and DC14atm
(permil);
b. Globally averaged air-sea fluxes F and F14 (mol/(m^2 * s)
c. Globally averaged virtual fluxes Fv and Fv14 (mol/(m^2 * s)
d. Globally averaged DIC and DIC14 (mol/m^3), i.e., a Volume
integral
e. Globally averaged surface DIC and DIC14 (mol/m^3), i.e., a
Surface integral
f. Globally averaged pCO2surf (uatm)
g. Globally averaged dpCO2 (uatm)
h. Globally averaged surface DC14ocn (permil), see equation (11);
i. Globally averaged DC14ocn (permil), see equation (11);
j. Globally averaged cumulative air-sea fluxes (end-of-month) for
F and F14 (mol/m^2);
k. Globally averaged cumulative virtual fluxes (end-of-month) for
Fv and Fv14 (mol/m^2)
o Frequency:
o [0-D] fields:
a. Monthly means during every year (1765-1999, inclusive)
o [2-D] fields:
a. Monthly means for 1838, 1839, 1900, and every year from
1948-1999 (inclusive).
o [3-D] fields:
a. Monthly means for 1838, 1953, 1954, 1957, 1965, 1972, 1973,
1974, 1977, 1978, 1981, 1982, 1983, 1985, 1986, 1987, 1988,
1989, 1991, 1993, 1995, 1997, 1999.
b. Annual means for 1838, 1839, 1900, and every year from
1953-1999 (inclusive).
3. Future Output: for future runs CIS92A and S650
o Type: Same as the Historical run, but only for the DIC component,
not DIC14
o Frequency:
o [0-D] fields:
a. CIS92A: Monthly means during every year (1990-2099, inclusive)
b. S650: Monthly means during every year (1990-2299, inclusive)
o [2-D] and [3-D] fields:
o CIS92A
a. Monthly means for 2000 and 2099.
b. Annual means for 2000, 2010, every 20 years for 2020-2080, and
2099.
o S650
a. Monthly means for 2000, 2100, 2200, and 2299.
b. Annual means for 2000, 2010, every 20 years for 2020-2280, and
2299.
4. Pulse Output: for OCMIP models to be included in next IPCC analysis
o Type: Same as the Future run for 0-D and 2-D fields; No 3-D fields!
o Frequency:
o [0-D] fields
o 0.0-10.0 years: monthly means (12 x 10 = 120 records)
o 10.0-100.0 years: annual means (i.e., 90 records)
o 100.0-1000.0 years: annual means every 10 years (i.e., 90 records)
o Final year (999.0-1000.0): annual mean (i.e., 1 record)
o [2-D] fields
o 0.0-10.0 years: annual means each year (11 records)
o 10.0-100.0 years: annual means every 10 years (90 records)
o 100.0-1000.0 years: annual means every 100 years (90 records)
o Final year (999.0-1000.0): annual mean (1 record)
5. Control Output:
o Type:
o Historical Control (1765.0 - 2000.0) -> Just like Historical run
o Future Control (2000.0 - 2300.0) -> Just like Future run--only DIC
component, not DIC14.
o Pulse Control (0.0 - 1000.0) -> Just like Pulse run--only DIC
component.
o Frequency:
o [0-D] fields:
a. Historical Control: Monthly means during every year (1765-1999,
inclusive)
b. Future Control: Monthly means during every year (2000-2300,
inclusive)
c. Pulse Control: just like Pulse run
o 0.0-10.0 years: monthly means (12 x 10 = 120 records)
o 10.0-100.0 years: annual means (i.e., 90 records)
o 100.0-1000.0 years: annual means every 10 years (i.e., 90
records)
o Final year (999.0-1000.0): annual mean (i.e., 1 record)
o [2-D] fields:
a. Historical Control: Annual means for 1838, 1839, 1900, and every
year from 1948-1999 (inclusive).
b. Future Control: Annual means for 2000, 2010, every 20 years for
2020-2080, 2099, every 20 years for 2100-2280, and 2299.
c. Pulse Control: just like Pulse run
o 0.0-10.0 years: annual means each year (11 records)
o 10.0-100.0 years: annual means every 10 years (90 records)
o 100.0-1000.0 years: annual means every 100 years (90 records)
o Final year (999.0-1000.0): annual mean (1 record)
o [3-D] fields:
a. Historical Control: Annual means for 1838, 1839, and every year
from 1953-1999 (inclusive)
b. Future Control: Annual means for 2000, 2010, every 20 years for
2020-2080, 2099, every 20 years for 2100-2280, and 2299.
c. Pulse Control: None!
5. Output Format
Each modeling group must provide their output in the standard OCMIP-2
format. Model output that does not follow these formatting
conventions cannot be included for analysis during OCMIP-2. Model
groups must use the standard routines that we have developed
specifically for writing output in standard form for OCMIP-2.
If this is the first OCMIP-2 simulation you have made, you will need
to recuperate the routine write_nc_MaskAreaBathy.f to write out
characteristics of your model grid, mask, and bathymetry using the
standard OCMIP-2 format. Use of this routine is detailed in the CFC
HOWTO (section 5.1).
Otherwise if you have submitted OCMIP-2 model output previously, you
will only need to resubmit the output file produced by
write_nc_MaskAreaBathy.f under two conditions:
1. either your model's grid, mask, or bathymetry have changed; or
2. you have been notified by the OCMIP-2 analysis center at IPSL that
your output file from this subroutine did not pass the routine
integrity tests.
5.1. Output routines
Each modeling group must use the routines listed in the following
table to store results in standard OCMIP-2 format for the
``Equilibrium Output'', ``Historical Output'', ``Future Output'',
``Pulse Output'', and ``Control Output''.
Input to these routines consists of your model's output and
characteristics. The first routine write_nc_Abiotic_equil.f must be
called ONLY once, at the end of model spin-up. We define the final
output of that run to be the initial conditions (at 1765.0) for the
transient runs. The Historical routines
(write_nc_Abiotic_hist_year_3D.f write_nc_Abiotic_hist_year_2D.f) must
be called for the appropriate output years of the Historical run (see
previous section ``Output type and frequency''); conversely the
Historical routine (write_nc_Abiotic_hist_year_0D.f is called only
once, after builiding a 1-D time series of global mean information.
The same strategy holds for the output routines for the other Abiotic
transient runs:
o Future runs (write_nc_Abiotic_futr_year_3D.f,
write_nc_Abiotic_futr_year_2D.f, and
write_nc_Abiotic_futr_year_0D.f);
o Pulse run (write_nc_Abiotic_puls_year_2D.f, and
write_nc_Abiotic_puls_year_0D.f); and
o Control runs
o Historical Control: write_nc_Abiotic_ctrlH_year_3D.f,
write_nc_Abiotic_ctrlH_year_2D.f, and
write_nc_Abiotic_ctrlH_year_0D.f;
o Future Control: write_nc_Abiotic_ctrlF_year_3D.f,
write_nc_Abiotic_ctrlF_year_2D.f, and
write_nc_Abiotic_ctrlF_year_0D.f; and
o Pulse Control: write_nc_Abiotic_ctrlP_year_2D.f, and
write_nc_Abiotic_ctrlP_year_0D.f).
The routine write_nc_Abiotic_TS_year.f should be called only once
for offline models; for online models, it should also be called a
second time, in the year 1990.
-------------------------------------------------------------------------------
Routine Input Units Comments
-------------------------------------------------------------------------------
write_nc_Abiotic_equil.f 1) Conc. of DIC mol/m^3 (*)
2) Conc. of DIC14 mol/m^3
3) Alk from eq. (8) eq/m^3
4) Surf. ocean pCO2 uatm
5) Delta pCO2 (dpCO2) uatm
6) Gas Exch. Flux of DIC mol/(m^2*s)
7) Gas Exch. Flux of DIC14 mol/(m^2*s)
8) Virtual Flux of DIC mol/(m^2*s)
9) Virtual Flux of DIC14 mol/(m^2*s)
write_nc_Abiotic_hist_year_3D.f 1) Conc. of DIC mol/m^3
2) Conc. of DIC14 mol/m^3
write_nc_Abiotic_hist_year_2D.f 1) Surf. ocean pCO2 uatm
2) Delta pCO2 (dpCO2) uatm
3) Gas Exch. Flux of DIC mol/(m^2*s)
4) Gas Exch. Flux of DIC14 mol/(m^2*s)
5) Virtual Flux of DIC mol/(m^2*s)
6) Virtual Flux of DIC14 mol/(m^2*s)
7) Surface DIC mol/m^3
8) Surface Delta C-14 permil
9) Vert. Integral of DIC mol/m^2
10) Vert. Integral of DC-14ocn permil*m
11) Cum. Gas Flux of DIC mol/m^2 1765->
12) Cum. Gas Flux of DIC14 mol/m^2 1765->
13) Cum. Virt. Flux of DIC mol/m^2 1765->
14) Cum. Virt. Flux of DIC14 mol/m^2 1765->
write_nc_Abiotic_hist_year_0D.f 1) Glob_mean (Gm) pCO2atm uatm
2) Gm Delta C-14 atm permil
3) Gm Gas Ex. Flux of DIC mol/(m^2*s)
4) Gm Gas Ex. Flux of DIC14 mol/(m^2*s)
5) Gm Virtual Flux of DIC mol/(m^2*s)
6) Gm Virtual Flux of DIC14 mol/(m^2*s)
7) Gm DIC mol/m^3
8) Gm DIC14 mol/m^3
9) Gm Surface DIC mol/m^3
10) Gm Surface DIC-14 mol/m^3
11) Gm pCO2surf uatm
12) Gm Delta pCO2 (dpCO2) uatm
13) Gm Surface Delta C-14 permil
14) Gm Delta C-14 permil
15) Gm Cum. Gas Flux of DIC mol/m^2 1765->
16) Gm Cum. Gas Flux of DIC14 mol/m^2 1765->
17) Gm Cum. Virt. Flux of DIC mol/m^2 1765->
18) Gm Cum. Virt. Flux of DIC14 mol/m^2 1765->
write_nc_Abiotic_futr_year_3D.f 1) Conc. of DIC mol/m^3
write_nc_Abiotic_futr_year_2D.f 1) Surf. ocean pCO2 uatm
2) Delta pCO2 (dpCO2) uatm
3) Gas Exch. Flux of DIC mol/(m^2*s)
4) Virtual Flux of DIC mol/(m^2*s)
5) Surface DIC mol/m^3
6) Vert. Integral of DIC mol/m^2
7) Cum. Gas Flux of DIC mol/m^2 1765->
8) Cum. Virt. Flux of DIC mol/m^2 1765->
write_nc_Abiotic_futr_year_0D.f 1) Glob_mean (Gm) pCO2atm uatm
2) Gm Gas Ex. Flux of DIC mol/(m^2*s)
3) Gm Virtual Flux of DIC mol/(m^2*s)
4) Gm DIC mol/m^3
5) Gm Surface DIC mol/m^3
6) Gm pCO2surf uatm
7) Gm Delta pCO2 (dpCO2) uatm
8) Gm Cum. Gas Flux of DIC mol/m^2 1765->
9) Gm Cum. Virt. Flux of DIC mol/m^2 1765->
write_nc_Abiotic_puls_year_2D.f 1) Surf. ocean pCO2 uatm
2) Delta pCO2 (dpCO2) uatm
3) Gas Exch. Flux of DIC mol/(m^2*s)
4) Virtual Flux of DIC mol/(m^2*s)
5) Surface DIC mol/m^3
6) Vert. Integral of DIC mol/m^2
7) Cum. Gas Flux of DIC mol/m^2 1765->
8) Cum. Virt. Flux of DIC mol/m^2 1765->
write_nc_Abiotic_puls_year_0D.f 1) Glob_mean (Gm) pCO2atm uatm
2) Gm Gas Ex. Flux of DIC mol/(m^2*s)
3) Gm Virtual Flux of DIC mol/(m^2*s)
4) Gm DIC mol/m^3
5) Gm Surface DIC mol/m^3
6) Gm pCO2surf uatm
7) Gm Delta pCO2 (dpCO2) uatm
8) Gm Cum. Gas Flux of DIC mol/m^2 1765->
9) Gm Cum. Virt. Flux of DIC mol/m^2 1765->
write_nc_Abiotic_TS_year.f 1) Potential temperature degrees C (*)
2) Salinity psu
write_nc_Abiotic_ctrlE_year_3D.f -> Same args as "write_nc_Abiotic_hist_year_3D.f"
write_nc_Abiotic_ctrlE_year_2D.f -> Same args as "write_nc_Abiotic_hist_year_2D.f"
write_nc_Abiotic_ctrlE_year_0D.f -> Same args as "write_nc_Abiotic_hist_year_0D.f"
write_nc_Abiotic_ctrlL_year_3D.f -> Same args as "write_nc_Abiotic_futr_year_3D.f"
write_nc_Abiotic_ctrlL_year_2D.f -> Same args as "write_nc_Abiotic_futr_year_2D.f"
write_nc_Abiotic_ctrlL_year_0D.f -> Same args as "write_nc_Abiotic_futr_year_0D.f"
write_nc_Abiotic_ctrlP_year_2D.f -> Same args as "write_nc_Abiotic_puls_year_2D.f"
write_nc_Abiotic_ctrlP_year_0D.f -> Same args as "write_nc_Abiotic_puls_year_0D.f"
-------------------------------------------------------------------------------
(*) For the equilibrium run: for online models, all 2- and 3-D fields
should be averaged for each month over the last year of the
simulation.
5.2. Downloading the output routines
The output routines can be transferred to your machine by clicking on
the links below, while holding down the Shift key.
o write_nc_MaskAreaBathy.f (This routine is the same as linked to the
CFC HOWTO; thus, there is no need to recuperate it if you have
already contributed OCMIP-2 CFC results).
o write_nc_Abiotic_equil.f
o write_nc_Abiotic_hist_year_3D.f
o write_nc_Abiotic_hist_year_2D.f
o write_nc_Abiotic_hist_year_0D.f
o write_nc_Abiotic_futr_year_3D.f
o write_nc_Abiotic_futr_year_2D.f
o write_nc_Abiotic_futr_year_0D.f
o write_nc_Abiotic_puls_year_2D.f
o write_nc_Abiotic_puls_year_0D.f
o write_nc_Abiotic_TS_year.f
o write_nc_Abiotic_ctrlH_year_3D.f
o write_nc_Abiotic_ctrlH_year_2D.f
o write_nc_Abiotic_ctrlH_year_0D.f
o write_nc_Abiotic_ctrlF_year_3D.f
o write_nc_Abiotic_ctrlF_year_2D.f
o write_nc_Abiotic_ctrlF_year_0D.f
o write_nc_Abiotic_ctrlP_year_2D.f
o write_nc_Abiotic_ctrlP_year_0D.f
You will also need to transfer the subroutine handle_errors.f to
properly deal with possible errors while you are writing your netCDF
files.
5.3. Compiling the output routines
Here is a an example of how you would compile one of the output
routines:
______________________________________________________________________
f77 -c -O -L/usr/local/lib -lnetcdf -I/usr/local/include \
write_nc_Abiotic_equil.f
______________________________________________________________________
Because we have made these routines F77 compatible, you may need a
function len_trim.f (from F90), which we also provide and which
returns the length of a character string (after neglecting trailing
blanks).
5.4. Using the output routines
5.4.1. Equilibrium Output
The Abiotic-run output routines store your model results following the
naming and output conventions (netCDF, GDT version 1.2) chosen for
OCMIP-2. The output filename is constructed automatically within each
routine from three of the arguments: the tracer name, the year, and
the standard model code
used during
OCMIP-2 to identify your group.
For example, after compiling and linking the OCMIP-2 output routines,
we add the following code to the IPSL routines to store output in
standard OCMIP-2 form
______________________________________________________________________
call write_nc_Abiotic_equil("IPSL","NGL46_SI",
& imt, jmt, kmt,
& 60*60*24*365, 1200,
& MDIC, MDIC14, Alk,
& MpCO2surf, MdpCO2,
& MF, MF14,
& MFv, MFv14)
______________________________________________________________________
By line, the arguments include
1. the OCMIP-2 model code AND your own model version indicator (in
GDT 1.2 terminology, these 2 variables refer to the institution and
production, respectively);
2. dimensions;
3. the number of seconds per year (in your model), and the number of
timesteps per year;
4. the 12 monthly means for the 3-D tracer arrays for DIC (mol/m^3)
and DIC14 (mol/m^3) and for the Alk computed from eq. (8) (eq/m^3).
5. the 12 monthly means for the 2-D arrays for surface ocean pCO2
(pCO2surf, in uatm) and the sea-air pCO2 difference (dpCO2, in
uatm).
6. the 12 monthly means for the 2-D air-sea flux for F and F14 (both
in mol/(m^2*s)); and
7. the 12 monthly means for the 2-D arrays for the surface "virtual"
fluxes Fv and Fv14 (both in mol/(m^2*s));
When do I call the above Equilibrium output routine? It should be
called only once, at the end of the simulation after building monthly
arrays (12 members) for each of the 2-D and 3-D spatial fields given
as arguments.
5.4.2. Historical Output
We need to use a slightly different routines for saving transient
results from the Historical run. Unlike the equilibrium run, we
separately store 3-D, 2-D, and 0-D data. The reason is that we store
the higher dimensional data less often, to save space.
For your 3-D model output for the Abiotic Historical run, use
______________________________________________________________________
call write_nc_Abiotic_hist_year_3D("IPSL","NL46_SI",
& imt, jmt, kmt, nt,
& 1985, 60*60*24*365, 1200,
& MDIC, MDIC14)
______________________________________________________________________
Note that we have also added the dimension nt on line 2. You must use
nt to signal if you are passing annual means (nt=1) or monthly means
(nt=12). The argument nt is used in the same fashion for routines
that follow. The 3-D input arrays MDIC and MDIC14 are as described
for the Equilibrium run.
When do I call the above 3-D Historical output routine? It should be
called for each of the following times:
o with nt=12 (monthly means, 12 records per year) for each of the
years 1838, 1953, 1954, 1957, 1965, 1972, 1973, 1974, 1977, 1978,
1981, 1982, 1983, 1985, 1986, 1987, 1988, 1989, 1991, 1993, 1995,
1997, 1999.
o with nt=1 (annual means, 1 record per year) for each of the years
1838, 1839, 1900, and every year for 1953-1999 (inclusive).
For your 2-D Historical output, use
______________________________________________________________________
call write_nc_Abiotic_hist_year_2D("IPSL","NL46_SI",
& imt, jmt, nt,
& 1985, 60*60*24*365, 1200,
& MpCO2surf, MdpCO2,
& MF, MF14,
& MFv, MFv14,
& Ms_DIC, Ms_DC14ocn,
& Mi_DIC, Mi_DC14ocn,
& CF_F, CF_F14,
& CF_Fv, CF_Fv14)
______________________________________________________________________
For 2-D output, we no longer need the dimension kmt, formerly in line
2. Conversely, we need supplemental 2-D model output for the
Historical run which was not included in the equilibrium output. This
supplemental 2-D output is needed to due to the Historical run's
transient nature and our asynchronous saving of its 2-D and 3-D
output. Supplemental 2-D Historical output includes
o line 7: the mean surface DIC (mol/m^3) and DC14ocn (permil), see
eq. (11);
o line 8: the mean vertical inventory of DIC (mol/m^2) and DC14ocn
(permil * m);
o line 9: the end-of-year 2-D cumulative flux for F (mol/m^2) and F14
(mol/m^2);
o line 10: the end-of-year 2-D cumulative flux for Fv and Fv14 (both
in mol/m^2)
Cumulative fluxes (lines 9 and 10 above) must be initialized to zero
and integrated with respect to time (i.e., each time step) from
year=1765.0. Note that these values should be output only at the end
of each year, regardless of whether nt=12 or nt=1.
When do I call the above 2-D Historical output routine? It should be
called with nt=12 for each of the following years: 1838, 1839, 1900,
and every year for 1948-1999 (inclusive).
For 0-D (1-D with time) Historical output, use
______________________________________________________________________
call write_nc_Abiotic_hist_year_0D("IPSL","NL46_SI",
& nrec, times,
& G_pCO2atm, G_DC14atm
& G_F, G_F14,
& G_Fv, G_Fv14,
& Gv_DIC, Gv_DIC14,
& G_DIC, G_DIC14,
& G_pCO2surf, G_dpCO2,
& G_DC14ocn, Gv_DC14ocn,
& G_CF_F, G_CF_F14,
& G_CF_Fv, G_CF_Fv14)
______________________________________________________________________
By line, the arguments include
1. the OCMIP-2 model code AND your own model version indicator (in
GDT 1.2 terminology, these 2 variables refer to the institution and
production, respectively);
2. the number of records saved and the array of the times (in decimal
years) at which they were saved--for monthly means, times should be
set to the corresponding time at mid-month (see below for exact
values).
3. the corresponding arrays of the history of the global mean
atmospheric CO2 (model input, in uatm) and global mean atmospheric
C-14 (in permil, calculated from model input as an area weighted
mean of your ocean grid boxes that you have identified as being in
the 90S-20S, 20S-20N, and 20N-90N latitudinal bands);
4. the corresponding array of the history of the global mean air-sea
flux F (mol/m^2*s) and F14 (mol/m^2*s);
5. the history of the global mean virtual fluxes Fv (mol/m^2*s) and
Fv14 (mol/m^2*s);
6. the history of the global mean concentrations of DIC (mol/m^3) and
DIC14 (mol/m^3);
7. the history of the global mean surface concentrations of DIC
(mol/m^3) and DIC14 (mol/m^3);
8. the history of global mean surface ocean pCO2 (pCO2surf, in uatm),
and the global mean sea-air pCO2 difference (dpCO2, in uatm);
9. the history of global mean surface ocean DC14ocn (in permil), and
the whole-ocean global mean DC14ocn (in permil);
10.
the history of the global mean cumulative fluxes F and F14 (in
mol/m^2, integrated since 1765.0) at the end of each month, with
each month indicated by its mid-month time given in line 2; and
11.
the history of the global mean cumulative fluxes Fv and Fv14 (in
mol/m^2, integrated since 1765.0) at the end of each month, with
each month indicated by its mid-month time given in line 2.
When do I call the above 0-D Historical output routine? It should be
called only once, after constructing 1-D (in time) arrays from all of
your model output. The time storage frequency is regular: every month
throughout the entire run (i.e., all years 1765-1999, inclusive).
Thus modelers must use nrec = 2820, and fill the 1-D temporal array
times with the appropriate values (i.e., 1765.04167, 1765.125,
1765.2083, 1765.29167, 1765.375, ... 1999.875, 1999.9583).
5.4.3. Future Output
Another similar set of 3 routines is needed for storing results from
the Future runs CIS92A and S650. Here we have removed arguments
related to C-14 and added an argument for indicating which future run
(CIS92A or S650) is appropriate (see line 2). Note that this argument
must be given in UPPER case. These 3 routines are given below (details
of other arguments are the same as given above):
______________________________________________________________________
call write_nc_Abiotic_futr_year_3D("IPSL","NL46_SI",
& "S650",
& imt, jmt, kmt, nt,
& 2000, 60*60*24*365, 1200,
& MDIC)
______________________________________________________________________
______________________________________________________________________
call write_nc_Abiotic_futr_year_2D("IPSL","NL46_SI",
& "S650",
& imt, jmt, nt,
& 2000, 60*60*24*365, 1200,
& MpCO2surf, MdpCO2,
& MF,
& MFv,
& Ms_DIC,
& Mi_DIC,
& CF_F,
& CF_Fv)
______________________________________________________________________
When do I call the above 2-D and 3-D Future output routines? They
should both be called for each of the following times:
o For CIS92A
o with nt=12 for both of the following years: 2000 and 2099
o with nt=1 for each of the following years: 2000, 2010, 2020, 2040,
2060, 2080, and 2099.
o For S650
o with nt=12 for each of the following years: 2000, 2100, 2200, 2299
o with nt=1 for each of the following years: 2000, 2010, 2020, 2040,
2060, 2080, 2100, 2120, 2140, 2160, 2180, 2200, 2220, 2240, 2260,
2280, 2299.
______________________________________________________________________
call write_nc_Abiotic_futr_year_0D("IPSL","NL46_SI",
& "S650",
& nrec, times,
& G_pCO2atm,
& G_F,
& G_Fv,
& Gv_DIC,
& G_DIC,
& G_pCO2surf, G_dpCO2,
& G_CF_F,
& G_CF_Fv)
______________________________________________________________________
When do I call the above 0-D Future output routine? It should be
called only once, after constructing 1-D (in time) arrays from all of
your model output. The time storage frequency is regular: every month
throughout the entire run (i.e., all years 1990-2299, inclusive).
Thus modelers must use nrec = 3720, and they must fill the 1-D
temporal array times) with appropriate corresponding values (i.e.,
1990.04167, 1990.125, 1990.2083, 1990.29167, 1990.375,
5.4.4. Pulse Output
Another set of 2 routines is needed for storing the 2-D and 0-D
results from the Pulse run; for that run there is NO 3-D output.
Differences relative to the Pulse output routines are
o the scenario specification has been removed (only 1 pulse run is
to be made); and
o the nt term has been removed from the 2-D routine since 2-D output
is to be saved only for annual means, not monthly means.
______________________________________________________________________
call write_nc_Abiotic_puls_year_2D("IPSL","NL46_SI",
& imt, jmt,
& 1, 60*60*24*365, 1200,
& MpCO2surf, MdpCO2,
& MF,
& MFv,
& Ms_DIC,
& Mi_DIC,
& CF_F,
& CF_Fv)
______________________________________________________________________
When do I call the above 2-D Pulse output routine? It should be
called using annual means, for each of the following years: 0, 1, 2,
3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200,
300, 400, 500, 600, 700, 800, 900, and 999. These details are given in
a structured way in the previous section (Output type and Frequency).
______________________________________________________________________
call write_nc_Abiotic_puls_year_0D("IPSL","NL46_SI",
& nrec, times,
& G_pCO2atm,
& G_F,
& G_Fv,
& Gv_DIC,
& G_DIC,
& G_pCO2surf, G_dpCO2,
& G_CF_F,
& G_CF_Fv)
______________________________________________________________________
When do I call the above 0-D Pulse output routine? It should be
called only once, after constructing 1-D (in time) arrays from all of
your model output. The time storage frequency (spacing between
individual members of the array times) is NOT regularly spaced in
time. For the 0-D Pulse run, output as specified by times must be
given for
o every month from years 0.0 to 10.0 (i.e., 12 x 10 = 120 records),
with corresponding monthly means provided at mid-month (i.e., for
times = 0.04167, 0.1250, 0.2083, 0.29167, 0.3750, ... 9.875,
9.9583);
o every year from years 10.0 to 100.0 (i.e., 90 records), with
corresponding annual means provided at mid-year (i.e., for times =
10.5, 11.5, 12.5, ... 99.5);
o every 10 years from years 100.0-991.0 (i.e., 90 records), with
corresponding annual means provided at mid-year (i.e., for times =
100.5, 110.5, 120.5, 130.5, ... 990.5); and
o the final year (i.e., 1 record), with its corresponding annual
means provided at mid-year (i.e., for times = 999.5).
Thus with this irregular spacing, models must use nrec = 301 (i.e.,
120 + 90 + 90 + 1).
5.4.5. Control Output
Finally we need to store output for the control run. The control run
is necessary because 3-D tracer fields and associated fluxes in our
Equilibrium run never reach perfect equilibrium. The associated drift
affects results for the transient runs. Correcting for drift may be
important when comparing model differences, particularly integrated
quantities, over long time periods. The control run is needed to
drift-correct models, before comparison. It is desirable that all
groups make all three control runs, but this may not be possible for
some, due to CPU requirements. Below are a few guidelines to help you
decide when the Control runs are necessary and what shortcuts can be
taken:
1. If you will make the Pulse run, you MUST also make the equivalent
Pulse Control run.
2. If you have NOT respected the ``Equilibrium drift criteria'' you
MUST make the Historical Control and Future Control runs.
3. If you have respected the recommended ``Equilibrium drift
criteria'', you may skip making the Historical Control and Future
Control runs. However, we do HIGHLY RECOMMEND that you make these
simulations, if you can afford them, i.e., if they do not represent
a large proportion of your annual CPU budget. Having this output
will simplify analysis and eliminate guess work.
4. If you have respected the ``Equilibrium drift criteria'' and
choose not to submit Historical Control and Future Control output,
you MUST still provide an indication of the drift of your model.
In other words, you must use the three *ctrlH* routines (see below)
to provide your output for another year. For instance, you could
provide output from the 0-D, 2-D, and 3-D *ctrlH* routines for the
year 1775. We would then compute your model drift and treat it as
constant.
Those who will be making all the CO2 Injection simulations can
economize a little. That is, with those runs, one automatically makes
make both the Late Control and the Pulse Control runs, simultaneoulsy.
The first of the ten Injection tracers is the control tracer.
Unfortunately, the Injection runs do NOT offer an opportunity to skip
the Historical Control run. For more details, see the final version
of the Injection HOWTO.
Arguments of the Control output routines are the same as those used in
the Historical, Future, and Pulse output routines, as described below.
1. Historical Control output (for 1765-1999, inclusive): We save both
the DIC and DIC14 related components. We use 3 routines, with the
same arguments as the 0-D, 2-D, and 3-D Historical output routines.
o When do I call the above 3-D Historical Control output routine
(write_nc_Abiotic_ctrlH_3D.f)? It should be called with Annual
means (nt=1) for 1765, 1838, 1839, 1900, and every year from
1953-1999 (inclusive).
o When do I call the above 2-D Historical Control output routine
(write_nc_Abiotic_ctrlH_2D.f)? It should be called with Annual
means (nt=1) for 1765, 1838, 1839, 1900, and every year from
1948-1999 (inclusive).
o When do I call the above 0-D Historical Control output routine
(write_nc_Abiotic_ctrlH_0D.f)? It should be called only once, after
constructing 1-D (in time) arrays from all of your model output.
The time storage frequency is regular: every month throughout the
entire run (i.e., all years 1765-1999, inclusive). Thus modelers
must use nrec = 2820, and fill the the 1-D temporal array times
with the appropriate values (i.e., 1765.04167, 1765.125, 1765.2083,
1765.29167, 1765.375, ... 1999.875, 1999.9583). The Historical
Control Run uses the same nrec and times array as does the
Historical run.
2. Future Control output (for 2000-2764, inclusive): We save only the
DIC-related component. We use 3 routines with the same arguments
as the 0-D, 2-D, and 3-D Future output routines.
o When do I call the above 3-D Future Control output routine
(write_nc_Abiotic_ctrlF_3D.f)? It should be called with Annual
means (nt=1) for years 2000, 2010, 2020, 2040, 2060, 2080, 2099,
2100, 2120, 2140, 2160, 2180, 2200, 2220, 2240, 2260, 2280, 2299.
o When do I call the above 2-D Future Control output routine
(write_nc_Abiotic_ctrlF_2D.f)? It should be called with Annual
means (nt=1) for years 2000, 2010, 2020, 2040, 2060, 2065, 2080,
2099, 2100, 2120, 2140, 2160, 2165, 2180, 2200, 2220, 2240, 2260,
2265, 2280, 2299.
o When do I call the above 0-D Future Control output routine
(write_nc_Abiotic_ctrlF_0D.f)? It should be called only once, after
constructing 1-D (in time) arrays from all of your model output.
The time storage frequency is regular: every month throughout the
entire run (i.e., all years 2000-2300, inclusive). Thus modelers
must use nrec = 3600, and they must fill the 1-D temporal array
times) with appropriate corresponding mid-month values (i.e.,
2000.04167, 2000.125, 2000.2083, 2000.29167, 2000.375, ...,
2299.875, 2299.9583). Note that nrec and times are NOT identical to
those used when calling the analogous 0-D routine to save Future
output (i.e., nrec is smaller; times starts 10 years later).
3. Pulse Control output (for 2000-2764, inclusive): We save only the
DIC-related component. We use 2 routines with the same arguments
as the 0-D and 2-D Pulse output routines.
o When do I call the above 2-D Pulse Control output routine
(write_nc_Abiotic_ctrlP_2D.f)? It should be called with Annual
means (nt=1) for years 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30,
40, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500, 600, 700, 800,
900, and 999.
o When do I call the above 0-D Pulse Control output routine
(write_nc_Abiotic_ctrlP_0D.f)? It should be called only once, after
constructing 1-D (in time) arrays from all of your model output.
The time storage frequency is NOT regularly spaced in time. For the
0-D Pulse Control run, output as specified by times must be given
for
o every month from years 0.0 to 10.0 (i.e., 12 x 10 = 120 records),
with corresponding monthly means provided at mid-month (i.e., for
times = 0.04167, 0.1250, 0.2083, 0.29167, 0.3750, ... 9.875,
9.9583);
o every year from years 10.0 to 100.0 (i.e., 90 records), with
corresponding annual means provided at mid-year (i.e., for times =
10.5, 11.5, 12.5, ... 99.5);
o every 10 years from years 100.0-991.0 (i.e., 90 records), with
corresponding annual means provided at mid-year (i.e., for times =
100.5, 110.5, 120.5, 130.5, ... 990.5); and
o the final year (i.e., 1 record), with its corresponding annual
means provided at mid-year (i.e., for times = 999.5).
Thus with this irregular spacing, models must use nrec = 301 (i.e.,
120 + 90 + 90 + 1).
5.4.6. Names of Output files
All arguments of the Abiotic routines are input; none are output.
With the arguments as listed in the nine routines above, The
corresponding output netCDF files are
o "IPSL_Abiotic_equil.nc";
o "IPSL_Abiotic_hist_1985_3D.nc", "IPSL_Abiotic_hist_1985_2D.nc",
"IPSL_Abiotic_hist_global_0D.nc";
o "IPSL_Abiotic_S650_2000_3D.nc", "IPSL_Abiotic_S650_2000_2D.nc",
"IPSL_Abiotic_S650_global_0D.nc";
o "IPSL_Abiotic_puls_0001_2D.nc", "IPSL_Abiotic_puls_global_0D.nc".
o "IPSL_Abiotic_ctrlH_1985_3D.nc", "IPSL_Abiotic_ctrlH_1985_2D.nc",
"IPSL_Abiotic_ctrlH_global_0D.nc";
o "IPSL_Abiotic_ctrlF_2000_3D.nc", "IPSL_Abiotic_ctrlF_2000_2D.nc",
"IPSL_Abiotic_ctrlF_global_0D.nc";
o "IPSL_Abiotic_ctrlP_0001_2D.nc", "IPSL_Abiotic_ctrlP_global_0D.nc".
These files along with all others produced by the Abiotic routines
should be ``transferred to IPSL''. Filenames should NOT be changed.
Subsequently, at IPSL, files will be (1) tested for consistency,
(2) included in the OCMIP-2 data base, and (3) processed for base
analysis.
5.5. Need more details?
See . for additional
information about the format netCDF and other conventions (COARDS,
GDT) chosen for storing OCMIP-2 model output.
If you have other questions, please contact orr@cea.fr or
Patrick.Brockmann@ipsl.jussieu.fr.
6.
Transfer of output
We provide details only for transferring ``Equilibrium Output''.
Output from the other Abiotic simulations (``Historical Output'',
``Future Output'', ``Pulse Output'', and ``Control Output'') should be
transferred in an analogous fashion.
The ``Equilibrium Output'' files IPSL_Abiotic_equil.nc and
IPSL_Abiotic_TS_year.nc should first be compressed.
______________________________________________________________________
gzip IPSL_Abiotic_equil.nc IPSL_Abiotic_TS_year.nc
______________________________________________________________________
If gzip is not available on your machine, the alternative is to use
compress. After compression, you should ftp your files to LSCE for
processing and analysis. Your model output could be quite large
depending upon model resolution. Fear not though, because we have the
disk space to accommodate output from all OCMIP models. Contact us if
the ftp transfer rate is inadequate. In that case, you'll need to
write your output to tape (DDS, DDS2, Exabyte, or DLT) and mail it to
James ORR
LSCE, CEA Saclay
Unite mixte de recherche CEA-CNRS
Bat. 709, L'Orme des Merisiers
F-91191 Gif-sur-Yvette CEDEX
FRANCE
Here are the commands to transfer your output by ftp:
______________________________________________________________________
ftp: ftp.cea.fr
user: anonymous
passwd: your full email
cd incoming2/y2k01/OCMIP
mkdir
mkdir /Abiotic
cd /Abiotic
binary
prompt
mput *nc*
______________________________________________________________________
Then e-mail us (orr@cea.fr and Patrick.Brockmann@ipsl.jussieu.fr) that
your transfer is complete.
To avoid confusion, you can create further subdirectories
(Abiotic/equil, Abiotic/hist, Abiotic/futr, Abiotic/puls, and
Abiotic/ctrl) to distinguish the five different types of runs. The
ftp archive is erased automatically every 8 days, so be sure to
contact us as soon as you have completed transfer, and save your
output files at least until we have notified you that they have been
transferred to the OCMIP-2 model output archive.
7. References
Aumont, O., J. C. Orr, D. Jamous, P. Monfray, O. Marti, and G. Madec,
1998. A degradation approach to accelerate simulations to steady-
state in a 3-D tracer transport model of the global ocean. Climate
Dynamics, 14, 101-116.
Broecker, W.S., J. R. Ledwell, T. Takahashi, R. Weiss, L. Merlivat, L.
Memery, T.-H. Peng, B. Jahne, and K. O. Munnich, 1986. Isotopic versus
micrometeorlogic ocean CO2 fluxes, J. Geophys. Res., 91, 10517-10527.
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.
Joos, F., M. Bruno, R. Fink, T. F. Stocker, U. Siegenthaler, C. Le
{Qu'er'e}, and J. L. Sarmiento, 1996. An efficient and accurate
representation of complex oceanic and biospheric models of
anthropogenic carbon uptake, Tellus, Ser. B, 48, 397--417.
Levitus, S., 1982. Climatological atlas of the World Ocean, NOAA Prof.
Pap. 13, U.S. GPO., Washington, D.C., 173 pp.
Maier-Reimer, E. and K. Hasselmann, 1987. Transport and storage of CO2
in the ocean--an inorganic ocean-circulation carbon cycle model, Clim.
Dyn., 2, 63--90, 1987.
Sarmiento, J. L., J. C. Orr, and U. Siegenthaler, 1992. A perturbation
simulation of CO2 uptake in an ocean general circulation model, J.
Geophys. Res., 97, 3621--3645.
Walsh, J. 1978. A data set on northern hemisphere sea ice extent,
1953-1976. Glaciological Data, World Data Center for Glaciology (Snow
and Ice), Report GD-2, 49-51.
Wanninkhof, R., 1992. Relationship between wind speed and gas exchange
over the ocean, J. Geophys. Res., 97, 7373-7382.
Warner, M. J. and R. F. Weiss (1985) Solubilities of
chlorofluorocarbons 11 and 12 in water and seawater, Deep-Sea Res.,
32, 1485-1497.
Zheng M., W. J. DeBruyn, and E. S. Saltzman, 1998. Measurements of the
diffusion coefficients of CFC-11 and CFC-12 in pure water and
seawater, J. Geophys. Res., 103, 1375-1379.
Zwally, H. J., J. Comiso, C. Parkinson, W. Campbell, F. Carsey, and P.
Gloerson, 1983. Antarctic Sea Ice, 1973-1976: Satellite Passive
Microwave Observations, NASA, 206 pp.
8. Contacts
orr@cea.fr, brock@lsce.saclay.cea.fr
9. Same document, another format?
This document is available in other formats:
o HTML ( )
o Postscript ( )
o ASCII ( )
o LaTeX ( )
o DVI ( )