CIME Ocean Data and Stub XML Files

Ocean component XML files for data, stub, and dead components.

CIMEROOT/src/components/data_comps/docn/cime_config

Ocean data model, docn, XML files and settings.

XML specification for archiving docn output files.

<components version="2.0">
  <comp_archive_spec compname="docn" compclass="ocn">
    <rest_file_extension>rs*\d*</rest_file_extension>
    <rest_history_varname>unset</rest_history_varname>
    <rpointer>
      <rpointer_file>rpointer.ocn$NINST_STRING</rpointer_file>
      <rpointer_content>$CASE.docn$NINST_STRING.r.$DATENAME.nc,$CASE.docn$NINST_STRING.rs1.$DATENAME.bin</rpointer_content>
    </rpointer>
  </comp_archive_spec>

</components>

XML variables and component descriptions specific to docn.

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="setup_comp.xsl" ?>

<entry_id version="3.0">

  <!-- modifier_mode allowed values are
       '*' 0 or more modifiers (default)
       '1' exactly 1 modifier
       '?' 0 or 1 modifiers
       '+' 1 or more modifiers

       This file may have ocn desc entries.
  -->
  <description modifier_mode="1">
    <desc ocn="DOCN[%NULL][%DOM][%SOM][%SOMAQP][%IAF][%SST_AQUAP][%AQP1][%AQP2][%AQP3][%AQP4][%AQP5][%AQP6][%AQP7][%AQP8][%AQP9][%AQP10][%AQPFILE][%AQPCONST]">DOCN </desc>
    <desc option="NULL">  null mode</desc>
    <desc option="DOM">  prescribed ocean mode</desc>
    <desc option="SOM">  slab ocean mode</desc>
    <desc option="SOMAQP">  aquaplanet slab ocean mode</desc>
    <desc option="IAF">  interannual mode</desc>
    <desc option="SST_AQUAP">  aquaplanet mode:</desc>
    <desc option="AQP1">  analytic aquaplanet sst - option 1</desc>
    <desc option="AQP2">  analytic aquaplanet sst - option 2</desc>
    <desc option="AQP3">  analytic aquaplanet sst - option 3</desc>
    <desc option="AQP4">  analytic aquaplanet sst - option 4</desc>
    <desc option="AQP5">  analytic aquaplanet sst - option 5</desc>
    <desc option="AQP6">  analytic aquaplanet sst - option 6</desc>
    <desc option="AQP7">  analytic aquaplanet sst - option 7</desc>
    <desc option="AQP8">  analytic aquaplanet sst - option 8</desc>
    <desc option="AQP9">  analytic aquaplanet sst - option 9</desc>
    <desc option="AQP10">  analytic aquaplanet sst - option 10</desc>
    <desc option="AQPFILE">  file input aquaplanet sst </desc>
    <desc option="AQPCONST">  globally constant SST for idealized experiments, such as RCE </desc>
  </description>

  <entry id="COMP_OCN">
    <type>char</type>
    <valid_values>docn</valid_values>
    <default_value>docn</default_value>
    <group>case_comp</group>
    <file>env_case.xml</file>
    <desc>Name of ocn component</desc>
  </entry>

  <entry id="DOCN_MODE">
    <type>char</type>
    <valid_values>prescribed,sst_aquap1,sst_aquap2,sst_aquap3,sst_aquap4,sst_aquap5,sst_aquap6,sst_aquap7,sst_aquap8,sst_aquap9,sst_aquap10,sst_aquapfile,som,som_aquap,sst_aquap_constant,interannual,null</valid_values>
    <default_value>prescribed</default_value>
    <values match="last">
      <value compset="_DOCN%NULL_">null</value>
      <value compset="_DOCN%DOM_" >prescribed</value>
      <value compset="_DOCN%SOM_" >som</value>
      <value compset="_DOCN%SOMAQP_">som_aquap</value>
      <value compset="_DOCN%IAF_">interannual</value>
      <value compset="_DOCN%AQP1_">sst_aquap1</value>
      <value compset="_DOCN%AQP2_">sst_aquap2</value>
      <value compset="_DOCN%AQP3_">sst_aquap3</value>
      <value compset="_DOCN%AQP4_">sst_aquap4</value>
      <value compset="_DOCN%AQP5_">sst_aquap5</value>
      <value compset="_DOCN%AQP6_">sst_aquap6</value>
      <value compset="_DOCN%AQP7_">sst_aquap7</value>
      <value compset="_DOCN%AQP8_">sst_aquap8</value>
      <value compset="_DOCN%AQP9_">sst_aquap9</value>
      <value compset="_DOCN%AQP10_">sst_aquap10</value>
      <value compset="_DOCN%AQPFILE_">sst_aquapfile</value>
      <value compset="_DOCN%AQPCONST_">sst_aquap_constant</value>
    </values>
    <group>run_component_docn</group>
    <file>env_run.xml</file>
    <desc> DOCN mode. The data ocean component (DOCN) always returns SSTs to the
    driver. The atmosphere/ocean fluxes are computed in the
    coupler. Therefore, the data ocean model does not compute fluxes like
    the data ice model. DOCN has two distinct modes of operation. It can
    run as a pure data model, reading in ocean SSTs (normally
    climatological) from input datasets, performing time/spatial
    interpolations, and passing these to the coupler. Alternatively,
    DOCN can compute updated SSTs by running as a slab ocean model where
    bottom ocean heat flux convergence and boundary layer depths are read
    in and used with the atmosphere/ocean and ice/ocean fluxes obtained
    from the driver.
    --- A setting of prescribed assumes the only field in the input stream is SST.
    It also assumes the SST is in Celsius and must be converted to Kelvin.
    All other fields are set to zero except for ocean salinity, which is set to a
    constant reference salinity value. Normally the ice fraction data is found in
    the same data files that provide SST data to the data ocean model. They are
    normally found in the same file because the SST and ice fraction data are derived
    from the same observational data sets and are consistent with each other.
    --- Settings of som (slab ocean model) or  som_aquap (aquaplanet slab ocean) are
    prognostic modes which compute a prognostic sea surface temperature and a
    freeze/melt potential (surface Q-flux) used by the sea ice model.  This
    calculation requires an external SOM forcing data file that includes
    ocean mixed layer depths and bottom-of-the-slab Q-fluxes.
    Scientifically appropriate bottom-of-the-slab Q-fluxes are normally
    ocean resolution dependent and are derived from the ocean model output
    of a fully coupled CCSM run.  Note that while this mode runs out of
    the box, the default SOM forcing file is not scientifically
    appropriate and is provided for testing and development purposes only.
    Users must create scientifically appropriate data for their particular
    application.  A tool is available to derive valid SOM forcing.
    --- A setting of sst_aquapN (where "N" is an integer index value) is a
    type of prescribed SST mode used specifically for an aquaplanet setup in
    which global SSTs correspond to an analytic form set by the index value.
    Currently, indices for 10 SST profiles are supported [e.g., index 3 corresponds
    to the "QOBS" profile of Neale and Hoskins (2001, Atmos. Sci. Lett.)].
    With source code modifications, it is possible for users to create their own
    analytic SST distributions and match them to indices 11 or greater.
    </desc>
  </entry>

  <entry id="DOCN_SOM_FILENAME">
    <type>char</type>
    <valid_values></valid_values>
    <default_value>UNSET</default_value>
    <values match="last">
      <value compset="_DOCN%SOM.*_TEST">pop_frc.1x1d.090130.nc</value>
      <value compset="_DOCN%SOMAQP" grid="oi%1.9x2.5">default.som.forcing.aquaplanet.Qflux0_h30_sstQOBS.2degFV_c20170421.nc</value>
      <value compset="_DOCN%SOMAQP" grid="oi%0.9x1.25">default.som.forcing.aquaplanet.Qflux0_h30_sstQOBS.1degFV_c20170421.nc</value>
    </values>
    <group>run_component_docn</group>
    <file>env_run.xml</file>
    <desc>Sets SOM forcing filename.
    This is only used when DOCN_MODE=som.</desc>
  </entry>

  <entry id="DOCN_AQP_FILENAME">
    <type>char</type>
    <valid_values></valid_values>
    <default_value>UNSET</default_value>
    <values match="last">
      <value compset="_DOCN%AQPFILE">sst_c4aquasom_0.9x1.25_clim.c170512.nc</value>
    </values>
    <group>run_component_docn</group>
    <file>env_run.xml</file>
    <desc>Sets aquaplanet forcing filename instead of using an analytic form.
    This is only used when DOCN_MODE=sst_aquapfile.</desc>
  </entry>

   <entry id="DOCN_AQPCONST_VALUE">
    <type>real</type>
    <valid_values></valid_values>
    <default_value>-1</default_value>
    <values match="last">
      <value compset="_DOCN%AQPCONST">300</value>
    </values>
    <group>run_component_docn</group>
    <file>env_run.xml</file>
    <desc>Sets globally constant SST value</desc>
  </entry>

  <entry id="SSTICE_STREAM">
    <type>char</type>
    <valid_values></valid_values>
    <default_value>CAMDATA</default_value>
    <group>run_component_docn</group>
    <file>env_run.xml</file>
    <desc>Prescribed SST and ice coverage stream name.
    Sets SST and ice coverage stream name.
    This is only used when DOCN_MODE=prescribed.</desc>
  </entry>

  <entry id="SSTICE_DATA_FILENAME">
    <type>char</type>
    <valid_values></valid_values>
    <default_value>$DIN_LOC_ROOT/atm/cam/sst/sst_HadOIBl_bc_1x1_clim_c101029.nc</default_value>
    <values match="last">
      <value compset="DOCN%DOM" grid="a%T31.*_oi%T31"						>$DIN_LOC_ROOT/atm/cam/sst/sst_HadOIBl_bc_48x96_clim_c050526.nc</value>
      <value compset="DOCN%DOM" grid="a%1.9x2.5.*_oi%1.9x2.5"					>$DIN_LOC_ROOT/atm/cam/sst/sst_HadOIBl_bc_1.9x2.5_clim_c061031.nc</value>
      <value compset="DOCN%DOM" grid="a%0.9x1.25.*_oi%0.9x1.25"					>$DIN_LOC_ROOT/atm/cam/sst/sst_HadOIBl_bc_0.9x1.25_clim_c040926.nc</value>
      <value compset="DOCN%DOM" grid="a%0.47x0.63.*_oi%0.47x0.63"				>$DIN_LOC_ROOT/atm/cam/sst/sst_HadOIBl_bc_0.47x0.63_clim_c061106.nc</value>
      <value compset="DOCN%DOM" grid="a%0.23x0.31.*_oi%0.23x0.31"				>$DIN_LOC_ROOT/atm/cam/sst/sst_HadOIBl_bc_0.23x0.31_clim_c110526.nc</value>
      <value compset="(AMIP_|HIST_|20TR_|5505_|PIPD_|%TSCH)" grid=".+"				>$DIN_LOC_ROOT/atm/cam/sst/sst_HadOIBl_bc_1x1_1850_2012_c130411.nc</value>
      <value compset="(AMIP_|HIST_|20TR_|5505_|PIPD_|%TSCH)" grid="a%T31.*_oi%T31"		>$DIN_LOC_ROOT/atm/cam/sst/sst_HadOIBl_bc_48x96_1850_2012_c130411.nc</value>
      <value compset="(AMIP_|HIST_|20TR_|5505_|PIPD_|%TSCH)" grid="a%1.9x2.5.*_oi%1.9x2.5"	>$DIN_LOC_ROOT/atm/cam/sst/sst_HadOIBl_bc_1.9x2.5_1850_2012_c130411.nc</value>
      <value compset="(AMIP_|HIST_|20TR_|5505_|PIPD_|%TSCH)" grid="a%0.9x1.25.*_oi%0.9x1.25"	>$DIN_LOC_ROOT/atm/cam/sst/sst_HadOIBl_bc_0.9x1.25_1850_2012_c130411.nc</value>
      <value compset="(AMIP_|HIST_|20TR_|5505_|PIPD_|%TSCH)" grid="a%0.47x0.63.*_oi%0.47x0.63"	>$DIN_LOC_ROOT/atm/cam/sst/sst_HadOIBl_bc_0.47x0.63_1850_2012_c130411.nc</value>
      <value compset="(AMIP_|HIST_|20TR_|5505_|PIPD_|%TSCH)" grid="a%0.23x0.31.*_oi%0.23x0.31"	>$DIN_LOC_ROOT/atm/cam/sst/sst_HadOIBl_bc_0.23x0.31_1850_2012_c130411.nc</value>
      <value compset="1850_" grid=".+"								>$DIN_LOC_ROOT/atm/cam/sst/sst_HadOIBl_bc_1x1_clim_pi_c101029.nc</value>
      <value compset="1850_" grid="a%T31.*_oi%T31"						>$DIN_LOC_ROOT/atm/cam/sst/sst_HadOIBl_bc_48x96_clim_pi_c101028.nc</value>
      <value compset="1850_" grid="a%1.9x2.5.*_oi%1.9x2.5"					>$DIN_LOC_ROOT/atm/cam/sst/sst_HadOIBl_bc_1.9x2.5_clim_pi_c101028.nc</value>
      <value compset="1850_" grid="a%0.9x1.25.*_oi%0.9x1.25"					>$DIN_LOC_ROOT/atm/cam/sst/sst_HadOIBl_bc_0.9x1.25_clim_pi_c101028.nc</value>
      <value compset="1850_" grid="a%0.47x0.63.*_oi%0.47x0.63"					>$DIN_LOC_ROOT/atm/cam/sst/sst_HadOIBl_bc_0.47x0.63_clim_pi_c101028.nc</value>
      <value compset="1850_" grid="a%0.23x0.31.*_oi%0.23x0.31"					>$DIN_LOC_ROOT/atm/cam/sst/sst_HadOIBl_bc_0.23x0.31_clim_pi_c101028.nc</value>
      <value compset="DATM.*_DLND.*_DICE.*_DOCN.*_DROF" 				        >$DIN_LOC_ROOT/atm/cam/sst/sst_HadOIBl_bc_0.9x1.25_clim_c040926.nc</value>
      <value compset="DATM.*_SLND.*_DICE.*_DOCN.*_DROF" 				        >$DIN_LOC_ROOT/atm/cam/sst/sst_HadOIBl_bc_0.9x1.25_clim_c040926.nc</value>
      <value compset="DATM.*_DLND.*_DICE.*_DOCN.*_DROF"      grid="a%4x5.*_m%gx3v7"	        >$DIN_LOC_ROOT/atm/cam/sst/sst_HadOIBl_bc_4x5_clim_c110526.nc</value>
      <value compset="DATM.*_SLND.*_DICE.*_DOCN.*_DROF"      grid="a%4x5.*_m%gx3v7"	        >$DIN_LOC_ROOT/atm/cam/sst/sst_HadOIBl_bc_4x5_clim_c110526.nc</value>
    </values>
    <group>run_component_docn</group>
    <file>env_run.xml</file>
    <desc>Prescribed SST and ice coverage data file name.
    Sets SST and ice coverage data file name.
    This is only used when DOCN_MODE=prescribed.</desc>
  </entry>

  <entry id="SSTICE_GRID_FILENAME">
    <type>char</type>
    <valid_values></valid_values>
    <default_value>$DIN_LOC_ROOT/ocn/docn7/domain.ocn.1x1.111007.nc</default_value>
    <values match="last">
      <value compset="DOCN%DOM" grid="a%T31.*_oi%T31"						>$DIN_LOC_ROOT/atm/cam/ocnfrac/domain.camocn.48x96_gx3v7_100114.nc</value>
      <value compset="DOCN%DOM" grid="a%1.9x2.5.*_oi%1.9x2.5"					>$DIN_LOC_ROOT/atm/cam/ocnfrac/domain.camocn.1.9x2.5_gx1v6_090403.nc </value>
      <value compset="DOCN%DOM" grid="a%0.9x1.25.*_oi%0.9x1.25.*_m%gx1v6"			>$DIN_LOC_ROOT/atm/cam/ocnfrac/domain.camocn.0.9x1.25_gx1v6_090403.nc</value>
      <value compset="DOCN%DOM" grid="a%0.9x1.25.*_oi%0.9x1.25.*_m%gx1v7"			>$DIN_LOC_ROOT/share/domains/domain.ocn.fv0.9x1.25_gx1v7.151020.nc</value>
      <value compset="DOCN%DOM" grid="a%0.47x0.63.*_oi%0.47x0.63"				>$DIN_LOC_ROOT/atm/cam/ocnfrac/domain.camocn.0.47x0.63_gx1v6_090408.nc</value>
      <value compset="DOCN%DOM" grid="a%0.23x0.31.*_oi%0.23x0.31"				>$DIN_LOC_ROOT/atm/cam/ocnfrac/domain.camocn.0.23x0.31_gx1v6_101108.nc</value>
      <value compset="(AMIP_|HIST_|20TR_|5505_|PIPD_|%TSCH)" grid=".+"				>$DIN_LOC_ROOT/ocn/docn7/domain.ocn.1x1.111007.nc</value>
      <value compset="(AMIP_|HIST_|20TR_|5505_|PIPD_|%TSCH)" grid="a%T31.*_oi%T31"			>$DIN_LOC_ROOT/atm/cam/ocnfrac/domain.camocn.48x96_gx3v7_100114.nc</value>
      <value compset="(AMIP_|HIST_|20TR_|5505_|PIPD_|%TSCH)" grid="a%1.9x2.5.*_oi%1.9x2.5"		>$DIN_LOC_ROOT/atm/cam/ocnfrac/domain.camocn.1.9x2.5_gx1v6_090403.nc</value>
      <value compset="(AMIP_|HIST_|20TR_|5505_|PIPD_|%TSCH)" grid="a%0.9x1.25.*_oi%0.9x1.25.*_m%gx1v6"  >$DIN_LOC_ROOT/atm/cam/ocnfrac/domain.camocn.0.9x1.25_gx1v6_090403.nc</value>
      <value compset="(AMIP_|HIST_|20TR_|5505_|PIPD_|%TSCH)" grid="a%0.9x1.25.*_oi%0.9x1.25.*_m%gx1v7"	>$DIN_LOC_ROOT/share/domains/domain.ocn.fv0.9x1.25_gx1v7.151020.nc</value>
      <value compset="(AMIP_|HIST_|20TR_|5505_|PIPD_|%TSCH)" grid="a%0.47x0.63.*_oi%0.47x0.63"	>$DIN_LOC_ROOT/atm/cam/ocnfrac/domain.camocn.0.47x0.63_gx1v6_090408.nc</value>
      <value compset="(AMIP_|HIST_|20TR_|5505_|PIPD_|%TSCH)" grid="a%0.23x0.31.*_oi%0.23x0.31"	>$DIN_LOC_ROOT/atm/cam/ocnfrac/domain.camocn.0.23x0.31_gx1v6_101108.nc</value>
      <value compset="1850" grid=".+"								>$DIN_LOC_ROOT/ocn/docn7/domain.ocn.1x1.111007.nc</value>
      <value compset="1850" grid="a%T31.*_oi%T31"						>$DIN_LOC_ROOT/atm/cam/ocnfrac/domain.camocn.48x96_gx3v7_100114.nc</value>
      <value compset="1850" grid="a%1.9x2.5.*_oi%1.9x2.5"					>$DIN_LOC_ROOT/atm/cam/ocnfrac/domain.camocn.1.9x2.5_gx1v6_090403.nc</value>
      <value compset="1850" grid="a%0.9x1.25.*_oi%0.9x1.25.*_m%gx1v6"			        >$DIN_LOC_ROOT/atm/cam/ocnfrac/domain.camocn.0.9x1.25_gx1v6_090403.nc</value>
      <value compset="1850" grid="a%0.9x1.25.*_oi%0.9x1.25.*_m%gx1v7"				>$DIN_LOC_ROOT/share/domains/domain.ocn.fv0.9x1.25_gx1v7.151020.nc</value>
      <value compset="1850" grid="a%0.47x0.63.*_oi%0.47x0.63"					>$DIN_LOC_ROOT/atm/cam/ocnfrac/domain.camocn.0.47x0.63_gx1v6_090408.nc</value>
      <value compset="1850" grid="a%0.23x0.31.*_oi%0.23x0.31"					>$DIN_LOC_ROOT/atm/cam/ocnfrac/domain.camocn.0.23x0.31_gx1v6_101108.nc</value>
      <value compset="DATM.*_DLND.*_DICE.*_DOCN.*_DROF"                                         >$DIN_LOC_ROOT/atm/cam/ocnfrac/domain.camocn.0.9x1.25_gx1v6_090403.nc</value>
      <value compset="DATM.*_SLND.*_DICE.*_DOCN.*_DROF"                                         >$DIN_LOC_ROOT/atm/cam/ocnfrac/domain.camocn.0.9x1.25_gx1v6_090403.nc</value>
      <value compset="DATM.*_DLND.*_DICE.*_DOCN.*_DROF" grid="a%4x5.*_m%gx3v7"                  >$DIN_LOC_ROOT/atm/cam/ocnfrac/domain.camocn.4x5_gx3v7_100120.nc</value>
      <value compset="DATM.*_SLND.*_DICE.*_DOCN.*_DROF" grid="a%4x5.*_m%gx3v7"                  >$DIN_LOC_ROOT/atm/cam/ocnfrac/domain.camocn.4x5_gx3v7_100120.nc</value>
    </values>
    <group>run_component_cam_sstice</group>
    <file>env_run.xml</file>
    <desc>Prescribed SST and ice coverage grid file name.
    Sets SST and ice coverage grid file name for prescribed runs.
    This is only used when DOCN_MODE=prescribed.</desc>
  </entry>

  <entry id="SSTICE_YEAR_ALIGN">
    <type>integer</type>
    <valid_values></valid_values>
    <default_value>1</default_value>
    <values match="last">
      <value compset="(AMIP_|20TR_|HIST_|5505_|PIPD_|%TSCH)">1850</value>
    </values>
    <group>run_component_cam_sstice</group>
    <file>env_run.xml</file>
    <desc>The model year that corresponds to SSTICE_YEAR_START on the data file.
    Prescribed SST and ice coverage data will be aligned so that the first year of
    data corresponds to SSTICE_YEAR_ALIGN in the model. For instance, if the first
    year of prescribed data is the same as the first year of the model run, this
    should be set to the year given in RUN_STARTDATE.
    If SSTICE_YEAR_ALIGN is later than the model's starting year, or if the model is
    run after the prescribed data ends (as determined by SSTICE_YEAR_END), the
    default behavior is to assume that the data from SSTICE_YEAR_START to
    SSTICE_YEAR_END cyclically repeats. This behavior is controlled by the
    &quot;taxmode&quot; stream option; see the data model documentation for more details.
    This is only used when DOCN_MODE=prescribed.</desc>
  </entry>

  <entry id="SSTICE_YEAR_START">
    <type>integer</type>
    <valid_values></valid_values>
    <default_value>0</default_value>
    <values match="last">
      <value compset="(AMIP_|HIST_|20TR_|5505_|PIPD_|%TSCH)">1850</value>
    </values>
    <group>run_component_cam_sstice</group>
    <file>env_run.xml</file>
    <desc>The first year of data to use from SSTICE_DATA_FILENAME.
    This is the first year of prescribed SST and ice coverage data to use. For
    example, if a data file has data for years 0-99, and SSTICE_YEAR_START is 10,
    years 0-9 in the file will not be used.
    This is only used when DOCN_MODE=prescribed.</desc>
  </entry>

  <entry id="SSTICE_YEAR_END">
    <type>integer</type>
    <valid_values></valid_values>
    <default_value>0</default_value>
    <values match="last">
      <value compset="(AMIP_|HIST_|20TR_|5505_|PIPD_|%TSCH)">2012</value>
    </values>
    <group>run_component_cam_sstice</group>
    <file>env_run.xml</file>
    <desc>The last year of data to use from SSTICE_DATA_FILENAME.
    This is the last year of prescribed SST and ice coverage data to use. For
    example, if a data file has data for years 0-99, and value is 49,
    years 50-99 in the file will not be used.
    This is only used when DOCN_MODE=prescribed.</desc>
  </entry>

  <help>
    =========================================
    DOCN naming conventions
    =========================================
  </help>

