Workflow testing

Introdution

We use the workflow manager Snakemake to test workflows which consist of the execution of several steps which are based on each other.

Requirements

  • Snakemake >= 5.27.4
    • If you use Poetry then snakemake is installed in your virtual environment in your build-directory automatically. You can then call it via poetry run snakemake ....
  • On Windows only:

Examples

These example workflows are added to ctest as well:

if(SNAKEMAKE AND NOT OGS_USE_MPI)
    add_test(NAME snakemake_ExtractBoundary
        COMMAND ${SNAKEMAKE} -j 1
            --configfile ${PROJECT_BINARY_DIR}/buildinfo.yaml
            -s ${CMAKE_CURRENT_SOURCE_DIR}/ExtractBoundary.smk
    )
    add_test(NAME snakemake_VoxelGridFromLayers
    # ...
    )
    add_dependencies(ctest ExtractBoundary Layers2Grid AddFaultToVoxelGrid)
endif()

Modularization

We started on implementing modular rule definitions and tool wrapper in scripts/snakemake.


This article was written by Lars Bilke. If you are missing something or you find an error please let us know. Generated with Hugo 0.79.0. Last revision: March 22, 2021
Commit: [web] Fix links. c495f2c7d  | Edit this page on