2. Input Namelists¶
Each data model has two namelist groups in its input namelist file: a stream-dependent and a stream-independent namelist group.
The stream-dependent namelist group (shr_strdata_nml
) specifies the data model mode, stream description text files, and interpolation options.
The stream description files will be provided as separate input files and contain the files and fields that need to be read.
The stream-independent namelist group (one of [datm_nml, dice_nml, dlnd_nml, docn_nml, drof_nml, dwav_nml]
) contains namelist input such as the data model decomposition, etc.
For users wanting to introduce new data sources for any data model, it is important to know what modes are supported and the internal field names in the data model.
That information will be used in the shr_strdata_nml
namelist and stream input files.
Users will primarily set up different data model configurations through namelist settings.
The stream input options and format are identical for all data models.
The data model-specific namelist has significant overlap between data models, but each data model has a slightly different set of input namelist variables and each model reads that namelist from a unique filename.
The detailed namelist options for each data model will be described later, but each model will specify a filename or filenames for stream namelist input and each shr_strdata_nml
namelist will specify a set of stream input files.
The following example illustrates the basic set of namelist inputs:
&dlnd_nml
decomp = '1d'
/
&shr_strdata_nml
dataMode = 'CPLHIST'
domainFile = 'grid.nc'
streams = 'streama', 'streamb', 'streamc'
mapalgo = 'interpa', 'interpb', 'interpc'
/
As mentioned above, the dataMode
namelist variable that is associated with each data model specifies if there are any additional operations that need to be performed on that data model’s input streams before return to the driver.
At a minimum, all data models support datamode
values of NULL
and COPYALL
.
NULL
- turns off the data model as a provider of data to the coupler.COPYALL
- copies all fields directly from the input data streams. Any required fields not found on an input stream will be set to zero.
Three stream description files (see input streams) are then expected to be available, streama
, streamb
and streamc
.
Those files specify the input data filenames, input data grids, and input fields that are expected, among other things.
The stream files are not Fortran namelist format.
Their format and options will be described later.
As an example, one of the stream description files might look like
<stream>
<dataSource>
GENERIC
</dataSource>
<fieldInfo>
<variableNames>
dn10 dens
slp_ pslv
q_10 shum
t_10 tbot
u_10 u
v_10 v
</variableNames>
<filePath>
/glade/proj3/cseg/inputdata/atm/datm7/NYF
</filePath>
<offset>
0
</offset>
<fileNames>
nyf.ncep.T62.050923.nc
</fileNames>
</fieldInfo>
<domainInfo>
<variableNames>
time time
lon lon
lat lat
area area
mask mask
</variableNames>
<filePath>
/glade/proj3/cseg/inputdata/atm/datm7/NYF
</filePath>
<fileNames>
nyf.ncep.T62.050923.nc
</fileNames>
</domainInfo>
</stream>
In general, these examples of input files are not complete, but they do show the general hierarchy and feel of the data model input.