</entry_id>

XML namelist definitions for docn.

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="namelist_definition.xsl"?>

<entry_id version="2.0">

  <!--
      Values to use by default for creation of DOCN model docn namelists.
      The element names are the same as the corresponding namelist
      variables.  Values that depend on the model configuration use
      attributes to express the dependency.  The recognized attributes
      are: grid, docn_presaero and all configuration
      attributes from the config_cache.xml file (with keys converted to upper-case).

      strm_year_first is the first year of the stream data that will be used
      strm_year_last  is the last  year of the stream data that will be used
      strm_year_align is the model year that will be aligned with stream data for year_first

      Replace any instance of the following substring indicators with the appropriate values:
      %y    = year from the range yearfirst to yearlast
      %ym   = year-month from the range yearfirst to yearlast with all 12 months
      %ymd  = year-month-day from the range yearfirst to yearlast with all 12 months

      In docn_in,  streams namelist input has the form
      streams = 'stream1.txt year_align year_first year_last ',
      'stream2.txt year_align year_first year_last ',
      ...
      'streamN.txt year_align year_first year_last '
      Each mode below, except for presaero, has a set of streams associated with it
      The presaero stream, is associated with all modes

      Currently the following datamods are supported
      prescribed    SSTDATA     (Run with prescribed SST, ICE_COV)
      som           SOM         (Slab ocean model)
      null          NULL        (NULL mode)
  -->

  <!-- ========================================================================================  -->
  <!-- Stream file variables                                                                     -->
  <!-- ========================================================================================  -->

  <entry id="streamslist">
    <type>char(100)</type>
    <category>streams</category>
    <group>streams_file</group>
    <desc>List of streams used for the given docn_mode.</desc>
    <values>
      <value docn_mode="prescribed">prescribed</value>
      <value docn_mode="sst_aquap1">''</value>
      <value docn_mode="sst_aquap2">''</value>
      <value docn_mode="sst_aquap3">''</value>
      <value docn_mode="sst_aquap4">''</value>
      <value docn_mode="sst_aquap5">''</value>
      <value docn_mode="sst_aquap6">''</value>
      <value docn_mode="sst_aquap7">''</value>
      <value docn_mode="sst_aquap8">''</value>
      <value docn_mode="sst_aquap9">''</value>
      <value docn_mode="sst_aquap10">''</value>
      <value docn_mode="sst_aquapfile">aquapfile</value>
      <value docn_mode="sst_aquap_constant">''</value>
      <value docn_mode="som">som</value>
      <value docn_mode="som_aquap">som</value>
      <value docn_mode="interannual">interannual</value>
    </values>
  </entry>

  <entry id="strm_grid_file" skip_default_entry="true">
    <type>char</type>
    <category>streams</category>
    <group>derived</group>
    <desc>does not appear in namelist - only used to set domain and data information</desc>
    <values>
      <value stream="prescribed">$SSTICE_GRID_FILENAME</value>
    </values>
  </entry>

  <entry id="strm_data_file" skip_default_entry="true">
    <type>char</type>
    <category>streams</category>
    <group>derived</group>
    <desc>does not appear in namelist - only used to set domain and data information</desc>
    <values>
      <value stream="prescribed">$SSTICE_DATA_FILENAME</value>
    </values>
  </entry>

  <entry id="strm_domdir" skip_default_entry="true">
    <type>char</type>
    <category>streams</category>
    <group>streams_file</group>
    <desc>Stream domain file directory.</desc>
    <values>
      <value>null</value>
      <value stream="aquapfile">$DIN_LOC_ROOT/ocn/docn7/AQUAPLANET/</value>
      <value stream="som">$DIN_LOC_ROOT/ocn/docn7/SOM</value>
      <value stream="interannual">$DIN_LOC_ROOT/atm/cam/sst</value>
    </values>
  </entry>

  <entry id="strm_domfil" skip_default_entry="true">
    <type>char</type>
    <category>streams</category>
    <group>streams_file</group>
    <desc>Stream domain file path(s).</desc>
    <values>
      <value>null</value>
      <value stream="aquapfile">$DOCN_AQP_FILENAME</value>
      <value stream="som">$DOCN_SOM_FILENAME</value>
      <value stream="interannual">sst_HadOIBl_bc_1x1_1850_2014_c150416.nc</value>
    </values>
  </entry>

  <entry id="strm_domvar" skip_default_entry="true">
    <type>char</type>
    <category>streams</category>
    <group>streams_file</group>
    <desc>Stream domain variable name(s).</desc>
    <values>
      <value>
        time    time
        xc      lon
        yc      lat
        area    area
        mask    mask
      </value>
      <value stream="interannual">
        time    time
        lon     lon
        lat     lat
      </value>
      <value stream="aquapfile">
        time    time
        lon     lon
        lat     lat
      </value>
    </values>
  </entry>

  <entry id="strm_datdir">
    <type>char</type>
    <category>streams</category>
    <group>streams_file</group>
    <desc>Stream data file directory.</desc>
    <values>
      <value>null</value>
      <value stream="aquapfile">$DIN_LOC_ROOT/ocn/docn7/AQUAPLANET</value>
      <value stream="som">$DIN_LOC_ROOT/ocn/docn7/SOM</value>
      <value stream="interannual">$DIN_LOC_ROOT/atm/cam/sst</value>
    </values>
  </entry>

  <entry id="strm_datfil">
    <type>char</type>
    <category>streams</category>
    <group>streams_file</group>
    <desc>Stream data file path(s).</desc>
    <values>
      <value>null</value>
      <value stream="aquapfile">$DOCN_AQP_FILENAME</value>
      <value stream="som">$DOCN_SOM_FILENAME</value>
      <value stream="interannual">sst_HadOIBl_bc_1x1_1850_2014_c150416.nc</value>
    </values>
  </entry>

  <entry id="strm_datvar">
    <type>char</type>
    <category>streams</category>
    <group>streams_file</group>
    <desc>Stream data variable name(s).</desc>
    <values>
      <value>
        sst    t
      </value>
      <value stream="som">
        T     t
        S     s
        U     u
        V     v
        dhdx  dhdx
        dhdy  dhdy
        hblt  h
        qdp   qbot
      </value>
      <value stream="interannual">
        SST_cpl t
      </value>
      <value stream="prescribed" sstice_stream="CAMDATA">
        SST_cpl t
      </value>
      <value stream="aquapfile">
        SST_cpl t
      </value>
    </values>
  </entry>

  <entry id="strm_offset">
    <type>integer</type>
    <category>streams</category>
    <group>streams_file</group>
    <desc>Stream offset.</desc>
    <values>
      <value>0</value>
    </values>
  </entry>

  <entry id="strm_year_align">
    <type>integer</type>
    <category>streams</category>
    <group>streams_file</group>
    <desc>Simulation year to align stream to.</desc>
    <values>
      <value>-999</value>
      <value stream="prescribed">$SSTICE_YEAR_ALIGN</value>
      <value stream="aquapfile">0</value>
      <value stream="som">1</value>
      <value stream="interannual">1</value>
    </values>
  </entry>

  <entry id="strm_year_start">
    <type>integer</type>
    <category>streams</category>
    <group>streams_file</group>
    <desc>First year of stream.</desc>
    <values>
      <value>-999</value>
      <value stream="prescribed">$SSTICE_YEAR_START</value>
      <value stream="aquapfile">0</value>
      <value stream="som">1</value>
      <value stream="interannual">1850</value>
    </values>
  </entry>

  <entry id="strm_year_end">
    <type>integer</type>
    <category>streams</category>
    <group>streams_file</group>
    <desc>Last year of stream.</desc>
    <values>
      <value>-999</value>
      <value stream="prescribed">$SSTICE_YEAR_END</value>
      <value stream="aquapfile">0</value>
      <value stream="som">1</value>
      <value stream="interannual">2014</value>
    </values>
  </entry>

  <!-- ========================================================================================  -->
  <!-- DOCN Namelists                                                                            -->
  <!-- ========================================================================================  -->

  <!-- =========================================  -->
  <!--- shr_strmdata_nml       -->
  <!-- =========================================  -->

  <entry id="datamode">
    <type>char</type>
    <category>streams</category>
    <group>shr_strdata_nml</group>
    <valid_values>SSTDATA,SST_AQUAP1,SST_AQUAP2,SST_AQUAP3,SST_AQUAP4,SST_AQUAP5,SST_AQUAP6,SST_AQUAP7,SST_AQUAP8,SST_AQUAP9,SST_AQUAP10,SST_AQUAPFILE,SST_AQUAP_CONSTANT,SOM,SOM_AQUAP,IAF,NULL,COPYALL</valid_values>
    <desc>
      General method that operates on the data. This is generally
      implemented in the data models but is set in the strdata method for
      convenience.

      datamode = "NULL"
      NULL is always a valid option and means no data will be generated.
      Turns off the data model as a provider of data to the coupler.  The
      ice_present flag will be set to false and the coupler will assume no
      exchange of data to or from the data model.
      dataMode = "COPYALL"
      Copies all fields directly from the input data streams Any required
      fields not found on an input stream will be set to zero.
      dataMode = "SSTDATA"
      SSTDATA mode assumes the only field in the input stream is SST.
      It also assumes the SST is in Celsius and must be converted to Kelvin.
      All other fields are set to zero except for ocean salinity, which
      is set to a constant reference salinity value.
      Normally the ice fraction data is found in the same data files that
      provide SST data to the data ocean model. They are normally found in
      the same file because the SST and ice fraction data are derived from
      the same observational data sets and are consistent with each other.
      to the data ocean model. They are normally found in the same file
      because the SST and ice fraction data are derived from the same
      observational data sets and are consistent with each other.
      dataMode = "IAF"
      IAF is the interannually varying version of SSTDATA
      dataMode = "SOM"
      SOM ("slab ocean model") mode is a prognostic mode.  This mode
      computes a prognostic sea surface temperature and a freeze/melt
      potential (surface Q-flux) used by the sea ice model.  This
      calculation requires an external SOM forcing data file that includes
      ocean mixed layer depths and bottom-of-the-slab Q-fluxes.
      Scientifically appropriate bottom-of-the-slab Q-fluxes are normally
      ocean resolution dependent and are derived from the ocean model output
      of a fully coupled CCSM run.  Note that while this mode runs out of
      the box, the default SOM forcing file is not scientifically
      appropriate and is provided for testing and development purposes only.
      Users must create scientifically appropriate data for their particular
      application.  A tool is available to derive valid SOM forcing.

      Set by the xml variable DOCN_MODE in env_run.xml
      Currently, DOCN_MODE can be [prescribed,som,interannual,null]
      If DOCN_MODE is prescribed, datamode will be set to SSTDATA
      If DOCN_MODE is interannual, datamode will be set to IAF
      If DOCN_MODE is som , datamode will be set to SOM
      If DOCN_MODE is sst_aqup[n], datamode will be set to SST_AQUAP
      If DOCN_MODE is som_aqup[n], datamode will be set to SOM_AQUAP
      If DOCN_MODE is null, datamode will be set to NULL

      default: SSTDATA (prescribed setting for DOCN_MODE)'
    </desc>
    <values>
      <value docn_mode="null">NULL</value>
      <value docn_mode="prescribed">SSTDATA</value>
      <value docn_mode="sst_aquap1$">SST_AQUAP1</value>
      <value docn_mode="sst_aquap2$">SST_AQUAP2</value>
      <value docn_mode="sst_aquap3$">SST_AQUAP3</value>
      <value docn_mode="sst_aquap4$">SST_AQUAP4</value>
      <value docn_mode="sst_aquap5$">SST_AQUAP5</value>
      <value docn_mode="sst_aquap6$">SST_AQUAP6</value>
      <value docn_mode="sst_aquap7$">SST_AQUAP7</value>
      <value docn_mode="sst_aquap8$">SST_AQUAP8</value>
      <value docn_mode="sst_aquap9$">SST_AQUAP9</value>
      <value docn_mode="sst_aquap10$">SST_AQUAP10</value>
      <value docn_mode="sst_aquapfile$">SST_AQUAPFILE</value>
      <value docn_mode="sst_aquap_constant$">SST_AQUAP_CONSTANT</value>
      <value docn_mode="som$">SOM</value>
      <value docn_mode="som_aquap">SOM_AQUAP</value>
      <value docn_mode="interannual">IAF</value>
    </values>
  </entry>

  <entry id="domainfile" skip_default_entry="true">
    <type>char</type>
    <category>streams</category>
    <input_pathname>abs</input_pathname>
    <group>shr_strdata_nml</group>
    <desc>
      spatial gridfile associated with the strdata.  grid information will
      be read from this file and that grid will serve as the target grid
      for all input data for this strdata input.
    </desc>
    <values>
      <value>null</value>
    </values>
  </entry>

  <entry id="fillalgo" per_stream_entry="true">
    <type>char(30)</type>
    <category>streams</category>
    <group>shr_strdata_nml</group>
    <valid_values>copy,none,bilinear,nn,nnoni,nnonj,spval</valid_values>
    <desc>
      array (up to 30 elements) of fill algorithms associated with the array
      of streams.  valid options are just copy (ie. no fill), special value,
      nearest neighbor, nearest neighbor in "i" direction, or nearest
      neighbor in "j" direction.
      valid values:  'copy','none','spval','nn','nnoni','nnonj'
    </desc>
    <values>
      <value>nn</value>
    </values>
  </entry>

  <entry id="fillmask" per_stream_entry="true">
    <type>char(30)</type>
    <category>streams</category>
    <group>shr_strdata_nml</group>
    <valid_values>nomask,srcmask,dstmask,bothmask</valid_values>
    <desc>
      plays no role is fill algorithm at the present time.
      valid values: "nomask,srcmask,dstmask,bothmask"
    </desc>
    <values>
      <value>nomask</value>
    </values>
  </entry>

  <entry id="fillread" per_stream_entry="true">
    <type>char(30)</type>
    <category>streams</category>
    <group>shr_strdata_nml</group>
    <desc>
      array (up to 30 elements) of filenames associated with the array of
      streams.  specifies the weights file to read in instead of computing the
      weights on the fly for the fill operation.  if this is set, fillalgo
      and fillmask are ignored.
    </desc>
    <values>
      <value>NOT_SET</value>
    </values>
  </entry>

  <entry id="fillwrite" per_stream_entry="true">
    <type>char(30)</type>
    <category>streams</category>
    <group>shr_strdata_nml</group>
    <desc>
      array (up to 30 elements)  of filenames associated with the array of
      streams.  specifies the weights file to generate after weights are
      computed on the fly for the fill operation.  this allows a user to
      save and reuse a set of weights later.
    </desc>
    <values>
      <value>NOT_SET</value>
    </values>
  </entry>

  <entry id="mapmask" per_stream_entry="true">
    <type>char(30)</type>
    <category>streams</category>
    <group>shr_strdata_nml</group>
    <valid_values>nomask,srcmask,dstmask,bothmask</valid_values>
    <desc>
      array (up to 30 elements) of masking algorithms for mapping input data
      associated with the array of streams.  valid options are map only from
      valid src points, map only to valid destination points, ignore all
      masks, map only from valid src points to valid destination points.
      valid values: srcmask, dstmask, nomask,bothmask
    </desc>
    <values>
      <value>dstmask</value>
    </values>
  </entry>

  <entry id="mapalgo" per_stream_entry="true">
    <type>char(30)</type>
    <category>streams</category>
    <group>shr_strdata_nml</group>
    <valid_values>copy,bilinear,nn,nnoni,nnonj,spval</valid_values>
    <desc>
      array (up to 30 elements) of fill algorithms associated with the array
      of streams.  valid options are copy by index, set to special value,
      nearest neighbor, nearest neighbor in "i" direction, nearest neighbor
      in "j" direction, or bilinear.
      valid values: copy,spval,nn,nnoni,nnonj,bilinear
    </desc>
    <values>
      <value>bilinear</value>
    </values>
  </entry>

  <entry id="mapread" per_stream_entry="true">
    <type>char(30)</type>
    <category>streams</category>
    <group>shr_strdata_nml</group>
    <desc>
      array (up to 30 elements) of filenames associated with the array of
      streams.  specifies the weights file to read instead of computing
      weights on the fly for the mapping (interpolation) operation.  if this
      is set, mapalgo and mapmask are ignored.
    </desc>
    <values>
      <value>NOT_SET</value>
    </values>
  </entry>

  <entry id="mapwrite" per_stream_entry="true">
    <type>char(30)</type>
    <category>streams</category>
    <group>shr_strdata_nml</group>
    <desc>
      array (up to 30 elements) of filenames associated with the array of
      streams.  specifies the weights file to generate after weights are
      computed on the fly for the mapping (interpolation) operation.  this
      allows a user to save and reuse a set of weights later.
    </desc>
    <values>
      <value>NOT_SET</value>
    </values>
  </entry>

  <entry id="tintalgo" per_stream_entry="true">
    <type>char(30)</type>
    <category>streams</category>
    <group>shr_strdata_nml</group>
    <valid_values>coszen,nearest,linear,lower,upper</valid_values>
    <desc>
      array (up to 30 elements) of time interpolation options associated with the array of
      streams.
      valid values: lower,upper,nearest,linear,coszen
      lower   = Use lower time-value
      upper   = Use upper time-value
      nearest = Use the nearest time-value
      linear  = Linearly interpolate between the two time-values
      coszen  = Scale according to the cosine of the solar zenith angle (for solar)
    </desc>
    <values>
      <value>linear</value>
    </values>
  </entry>

  <entry id="taxmode" per_stream_entry="true">
    <type>char(30)</type>
    <category>streams</category>
    <group>shr_strdata_nml</group>
    <valid_values>extend,cycle,limit</valid_values>
    <desc>
      array of time axis modes associated with the array of streams for
      handling data outside the specified stream time axis.
      valid options are to cycle the data based on the first, last, and
      align settings associated with the stream dataset, to extend the first
      and last valid value indefinitely, or to limit the interpolated data
      to fall only between the least and greatest valid value of the time array.
      valid values: cycle,extend,limit
      extend = extrapolate before and after the period by using the first or last value.
      cycle  = cycle between the range of data
      limit  = restrict to the period for which the data is valid
    </desc>
    <values>
      <value>cycle</value>
      <value stream="prescribed" sstice_stream="WRFDATA">limit</value>
    </values>
  </entry>

  <entry id="readmode" per_stream_entry="true">
    <type>char(30)</type>
    <category>streams</category>
    <group>shr_strdata_nml</group>
    <valid_values>single,full_file</valid_values>
    <desc>
      array (up to 30 elements) of reading mode associated with the array of
      streams.  specifies the mode of reading temporal stream dataset.
      valid options are "single" (read temporal dataset one at a time) or
      "full_file" (read all entires of temporal dataset in a given netcdf file)
      valid values: single,full_file
    </desc>
    <values>
      <value>single</value>
    </values>
  </entry>

  <entry id="dtlimit" per_stream_entry="true">
    <type>real(30)</type>
    <category>streams</category>
    <group>shr_strdata_nml</group>
    <desc>
      array (up to 30 elements) of delta time ratio limits placed on the
      time interpolation associated with the array of streams.  this real
      value causes the model to stop if the ratio of the running maximum
      delta time divided by the minimum delta time is greater than the
      dtlimit for that stream.  for instance, with daily data, the delta
      time should be exactly one day throughout the dataset and the computed
      maximum divided by minimum delta time should always be 1.0.  for
      monthly data, the delta time should be between 28 and 31 days and the
      maximum ratio should be about 1.1.  the running value of the delta
      time is computed as data is read and any wraparound or cycling is also
      included.  this input helps trap missing data or errors in cycling.
      to turn off trapping, set the value to 1.0e30 or something similar.
    </desc>
    <values>
      <value>1.5e0</value>
    </values>
  </entry>

  <entry id="vectors">
    <type>char</type>
    <category>streams</category>
    <group>shr_strdata_nml</group>
    <desc>
      list of paired colon delimited field names that should be treated as
      vectors when carrying out spatial interpolation.  unlike other
      character arrays in this namelist, this array is completely decoupled
      from the list of streams.  this is a list of vector pairs that span
      all input streams where different fields of the vector pair could
      appear in different streams.
      for example, vectors = 'u:v','taux:tauy'.
    </desc>
    <values>
      <value>null</value>
    </values>
  </entry>

  <entry id="streams" skip_default_entry="true">
    <type>char(30)</type>
    <category>streams</category>
    <group>shr_strdata_nml</group>
    <desc>
      character array (up to 30 elements) of stream input files.  this
      string is actually parsed by a stream method and so the format is
      specified by the stream module.  this string consists of a
      "stream_input_filename year_align year_first year_last".  the
      stream_input_filename is a stream text input file and the format and
      options are described elsewhere.  year_align, year_first, and
      year_last provide information about the time axis of the file and how
      to relate the input time axis to the model time axis.
    </desc>
    <values>
      <value></value>
    </values>
  </entry>

  <!-- =========================================  -->
  <!--- docn_nml                -->
  <!-- =========================================  -->

  <entry id="decomp">
    <type>char</type>
    <category>docn</category>
    <group>docn_nml</group>
    <valid_values>1d,root</valid_values>
    <desc>
      DOCN Decomposition strategy
      1d   = Vector decomposition
      root = run only on the master task
    </desc>
    <values>
      <value>1d</value>
    </values>
  </entry>

  <entry id="restfilm">
    <type>char</type>
    <category>docn</category>
    <group>docn_nml</group>
    <desc>
      Master restart file name for docn model
    </desc>
    <values>
      <value>undefined</value>
    </values>
  </entry>

  <entry id="restfils">
    <type>char</type>
    <category>docn</category>
    <group>docn_nml</group>
    <desc>
      Stream restart file name for docn model, needed for branch simulations
    </desc>
    <values>
      <value>undefined</value>
    </values>
  </entry>

  <entry id="force_prognostic_true">
    <type>logical</type>
    <category>docn</category>
    <group>docn_nml</group>
    <desc>If TRUE, prognostic is forced to true. (default=false)</desc>
    <values>
      <value>.false.</value>
    </values>
  </entry>

  <entry id="sst_constant_value" per_stream_entry="true">
    <type>real(30)</type>
    <category>docn</category>
    <group>docn_nml</group>
    <desc>
      Value of globally uniform SST (K) for idealized experiments 
      when data ocean mode is sst_aquap_constant
    </desc>
    <values>
      <value>-1.0</value>
    </values>
  </entry>

