#![cfg_attr(
test,
allow(
clippy::unwrap_used,
clippy::expect_used,
clippy::float_cmp,
clippy::panic,
clippy::too_many_lines
)
)]
pub mod constraints;
pub mod entities;
pub mod entity_id;
pub mod error;
pub mod model;
pub mod stats;
pub mod system;
pub mod topology;
pub use model::{parameters, penalty, resolved, scenario, temporal};
pub use constraints::{generic_constraint, initial_conditions, training_event};
pub use constraints::generic_constraint::{
ConstraintExpression, ConstraintSense, GenericConstraint, LinearTerm, SlackConfig, VariableRef,
};
pub use constraints::initial_conditions::{
AnticipatedCommitmentHistory, HydroPastInflows, HydroStorage, InitialConditions,
RecentObservation,
};
pub use constraints::training_event::{
StageRowSelectionRecord, StoppingRuleResult, TrainingEvent, WORKER_TIMING_SLOT_BWD_SETUP,
WORKER_TIMING_SLOT_BWD_WALL, WORKER_TIMING_SLOT_COUNT, WORKER_TIMING_SLOT_FWD_SETUP,
WORKER_TIMING_SLOT_FWD_WALL, WORKER_TIMING_SLOT_SCORING, WorkerPhaseTimings, WorkerTimingPhase,
};
pub use entities::{
AnticipatedConfig, Bus, ContractType, DeficitSegment, DiversionChannel, EfficiencyModel,
EnergyContract, FillingConfig, HydraulicLossesModel, Hydro, HydroGenerationModel,
HydroPenalties, Line, NonControllableSource, PumpingStation, TailraceModel, TailracePoint,
Thermal,
};
pub use entity_id::EntityId;
pub use error::ValidationError;
pub use model::parameters::{CoefficientRef, ComputedParameter, ParameterKind, ScalarParameter};
pub use model::penalty::{
GlobalPenaltyDefaults, HydroPenaltyOverrides, resolve_bus_deficit_segments,
resolve_bus_excess_cost, resolve_hydro_penalties, resolve_line_exchange_cost,
resolve_ncs_curtailment_cost,
};
pub use model::resolved::{
BoundsCountsSpec, BoundsDefaults, BusStagePenalties, ContractStageBounds, HydroStageBounds,
HydroStagePenalties, LineStageBounds, LineStagePenalties, NcsStagePenalties,
PenaltiesCountsSpec, PenaltiesDefaults, PumpingStageBounds, ResolvedBounds,
ResolvedExchangeFactors, ResolvedGenericConstraintBounds, ResolvedLoadFactors,
ResolvedNcsBounds, ResolvedNcsFactors, ResolvedPenalties, ThermalStageBounds,
};
pub use model::scenario::{
CorrelationEntity, CorrelationGroup, CorrelationModel, CorrelationProfile,
CorrelationScheduleEntry, ExternalLoadRow, ExternalNcsRow, ExternalScenarioRow,
HistoricalYears, InflowHistoryRow, InflowModel, LoadModel, NcsModel, SamplingScheme,
ScenarioSource,
};
pub use model::temporal::{
Block, BlockMode, NoiseMethod, PolicyGraph, PolicyGraphType, ScenarioSourceConfig,
SeasonCycleType, SeasonDefinition, SeasonMap, Stage, StageRiskConfig, StageStateConfig,
Transition,
};
pub use stats::welford::WelfordAccumulator;
pub use system::{System, SystemBuilder};
pub use topology::{BusGenerators, BusLineConnection, BusLoads, CascadeTopology, NetworkTopology};