fix(investigation): allow autonomous model baseline recovery
This commit is contained in:
@@ -157,6 +157,7 @@ def run_online_simulation(
|
||||
*,
|
||||
output_node_ids: list[str] | None = None,
|
||||
output_link_ids: list[str] | None = None,
|
||||
scada_mappings: ScadaElementMappings | None = None,
|
||||
) -> dict:
|
||||
"""Recalculate online baseline snapshots without cloning a model database."""
|
||||
if start_time.tzinfo is None or duration_seconds <= 0:
|
||||
@@ -166,7 +167,10 @@ def run_online_simulation(
|
||||
)
|
||||
if step <= 0:
|
||||
raise ValueError("HYDRAULIC TIMESTEP must be greater than 0.")
|
||||
mappings = query_corresponding_element_id_and_query_id(name)
|
||||
mappings = (
|
||||
scada_mappings if scada_mappings is not None
|
||||
else query_corresponding_element_id_and_query_id(name)
|
||||
)
|
||||
selected = {
|
||||
"node": {node: [] for node in output_node_ids or []},
|
||||
"link": {link: [] for link in output_link_ids or []},
|
||||
@@ -179,13 +183,13 @@ def run_online_simulation(
|
||||
output = run_simulation(
|
||||
name=name,
|
||||
simulation_type="realtime",
|
||||
modify_pattern_start_time=current.isoformat(timespec="seconds"),
|
||||
modify_pattern_start_time=current.isoformat(),
|
||||
scada_mappings=mappings,
|
||||
)
|
||||
if not isinstance(output, dict):
|
||||
raise RuntimeError("Online simulation did not return calculation results")
|
||||
units = output.get("units", {})
|
||||
sample_times.append(current.isoformat(timespec="seconds"))
|
||||
sample_times.append(current.isoformat())
|
||||
for kind, elements in selected.items():
|
||||
if not elements:
|
||||
continue
|
||||
|
||||
Reference in New Issue
Block a user