Usage
open-gira
is comprised of a set of snakemake
rules which call scripts and
library code to request data, process it and produce results.
Snakemake
The key idea of snakemake
is similar to make
in that the workflow is
determined from the end (the files users want) to the beginning (the files
users have, if any) by applying general rules with pattern matching on file and
folder names.
A example invocation looks like:
snakemake --cores 2 -- results/wales-latest_filter-road-primary/edges.gpq
Here, we ask snakemake
to use up to 2 CPUs to produce a target file, in this
case, the edges of the Welsh road network. snakemake
pattern matches
wales-latest
as the OSM dataset name and filter-road
as the network type we
want to filter for.
To check what work we're going to request before commencing, use the -n
flag:
snakemake -n --cores 2 -- results/wales-latest_filter-road-primary/edges.gpq
This will explain which rules will be required to run to produce the target file. It may be helpful to visualise which rules are expected to run, too.
Configuration
The snakemake configuration details are in config/config.yml
. You can edit
this to set the target OSM infrastructure datasets, number of spatial slices, and
hazard datasets. See
config/README.md
and the documentation for each workflow for more details on the configuration
variables.