.. _task-pcmdi-diags:
pcmdi_diags — PCMDI Metrics
============================
The ``pcmdi_diags`` task runs `PCMDI Metrics Package (PMP)
`_ diagnostics to compute climate
model performance metrics. It depends on the :doc:`e3sm_to_cmip` task for
CMIP-format input data.
Diagnostic sets
---------------
The ``current_set`` parameter selects which PMP diagnostic to run:
- ``mean_climate`` — climatological mean metrics
- ``variability_modes_cpl`` — coupled variability modes (PDO, NPGO, AMO)
- ``variability_modes_atm`` — atmospheric variability modes (NAM, NAO, PNA, etc.)
- ``enso`` — ENSO metrics (not currently enabled by default)
- ``synthetic_plots`` — composite viewer page combining outputs from other sets
Parameters
----------
These 71 parameters are specific to the ``pcmdi_diags`` task.
Task-level parameters (all sets)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There are 6 task-level (all sets) parameters:
.. list-table::
:header-rows: 1
:widths: 28 10 18 44
* - Parameter
- Required
- Default
- Description
* - ``figure_format``
- No
- ``"png"``
- Output figure format.
* - ``run_type``
- No
- ``"model_vs_obs"``
- ``"model_vs_obs"`` or ``"model_vs_model"``.
* - ``model_name``
- No
- ``"e3sm.historical.v3-LR.0051"``
- Model name (required for model-vs-observations runs).
* - ``model_tableID``
- No
- ``"Amon"``
- CMIP table ID (required for model-vs-observations runs).
* - ``model_name_ref``
- No
- ``"ERA5"``
- Reference model name (required for model-vs-model runs).
* - ``model_tableID_ref``
- No
- ``"Amon"``
- Reference CMIP table ID (required for model-vs-model runs).
Task-level parameters (all sets except synthetic_plots)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There are 14 task-level (all sets except synthetic_plots) parameters:
.. list-table::
:header-rows: 1
:widths: 28 10 18 44
* - Parameter
- Required
- Default
- Description
* - ``e3sm_to_cmip_atm_subsection``
- No
- ``""``
- Name of the ``[e3sm_to_cmip]`` atmosphere subtask to depend on.
* - ``generate_sftlf``
- No
- ``True``
- Process the land/sea mask within PCMDI.
* - ``mov_plot_obs``
- No
- ``True``
- Generate variability-modes observation plots.
* - ``mov_plot_model``
- No
- ``True``
- Generate variability-modes model plots.
* - ``mov_nc_out_obs``
- No
- ``True``
- Write variability-modes observation NetCDF output.
* - ``mov_nc_out_model``
- No
- ``True``
- Write variability-modes model NetCDF output.
* - ``multiprocessing``
- No
- ``True``
- Use multiprocessing.
* - ``num_workers``
- No
- ``24``
- Number of worker processes.
* - ``obs_ts``
- No
- ``""``
- Path to observation time-series data.
* - ``pcmdi_debug``
- No
- ``False``
- Enable debug mode in PCMDI diagnostics.
* - ``save_test_clims``
- No
- ``True``
- Save derived test climatology data.
* - ``reference_data_path``
- No
- ``""``
- Path to reference model data for model-vs-model runs.
* - ``reference_data_path_ts``
- No
- ``""``
- Path to reference model time-series data for model-vs-model runs.
* - ``ts_years``
- No
- ``[""]``
- Year ranges for test model data.
Per-subtask shared parameters
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There are 5 per-subtask shared parameters:
.. list-table::
:header-rows: 1
:widths: 28 10 18 44
* - Parameter
- Required
- Default
- Description
* - ``current_set``
- No
- ``""``
- Diagnostic set to run.
* - ``obs_sets``
- No
- ``"default"``
- Observational dataset aliases to use.
* - ``ref_final_yr``
- No
- ``""``
- End year for reference data.
* - ``ref_start_yr``
- No
- ``""``
- Start year for reference data.
* - ``ref_years``
- No
- ``[""]``
- Year ranges for reference data.
Mean_climate parameters
~~~~~~~~~~~~~~~~~~~~~~~
There are 7 mean_climate parameters:
.. list-table::
:header-rows: 1
:widths: 28 10 18 44
* - Parameter
- Required
- Default
- Description
* - ``cmip_vars``
- No
- ``"pr,prw,psl,..."``
- CMIP variables to include for mean-climate diagnostics.
* - ``target_grid``
- No
- ``"1x1"``
- Target regridding grid.
* - ``target_grid_string``
- No
- ``"1px1p"``
- Descriptor string for the target grid.
* - ``regrid_tool``
- No
- ``"esmf"``
- Regridding tool for atmosphere fields.
* - ``regrid_tool_ocn``
- No
- ``"esmf"``
- Regridding tool for ocean fields.
* - ``regrid_method``
- No
- ``"regrid2"``
- Regridding method for atmosphere fields.
* - ``regrid_method_ocn``
- No
- ``"conservative"``
- Regridding method for ocean fields.
Mean_climate & synthetic_plots parameters
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There are 2 mean_climate & synthetic_plots parameters:
.. list-table::
:header-rows: 1
:widths: 28 10 18 44
* - Parameter
- Required
- Default
- Description
* - ``clim_vars``
- No
- ``"pr,prw,psl,..."``
- Variables for mean-climate and synthetic-plot diagnostics.
* - ``clim_regions``
- No
- ``"global,ocean,land"``
- Regions used for mean-climate metrics.
Variability_modes parameters
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There are 9 variability_modes parameters:
.. list-table::
:header-rows: 1
:widths: 28 10 18 44
* - Parameter
- Required
- Default
- Description
* - ``CBF``
- No
- ``True``
- Use Common Base Function approach.
* - ``ConvEOF``
- No
- ``True``
- Compute conventional EOF.
* - ``eofn_mod_max``
- No
- ``3``
- Maximum number of EOF modes for model data.
* - ``EofScaling``
- No
- ``False``
- Apply EOF scaling.
* - ``landmask``
- No
- ``False``
- Apply land-mask handling in variability diagnostics.
* - ``ModUnitsAdjust``
- No
- ``""``
- Unit-adjustment keywords for model data.
* - ``ObsUnitsAdjust``
- No
- ``""``
- Unit-adjustment keywords for observation data.
* - ``RmDomainMean``
- No
- ``True``
- Remove domain mean before variability calculations.
* - ``seasons``
- No
- ``"monthly"``
- Seasons/frequency bins to analyze.
Variability_modes & synthetic_plots parameters
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There are 4 variability_modes & synthetic_plots parameters:
.. list-table::
:header-rows: 1
:widths: 28 10 18 44
* - Parameter
- Required
- Default
- Description
* - ``mova_vars``
- No
- ``"psl"``
- Variables for ``variability_modes_atm``.
* - ``mova_modes``
- No
- ``"NAM,NAO,PNA,NPO,SAM,PSA1,PSA2"``
- Modes for ``variability_modes_atm``.
* - ``movc_vars``
- No
- ``"ts"``
- Variables for ``variability_modes_cpl``.
* - ``movc_modes``
- No
- ``"PDO,NPGO,AMO"``
- Modes for ``variability_modes_cpl``.
ENSO parameters
~~~~~~~~~~~~~~~
There is 1 ENSO parameter:
.. list-table::
:header-rows: 1
:widths: 28 10 18 44
* - Parameter
- Required
- Default
- Description
* - ``enso_groups``
- No
- ``"ENSO_perf,ENSO_proc,ENSO_tel"``
- ENSO metric groups to run.
ENSO & synthetic_plots parameters
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There is 1 ENSO & synthetic_plots parameter:
.. list-table::
:header-rows: 1
:widths: 28 10 18 44
* - Parameter
- Required
- Default
- Description
* - ``enso_vars``
- No
- ``"psl,pr,prsn,ts,tas,tauu,tauv,hflx,hfss,rlds,rsds,rlus,rlut,rsdt"``
- Variables used by ENSO diagnostics.
Synthetic_plots parameters
~~~~~~~~~~~~~~~~~~~~~~~~~~
There are 22 synthetic_plots parameters:
.. list-table::
:header-rows: 1
:widths: 28 10 18 44
* - Parameter
- Required
- Default
- Description
* - ``clim_viewer``
- No
- ``True``
- Include mean-climate panels in the synthetic viewer.
* - ``clim_years``
- No
- ``""``
- Year range used for mean-climate synthetic panels.
* - ``mova_viewer``
- No
- ``True``
- Include atmospheric variability-mode panels in the synthetic viewer.
* - ``mova_years``
- No
- ``""``
- Year range used for atmospheric variability synthetic panels.
* - ``movc_viewer``
- No
- ``True``
- Include coupled variability-mode panels in the synthetic viewer.
* - ``movc_years``
- No
- ``""``
- Year range used for coupled variability synthetic panels.
* - ``enso_viewer``
- No
- ``False``
- Include ENSO panels in the synthetic viewer.
* - ``enso_years``
- No
- ``""``
- Year range used for ENSO synthetic panels.
* - ``save_all_data``
- No
- ``True``
- Save all intermediate synthetic-diagnostic data.
* - ``reference_alias``
- No
- ``"inclusions/pcmdi_diags/reference_alias.json"``
- Observation alias file.
* - ``regions_specs``
- No
- ``"inclusions/pcmdi_diags/regions_specs.json"``
- Region-specification file.
* - ``pcmdi_version``
- No
- ``"v3.8.2"``
- Version tag for the zppy-pcmdi workflow.
* - ``pcmdi_viewer_template``
- No
- ``"pcmdi_data/viewer"``
- Template directory for synthetic-viewer generation.
* - ``pcmdi_webtitle``
- No
- ``"E3SM-PMP-Diagnostics"``
- Title used in generated PCMDI web output.
* - ``synthetic_metrics_list``
- No
- ``"inclusions/pcmdi_diags/synthetic_metrics_list.json"``
- Metrics-list file used to assemble synthetic plots.
* - ``synthetic_sets``
- No
- ``"portrait,parcoord"``
- Synthetic plot types to generate.
* - ``cmip_clim_dir``
- No
- ``""``
- Directory containing CMIP mean-climate metrics.
* - ``cmip_enso_dir``
- No
- ``""``
- Directory containing CMIP ENSO metrics.
* - ``cmip_movs_dir``
- No
- ``""``
- Directory containing CMIP variability-mode metrics.
* - ``cmip_clim_set``
- No
- ``"cmip6.historical.v20250707"``
- CMIP mean-climate metrics set ID.
* - ``cmip_enso_set``
- No
- ``"cmip6.historical.v20210620"``
- CMIP ENSO metrics set ID.
* - ``cmip_movs_set``
- No
- ``"cmip6.historical.v20220825"``
- CMIP variability-mode metrics set ID.
Parameters at the top-level
~~~~~~~~~~~~~~~~~~~~~~~~~~~
These 3 parameters have ``pcmdi_diags``-specific defaults, which means even if
they are set at the top level (``[default]``) section, these default values
will be used instead. Therefore, to specify custom values, these parameters
must be defined inside ``[pcmdi_diags]``:
.. list-table::
:header-rows: 1
:widths: 28 10 18 44
* - Parameter
- Required
- Default
- Description
* - ``grid``
- No
- ``"180x360_aave"``
- Model data grid after remapping. Overrides the ``[default]`` value
(``""``).
* - ``ts_num_years``
- No
- ``5``
- Year increment for test model data. Overrides the
``[default]`` value (``5``), which in this case is actually the same value.
* - ``frequency``
- No
- ``"mo"``
- Data frequency for variability-mode calculations. Overrides the
``[default]`` value (``"monthly"``).
For other top-level parameters, see :ref:`top-level parameters `.
Dependencies
------------
**Upstream (what pcmdi_diags depends on):**
- :doc:`ts` — Monthly-atm ts: mean_climate, variability_modes_atm,variability_modes_cpl, enso
- :doc:`e3sm_to_cmip` — Monthly-atm e3sm_to_cmip: mean_climate, variability_modes_atm,variability_modes_cpl, enso
- Note that the synthetic_plots set depends on the other sets.
**Downstream (what depends on pcmdi_diags):**
- None.