Nancy J. Norton
Keith Lindsay

National Center for Atmospheric Research
25 June 2010

Contents

  1. Introduction
  2. The ecosys_nml namelist
  3. The ecosys_parms_nml namelist
  4. Ecosystem model output
  5. Auto-generated generic extra-tracer time-averaged history (tavg_contents) fields
  6. The ocn.ecosystem.setup.csh script
  7. Customizing your ecosystem model ecosys_nml, tavg_nml, and tavg_contents settings
  8. Customizing your ecosystem model ecosys_parms_nml settings

Introduction

This User's Guide contains information on the CESM1 ocean ecosystem model namelist settings, time-averaged history-file variables, and scripts. The user of this guide is expected to be familiar with the terminology and concepts contained in the CESM1 User's Guide and the CESM1 POP User's Guide.

The CESM ocean ecosystem model executes as a submodel of the CESM POP active-ocean model. It is activated by adding the string 'ecosys' to the CESM environment variable $OCN_TRACER_MODULES in the user's $CASE/env_build.xml file. Only active-ocean cases using POP (eg, B-, C-, or G-type compsets) can run the CESM ocean ecosystem model. Typically, a user will select an ecosystem case at the CESM create_newcase stage by selecting an ecosystem compset in which the $OCN_TRACER_MODULES variable already includes the 'ecosys' string, such as C- or G- compsets with "ECO" in the name (eg, compset CECO) and B compsets with "BGC" in the name.

The CESM ecosystem model code is distributed with the CESM POP model and resides in the same source-code directory as the main POP model. Of particular interest to the ecosystem-model user is the file ecosys_parms.F90, which defines the parameter values in one of the two ecosystem model namelists, ecosys_parms_nml.

An extensive collection of shell scripts supports the creation of a new CESM $CASE via the create_newcase command. For the CESM ocean ecosystem model, there exists an additional, specialized script, ocn.ecosys.setup.csh, that is used to automatically generate appropriate ecosystem model settings. This script is located in the POP input_templates directory.

In order to make changes to most of the out-of-the box ocean ecosystem settings, you must modify the ocn.ecosys.setup.csh script; in order to modify the ecosys_parms_nml namelist paramters, you must modify the FORTRAN file ecosys_parms.F90. A section on customizing your ocean ecosystem settings appears at the end of this document.

Return to top

The ecosys_nml namelist

The ecosys_nml namelist is one of two CESM ocean ecosystem model namelists. The variables in the ecosys_nml namelist are set by the ocn.ecosys.setup.csh script and are summarized in the following table.

