You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add mpas_analysis_subsection parameter to global_time_series (#788)
* Add mpas_analysis_subsection parameter to global_time_series
* Allow multiple mpas_analysis subsections
* Fix mpas_analysis status file names.
We need to use the climatology and time series bounds from that
analysis, rather than from global time series, to construct their
filenames.
To make this easier and better share code, the bulk of this work
happens in the mpas_analysis module, not in global_time_series.
* Add unit tests to ensure correct status filenames
* Add comparison_type subdir
* Put mpas_analysis runs in mvo or mvm subdirs
This requires having a way for a user to specify whether an
external reference run (not defined in a given config file as
a subsection) was `mvo` or `mvm` via a new `reference_comparison_type`
config option.
* Update the docs with reference_comparison_type, etc.
* Update auto-generated files
---------
Co-authored-by: Xylar Asay-Davis <xylarstorm@gmail.com>
Copy file name to clipboardExpand all lines: docs/source/parameters.rst
+16-2Lines changed: 16 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -76,6 +76,11 @@ For the ``mpas_analysis`` task:
76
76
* ``reference_data_path`` and ``test_data_path`` are optional and are only used for model-vs-model comparisons.
77
77
If provided, ``zppy`` uses them to locate the MPAS-Analysis config files from a *previous* MPAS-Analysis run and passes those through to MPAS-Analysis as ``controlRunConfigFile`` (reference) and ``mainRunConfigFile`` (test).
78
78
79
+
The comparison type of the *current* MPAS-Analysis run is inferred implicitly:
80
+
if ``reference_data_path`` is set, the run is treated as model-vs-model (``mvm``);
81
+
otherwise it is treated as model-vs-observations (``mvo``). Users normally do
82
+
not need to set a comparison type for the current run.
83
+
79
84
.. note::
80
85
These parameter names are intentionally consistent with the terminology used by ``e3sm_diags`` for model-vs-model runs: in both cases, ``reference_data_path`` identifies the *reference simulation's zppy-generated outputs*.
81
86
@@ -84,7 +89,16 @@ For the ``mpas_analysis`` task:
84
89
For MPAS-Analysis, ``zppy`` resolves the config file when ``reference_data_path`` points to the prior run's zppy output directory (the one containing ``post/``).
85
90
86
91
``reference_data_path`` is intended to point to the prior run's zppy output directory (the one containing ``post/``). ``zppy`` will then use:
87
-
``<reference_data_path>/post/analysis/mpas_analysis/cfg/mpas_analysis_<identifier>.cfg`` (or ``mpas_analysis_mvm`` if the referenced run was MVM).
where ``<comparison_type>`` is ``mvo`` or ``mvm``.
94
+
95
+
For referenced prior runs, ``reference_comparison_type`` and
96
+
``test_comparison_type`` can be set to ``"auto"``, ``"mvo"``, or ``"mvm"``.
97
+
The default is ``"auto"``. In auto mode:
98
+
99
+
* if the path points to ``[[subsection]]``, zppy uses the referenced subsection's actual comparison type
100
+
* if the path points to an external zppy output directory, zppy looks for the matching cfg under ``mvo`` and ``mvm``
101
+
* if both exist for the same identifier, zppy raises an error and the user should set ``reference_comparison_type`` or ``test_comparison_type`` explicitly
88
102
89
103
When ``reference_data_path`` is set to a non-subsection path, ``reference_case`` is required so the MVM output directory can include the reference case name. If ``reference_data_path`` is set to ``[[subsection]]``, ``reference_case`` is inferred to be the same as the current ``case``.
90
104
@@ -132,4 +146,4 @@ In ``e3sm_diags.py``:
132
146
* ``check_mvm_only_parameters_for_bash``: similar, but these are specifically parameters used for model-vs-model runs. Uses ``check_parameter_defined`` in addition to ``check_set_specific_parameter``.
133
147
* ``check_and_define_parameters``: make sure all parameters are defined, using ``utils.py get_value_from_parameter``, ``utils.py set_value_of_parameter_if_undefined``, and ``check_mvm_only_parameters_for_bash``.
134
148
135
-
``check_parameters_for_bash`` can be run immediately for each subtask because it has very few conditions. Other checks are included in ``check_and_define_parameters`` later on in the code.
149
+
``check_parameters_for_bash`` can be run immediately for each subtask because it has very few conditions. Other checks are included in ``check_and_define_parameters`` later on in the code.
0 commit comments