CIME Wave Data and Stub XML Files¶
Wave component XML files for data, stub, and dead components.
CIMEROOT/src/components/data_comps/dwav/cime_config¶
Wave data model, dwav, XML files and settings.
XML specification for archiving dwav output files.
<components version="2.0">
<comp_archive_spec compname="dwav" compclass="wav">
<rest_file_extension>r</rest_file_extension>
<rest_history_varname>unset</rest_history_varname>
<rpointer>
<rpointer_file>rpointer.wav$NINST_STRING</rpointer_file>
<rpointer_content >$CASE.dwav$NINST_STRING.r.$DATENAME.nc,$CASE.dwav$NINST_STRING.rs1.$DATENAME.bin</rpointer_content>
</rpointer>
</comp_archive_spec>
</components>
XML variables and component descriptions specific to dwav.
<?xml version="1.0"?>
<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 wav desc entries.
-->
<description modifier_mode="1">
<desc wav="DWAV[%NULL][%CLIMO]">Data wave model (DWAV)</desc>
<desc option="NULL">null mode</desc>
<desc option="CLIMO">climatological mode</desc>
</description>
<entry id="COMP_WAV">
<type>char</type>
<valid_values>dwav</valid_values>
<default_value>dwav</default_value>
<group>case_comp</group>
<file>env_case.xml</file>
<desc>Name of wave component</desc>
</entry>
<entry id="DWAV_MODE">
<type>char</type>
<valid_values>NULL,CLIMO</valid_values>
<default_value>NULL</default_value>
<values match="last">
<value compset="_DWAV%NULL">NULL</value>
<value compset="_DWAV%CLIMO">CLIMO</value>
</values>
<group>run_component_dwav</group>
<file>env_run.xml</file>
<desc>DWAV mode. Values are null and copyall.
In null mode, land forcing is set to zero and not used.
default is copyall</desc>
</entry>
<help>
=========================================
DWAV naming conventions
=========================================
</help>
</entry_id>
XML variables and component descriptions specific to dwav.
<?xml version="1.0"?>
<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 wav desc entries.
-->
<description modifier_mode="1">
<desc wav="DWAV[%NULL][%CLIMO]">Data wave model (DWAV)</desc>
<desc option="NULL">null mode</desc>
<desc option="CLIMO">climatological mode</desc>
</description>
<entry id="COMP_WAV">
<type>char</type>
<valid_values>dwav</valid_values>
<default_value>dwav</default_value>
<group>case_comp</group>
<file>env_case.xml</file>
<desc>Name of wave component</desc>
</entry>
<entry id="DWAV_MODE">
<type>char</type>
<valid_values>NULL,CLIMO</valid_values>
<default_value>NULL</default_value>
<values match="last">
<value compset="_DWAV%NULL">NULL</value>
<value compset="_DWAV%CLIMO">CLIMO</value>
</values>
<group>run_component_dwav</group>
<file>env_run.xml</file>
<desc>DWAV mode. Values are null and copyall.
In null mode, land forcing is set to zero and not used.
default is copyall</desc>
</entry>
<help>
=========================================
DWAV naming conventions
=========================================
</help>
</entry_id>
XML namelist definitions for dwav.
<?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 DWAV model dwav 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.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
For cplhist forcing - the following substitutions will be made below
Replace any instance of the following substring indicators with the appropriate values:
%y => year from the range yearfirst to yearlast
obtained from values of <strm_year_start> -> <strm_year_end> below
%ym => year-month from the range yearfirst to yearlast with all 12 months
obtained from values of <strm_year_start> -> <strm_year_end> below
%ymd => year-month-day from the range yearfirst to yearlast with all 12 months
obtained from values of <strm_year_start> -> <strm_year_end> below
Replace any instance of $VARNAME with the xml variable value obtained from any
of the $CASEROOT/env*xml files
In dwav_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 '
Currently the following streams are supported
wav.cplhist
wav.diatren_ann_rx1
wav.diatren_iaf_rx1
-->
<!-- ======================================================================================== -->
<!-- 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 dwav_mode.</desc>
<values>
<value dwav_mode="NULL">null</value>
<value dwav_mode="CLIMO">climo</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 stream="climo">$DIN_LOC_ROOT/wav/dwav</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 stream="climo">waveclim.mon.ww3a.150612.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 stream="climo">
time time
xc lon
yc lat
area area
mask mask
</value>
</values>
</entry>
<entry id="strm_datdir" skip_default_entry="true">
<type>char</type>
<category>streams</category>
<group>streams_file</group>
<desc>Stream data file directory.</desc>
<values>
<value stream="climo">$DIN_LOC_ROOT/wav/dwav</value>
</values>
</entry>
<entry id="strm_datfil" skip_default_entry="true">
<type>char</type>
<category>streams</category>
<group>streams_file</group>
<desc>Stream data file path(s).</desc>
<values>
<value stream="climo">waveclim.mon.ww3a.150612.nc</value>
</values>
</entry>
<entry id="strm_datvar" skip_default_entry="true">
<type>char</type>
<category>streams</category>
<group>streams_file</group>
<desc>Stream data variable name(s).</desc>
<values>
<value stream="climo">
lamult lamult
ustokes ustokes
vstokes vstokes
</value>
</values>
</entry>
<entry id="strm_offset" skip_default_entry="true">
<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" skip_default_entry="true">
<type>integer</type>
<category>streams</category>
<group>streams_file</group>
<desc>Simulation year to align stream to.</desc>
<values>
<value stream="climo">1</value>
</values>
</entry>
<entry id="strm_year_start" skip_default_entry="true">
<type>integer</type>
<category>streams</category>
<group>streams_file</group>
<desc>First year of stream.</desc>
<values>
<value stream="climo">1</value>
</values>
</entry>
<entry id="strm_year_end" skip_default_entry="true">
<type>integer</type>
<category>streams</category>
<group>streams_file</group>
<desc>Last year of stream.</desc>
<values>
<value stream="climo">1</value>
</values>
</entry>
<!-- ======================================================================================== -->
<!-- DWAV Namelists -->
<!-- ======================================================================================== -->
<!-- ========================================= -->
<!--- shr_strmdata_nml -->
<!-- ========================================= -->
<entry id="datamode">
<type>char</type>
<category>streams</category>
<group>shr_strdata_nml</group>
<valid_values>NULL,COPYALL</valid_values>
<desc>
The wave data is associated with the wave model
and is normally on a different grid than the ocean data.
datamode = "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.
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.
Set by the following xml variables in env_run.xml DWAV_MODE
specifies values for wav mode: copyall,null
</desc>
<values>
<value>COPYALL</value>
<value dwav_mode="NULL">NULL</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,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','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>
</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">
<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>
<!-- ========================================= -->
<!--- dwav_nml -->
<!-- ========================================= -->
<entry id="decomp">
<type>char</type>
<category>dwav</category>
<group>dwav_nml</group>
<valid_values>1d,root</valid_values>
<desc>
DWAV 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>dwav</category>
<group>dwav_nml</group>
<desc>
Master restart file name for dwav model
</desc>
<values>
<value>undefined</value>
</values>
</entry>
<entry id="restfils">
<type>char</type>
<category>dwav</category>
<group>dwav_nml</group>
<desc>
Stream restart file name for dwav model, needed for branch simulations
</desc>
<values>
<value>undefined</value>
</values>
</entry>
<entry id="force_prognostic_true">
<type>logical</type>
<category>dwav</category>
<group>dwav_nml</group>
<desc>If TRUE, prognostic is forced to true. </desc>
<values>
<value>.false.</value>
</values>
</entry>
</entry_id>
CIMEROOT/src/components/stub_comps/swav/cime_config¶
The wave stub model, swav, does not output any files in the RUNDIR nor does it have any namelist settings.
XML variables and component descriptions specific to swav.
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="entry_id.xsl" ?>
<entry_id version="3.0">
<description>
<desc wav="SWAV">Stub wave component</desc>
</description>
<entry id="COMP_WAV">
<type>char</type>
<valid_values>swav</valid_values>
<default_value>swav</default_value>
<group>case_comp</group>
<file>env_case.xml</file>
<desc>Name of wave component</desc>
</entry>
<help>
=========================================
SWAV naming conventions in compset name
=========================================
</help>
</entry_id>
CIMEROOT/src/components/xcpl_comps/xwav/cime_config¶
The wave dead model, xwav, does not output any files in the RUNDIR nor does it have any namelist settings.
XML variables and component descriptions specific to xwav.
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="entry_id.xsl" ?>
<entry_id version="3.0">
<description>
<desc wav="XWAV">Dead wave component</desc>
</description>
<entry id="COMP_WAV">
<type>char</type>
<valid_values>xwav</valid_values>
<default_value>xwav</default_value>
<group>case_comp</group>
<file>env_case.xml</file>
<desc>Name of wave component</desc>
</entry>
<help>
=========================================
XWAV naming conventions in compset name
=========================================
</help>
</entry_id>