Zppy documentation
What is zppy?
zppy (pronounced “zippee”) is a workflow manager for post-processing
E3SM simulations, written in Python. The goal of zppy is to speed up
post-processing by automating commonly performed tasks.
zppy is built around a set of tasks that perform specific actions,
such as generating (regridded) time series or climatology files
using NCO’s ncclimo, or generating analysis figures with E3SM Diags
or MPAS-Analysis. zppy provides a framework to simplify the use of
these tools, especially for long simulations.
zppy is controlled entirely from a single user-provided configuration file
(e.g., mysimulation.cfg). This configuration file specifies input and
output directories, as well as the list of tasks to run. Each task operates
for a specific model component and over a specified number of years—for
example, generating atmosphere climatology files every 20 and 50 years.
zppy parses the configuration file and generates batch jobs that are
submitted for execution by SLURM. Dependencies between tasks are handled and
passed to SLURM. Internally, each batch job is created by instantiating
Jinja template scripts (usually
written in bash, but other languages are supported as well).
User Guide
Developer Guide
- Developer Guide
- Project Standards
- Understanding CI
- Contributing to This Documentation
- Tasks (Developer Reference)
- Testing zppy
- Testing directions for making a release
- How to Prepare a Release
- Adding a new task
- Adding a new set to the E3SM Diagnostics task
- Adding a new plot to Global Time Series
- Testing zppy for E3SM Unified release
- Archive