pub struct InitialConditions {
pub storage: Vec<HydroStorage>,
pub filling_storage: Vec<HydroStorage>,
pub past_inflows: Vec<HydroPastInflows>,
}Expand description
Initial system state at the start of the optimization study.
Produced by parsing initial_conditions.json (in cobre-io) and stored
inside crate::System. All arrays are sorted by hydro_id after
loading to satisfy the declaration-order invariance requirement.
A hydro must appear in exactly one of the two storage arrays, never both.
Hydros with a filling configuration belong in filling_storage; all
other hydros (including late-entry hydros) belong in
storage.
Fields§
§storage: Vec<HydroStorage>Initial storage for operating hydros, in hm³ per hydro.
filling_storage: Vec<HydroStorage>Initial storage for filling hydros (below dead volume), in hm³ per hydro.
past_inflows: Vec<HydroPastInflows>Past inflow values for PAR(p) lag initialization, in m³/s per hydro.
For each hydro, values_m3s[0] is the most recent past inflow (lag 1)
and values_m3s[p-1] is the oldest (lag p). Absent when lag
initialization is not required (no PAR models or inflow_lags: false).
In JSON: the field is optional on input (serde(default) fills an empty
Vec when the key is absent). The field is always emitted on output —
omitting it would break postcard round-trips used by MPI broadcast.
Trait Implementations§
Source§impl Clone for InitialConditions
impl Clone for InitialConditions
Source§fn clone(&self) -> InitialConditions
fn clone(&self) -> InitialConditions
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more