diff --git a/scripts/solve_network.py b/scripts/solve_network.py index 53170da9..dce63efe 100644 --- a/scripts/solve_network.py +++ b/scripts/solve_network.py @@ -44,6 +44,7 @@ from pypsa.descriptors import get_switchable_as_dense as get_as_dense from prepare_sector_network import emission_sectors_from_opts + def add_land_use_constraint(n, planning_horizons, config): if "m" in snakemake.wildcards.clusters: _add_land_use_constraint_m(n, planning_horizons, config) @@ -899,6 +900,13 @@ def extra_functionality(n, snapshots): logger.info(f"Add CO2 limit for each country") add_co2limit_country(n, limit_countries, nyears) + if "additional_functionality" in snakemake.input.keys(): + import importlib, os, sys + sys.path.append(os.path.dirname(snakemake.input.additional_functionality)) + additional_functionality = importlib.import_module(os.path.splitext(os.path.basename(snakemake.input.additional_functionality))[0]) + + additional_functionality.additional_functionality(n, snapshots, snakemake.wildcards.planning_horizons) + def solve_network(n, config, solving, opts="", **kwargs): set_of_options = solving["solver"]["options"]