next up previous contents
Next: 4 Review Status Up: lnd_reqdoc Previous: 2 Algorithmic Description   Contents

Subsections

3 Requirements

3.1 Scientific Requirements

3.1.1 Fluxes

The land model will calculate fluxes for energy, water, carbon, nitrogen, and momentum as well as fluxes of dust and fluxes of biogenic volatile organic compounds (BVOCs). In addition, the land model will calculate a turbulent deposition velocity which, combined with the settling velocity calculated by the atmospheric model, will give dust dry deposition, thus closing the dust cycle.

3.1.2 Conservation

The land model will perform regular tests for conservation of energy and conservation of mass for water, carbon, and nitrogen. These tests will be performed at each level in the sub-grid hierarchy. For the river transport scheme, conservation of water is confirmed at the global scale.

3.1.3 Non-conserved constituents

The land model will include mechanisms for treatment of constituents other than those listed above, that are not explicitly conserved (e.g., volatile organic compounds and dust).

3.1.4 Biogeochemistry

The model will include treatment of carbon and nitrogen biogeochemistry with a level of detail sufficient to accomplish the experiments defined by the Biogeochemistry Working Group for CCSM (to be determined). A minimal set of requirements includes prognostic allocation of carbon and nitrogen in plants, controls on photosynthesis from nitrogen availability, and competition between plants and microbes for available nitrogen. These requirements also include treatments of natural disturbance, anthropogenic disturbance, and heterotrophic respiration sufficient to resolve seasonal and interannual variability in net ecosystem carbon exchange over the global range of climate. Vegetation will be treated as mixtures of plant functional types and these types will be allowed to compete for common water, nitrogen, and light resources.

3.1.5 Biogeography and Phenology

The land model will permit prognostic plant biogeography and prognostic plant phenology. This feature should eventually become integrated with the treatment of carbon and nitrogen biogeochemistry described above.

3.1.6 River Transport Scheme

The land model shall provide a river transport scheme which will account for stream flow due to precipitation, snow melt, and other processes. The river transport scheme shall provide for the transport of constituents and energy, and provide or contribute to fluxes to other component models. Specific improvements suggested for the current River Transport Model (RTM) include:

3.2 Software Requirements

3.2.1 Modes of Execution

The model must support three modes of execution. It must be able to run as a stand alone executable where atmospheric forcing data is periodically read in. It must be able to run as part of the Community Atmospheric Model (CAM) executable where communication between the atmosphere and land components occurs via subroutine calls. Finally, it must be able to run as a separate component of the CCSM coupled system, where communication between the various model components occurs via the CCSM flux coupler.

3.2.2 Parallelism and Configurability

The model must be able to run in serial, with shared memory parallelism via OpenMP, with distributed memory parallelism via MPI, or with hybrid parallelism using both OpenMP and MPI. The user must be able to easily configure the model to run under any of these modes of operation appropriate for the specific machine architecture used.

3.2.3 Types of Runs

The model must support the following types of runs

  1. Initial run where two types of initial runs are supported:

    1. The model generates initial conditions for certain fields at run time, or

    2. the model is started from specified initial conditions dataset.

  2. Restart run in which the model is started from a binary restart file where bit-for-bit reproducibility (on the same platform as the initial run) is ensured regardless of changes in the model parallelism. No model namelist variables may be changed on a restart run.

  3. Branch run in which the model is started from a binary restart file, but changes are allowed to any model namelist variables that do not change the simulation results. Bit-for-bit reproducibility (on the same platform as the initial run) is ensured regardless of changes in the model parallelism.

3.2.4 Initial conditions output

Periodically initial conditions files will be written in netCDF format. These files will be such that only roundoff differences will be produced when compared to a restart run. Runs started from spun-up initial conditions datasets are ideally suited for performing sensitivity simulations where code algorithms or parameters are modified. This is in contrast to branch runs which are designed to modify history file output rather than model parameterizations.

3.2.5 History output

History variables will be output on netCDF history datasets. Memory for history buffers will be allocated dynamically at run time rather than through the specification of model parameters. Three history files may be produced during a model run (one primary and two auxiliary). Each history file will have the following properties:

  1. Each history file will either contain grid averaged fields or a set of one dimensional fields on their specific domain (i.e. grid cell vector, land unit vector, column vector, or PFT vector)

  2. A set of default fields will be specified in a master list. Each file may contain any subset of model history variables specified in this list.

  3. Each history file may contain either 4-byte or 8-byte floating point data.

  4. Each history file is associated with a single output frequency and a maximum number of history time sample.

  5. On each history file, each field time sample represents a maximum value, minimum value, time average, or instantaneous value since the last time sample.

3.2.6 Initial conditions datasets

Initial conditions output datasets will be in netCDF format and will be produced either monthly or yearly.

3.2.7 Sub-grid configurations

A mechanism will be provided for the flexible specification of sub-grid configurations when arbitrary initialization is used.

3.2.8 Error growth

The model must exhibit an acceptable error growth profile to verify portability to different machine architectures.

3.2.9 Model testing

The model must execute successfully for at least one model day when compiled with compiler flags which turn on bounds checking and set all initial stack variables to infinity.

3.2.10 Code readability

Code readability can be improved by using derived data type names instead of a fixed location in an array (e.g., respcoeff=pftpar(i,5)).

3.2.11 Internal code documentation

The model will contain standardized comments and internal program documentation using ProTeX.

3.2.12 Mapping improvements

When the model is run as part of the CAM executable using MPI message passing, the mapping between atmospheric grid cells and land patches must be reworked to avoid gather/scatter through a single processor. The current mapping poses a performance bottleneck. The same modification will be made to the flux coupled system when cpl6 becomes available.

3.2.13 Exception handling

Standardize exception and message handling.

3.2.14 Time management

3.2.15 Timers

A thread-safe timing library will be provided for performance evaluation. Calls to this timing library will be instrumented for performance evaluation and to direct continued development efforts.


next up previous contents
Next: 4 Review Status Up: lnd_reqdoc Previous: 2 Algorithmic Description   Contents
Forrest Hoffman 2002-07-01