make_hgrid
The uw mode for configuring and running the UFS Utils preprocessing component make_hgrid. Documentation for this UFS Utils component is here.
uw make_hgrid --help
usage: uw make_hgrid [-h] [--version] TASK ...
Execute make_hgrid tasks
Optional arguments:
-h, --help
Show help and exit
--version
Show version info and exit
Positional arguments:
TASK
provisioned_run_directory
Run directory provisioned with all required content
run
A run
runscript
The runscript
validate
Validate the UW driver config
All tasks take the same arguments. For example:
uw make_hgrid run --help
usage: uw make_hgrid run [-h] [--version] [--config-file PATH] [--batch]
[--dry-run] [--graph-file PATH]
[--key-path KEY[.KEY...]] [--quiet] [--verbose]
A run
Optional arguments:
-h, --help
Show help and exit
--version
Show version info and exit
--config-file PATH, -c PATH
Path to UW YAML config file (default: read from stdin)
--batch
Submit run to batch scheduler
--dry-run
Only log info, making no changes
--graph-file PATH
Path to Graphviz DOT output [experimental]
--key-path KEY[.KEY...]
Dot-separated path of keys leading through the config to the driver's
configuration block
--quiet, -q
Print no logging messages
--verbose, -v
Print all logging messages
Examples
The examples use a configuration file named config.yaml with contents similar to:
make_hgrid:
config:
do_schmidt: true
great_circle_algorithm: true
grid_name: C96_foo
grid_type: gnomonic_ed
halo: 1
iend_nest:
- 87
istart_nest:
- 10
jend_nest:
- 78
jstart_nest:
- 19
nest_grids: 1
nlon:
- 192
parent_tile:
- 6
refine_ratio:
- 2
stretch_factor: 1.0001
target_lat: 38.5
target_lon: -97.5
execution:
batchargs:
nodes: 1
stdout: /path/to/runscript.out
walltime: "08:00:00"
executable: /path/make_hgrid
run_dir: /path/to/make_hgrid
Its contents are described in section make_hgrid.
Run
make_hgridon an interactive node$ uw make_hgrid run --config-file config.yaml
The driver creates a
runscript.make_hgridfile in the directory specified byrun_dir:in the config and runs it, executingmake_hgrid.Run
make_hgridvia a batch job$ uw make_hgrid run --config-file config.yaml --batch
The driver creates a
runscript.make_hgridfile in the directory specified byrun_dir:in the config and submits it to the batch system. Running with--batchrequires a correctly configuredplatform:block inconfig.yaml, as well as appropriate settings in theexecution:block undermake_hgrid:.Looking at the run command in
runscript.make_hgridshows us the specified executable as well as the YAML keys converted to appropriate command line flags.time make_hgrid --grid_type gnomonic_ed --do_schmidt --great_circle_algorithm --grid_name C96_foo --halo 1 --nest_grids 1 --istart_nest 10 --iend_nest 87 --jstart_nest 19 --jend_nest 78 --nlon 192 --parent_tile 6 --refine_ratio 2 --stretch_factor 1.0001 --target_lon -97.5 --target_lat 38.5
Specifying the
--dry-runflag results in the driver logging messages about actions it would have taken, without actually taking any.$ uw make_hgrid run --config-file config.yaml --batch --dry-run
The
--key-pathoption can be used to navigate from the top of the config to the driver’s configuration block. For example, specifying--key-path foo.barwith configfoo: bar: driver: # driver config block
is equivalent to using config
driver: # driver config block
without specifying
--key-path.