A schematic view of zppy
The above diagram shows the major components of the zppy workflow:
The config file. Users launch
zppywithzppy -c config.cfg. Parameters are set based on a hierarchy:default.ini’s default parameter settings; the[default]section; the[[task]]section; the[[subtask]]section.Jinja2 bash templates. Parameters from the
cfgcan be substituted in.Insantiated bash scripts. By substituting the appropriate values from the
cfginto the relevant bash template,zppyis able to create working bash scripts and then run them. For example, if a user wants to run 200 years of analysis in 20 year increments, they just need to specify1:200:20andzppywill know to launch 10 scripts to cover that time period.Dependency awareness.
zppywill know if a job can’t yet be launched. For more on this, see dependencies.
If users re-run zppy only previously failed or newly requested jobs will be launched.