upp
Structured YAML to run the UPP post-processor is validated by JSON Schema and requires the upp: block, described below. If UPP is to be run via a batch system, the platform: block, described here, is also required.
This driver receives a
cycleargument, which it makes available as a Pythondatetimeobject to Jinja2 when realizing its input config. This supports specification of cycle-specific values. For example, the key-value pairgfs.t{{ cycle.strftime('%H') }}z.atmanl.nc: /some/path/{{ cycle.strftime('%Y%m%d%H') }}/gfs.t{{ cycle.strftime('%H') }}z.atmanl.nc
would be rendered as
gfs.t18z.atmanl.nc: /some/path/2024021218/gfs.t18z.atmanl.nc
for cycle
2024-02-12T18.
This driver receives a
leadtimeargument, which it makes available as a Pythontimedeltaobject to Jinja2 when realizing its input config. This supports specification of leadtime-specific values. For example, the key-value pairsdatestr: "{{ (cycle + leadtime).strftime('%Y-%m-%d_%H:%M:%S') }}" suffix: f{{ '%03d' % (leadtime.total_seconds() / 3600) }}
would be rendered as
datestr: 2024-05-09_06:00:00 suffix: f018
for cycle
2024-05-08T12and leadtime18.
Here is a prototype UW YAML upp: block, explained in detail below:
upp:
control_file: /path/to/postxconfig-NT.txt
execution:
batchargs:
export: NONE
nodes: 1
walltime: "00:05:00"
envcmds:
- module use /path/to/modulefiles
- module load runtime-module
- source /etc/profile.d/slurm.sh
executable: /path/to/upp.x
mpiargs:
- "--ntasks $SLURM_CPUS_ON_NODE"
mpicmd: srun
files_to_link:
eta_micro_lookup.dat: /path/to/nam_micro_lookup.dat
params_grib2_tbl_new: /path/to/params_grib2_tbl_new
namelist:
base_file: /path/to/base.nml
update_values:
model_inputs:
datestr: "{{ (cycle + leadtime).strftime('%Y-%m-%d_%H:%M:%S') }}"
filename: /path/to/dynf{{ '%03d' % (leadtime.total_seconds() / 3600) }}.nc
filenameflux: /path/to/phyf{{ '%03d' % (leadtime.total_seconds() / 3600) }}.nc
grib: grib2
ioform: netcdf
modelname: FV3R
submodelname: RTMA
nampgb:
kpo: 3
numx: 1
po:
- 1000
- 100
- 1
validate: true
rundir: /path/to/run/dir
platform:
account: me
scheduler: slurm
UW YAML for the upp: Block
execution:
See this page for details.
files_to_copy:
See this page for details.
files_to_hardlink:
Identical to files_to_copy: except that hard links will be created in the run directory instead of copies, when possible. Otherwise a copy will be created.
files_to_link:
Identical to files_to_copy: except that symbolic links will be created in the run directory instead of copies.
namelist:
Supports base_file: and update_values: blocks (see Updating Values for details).
The following namelists and variables can be customized:
Namelist |
Variables |
|---|---|
|
|
|
|
Read more on the UPP namelists, including variable meanings and appropriate values, here.
Before the namelist file is written, its proposed content will be validated against the appropriate schema. This can be suppressed by setting validate: false in the UW YAML configuration block for the namelist.
rundir:
The path to the run directory.