pub struct ContractBlockBounds {
pub min_mw: f64,
pub max_mw: f64,
pub price_per_mwh: f64,
}Expand description
Block-eligible energy contract bounds for a given (contract, stage) pair.
Contracts have no stage-only bound column — every contract column,
including price_per_mwh, is block-eligible — so this is contract’s only
per-(contract, stage) bound type, stored directly with no stage half to
pair against. Resolved from energy_contracts.json overlaid with
constraints/contract_bounds.parquet. price_per_mwh being block-eligible
is deliberately asymmetric with ThermalStageBounds’s stage-only
cost_per_mwh (spec §7 decision 6 against §6) — do not symmetrize the two.
§Examples
use cobre_core::resolved::ContractBlockBounds;
let b = ContractBlockBounds { min_mw: 0.0, max_mw: 200.0, price_per_mwh: 80.0 };
let c = b; // Copy
assert!((c.max_mw - 200.0).abs() < f64::EPSILON);Fields§
§min_mw: f64Minimum contract usage [MW]. Hard lower bound.
max_mw: f64Maximum contract usage [MW]. Hard upper bound.
price_per_mwh: f64Effective contract price [$/MWh]. May differ from base when a block override
supplies a per-block price.
Trait Implementations§
Source§impl Clone for ContractBlockBounds
impl Clone for ContractBlockBounds
Source§fn clone(&self) -> ContractBlockBounds
fn clone(&self) -> ContractBlockBounds
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more