</entry_id>

CIMEROOT/src/components/stub_comps/socn/cime_config

The ocean stub model, socn, does not output any files in the RUNDIR nor does it have any namelist settings.

XML variables and component descriptions specific to socn.

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="entry_id.xsl" ?>

<entry_id>

  <entry id="COMP_OCN">
    <type>char</type>
    <valid_values>socn</valid_values>
    <default_value>socn</default_value>
    <group>case_comp</group>
    <file>env_case.xml</file>
    <desc>Name of ocean component</desc>
  </entry>

  <description>
    <desc compset="_SOCN">Stub ocn component</desc>
  </description>

  <help>
    =========================================
    SOCN naming conventions in compset name
    =========================================
  </help>

</entry_id>

CIMEROOT/src/components/xcpl_comps/xocn/cime_config

The ocean dead model, xocn, does not output any files in the RUNDIR nor does it have any namelist settings.

XML variables and component descriptions specific to xocn.

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="entry_id.xsl" ?>

<entry_id version="3.0">
  <description>
    <desc ocn="XOCN">Dead ocean component</desc>
  </description>

  <entry id="COMP_OCN">
    <type>char</type>
    <valid_values>xocn</valid_values>
    <default_value>xocn</default_value>
    <group>case_comp</group>
    <file>env_case.xml</file>
    <desc>Name of ocean component</desc>
  </entry>



  <help>
    =========================================
    XOCN naming conventions in compset name
    =========================================
  </help>

</entry_id>