Proof-of-Concept for an ICON-CLM workflow using AiiDA.
This is a proof of concept porting part of the GCM2Icon workflow from SPICE to AiiDA.
There is an example for running the workflow for running GCM2Icon, which requires the following:
- A working installation and profile of AiiDA.
- This plugin installed.
- IPython installed.
- A computer (SLURM cluster to which you can authenticate through AiiDA). The example assumes it to be named "Daint", but this can be changed easily.
- A SPICE GCM2Icon workflow set up at a specific path on the computer
- Certain data files at a specific path on the computer
- All the paths can be changed without touching the source code, but this might not be obvious how to do.
After installing AiiDA
, preferrably in a container or virtualenv, run pip install .
(or pip install -e .
for development) in the same python environment.
AiiDA topics not covered in the given examples:
- running shell commands (not scripts): https://aiida-shell.readthedocs.io/en/latest/
- proper testing of plugins (with database isolation and mocked clusters etc)
- deleting data from intermediary steps to avoid filling up scratch quota (compare
verdi calcjob cleanworkdir
command) - error recovery in workflows
- building higher level APIs for customizing workflows. The above mentioned
aiida-shell
plugin is an example for one way of doing that. - improving data queries with extras (the example is for
Code
s but works for all data types), user defined database node metadata.
This project has been set up using PyScaffold 4.2.1. For details and usage information on PyScaffold see https://pyscaffold.org/.