From 9d7b250230d6cbf1587f483e24f339e518ee9038 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Mon, 9 Oct 2023 16:19:31 +0200 Subject: [PATCH] UA-MD availability matrix: consider ship density --- rules/build_electricity.smk | 5 +++++ scripts/determine_availability_matrix_MD_UA.py | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/rules/build_electricity.smk b/rules/build_electricity.smk index 51cda6c0..4beb95d0 100644 --- a/rules/build_electricity.smk +++ b/rules/build_electricity.smk @@ -215,6 +215,11 @@ rule determine_availability_matrix_MD_UA: if "max_depth" in config["renewable"][w.technology].keys() else [] ), + ship_density=lambda w: ( + RESOURCES + "shipdensity_raster.tif" + if "ship_threshold" in config["renewable"][w.technology].keys() + else [] + ), country_shapes=RESOURCES + "country_shapes.geojson", offshore_shapes=RESOURCES + "offshore_shapes.geojson", regions=lambda w: ( diff --git a/scripts/determine_availability_matrix_MD_UA.py b/scripts/determine_availability_matrix_MD_UA.py index cab3e26e..7d57b54b 100644 --- a/scripts/determine_availability_matrix_MD_UA.py +++ b/scripts/determine_availability_matrix_MD_UA.py @@ -81,6 +81,13 @@ if __name__ == "__main__": snakemake.input.country_shapes, buffer=buffer, invert=True ) + if "ship_threshold" in config: + shipping_threshold = config["ship_threshold"] * 8760 * 6 + func = functools.partial(np.less, shipping_threshold) + excluder.add_raster( + snakemake.input.ship_density, codes=func, crs=4326, allow_no_overlap=True + ) + kwargs = dict(nprocesses=nprocesses, disable_progressbar=noprogress) if noprogress: logger.info("Calculate landuse availabilities...")