Table: Ecosystem base-model namelist: ecosys_nml
&ecosys_nmlDefault valueValid valuesParameters used to initialize the ecosystem model
init_ecosys_optionauto-filled 1, based on CESM runtype'file', 'ccsm_startup', 'ccsm_continue', 'ccsm_branch', 'ccsm_hybrid'option for initializing the ecosystem model
init_ecosys_init_fileauto-filled 1, based on grid resolution'same_as_TS' or any valid filename string ≤ 256 charsecosystem input initialization filename for the option init_ecosys_option = 'file'
init_ecosys_init_file_fmtauto-filled 1'bin', 'nc'ecosystem initialization input file format suffix (binary or netCDF)
tracer_init_ext(:)
%mod_varname
'ALK', 'DIC', 'O2'any supported tracer nametracer variable name; tracer_init_ext is a derived type used to read tracers from a file
tracer_init_ext(:)
%scale_factor
auto-filled 1, based on the variableany valid floating-point numberscale factor for the tracer (tracer_init_ext(:)%mod_varname)
lflux_gas_o2.true..true., .false.controls the reading of gas flux forcing file
lflux_gas_co2.true..true., .false.controls the reading of gas flux forcing file
locmip_k1_k2_bug_fixauto-filled 1.true., .false.if .true., apply the ocmip bug fix. if .false., maintain backwards compatability with previous cases.
atm_co2_optauto-filled 1, based upon $OCN_CO2_TYPE setting'const', 'drv_prog', 'drv_diag'option for atmospheric CO2 concentration
atm_co2_constauto-filled 1; set to CCSM_CO2_PPMV valueany valid floating point numbervalue of atmospheric CO2 (ppm, dry-air, 1 atm)
ecosys_tadvect_ctype'base_model''base_model', or any valid advection type ('centered', 'upwind', 'lw_lim')advection method for ecosystem tracers. Selecting 'base_model' results in using the same method as the base model.
gas_flux_forcing_opt'drv''drv','file'option for forcing gas fluxes. if 'drv', get forcing from CESM driver; if 'file', read from a file
lmarginal_seas.true..true., .false.if .true., ecosystem is active in marginal seas; if .false., it is not
lsource_sink.true..true., .false.if .true., compute time derivatives for ecosystem state variables; if .false., do not
comp_surf_avg_freq_opt'never''never', 'nyear', 'nmonth'choice for frequency of comp_surf_avg
comp_surf_avg_freq1integerfrequency value for comp_surf_avg_opt
use_nml_surf_valsauto-filled 1, based upon runtype setting.true., .false.if .true., namelist surf values override values from restart file
surf_avg_dic_const1944.0valid floating-point numbervalue to be used when use_nml_surf_vals = .true.
surf_avg_alk_const2225.0valid floating-point numbervalue to be used when use_nml_surf_vals = .true.
ecosys_qsw_distrb_const.false..true., .false.if .true., the ecosystem model sees constant qsw (has no qsw diurnal cycle)
dust_flux_input
%filename
auto-filled 1, based upon grid resolutionstring ≤ 256 charsdust_flux input filename
dust_flux_input
%file_fmt
'nc''bin', 'nc'dust_flux input file format suffix (binary or netCDF)
dust_flux_input
%file_varname
'DSTSF''DSTSF'variable name in the dust_flux input file
dust_flux_input
%scale_factor
1.0e-11.0e-1scale factor for variable in the dust_flux input file (kg/m2/sec -> g/cm2/sec)
iron_flux_input
%filename
auto-filled 1, based upon grid resolutionstring ≤ 256 charsiron_flux input filename
iron_flux_input
%file_fmt
'nc''bin', 'nc'iron_flux input file format suffix (binary or netCDF)
iron_flux_input
%file_varname
'DSTSF''DSTSF'variable name in the iron_flux input file
iron_flux_input
%scale_factor
6.2668e46.2668e4scale factor for variable in the iron_flux input file (kg/m2/sec -> nmol/cm2/sec, 3.5% iron by weight)
fesed_flux_input
%filename
auto-filled 1, based upon grid resolutionstring ≤ 256 charsfesed_flux input filename
fesed_flux_input
%file_fmt
'nc''bin', 'nc'fesed_flux input file format suffix (binary or netCDF)
fesed_flux_input
%file_varname
'FESEDFLUXIN''FESEDFLUXIN'variable name in the fesed_flux input file
fesed_flux_input
%scale_factor
1.1574e-61.1574e-6scale factor for variable in the fesed_flux input file (umolFe/m2/day -> nmolFe/cm2/s)
lecovars_full_depth_tavg.false..true., .false.if .true., write ecosystem tavg variables at all depths; if .false., write ecosystem variables to a depth of 150m
lrest_po4.false..true., .false.controls restoring on PO4
lrest_no3.false..true., .false.controls restoring on NO3
lrest_sio3.false..true., .false.controls restoring on SiO3
rest_time_inv_surf0.0inverse restoring timescale at surface
rest_time_inv_deep0.0inverse restoring timescale at depth
rest_z01000.0shallow end of transition regime
rest_z12000.0deep end of transition regime
lnutr_variable_restore.false..true., .false.geographically varying nutrient restoring
ndep_data_typeauto-filled 1, based on $OCN_TRANSIENT setting'monthly-calendar', 'shr_stream', 'none'type of ndep forcing
nox_flux_monthly_input
%filename
auto-filled 1, based on $OCN_TRANSIENT setting'unknown', or any valid filename ≤ 256 charsnamelist input for nox_flux_monthly: file name
nox_flux_monthly_input
%file_fmt
'nc''bin', 'nc'namelist input for nox_flux_monthly: file format (binary or netCDF)
nox_flux_monthly_input
%file_varname
'NOy_deposition' or 'nox_flux', depending on $OCN_TRANSIENT setting'NOy_deposition', 'nox_flux', or any valid filename ≤ 256 charsnamelist input for nox_flux_monthly: variable name on the file
nox_flux_monthly_input
%scale_factor
7.1429e+06 (kgN/m2/sec -> nmolN/cm2/sec or 1.0, depending on $OCN_TRANSIENT settingany scientifically valid floating-point numbernox_flux_monthly scale factor for the specified file_varname
nhy_flux_monthly_input
%filename
auto-filled 1, based on $OCN_TRANSIENT setting, or 'unknown''unknown', or any valid filename ≤ 256 charsnhy_flux_monthly_input file name
nhy_flux_monthly_input
%file_fmt
'nc''bin', 'nc'namelist input for nhy_flux_monthly_input: file format (binary or netCDF)
nhy_flux_monthly_input
%file_varname
'NHx_deposition' or 'nhy_flux', depending on $OCN_TRANSIENT setting'NHx_deposition', 'nhy_flux', or any valid filename ≤ 256 charsnamelist input for nhy_flux_monthly_input: variable name on the file
nhy_flux_monthly_input
%scale_factor
7.1429e+06 (kgN/m2/sec -> nmolN/cm2/sec) or 1.0, depending on $OCN_TRANSIENT settingany scientifically valid floating-point numbernamelist input for nhy_flux_monthly_input: scale factor for nhy_flux_monthly_input
%file_varname
liron_patch.false..true., .false.flag for iron patch fertilization
gas_flux_forcing_opt'drv''drv', 'file'option for forcing gas fluxes. if 'drv', fluxes are from coupler; if 'file', fluxes are read from a file
/   

1 automatically set by the ocn.ecosys.setup.csh script

Return to top

The ecosys_parms_nml namelist

The ecosys_parms_nml namelist is one of two CESM ocean ecosystem model namelists. The variables in the ecosys_parms_nml namelist are set in the ecosys_parms.F90 file and are summarized in the following table.

Table: Ecosystem namelist: ecosys_parms_nml
&ecosys_parms_nmlDefault valueParameters used to initialize the ecosystem model
parm_Fe_bioavail0.02fraction of Fe flux that is bioavailable
parm_o2_min4.0minimum O2 needed for production and consumption (nmol/cm3)
parm_o2_min_delta2.0width of minimum O2 range (nmol/cm3)
parm_no3_min110.0minimum NO3 needed for denitrification (mmol/m3 )
parm_kappa_nitrif0.06*dps2nitrification inverse time constant (1/sec)
parm_nitrif_par_lim5.0PAR limit for nitrification (W/m2)
parm_z_umax_02.5 * dps2maximum zoo growth rate on sphyto at Tref 3 (1/sec)
parm_diat_umax_01.95 * dps2maximum zoo growth rate on diat at Tref 3 (1/sec)
parm_z_mort_00.08 * dps2zoo linear mort rate (1/sec)
parm_z_mort2_00.42 * dps2zoo quad mort rate (1/sec/((mmol C/m3))
parm_sd_remin_00.006667 * dps2small detrital remineralization rate (1/sec)
parm_sp_kNO30.5sphyto nitrate half saturation coefficient (mmol N/m3)
parm_diat_kNO32.5diatom nitrate half saturation coefficient (mmol N/m3)
parm_sp_kNH40.01sphyto ammonium half saturation coefficient (mmol N/m3)
parm_diat_kNH40.1diatom ammonium half saturation coefficient (mmol N/m3)
parm_sp_kFe0.03e-3sphyto iron half saturation coefficient (nmol Fe/m3)
parm_diat_kFe0.08e-3diatom iron half saturation coefficient (nmol Fe/m3)
parm_diat_kSiO31.0diatom si half saturation coefficient (mmol SiO3/m3)
parm_sp_kPO40.01sphyto PO4 uptake (mmol P/m3)
parm_diat_kPO40.1diatom PO4 uptate (mmol P/m3)
parm_z_grz1.0grazing coefficient for small phyto (mmol C/m3)
parm_alphaChl0.3 * dps2initial slope of P_I curve (GD98) (mmol C m2/(mg Chl W sec))
parm_alphaChlsp0.34 * dps2initial slope of P_I curve (GD98) (mmol C m2/(mg Chl W sec))
parm_labile_ratio0.65fraction of loss to DOC that routed directly to DIC (non-dimensional)
parm_alphaDiaz0.17 * dps2chl. spec. init. slope of diaz. P_I curve
parm_diaz_umax_00.9 * dps2maximum zoo growth rate on diazotrophs at Tref (1/sec)
/  

2 dps = number of days in a second

3 Tref = 30.0 reference temperature (deg. C)

Return to top

Ecosystem model output

The creation of POP time-averaged output files and their contents is controlled by the tavg_contents file and the tavg_nml namelist. The entries in the tavg_contents file are used to request individual history-file output fields, and the tavg_nml namelist is used to specify the averaging interval, the output filenames, the frequency of the file writes, the names of the output files, the number of the output files (output "streams"), etc. For details, see the "Time-averaged history files" section in the CESM1 POP User's Guide.

The ecosystem model defines and controls its own output fields and files. The mechanism by which this is accomplished is defined in the following two sections.

Ecosystem model additions to the POP tavg_nml namelist settings

When a CESM ecosystem $CASE.run script is executed, the ecosystem setup script dynamically modifies the tavg_nml settings that appear in the POP base-model namelist input file, pop2_in. The ecosystem setup script adds two ecosystem time-averaged output streams to the tavg_nml namelist. The following code block is used to define the settings for these additional streams. If you want to change these settings, follow the instructions in the customization section below.

        tavg_freq_opt             = 'nday'          'nyear'
        tavg_freq                 =  1              1
        tavg_stream_filestrings   = 'ecosys.nday1'  'ecosys.nyear1'
        tavg_file_freq_opt        = 'nmonth'        'nyear'
        tavg_file_freq            =  1              1
        tavg_start_opt            = 'nstep'         'nstep'
        tavg_start                =  0              0
        tavg_fmt_in               = 'nc'            'nc'
        tavg_fmt_out              = 'nc'            'nc'
        ltavg_has_offset_date     = .false.         .false.
        tavg_offset_years         =  1              1
        tavg_offset_months        =  1              1
        tavg_offset_days          =  2              2
        ltavg_one_time_header     = .false.         .false.

These tavg_nml settings create two ecosystem-specific output files ("streams") that will contain only ecosystem-model variables. The first is a file of daily averaged fields which will be bundled together in a monthly timeseries file in netCDF format. That file's name will have the string 'ecosys.nday1' embedded in it. The second is a file of annually averaged fields written once per year in a netCDF file; its name will include the string 'ecosys.nyear1'.

Return to top

Ecosystem model additions to the POP tavg_contents file

When a CESM ecosystem $CASE.run script is executed, the ecosystem setup script dynamically appends time-averaged history-file variables to the POP base-model tavg_contents file. By appearing the in the tavg_contents file, the fields are "requested" and will therefore appear in the time-averaged history output files when the CASE is run.

By default, the CESM ecosystem tavg_contents variables are assigned to three different output streams, which are identified in the following table as $s1, $s2, and $s3. The first stream, $s1, is set to 1 by the ocn.ecosys.setup.csh script. This means that anything in the tavg_contents file in stream $s1 will be written to the first base-model stream. (By default, the base-model stream is a stream of monthly averaged fields).

The $s2 stream is the first of the two ecosystem-specific output files, and $s3 is the second. The actual values of $s2 and $s3 are determined at run time by the ecosystem setup script, depending on the number of output streams in the rest of the POP model.

The following table summarizes all of the ecosystem fields that are automatically appended to the tavg_contents file. Note that some entries in this table are defined, but inactive, in the ocn.ecosys.setup.csh script (denoted "inactive" in the Output stream number column). The user can activate them if desired; if you want to change these default settings, follow the instructions in the customization section below.

Table: Additional ecosystem time-averaged history fields
Output stream numberNameUnitsDescription
$s1ECOSYS_ATM_PRESSatmospheres Atmospheric Pressure for ecosys fluxes
$s1ECOSYS_IFRACfraction Ice Fraction for ecosys fluxes
$s2ECOSYS_IFRAC_2fraction Ice Fraction for ecosys fluxes (same as ECOSYS_IFRAC; support for second output stream)
$s1ECOSYS_XKWcm/s XKW for ecosys fluxes
$s2ECOSYS_XKW_2 cm/s XKW for ecosys fluxes (same as ECOSYS_XKW; support for second output stream)
$s1SCHMIDT_O2none O2 Schmidt Number
$s1SCHMIDT_CO2none CO2 Schmidt Number
$s1IRON_FLUXnmol/cm2/s Iron Flux
$s1NOx_FLUXnmol/cm2/s Flux of NOx from Atmosphere
$s1NHy_FLUXnmol/cm2/s Flux of NHy from Atmosphere
$s1PHnone Surface pH
$s1O2SATmmol/m3 O2 Saturation
$s1STF_O2mmol/m3 cm/s Dissolved Oxygen Surface Flux
$s2STF_O2_2mmol/m3 cm/s Dissolved Oxygen Surface Flux; (same as STF_O2; support for second output stream)
$s1CO2STARmmol/m3 CO2 Star
$s1DCO2STARmmol/m3 D CO2 Star
$s1pCO2SURFppmv surface pCO2
$s1DpCO2ppmv D pCO2
$s2DpCO2_2ppmv D pCO2 (same as DpCO2; support for second output stream)
$s1FG_CO2mmol/m3 cm/s DIC Surface Gas Flux
$s2FG_CO2_2mmol/m3 cm/s DIC Surface Gas Flux (same as FG_CO2; support for second output stream)
$s1ATM_CO2ppmv Atmospheric CO2
$s1FvPER_DICmmol/m3 cm/s Dissolved Inorganic Carbon Virtual Surface Flux, PER
$s1FvICE_DICmmol/m3 cm/s Dissolved Inorganic Carbon Virtual Surface Flux, ICE
$s1FvPER_ALKmeq/m3 cm/s Alkalinity Virtual Surface Flux, PER
$s1FvICE_ALKmeq/m3 cm/s Alkalinity Virtual Surface Flux, ICE
$s1PO4mmol/m3 Dissolved Inorganic Phosphate
$s1NO3mmol/m3 Dissolved Inorganic Nitrate
$s1SiO3mmol/m3 Dissolved Inorganic Silicate
$s1NH4mmol/m3 Dissolved Ammonia
$s1Femmol/m3 Dissolved Inorganic Iron
$s1O2mmol/m3 Dissolved Oxygen
$s1O2_ZMINmmol/m3 Vertical Minimum of O2
$s1O2_ZMIN_DEPTHcm Depth of Vertical Minimum of O2
$s1O2_PRODUCTIONmmol/m3/s O2 Production
$s1O2_CONSUMPTIONmmol/m3/s O2 Consumption
$s1AOUmmol/m3 Apparent O2 Utilization
$s1DICmmol/m3 Dissolved Inorganic Carbon
$s1J_DICmmol/m3/s Dissolved Inorganic Carbon Source Sink Term
$s1ALKmeq/m3 Alkalinity
$s1H2CO3mmol/m3 Carbonic Acid Concentration
$s1HCO3mmol/m3 Bicarbonate Ion Concentration
$s1CO3mmol/m3 Carbonate Ion Concentration
$s1pH_3Dnone pH
$s1co3_sat_calcmmol/m3 CO3 concentration at calcite saturation
$s1zsatcalccm Calcite Saturation Depth
$s1co3_sat_aragmmol/m3 CO3 concentration at aragonite saturation
$s1zsataragcm Aragonite Saturation Depth
$s1DOCmmol/m3 Dissolved Organic Carbon
$s1DOC_prodmmol/m3/s DOC Production
$s1DOC_reminmmol/m3/s DOC Remineralization
$s1spCmmol/m3 Small Phytoplankton Carbon
$s1spChlmg/m3 Small phytoplankton Chlorophyll
$s1spCaCO3mmol/m3 Small Phytoplankton CaCO3
$s1diatCmmol/m3 Diatom Carbon
$s1diatChlmg/m3 Diatom Chlorophyll
$s1zooCmmol/m3 Zooplankton Carbon
$s1spFemmol/m3 Small Phytoplankton Iron
$s1diatSimmol/m3 Diatom Silicon
$s1diatFemmol/m3 Diatom Iron
$s1diazCmmol/m3 Diazotroph Carbon
$s1diazChlmg/m3 Diazotroph Chlorophyll
$s1diazFemmol/m3 Diazotroph Iron
$s1DONmmol/m3 Dissolved Organic Nitrogen
$s1DOFemmol/m3 Dissolved Organic Iron
$s1DOPmmol/m3 Dissolved Organic Phosphorus
$s1graze_spmmol/m3/s Small Phyto Grazing
$s1graze_diatmmol/m3/s Diatom Grazing
$s1graze_diazmmol/m3/s Diazotroph Grazing
$s1sp_aggmmol/m3/s Small Phyto Aggregate
$s1diat_aggmmol/m3/s Diatom Aggregate
$s1photoC_spmmol/m3/s Small Phyto C Fixation
$s1CaCO3_formmmol/m3/s CaCO3 Formation
$s1photoC_diatmmol/m3/s Diatom C Fixation
$s1photoC_diazmmol/m3/s Diaz C Fixation
$s1photoC_NO3_spmmol/m3/s Small Phyto C Fixation from NO3
$s1photoC_NO3_diatmmol/m3/s Diatom C Fixation from NO3
$s1photoC_NO3_diazmmol/m3/s Diaz C Fixation from NO3
$s1Fe_scavengemmol/m3/s Iron Scavenging
$s1Fe_scavenge_rate1/year Iron Scavenging Rate
$s1diaz_Nfixmmol/m3/s Diaz N Fixation
$s1bSi_formmmol/m3/s Diatom Si Uptake
$s1NITRIFmmol/m3/s Nitrification
$s1DENITRIFmmol/m3/s Denitrification
$s1POC_PRODmmol/m3/s POC Production
$s1CaCO3_PRODmmol/m3/s CaCO3 Production
$s1SiO2_PRODmmol/m3/s SiO2 Production
$s1P_iron_PRODmmol/m3/s P_iron Production
$s1POC_FLUX_INmmol/m3 cm/s POC Flux into Cell
$s1CaCO3_FLUX_INmmol/m3 cm/s CaCO3 flux into cell
$s1SiO2_FLUX_INmmol/m3 cm/s SiO2 Flux into Cell
$s1P_iron_FLUX_INmmol/m3 cm/s P_iron Flux into Cell
$s1PAR_avgW/m2 PAR Average over Model Cell
$s1sp_Fe_limnone Small Phyto Fe Limitation
$s1diat_Fe_limnone Diatom Fe Limitation
$s1diaz_Fe_limnone Diaz Fe Limitation
$s1sp_N_limnone Small Phyto N Limitation
$s1diat_N_limnone Diatom N Limitation
$s1sp_PO4_limnone Small Phyto PO4 Limitation
$s1diat_PO4_limnone Diatom PO4 Limitation
$s1diaz_P_limnone Diaz PO4 Limitation
$s1diat_SiO3_limnone Diatom SiO3 Limitation
$s1sp_light_limnone Small Phyto Light Limitation
$s1diat_light_limnone Diatom Light Limitation
$s1diaz_light_limnone Diaz Light Limitation
$s1DON_prodmmol/m3/s DON Production
$s1DOFe_prodmmol/m3/s DOFe Production
$s1DOP_prodmmol/m3/s DOP Production
$s1sp_lossmmol/m3/s Small Phyto Loss
$s1diat_lossmmol/m3/s Diatom Loss
$s1zoo_lossmmol/m3/s Zooplankton Loss
$s1diaz_lossmmol/m3/s Diaz Loss
$s1Jint_100m_DICmmol/m3 cm/s Dissolved Inorganic Carbon Source Sink Term Vertical Integral, 0-100m
$s1Jint_100m_NO3mmol/m3 cm/s Dissolved Inorganic Nitrate Source Sink Term Vertical Integral, 0-100m
$s1Jint_100m_NH4mmol/m3 cm/s Dissolved Ammonia Source Sink Term Vertical Integral, 0-100m
$s1Jint_100m_PO4mmol/m3 cm/s Dissolved Inorganic Phosphate Source Sink Term Vertical Integral, 0-100m
$s1Jint_100m_Femmol/m3 cm/s Dissolved Inorganic Iron Source Sink Term Vertical Integral, 0-100m
$s1Jint_100m_SiO3mmol/m3 cm/s Dissolved Inorganic Silicate Source Sink Term Vertical Integral, 0-100m
$s1Jint_100m_ALKmeq/m3 cm/s Alkalinity Source Sink Term Vertical Integral, 0-100m
$s1Jint_100m_O2mmol/m3 cm/s Dissolved Oxygen Source Sink Term Vertical Integral, 0-100m
$s1Jint_100m_DOCmmol/m3 cm/s Dissolved Organic Carbon Source Sink Term Vertical Integral, 0-100m
$s1tend_zint_100m_DICmmol/m3 cm/s Dissolved Inorganic Carbon Tendency Vertical Integral, 0-100m
$s1tend_zint_100m_NO3mmol/m3 cm/s Dissolved Inorganic Nitrate Tendency Vertical Integral, 0-100m
$s1tend_zint_100m_NH4mmol/m3 cm/s Dissolved Ammonia Tendency Vertical Integral, 0-100m
$s1tend_zint_100m_PO4mmol/m3 cm/s Dissolved Inorganic Phosphate Tendency Tendency Vertical Integral, 0-100m
$s1tend_zint_100m_Femmol/m3 cm/s Dissolved Inorganic Iron Tendency Vertical Integral, 0-100m
$s1tend_zint_100m_SiO3mmol/m3 cm/s Dissolved Inorganic Silicate Tendency Vertical Integral, 0-100m
$s1tend_zint_100m_ALKmeq/m3 cm/s Alkalinity Tendency Vertical Integral, 0-100m
$s1tend_zint_100m_O2mmol/m3 cm/s Dissolved Oxygen Tendency Vertical Integral, 0-100m
$s1tend_zint_100m_DOCmmol/m3 cm/s Dissolved Organic Carbon Tendency Vertical Integral, 0-100m
$s2photoC_sp_zintmmol/m3 cm/s Small Phyto C Fixation Vertical Integral
$s2CaCO3_form_zintmmol/m3 cm/s CaCO3 Formation Vertical Integral
$s2photoC_diaz_zintmmol/m3 cm/s Diaz C Fixation Vertical Integral
$s2photoC_diat_zintmmol/m3 cm/s Diatom C Fixation Vertical Integral
$s1photoC_NO3_sp_zintmmol/m3 cm/s Small Phyto C Fixation from NO3 Vertical Integral
$s1photoC_NO3_diat_zintmmol/m3 cm/s Diatom C Fixation from NO3 Vertical Integral
$s1photoC_NO3_diaz_zintmmol/m3 cm/s Diaz C Fixation from NO3 Vertical Integral
$s2spC_zint_100mmmol/m3 cm Small Phytoplankton Carbon 0-100m Vertical Integral
$s2spCaCO3_zint_100mmmol/m3 cm Small Phytoplankton CaCO3 0-100m Vertical Integral
$s2diazC_zint_100mmmol/m3 cm Diazotroph Carbon 0-100m Vertical Integral
$s2diatC_zint_100mmmol/m3 cm Diatom Carbon 0-100m Vertical Integral
$s2zooC_zint_100mmmol/m3 cm Zooplankton Carbon 0-100m Vertical Integral
$s2spChl_SURFmg/m3 Small phytoplankton Chlorophyll Surface Value
$s2diazChl_SURFmg/m3 Diazotroph Chlorophyll Surface Value
$s2diatChl_SURFmg/m3 Diatom Chlorophyll Surface Value
$s3J_NO3mmol/m3/s Dissolved Inorganic Nitrate Source Sink Term
$s3J_NH4mmol/m3/s Dissolved Ammonia Source Sink Term
$s3J_PO4mmol/m3/s Dissolved Inorganic Phosphate Source Sink Term
$s3J_Femmol/m3/s Dissolved Inorganic Iron Source Sink Term
$s3J_SiO3mmol/m3/s Dissolved Inorganic Silicate Source Sink Term
$s3J_ALKmeq/m3/s Alkalinity Source Sink Term
$s3UE_O2mmol/m3/s O2 Flux in grid-x direction
$s3VN_O2mmol/m3/s O2 Flux in grid-y direction
$s3WT_O2mmol/m3/s O2 Flux Across Top Face
$s3KPP_SRC_O2mmol/m3/s O2 tendency from KPP non local mixing term
$s3DIA_IMPVF_O2mmol/m3 cm/s O2 Flux Across Bottom Face from Diabatic Implicit Vertical Mixing
$s3HDIFE_O2mmol/m3/s O2 Horizontal Diffusive Flux in grid-x direction
$s3HDIFN_O2mmol/m3/s O2 Horizontal Diffusive Flux in grid-y direction
$s3HDIFB_O2mmol/m3/s O2 Horizontal Diffusive Flux across Bottom Face
$s3UE_DOCmmol/m3/s DOC Flux in grid-x direction
$s3VN_DOCmmol/m3/s DOC Flux in grid-y direction
$s3WT_DOCmmol/m3/s DOC Flux Across Top Face
$s3DIA_IMPVF_DOCmmol/m3 cm/s DOC Flux Across Bottom Face from Diabatic Implicit Vertical Mixing
$s3HDIFE_DOCmmol/m3/s DOC Horizontal Diffusive Flux in grid-x direction
$s3HDIFN_DOCmmol/m3/s DOC Horizontal Diffusive Flux in grid-y direction
$s3HDIFB_DOCmmol/m3/s DOC Horizontal Diffusive Flux across Bottom Face
$s3UE_DICmmol/m3/s DIC Flux in grid-x direction
$s3VN_DICmmol/m3/s DIC Flux in grid-y direction
$s3WT_DICmmol/m3/s DIC Flux Across Top Face
$s3KPP_SRC_DICmmol/m3/s DIC tendency from KPP non local mixing term
$s3DIA_IMPVF_DICmmol/m3 cm/s DIC Flux Across Bottom Face from Diabatic Implicit Vertical Mixing
$s3HDIFE_DICmmol/m3/s DIC Horizontal Diffusive Flux in grid-x direction
$s3HDIFN_DICmmol/m3/s DIC Horizontal Diffusive Flux in grid-y direction
$s3HDIFB_DICmmol/m3/s DIC Horizontal Diffusive Flux across Bottom Face
$s3UE_Femmol/m3/s Fe Flux in grid-x direction
$s3VN_Femmol/m3/s Fe Flux in grid-y direction
$s3WT_Femmol/m3/s Fe Flux Across Top Face
$s3KPP_SRC_Femmol/m3/s Fe tendency from KPP non local mixing term
$s3DIA_IMPVF_Femmol/m3 cm/s Fe Flux Across Bottom Face from Diabatic Implicit Vertical Mixing
$s3HDIFE_Femmol/m3/s Fe Horizontal Diffusive Flux in grid-x direction
$s3HDIFN_Femmol/m3/s Fe Horizontal Diffusive Flux in grid-y direction
$s3HDIFB_Femmol/m3/s Fe Horizontal Diffusive Flux across Bottom Face
inactivePV_O2 cm/sPV_O2
inactivePV_CO2cm/sCO2 Piston Velocity
inactiveDUST_FLUXg/cm2/sDust Flux
inactivePO4_RESTOREmmol/m3PO4 Restoring
inactiveNO3_RESTOREmmol/m3NO3 Restoring
inactiveSiO3_RESTOREmmol/m3SiO3 Restoring
inactivePOC_REMINmmol/m3/sPOC Remineralization
inactiveCaCO3_REMINmmol/m3/sCaCO3 Remineralization
inactiveSiO2_REMINmmol/m3/sSiO2 Remineralization
inactivedust_FLUX_INng/s/m2Dust Flux into Cell
inactivedust_REMINmmol/m3/sDust Remineralization
inactiveP_iron_REMINmmol/m3/sP_iron Remineralization
inactivegraze_TOTmmol/m3/sTotal Grazing
inactivephotoC_TOTmmol/m3/sTotal C Fixation
inactivephotoC_TOT_zintmmol/m3 cm/sTotal C Fixation Vertical Integral
inactivephotoC_TOT_zintmmol/m3 cm/sTotal C Fixation Vertical Integral
inactivephotoC_NO3_TOTmmol/m3/sTotal C Fixation from NO3
inactivephotoC_NO3_TOT_zintmmol/m3 cm/sTotal C Fixation from NO3 Vertical Integral
inactivephotoC_NO3_TOT_zintmmol/m3 cm/sTotal C Fixation from NO3 Vertical Integral
inactiveDON_reminmmol/m3/sDON Remineralization
inactiveDOFe_reminmmol/m3/sDOFe Remineralization
inactiveDOP_reminmmol/m3/sDOP Remineralization
inactivephotoFe_spmmol/m3/sSmall Phyto Fe Uptake
inactivephotoFe_diatmmol/m3/sDiatom Fe Uptake
inactivephotoFe_diazmmol/m3/sDiaz Fe Uptake
/   

Return to top

Auto-generated generic extra-tracer time-averaged history (tavg_contents) fields

Every variable that appears in the POP tavg_contents input file must also be defined in the POP model code, which is accomplished via a call to the define_tavg_field routine for each variable. POP automatically generates a pre-defined set of time-averaged history output fields for each extra tracer (tracers other than T and S).

This convenient mechanism allows a user to select these pre-defined fields in the tavg_contents file for any extra model tracer without needing to modify the code. (See the customization section for how to select or add an ecosystem field, such as an auto-generated field, to the tavg_contents file.)

Table: Auto-generated extra-tracer time-averaged history fields (passive_tracers.F90)
NameUnitsDescription
Xtracer units Tracer
X_SQR(tracer units)2 Tracer squared
X_SURFtracer units Tracer Surface Value
X_zint_100mtracer units cm Tracer 0-100m Vertical Integral
J_Xtracer tendency units Tracer Source Sink Term
Jint_Xtracer flux units Tracer Source Sink Term Vertical Integral
Jint_100m_Xtracer flux units Tracer Source Sink Term Vertical Integral, 0-100m
tend_zint_100m_Xtracer flux units Tracer Tendency Vertical Integral, 0-100m
STF_Xtracer flux units Tracer Surface Flux
RESID_Xtracer flux units Tracer Residual Surface Flux
FvPER_Xtracer flux units Tracer Virtual Surface Flux, PER
FvICE_Xtracer flux units Tracer Virtual Surface Flux, ICE
/  
Table: Auto-generated extra-tracer time-averaged history fields (advection.F90)
NameUnitsDescription
UE_Xtracer tendency units Tracer Flux in grid-x direction
VN_Xtracer tendency units Tracer Flux in grid-y direction
WT_Xtracer tendency units Tracer Flux Across Top Face
ADV_Xtracer flux units Vertically-Integrated Tracer Advection Tendency
/  
Table: Auto-generated extra-tracer time-averaged history fields (horizontal_mix.F90)
NameUnitsDescription
HDIFE_Xtracer tendency units Tracer Horizontal Diffusive Flux in grid-x direction
HDIFN_Xtracer tendency units Tracer Horizontal Diffusive Flux in grid-y direction
HDIFB_Xtracer tendency units Tracer Horizontal Diffusive Flux across Bottom Face
/  
Table: Auto-generated extra-tracer time-averaged history fields (vertical_mix.F90)
NameUnitsDescription
DIA_IMPVF_Xtracer flux units Tracer Flux Across Bottom Face from Diabatic Implicit Vertical Mixing
/  
Table: Auto-generated extra-tracer time-averaged history fields (vmix_kpp.F90)
NameUnitsDescription
KPP_SRC_Xtracer tendency units Tracer tendency from KPP non local mixing term
/  

Return to top

The ocn.ecosystem.setup.csh script

The ocn.ecosys.setup.csh script is invoked by the $CASE/Buildconf/pop2.buildnml.csh script each time an active-ocean CESM ecosystem $CASE.run script is executed. The ocn.ecosys.setup.csh script has multiple entry points, each of which controls a different aspect of the ecosystem model setup. The entry points of interest to the user who wants to modify the out-of-the-box settings include:

  • namelist defines the ecosys_nml namelist settings
  • set_tavg_nml adds ecosystem stream information to the POP base-model tavg_nml namelist
  • tavg_contents adds ecosystem time-averaged output fields to the POP base-model tavg_contents file

Return to top

Customizing your ecosystem model ecosys_nml, tavg_nml, and tavg_contents settings

To modifiy any of the ecosys_nml namelist parameters, the ecosystem-related tavg_nml namelist parameters, or the ecosystem-related tavg_contents fields, you must modify the ecosystem model setup script. To do so, follow these three steps:

  1. Put a copy of the ocn.ecosys.setup.csh script into your $CASE/SourceMods/src.pop2 directory:

    cp $CCSMROOT/models/ocn/pop2/input_templates/ocn.ecosys.setup.csh $CASE/SourceMods/src.pop2

  2. Edit your copy of the ocn.ecosys.setup.csh script, eg:

    vi $CASE/SourceMods/src.pop2/ocn.ecosys.setup.csh

    as follows:

ecosys_nml namelist:

Go to the "else if ($command == namelist) then" block in your $CASE/SourceMods/src.pop2/ocn.ecosys.setup.csh script and make your changes.

tavg_nml settings:

Go to the "else if ($command == set_tavg_nml) then" block in your $CASE/SourceMods/src.pop2/ocn.ecosys.setup.csh script and make your changes.

In this block you can change the default tavg streams information (add streams, put all variables into one stream, change the default filenames of the ecosystem tavg output streams, etc). Note that the limitations of the base model apply here; in particular, you cannot have more than nine tavg output streams, total.

Also note that if you change the number of ecosystem tavg output streams in this namelist, you will also need to coordinate your changes in the tavg_contents block (see next section).

tavg_contents fields and/or streams:

Go to the "else if ($command == tavg_contents) then" block in your $CASE/SourceMods/src.pop2/ocn.ecosys.setup.csh script and make your changes.

Here you can remove ecosystem fields from your output files (just comment them out by changing the first three characters in the line to "# "). You can also add supported ecosystem fields (fields that have been defined in the ecosystem code via a call to subroutine define_tavg_field, such as the auto-generated fields) that are not included in the default. If the field is present in the ocn.ecosys.setup.csh script, you just need to uncomment it in the ocn.ecosys.setup.csh script and assign it to a valid tavg output stream. If the field is supported but does not appear in the ocn.ecosys.setup.csh script, you can add its name and assign it to a valid stream.

If the field is not supported, you will need to modify the POP base code in your $CASE/SourceMods/src.pop2 directory by adding appropriate calls to define_tavg_field and add the field to the tavg_contents file.

  1. Run your CASE

Return to top

Changing the ecosys_parms_nml default settings

In order to change the ecosys_parms_nml default settings, you must edit the ecosys_parms.F90 file and build (or rebuild) your CASE. This can be accomplished in the following four steps:

  1. Put a copy of the ecosys_parms.F90 file into your $CASE/SourceMods/src.pop2 directory, eg:

    cp $CCSMROOT/models/ocn/pop2/source/ecosys_parms.F90 $CASE/SourceMods/src.pop2

  2. Edit the ecosys_parms_nml values in your copy, eg:

    vi $CASE/SourceMods/src.pop2/ecosys_parms.F90

  3. Build the CASE interactively by issuing ./$CASE.build script on the command line in your $CASE directory
  4. Run your CASE

NOTE: If you do not build the case after a change to the ecosys_parms.F90 file and before submitting your run script, the changes that you made to the ecosys_parms_nml values will not be in effect in your run.

Return to top