Workflows for the FALL3D model based on the Common Workflow Language (CWL) standard.
This is the folder structure:
base: basic workflows intended to be used as reusable componentstemplates: templates for some input files required by the modelscripts: scripts invoked by different workflow componentsexamples: some examples of practical workflows
A CWL runner is required for running CWL workflows. For example, you can
install cwltool, a Python Open Source project maintained by the CWL
community:
pip install cwltoolYou can run a workflow workflow.cwl with:
cwltool workflows.cwl arguments.yamlwhere you are passing values to your workflow input parameters via the yaml
file arguments.yaml.
Workflows can be visualized with using cwltool. A graph is generated with the
command:
cwltool --print-dot workflow.cwl | dot -Tsvg -o workflow.svgAn example of a workflow for a strong scaling can be found in the folder
examples/strong_scaling/. Run the example using the command:
cwltool miniapp_strong_scaling.cwl arguments.ymlIt runs the miniapp for different domain decomposition, reports simulation
times and generates a plot. As a result, you should obtain a summary table
with running times (summary.csv) and a figure like this:
The graph for this workflow is shown in the following figure:
The block "Run miniapp" represents a subworkflow with the graph representation:
More examples will be added to the folder `examples/` in the future
