Skip to content

Commit 72a45fe

Browse files
authored
Add a uw rocoto iterate action (#766)
1 parent 4d9f55d commit 72a45fe

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+768
-171
lines changed

docs/index.rst

Lines changed: 27 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -30,24 +30,24 @@ Configuration Management
3030
3131
The config tool suite helps you compare, transform, modify, and even validate your configuration. The package supports YAML, shell, Fortran namelist, and INI file formats. Configuration in any of these formats may use :jinja2:`Jinja2 syntax<templates>` to express values. These values can reference others, or compute new values by evaluating mathematical expressions, building paths, manipulating strings, etc.
3232

33-
Compare Mode
34-
""""""""""""
33+
Compare Action
34+
""""""""""""""
3535

3636
When the Linux diff tool just doesn't work for comparing unordered namelists with mixed-case keys, this is your go-to! The Fortran namelists are the *real* catalyst behind this gem, but it also works on the other configuration formats.
3737

3838
| :any:`CLI documentation with examples<cli_config_compare_examples>`
3939
40-
Realize Mode
41-
""""""""""""
40+
Realize Action
41+
""""""""""""""
4242

43-
This mode renders values created by :jinja2:`Jinja2 templates<templates>`, and lets you override values in one file or object with those from others, not necessarily with the same configuration format. With ``uwtools``, you can even reference the contents of other files to build up a configuration from its pieces.
43+
To realize a config is to render values encoded in :jinja2:`Jinja2 expressions<templates/#expressions>`, potentially overriding values in one file or object with those from others, not necessarily with the same configuration format. With ``uwtools``, you can even reference the contents of other files to build up a configuration from its pieces.
4444

4545
| :any:`CLI documentation with examples<cli_config_realize_examples>`
4646
47-
Validate Mode
48-
"""""""""""""
47+
Validate Action
48+
"""""""""""""""
4949

50-
In this mode, you can provide a :json-schema:`JSON Schema<>` file alongside your configuration to validate that it meets the requirements set by the schema. We've enabled robust logging to make it easier to repair your configs when problems arise.
50+
Provide a :json-schema:`JSON Schema<>` file alongside your configuration to validate that it meets the requirements set by the schema. We've enabled robust logging to make it easier to repair your configs when problems arise.
5151

5252
| :any:`CLI documentation with examples<cli_config_validate_examples>`
5353
@@ -57,15 +57,15 @@ Templating
5757
| **CLI**: ``uw template -h``
5858
| **API**: ``import uwtools.api.template``
5959
60-
Render Mode
61-
"""""""""""
60+
Render Action
61+
"""""""""""""
6262

63-
The ``render`` mode that gives you the full power of rendering a :jinja2:`Jinja2 template<templates>` in the same easy-to-use interface as your other workflow tools.
63+
This gives you the full power of rendering a :jinja2:`Jinja2 template<templates>` in the same easy-to-use interface as your other workflow tools.
6464

6565
| :any:`CLI documentation with examples<cli_template_render_examples>`
6666
67-
Translate Mode
68-
""""""""""""""
67+
Translate Action
68+
""""""""""""""""
6969

7070
This tool helps transform legacy configuration files templated with the atparse tool (common at :noaa:`NOAA<>`) into :jinja2:`Jinja2 templates<templates>` for use with the ``uw config realize`` and ``uw template render`` tools, or their API equivalents.
7171

@@ -87,25 +87,32 @@ There is a video demonstration of the use of the ``uw fs`` tool (formerly ``uw f
8787

8888
<iframe src="https://www.youtube.com/embed/b2HXOlt-Ulw" allowfullscreen frameborder="0" height="315" width="560"></iframe>
8989

90-
Rocoto Configurability
91-
^^^^^^^^^^^^^^^^^^^^^^
90+
Rocoto Support
91+
^^^^^^^^^^^^^^
9292

9393
| **CLI**: ``uw rocoto -h``
9494
| **API**: ``import uwtools.api.rocoto``
9595
9696
This tool is all about creating a configurable interface to the :rocoto:`Rocoto<>` workflow manager tool that produces the Rocoto XML for a totally arbitrary set of tasks. The ``uwtools`` package defines a structured YAML interface that relies on tasks you define to run. Paired with the uw config tool suite, this interface becomes highly configurable and requires no XML syntax!
9797

98-
Realize Mode
99-
""""""""""""
98+
Iterate Action
99+
""""""""""""""
100+
101+
Given a Rocoto XML workflow document, invoke Rocoto in a loop, monitoring its progress, until a specified task is complete.
102+
103+
| :any:`CLI documentation with examples<cli_rocoto_iterate_examples>`
104+
105+
Realize Action
106+
""""""""""""""
100107

101108
This is where you put in your structured YAML that defines your workflow of choice, and it pops out a verified Rocoto XML.
102109

103110
| :any:`CLI documentation with examples<cli_rocoto_realize_examples>`
104111
105-
Validate Mode
106-
"""""""""""""
112+
Validate Action
113+
"""""""""""""""
107114

108-
Do you already have a Rocoto XML but don't want to run Rocoto to make sure it works? Use the validate mode to check to see if Rocoto will be happy.
115+
Do you already have a Rocoto XML but don't want to run Rocoto to make sure it works? Use ``rocoto validate`` to check to see if Rocoto will be happy.
109116

110117
| :any:`CLI documentation with examples<cli_rocoto_validate_examples>`
111118

docs/sections/contributor_guide/developer_setup.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ As an alternative to installing the :anaconda-condev:`pre-built package<>`, the
6363
.. code-block:: text
6464
6565
# Activate your conda. Optionally, activate a non-'base' environment.
66-
conda install -y conda-build conda-verify
66+
conda install -y conda-build
6767
git clone https://github.com/maddenp/condev.git
6868
make -C condev package
6969
conda install -y -c $CONDA_PREFIX/conda-bld -c conda-forge --override-channels condev

docs/sections/user_guide/cli/Makefile.outputs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@ all: $(OUTPUTS)
1010
$(OUTPUTS):
1111
@bash $(basename $@).cmd >$@ 2>&1 | true
1212

13+
# The following targets support semi-automated output generation: They will not run automatically,
14+
# but can be manually invoked (e.g. "make foo.out" given a "foo.txt" command file) to update .out
15+
# files. They must be invoked in a context where all commands in the .txt file are available, e.g.
16+
# on an HPC where the "hsi" or "rocotorun" commands are on PATH, if those are ultimately called by
17+
# the recipe.
18+
1319
%.out: %.txt %.yaml
1420
@bash $< >$@ 2>&1 | true
1521

docs/sections/user_guide/cli/drivers/chgres_cube/run-help.out

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Optional arguments:
1919
--config-file PATH, -c PATH
2020
Path to UW YAML config file (default: read from stdin)
2121
--batch
22-
Submit run to batch scheduler
22+
Submit job to batch scheduler
2323
--dry-run
2424
Only log info, making no changes
2525
--graph-file PATH

docs/sections/user_guide/cli/drivers/esg_grid/run-help.out

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Optional arguments:
1313
--config-file PATH, -c PATH
1414
Path to UW YAML config file (default: read from stdin)
1515
--batch
16-
Submit run to batch scheduler
16+
Submit job to batch scheduler
1717
--dry-run
1818
Only log info, making no changes
1919
--graph-file PATH

docs/sections/user_guide/cli/drivers/filter_topo/run-help.out

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Optional arguments:
1313
--config-file PATH, -c PATH
1414
Path to UW YAML config file (default: read from stdin)
1515
--batch
16-
Submit run to batch scheduler
16+
Submit job to batch scheduler
1717
--dry-run
1818
Only log info, making no changes
1919
--graph-file PATH

docs/sections/user_guide/cli/drivers/fv3/run-help.out

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Optional arguments:
1717
--config-file PATH, -c PATH
1818
Path to UW YAML config file (default: read from stdin)
1919
--batch
20-
Submit run to batch scheduler
20+
Submit job to batch scheduler
2121
--dry-run
2222
Only log info, making no changes
2323
--graph-file PATH

docs/sections/user_guide/cli/drivers/global_equiv_resol/run-help.out

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Optional arguments:
1313
--config-file PATH, -c PATH
1414
Path to UW YAML config file (default: read from stdin)
1515
--batch
16-
Submit run to batch scheduler
16+
Submit job to batch scheduler
1717
--dry-run
1818
Only log info, making no changes
1919
--graph-file PATH

docs/sections/user_guide/cli/drivers/ioda/run-help.out

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Optional arguments:
1717
--config-file PATH, -c PATH
1818
Path to UW YAML config file (default: read from stdin)
1919
--batch
20-
Submit run to batch scheduler
20+
Submit job to batch scheduler
2121
--dry-run
2222
Only log info, making no changes
2323
--graph-file PATH

docs/sections/user_guide/cli/drivers/jedi/run-help.out

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Optional arguments:
1717
--config-file PATH, -c PATH
1818
Path to UW YAML config file (default: read from stdin)
1919
--batch
20-
Submit run to batch scheduler
20+
Submit job to batch scheduler
2121
--dry-run
2222
Only log info, making no changes
2323
--graph-file PATH

0 commit comments

Comments
 (0)