Skip to content

[Feature]: model-vs-model for mpas-analysis #771

@forsyth2

Description

@forsyth2

How will this affect the next version number?

New feature (increment MINOR version)

Is your feature request related to a problem?

mpas-analysis currently doesn't offer built-in model-vs-model support. This is a similar request to #637 (which is for global-time-series). Currently, only e3sm_diags and pcmdi_diags enable model-vs-model support parameters.

Describe the solution you'd like

Claude's suggestions

Note:
doc1 = mpas_analysis.py
doc2 = mpas_analysis.bash
doc3 = default.ini

Based on the code provided, ZPPY does not currently support model-vs-model comparisons for MPAS-Analysis. Here's what I found:

Current Limitations

Looking at the MPAS-Analysis implementation in zppy:

  1. No model-vs-model parameters: The configuration file (document 3) doesn't define controlRunConfigFile or mainRunConfigFile parameters under the [mpas_analysis] section.

  2. Single run design: The Python code (document 1) only processes a single model run - it sets mainRunName = {{ case }} in the generated config but has no provisions for a control/reference run.

  3. Template structure: The bash template (document 2) generates a single MPAS-Analysis configuration file that only references one simulation's data through variables like {{ input }}, {{ case }}, etc.

What Would Be Needed

To support model-vs-model comparisons in zppy, the following would need to be added:

  1. Configuration parameters in the [mpas_analysis] section:
controlRunConfigFile = string(default="")
mainRunConfigFile = string(default="")
# Or alternatively:
reference_case = string(default="")
reference_input = string(default="")
  1. Python code modifications to handle the control run parameters and pass them to the template

  2. Template updates to include control run settings in the generated MPAS-Analysis config

Current Workaround

If you need model-vs-model comparison, you would currently need to:

  • Run zppy separately for each simulation
  • Manually configure MPAS-Analysis for model-vs-model after zppy completes
  • Or use MPAS-Analysis directly outside of zppy for the comparison

Describe alternatives you've considered

Careful attention should be paid to parameters to differentiate between model_vs_obs and model_vs_model.

Additional context

Requested by @erinethomas

Metadata

Metadata

Assignees

No one assigned

    Labels

    semver: new featureNew feature (will increment minor version)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions