From 9808943f2321cc76cee2e0dac0fc07f244a781c7 Mon Sep 17 00:00:00 2001 From: Fabian Neumann Date: Tue, 1 Aug 2023 09:54:48 +0200 Subject: [PATCH] build_renewable_profiles considers subsets of cutout time scope; handle client shutdown --- scripts/build_line_rating.py | 3 ++- scripts/build_renewable_profiles.py | 8 ++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/scripts/build_line_rating.py b/scripts/build_line_rating.py index 7ece1c9d..7f842d43 100755 --- a/scripts/build_line_rating.py +++ b/scripts/build_line_rating.py @@ -149,7 +149,8 @@ if __name__ == "__main__": configure_logging(snakemake) n = pypsa.Network(snakemake.input.base_network) - cutout = atlite.Cutout(snakemake.input.cutout) + time = pd.date_range(freq="h", **snakemake.config["snapshots"]) + cutout = atlite.Cutout(snakemake.input.cutout).sel(time=time) da = calculate_line_rating(n, cutout) da.to_netcdf(snakemake.output[0]) diff --git a/scripts/build_renewable_profiles.py b/scripts/build_renewable_profiles.py index 88a43f53..7b08325b 100644 --- a/scripts/build_renewable_profiles.py +++ b/scripts/build_renewable_profiles.py @@ -186,6 +186,7 @@ import time import atlite import geopandas as gpd import numpy as np +import pandas as pd import xarray as xr from _helpers import configure_logging from dask.distributed import Client @@ -222,7 +223,8 @@ if __name__ == "__main__": else: client = None - cutout = atlite.Cutout(snakemake.input.cutout) + sns = pd.date_range(freq="h", **snakemake.config["snapshots"]) + cutout = atlite.Cutout(snakemake.input.cutout).sel(time=sns) regions = gpd.read_file(snakemake.input.regions) assert not regions.empty, ( f"List of regions in {snakemake.input.regions} is empty, please " @@ -372,4 +374,6 @@ if __name__ == "__main__": ds["profile"] = ds["profile"].where(ds["profile"] >= min_p_max_pu, 0) ds.to_netcdf(snakemake.output.profile) - client.shutdown() + + if client is not None: + client.shutdown()