Parameters
Parameters make use of inheritance. Parameters set in [default] can
be overridden by parameters set in a [section], which can themselves
be overridden by parameters set in a [[subsection]].
Warning
Note that some parameters will be overridden by defaults if you define them too high up in the inheritance hierarchy.
See this release’s parameter defaults on GitHub for a complete list of parameters and their default values. You can also view the most up-to-date, unreleased parameter defaults.
Parameters for individual tasks
For per-task parameter tables, see the Tasks section.
Parameters at the top-level
These parameters appear in the top-level [default] section of zppy/defaults/default.ini. They can be overridden in individual tasks and subtasks.
There are 38 (non-deprecated) parameters that can be defined at the top level.
Input specifics
There are 2 input-specific parameters:
Parameter |
Required |
Default |
Description |
|---|---|---|---|
|
Yes |
(none) |
The case name of the simulation. |
|
Yes |
(none) |
The top-level directory of the simulation output to post-process. |
Output specifics
There are 6 output-specific parameters:
Parameter |
Required |
Default |
Description |
|---|---|---|---|
|
Yes |
(none) |
Where the post-processing results ( |
|
Yes |
(none) |
Where the post-processing visuals should go (to be viewed online). |
|
No |
|
Specify which campaign you are running. Campaigns can be found in |
|
No |
|
Set to True to have |
|
No |
|
This should be set to True if you don’t want the batch jobs to be submitted. I.e., you only want to see what would be submitted. |
|
No |
|
If set to False, zppy will launch other jobs, if possible. |
Machine specifics
There are 8 machine-specific parameters:
Parameter |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
SLURM account to charge. |
|
No |
|
The constraint of the machine to run on. |
|
No |
|
Number of compute nodes. |
|
No |
|
The |
|
No |
|
SLURM partition to submit the job to. |
|
No |
|
Quality of service |
|
No |
|
If you have access to a node reservation, specify it here. |
|
No |
|
Maximum wall time for the SLURM job. |
Environment specifics
There are 3 environment-specific parameters:
Parameter |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Shell commands to set up the software environment before running the
task (e.g., |
|
No |
|
Shell commands to set up the secondary software environment before running the task (e.g., |
|
No |
|
Keep as the empty string to use production-version NCO commands. Set to the development-version path to use that instead. |
Inference specifics
There are 2 inference-specific parameters. See “Parameter checking & inferring” below for more info.
Parameter |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
If true, infer file paths not given. |
|
No |
|
If true, infer dependencies not given. |
Dependency specifics
There are 7 dependency-specific parameters. See Dependencies for more info on which tasks depend on which.
Parameter |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Grid name of the atmosphere |
|
No |
|
Name of the |
|
No |
|
Grid name of the |
|
No |
|
Grid name of the land |
|
No |
|
Name of the |
|
No |
|
Years increment from the dependent |
|
No |
|
Name of the |
Task specifics
There are 10 task-specific parameters:
Parameter |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
Set to |
|
No |
|
(Set on individual tasks) Name of the bundle to include this task in. |
|
No |
|
The frequency of the data. Options include “monthly”, “diurnal_8xdaily”, “daily”. |
|
No |
|
Name of the output grid (e.g., |
|
No |
|
Pattern matching the input history files (e.g., |
|
No |
|
Subdirectory under |
|
No |
|
Path to the mapping (regridding) file. Leave empty for no regridding. |
|
No |
|
External zppy plugin modules |
|
No |
|
Variables to process. An empty string processes all variables. |
|
No |
|
Year ranges to process. Format: |
Deprecated Parameters
There is 1 deprecated parameter. Specifying it will have no effect.
ncclimo_cmd
Parameter checking & inferring
There are two types of inferences, each with their own parameter in default.ini:
infer_path_parameters: infer paths that are not explicitly provided in the configuration file. Default isTrue.infer_section_parameters: infer subtask dependency names that are not explicitly provided in the configuration file. Default isTrue.
Section inferences
For the climo, ts, e3sm_to_cmip, and e3sm_diags tasks:
If
subsection(the name of the subtask) is undefined, just use the value ofgrid.
For the e3sm_to_cmip task:
If
ts_subsection(the name of thetssubtask that thise3sm_to_cmipsubtask is dependent on) is undefined, assume it had the same name as thise3sm_to_cmipsubtask.
For the ilamb task:
If
ts_land_subsection(the name of thetsland-specific subtask that thisilambtask is dependent on), assume it island_monthly.If
e3sm_to_cmip_land_subsection(the name of thee3sm_to_cmipland-specific subtask that thisilambtask is dependent on), again assume it island_monthly.If we are not doing a
land_onlyrun andts_atm_subsection(the name of thetsatm-specific subtask that thisilambtask is dependent on), assume it isatm_monthly_180x360_aave.If we are not doing a
land_onlyrun ande3sm_to_cmip_atm_subsection(the name of thee3sm_to_cmipatm-specific subtask that thisilambtask is dependent on), again assume it isatm_monthly_180x360_aave.
For the livvkit task:
A grid-native climatology must be generated, assumed to be
land_monthly_climo_nativeFor each reanalysis comparison to be performed, a corresponding
land_monthly_climo_GRIDwhereGRIDcorresponds to the reanalysis grid name- Available reanalysis comparisons are
racmo_gis, racmo_ais
merra2
era5
ceres (default cmip6 grid)
Path inferences
For the e3sm_diags task:
If
reference_data_path(the path to the reference data) is undefined, assume it is thediagnostics_base_pathfrom Mache plus/observations/Atm/climatology/. (So, it is important to change this for model-vs-model runs).
For the mpas_analysis task:
reference_data_pathandtest_data_pathare optional and are only used for model-vs-model comparisons. If provided,zppyuses them to locate the MPAS-Analysis config files from a previous MPAS-Analysis run and passes those through to MPAS-Analysis ascontrolRunConfigFile(reference) andmainRunConfigFile(test).The comparison type of the current MPAS-Analysis run is inferred implicitly: if
reference_data_pathis set, the run is treated as model-vs-model (mvm); otherwise it is treated as model-vs-observations (mvo). Users normally do not need to set a comparison type for the current run.Note
These parameter names are intentionally consistent with the terminology used by
e3sm_diagsfor model-vs-model runs: in both cases,reference_data_pathidentifies the reference simulation’s zppy-generated outputs.The practical difference is what each downstream tool consumes:
e3sm_diagsneedsreference_data_pathto be the specific directory containing the reference climatology files (typically under the reference run’spost/.../climtree), whereasmpas_analysisneeds to find the reference MPAS-Analysis config file. For MPAS-Analysis,zppyresolves the config file whenreference_data_pathpoints to the prior run’s zppy output directory (the one containingpost/).reference_data_pathis intended to point to the prior run’s zppy output directory (the one containingpost/).zppywill then use:<reference_data_path>/post/analysis/mpas_analysis/<comparison_type>/cfg/mpas_analysis_<identifier>.cfgwhere<comparison_type>ismvoormvm.For referenced prior runs,
reference_comparison_typeandtest_comparison_typecan be set to"auto","mvo", or"mvm". The default is"auto". In auto mode:if the path points to
[[subsection]], zppy uses the referenced subsection’s actual comparison typeif the path points to an external zppy output directory, zppy looks for the matching cfg under
mvoandmvmif both exist for the same identifier, zppy raises an error and the user should set
reference_comparison_typeortest_comparison_typeexplicitly
When
reference_data_pathis set to a non-subsection path,reference_caseis required so the MVM output directory can include the reference case name. Ifreference_data_pathis set to[[subsection]],reference_caseis inferred to be the same as the currentcase.
MPAS-Analysis model-vs-model year ranges
MPAS-Analysis comparisons are configured by year ranges, similar to other zppy tasks.
For model-vs-model comparisons, zppy supports separate year ranges for the test and reference runs:
ts_years,climo_years,enso_yearsdefine the test run year ranges.If
test_data_pathreferences a prior[mpas_analysis]subsection using[[subsection]], and these values are not provided, zppy uses that subsection’s year ranges instead.
ref_ts_years,ref_climo_years,ref_enso_yearsoptionally override the reference run year ranges.
If a ref_*_years parameter is not provided, it defaults to the corresponding test year ranges.
If reference_data_path references a prior [mpas_analysis] subsection using [[subsection]],
the defaults come from that subsection’s year ranges instead.
If a ref_*_years parameter contains a single range and multiple test ranges are requested, the single reference range is used for each test range.
For the ilamb task:
If
ilamb_obs(the path to observation data forilamb) is undefined, assume it is thediagnostics_base_pathfrom Mache plus/ilamb_data.
Deprecated parameters
The following zppy parameters no longer perform any function.
These are no longer defined in zppy/defaults/default.ini:
e3sm_to_cmip_environment_commands
ts_fmt
scratch
atmosphere_only
plot_names
vars_exclude
These are still defined in zppy/defaults/default.ini, but have no effect: