Commit 395018d0 authored by Eric Duminil's avatar Eric Duminil
Browse files

Add csv_export to heat_demand

parent 966f79b1
......@@ -15,7 +15,9 @@ BUNDLED_TEMPLATES = Path(__file__).parent / "templates"
def _set_weather_file(meteonorm_filename: str) -> dict[str, str]:
"""Build the params.xml replacement for the weather file."""
return {"<string>METEONORM_FILE</string>": f"<string>{Path(meteonorm_filename).name}</string>"}
return {
"<string>METEONORM_FILE</string>": f"<string>{Path(meteonorm_filename).name}</string>"
}
def _set_calculation_mode(calculation_mode: str) -> dict[str, str]:
......@@ -62,7 +64,13 @@ def photovoltaic_simulation(
"<boolean>HOURLY_PV</boolean>": f"<boolean>{str(hourly_pv).lower()}</boolean>",
}
template = BUNDLED_TEMPLATES / ("105_PVWithShadow" if with_shadows else "103_PV")
pv_results = run_workflow_with_citygml(template, citygml_path, replaces=replaces, description=description, project_path=project_path)
pv_results = run_workflow_with_citygml(
template,
citygml_path,
replaces=replaces,
description=description,
project_path=project_path,
)
set_random_seed(remove_random_id(citygml_path.name))
pv_results._df = pv_results.dataframe.sample(frac=roof_percentage / 100.0)
......@@ -77,6 +85,7 @@ def heatdemand_simulation(
refurbishment_ratio: float = 0.0,
description: str = "Heat demand",
project_path: Path | None = None,
csv_export: bool = False,
) -> SimStadtResults:
"""Run a HeatDemand workflow.
......@@ -89,13 +98,22 @@ def heatdemand_simulation(
description: Label stored on the result object.
"""
citygml_path = Path(citygml_path)
template = BUNDLED_TEMPLATES / ("104_HeatDemandWithShadow" if with_shadows else "101_HeatDemand")
template = BUNDLED_TEMPLATES / (
"104_HeatDemandWithShadow" if with_shadows else "101_HeatDemand"
)
replaces = (
_set_weather_file(meteonorm_filename)
| _set_calculation_mode(calculation_mode)
| _set_refurbishment(refurbishment_ratio)
)
return run_workflow_with_citygml(template, citygml_path, replaces=replaces, description=description, project_path=project_path)
return run_workflow_with_citygml(
template,
citygml_path,
replaces=replaces,
description=description,
project_path=project_path,
csv_export=csv_export,
)
def greenwater_simulation(
......@@ -117,4 +135,10 @@ def greenwater_simulation(
replaces = _set_weather_file(meteonorm_filename) | {
"<double>MAX_WATER_STRESS</double>": f"<double>{1 - irrigation_ratio}</double>",
}
return run_workflow_with_citygml(BUNDLED_TEMPLATES / "102_GreenWater", citygml_path, replaces=replaces, description=description, project_path=project_path)
return run_workflow_with_citygml(
BUNDLED_TEMPLATES / "102_GreenWater",
citygml_path,
replaces=replaces,
description=description,
project_path=project_path,
)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment