A module to create arbitrary regional boundary datasets for energy systems modelling
This is a modular snakemake workflow created as part of the Modelblocks project. It can be imported directly into any snakemake workflow.
For more information, please consult the Modelblocks documentation,
the integration example,
and the snakemake documentation.
Data processing steps:
- The configuration file is read to identify the datasets to use as well as the specific countries and regional aggregation (
subtypein the configuration) to process.- Country area data: GADM, Overture Maps and NUTS divisions are supported.
- Exclusive Economic Zone (EEZ) data: Marine regions.
- Individual country files are downloaded and harmonised to fit a standardised schema. Contested regions are removed at this stage.
- Land is clipped using maritime Exclusive Economic Zones (EEZ).
- Each polygon is clipped using its neighbours to minimise overlapping polygons.
Tip
The subtype naming matches that of the source database. For example, NUTS uses 0, 1, 2 and 3 (NUTS0, NUTS1, NUTS2, etc.).
Use the references at the bottom of this page for more details.
Caution
To increase the replicability of your workflow, we recommend using NUTS and GADM as sources whenever possible as they are more stable than Overture Maps.
Please consult the configuration README and the configuration example for a general overview on the configuration options of this module.
This module only has one output: a geoparquet file with your requested geo-boundary "shapes".
Please consult the interface file for more information.
We use pixi as our package manager for development.
Once installed, run the following to clone this repository and install all dependencies.
git clone git@github.com:modelblocks-org/module_geo_boundaries.git
cd module_geo_boundaries
pixi install --allFor testing, simply run:
pixi run test-integrationTo test a minimal example of a workflow using this module:
pixi shell # activate this project's environment
cd tests/integration/ # navigate to the integration example
snakemake --use-conda --cores 2 # run the workflow!This module is based on the following research and datasets. We encourage users to cite both the original source and our workflow.
- GADM 4.1. (2018). Global Administrative Areas (GADM).
- License: GADM data is freely available for academic and non-commercial use. https://gadm.org/license.html.
- NUTS (various years). Nomenclature of territorial units for statistics (NUTS).
- License: reuse is authorised provided the source is acknowledged. https://ec.europa.eu/eurostat/statistics-explained/index.php?title=Copyright/licence_policy
- Overture Maps Divisions database (most recent version). Overture Maps Foundation.
- License: ODbL. See https://docs.overturemaps.org/attribution/ and https://opendatacommons.org/licenses/odbl/summary/ for details.
- Marine Regions World EEZ v12 (2023). Flanders Marine Institute (MarineRegions.org).
- License: CC-By. See https://www.marineregions.org/disclaimer.php.

