test param in add_electricity

This commit is contained in:
virio-andreyana 2023-05-11 20:34:11 +02:00 committed by GitHub
parent 57f72b99ba
commit 1758076815
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 33 additions and 25 deletions

View File

@ -273,6 +273,14 @@ rule add_electricity:
nuts3_shapes=RESOURCES + "nuts3_shapes.geojson",
output:
RESOURCES + "networks/elec.nc",
params:
costs=snakemake.config["costs"]
electricity=snakemake.config["electricity"]
renewable=snakemake.config["renewable"]
conventional=snakemake.config.get("conventional", {})
countries=snakemake.config["countries"]
scaling_factor=snakemake.config["load"]["scaling_factor"]
length_factor=snakemake.config["lines"]["length_factor"]
log:
LOGS + "add_electricity.log",
benchmark:

View File

@ -686,15 +686,15 @@ def estimate_renewable_capacities(n, config):
)
def add_nice_carrier_names(n, config):
def add_nice_carrier_names(n, plotting):
carrier_i = n.carriers.index
nice_names = (
pd.Series(config["plotting"]["nice_names"])
pd.Series(plotting["nice_names"])
.reindex(carrier_i)
.fillna(carrier_i.to_series().str.title())
)
n.carriers["nice_name"] = nice_names
colors = pd.Series(config["plotting"]["tech_colors"]).reindex(carrier_i)
colors = pd.Series(plotting["tech_colors"]).reindex(carrier_i)
if colors.isna().any():
missing_i = list(colors.index[colors.isna()])
logger.warning(f"tech_colors for carriers {missing_i} not defined in config.")
@ -713,23 +713,23 @@ if __name__ == "__main__":
costs = load_costs(
snakemake.input.tech_costs,
snakemake.config["costs"],
snakemake.config["electricity"],
snakemake.param["costs"],
snakemake.param["electricity"],
Nyears,
)
ppl = load_powerplants(snakemake.input.powerplants)
if "renewable_carriers" in snakemake.config["electricity"]:
renewable_carriers = set(snakemake.config["electricity"]["renewable_carriers"])
if "renewable_carriers" in snakemake.param["electricity"]:
renewable_carriers = set(snakemake.param["electricity"]["renewable_carriers"])
else:
logger.warning(
"Missing key `renewable_carriers` under config entry `electricity`. "
"In future versions, this will raise an error. "
"Falling back to carriers listed under `renewable`."
)
renewable_carriers = snakemake.config["renewable"]
renewable_carriers = snakemake.param["renewable"]
extendable_carriers = snakemake.config["electricity"]["extendable_carriers"]
extendable_carriers = snakemake.param["electricity"]["extendable_carriers"]
if not (set(renewable_carriers) & set(extendable_carriers["Generator"])):
logger.warning(
"No renewables found in config entry `extendable_carriers`. "
@ -737,18 +737,18 @@ if __name__ == "__main__":
"Falling back to all renewables."
)
conventional_carriers = snakemake.config["electricity"]["conventional_carriers"]
conventional_carriers = snakemake.param["electricity"]["conventional_carriers"]
attach_load(
n,
snakemake.input.regions,
snakemake.input.load,
snakemake.input.nuts3_shapes,
snakemake.config["countries"],
snakemake.config["load"]["scaling_factor"],
snakemake.param["countries"],
snakemake.param["load"]["scaling_factor"],
)
update_transmission_costs(n, costs, snakemake.config["lines"]["length_factor"])
update_transmission_costs(n, costs, snakemake.param["lines"]["length_factor"])
conventional_inputs = {
k: v for k, v in snakemake.input.items() if k.startswith("conventional_")
@ -759,7 +759,7 @@ if __name__ == "__main__":
ppl,
conventional_carriers,
extendable_carriers,
snakemake.config.get("conventional", {}),
snakemake.param.get("conventional", {}),
conventional_inputs,
)
@ -769,11 +769,11 @@ if __name__ == "__main__":
snakemake.input,
renewable_carriers,
extendable_carriers,
snakemake.config["lines"]["length_factor"],
snakemake.param["lines"]["length_factor"],
)
if "hydro" in renewable_carriers:
conf = snakemake.config["renewable"]["hydro"]
conf = snakemake.param["renewable"]["hydro"]
attach_hydro(
n,
costs,
@ -784,7 +784,7 @@ if __name__ == "__main__":
**conf,
)
if "estimate_renewable_capacities" not in snakemake.config["electricity"]:
if "estimate_renewable_capacities" not in snakemake.param["electricity"]:
logger.warning(
"Missing key `estimate_renewable_capacities` under config entry `electricity`. "
"In future versions, this will raise an error. "
@ -792,18 +792,18 @@ if __name__ == "__main__":
)
if (
"estimate_renewable_capacities_from_capacity_stats"
in snakemake.config["electricity"]
in snakemake.param["electricity"]
):
estimate_renewable_caps = {
"enable": True,
**snakemake.config["electricity"][
**snakemake.param["electricity"][
"estimate_renewable_capacities_from_capacity_stats"
],
}
else:
estimate_renewable_caps = {"enable": False}
else:
estimate_renewable_caps = snakemake.config["electricity"][
estimate_renewable_caps = snakemake.param["electricity"][
"estimate_renewable_capacities"
]
if "enable" not in estimate_renewable_caps:
@ -819,21 +819,21 @@ if __name__ == "__main__":
"Falling back to whether `renewable_capacities_from_opsd` is non-empty."
)
from_opsd = bool(
snakemake.config["electricity"].get("renewable_capacities_from_opsd", False)
snakemake.param["electricity"].get("renewable_capacities_from_opsd", False)
)
estimate_renewable_caps["from_opsd"] = from_opsd
if estimate_renewable_caps["enable"]:
if estimate_renewable_caps["from_opsd"]:
tech_map = snakemake.config["electricity"]["estimate_renewable_capacities"][
tech_map = snakemake.param["electricity"]["estimate_renewable_capacities"][
"technology_mapping"
]
attach_OPSD_renewables(n, tech_map)
estimate_renewable_capacities(n, snakemake.config)
estimate_renewable_capacities(n, snakemake.param)
update_p_nom_max(n)
add_nice_carrier_names(n, snakemake.config)
add_nice_carrier_names(n, snakemake.param["plotting"])
n.meta = snakemake.config
n.meta = snakemake.param
n.export_to_netcdf(snakemake.output[0])