What is zppy?¶
zppy (pronounced “zippee”) is a post-processing toolchain for E3SM written in
Python. The goal of
zppy is to speed-up the post-processing of E3SM simulations
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
ncclimo, or generating analysis figures with E3SM Diags
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).
The figure below illustrates schematically how zppy functions.
It also shows possible dependencies in
- Zppy documentation
- Getting started
- Developer Guide
- Contributing to This Documentation