Stochastic API
Stochastic Simulation Types and Functions
The ICOW.Stochastic module provides SimOptDecisions integration for discrete event simulation with stochastic dike failure. See Stochastic Model for conceptual overview and Stochastic Details for usage examples.
FloodDefenses
FloodDefenses(policy::StaticPolicy, config::StochasticConfig)
Convert reparameterized policy fractions to absolute FloodDefenses values. Uses stick-breaking reparameterization to ensure constraints are always satisfied.
FloodDefenses(policy::StaticPolicy, config::EADConfig)
Convert reparameterized policy fractions to absolute FloodDefenses values. Uses stick-breaking reparameterization to ensure constraints are always satisfied.
FloodDefenses{T<:Real}
Flood protection decisions (W, R, P, D, B). W is absolute elevation; R, D, B are heights relative to W; P is a fraction. See _background/equations.md.
StaticPolicy
No documentation found for public symbol.
Summary
struct ICOW.StaticPolicy{T<:AbstractFloat}
Fields
a_frac :: SimOptDecisions.ContinuousParameter{T<:AbstractFloat}
w_frac :: SimOptDecisions.ContinuousParameter{T<:AbstractFloat}
b_frac :: SimOptDecisions.ContinuousParameter{T<:AbstractFloat}
r_frac :: SimOptDecisions.ContinuousParameter{T<:AbstractFloat}
P :: SimOptDecisions.ContinuousParameter{T<:AbstractFloat}
Supertype Hierarchy
ICOW.StaticPolicy{T<:AbstractFloat} <: SimOptDecisions.AbstractPolicy <: Any
StochasticConfig
StochasticConfig{T<:Real}
Configuration for stochastic flood simulation with all city parameters. See _background/equations.md for parameter documentation.
StochasticOutcome
StochasticOutcome
Simulation outcome holding discounted investment cost and realized damage.
StochasticScenario
No documentation found for public symbol.
Summary
struct ICOW.Stochastic.StochasticScenario{T<:AbstractFloat}
Fields
surges :: SimOptDecisions.TimeSeriesParameter{T<:AbstractFloat, Int64}
discount_rate :: SimOptDecisions.ContinuousParameter{T<:AbstractFloat}
Supertype Hierarchy
ICOW.Stochastic.StochasticScenario{T<:AbstractFloat} <: SimOptDecisions.AbstractScenario <: Any
StochasticState
StochasticState{T<:AbstractFloat}
Simulation state tracking current flood defenses.
explore
Run simulations for all (policy, scenario) combinations. Returns YAXArray Dataset.
All fields in Scenario, Policy, and Outcome must use parameter types. Dimensions: (:policy, :scenario), with time series adding (:time).
is_feasible
is_feasible(fd::FloodDefenses, config::StochasticConfig) -> Bool
Check if flood defenses are feasible for the given config.
is_feasible(fd::FloodDefenses, config::EADConfig) -> Bool
Check if flood defenses are feasible for the given config.
outcomes_for_policy
Get outcomes for a specific policy (returns Dataset slice).
outcomes_for_scenario
Get outcomes for a specific scenario (returns Dataset slice).
total_cost
total_cost(o::StochasticOutcome) -> T
Total cost is investment plus realized damage.
total_cost(o::EADOutcome) -> T
Total cost is investment plus expected damage.
validate_config
validate_config(config::StochasticConfig)
Validate physical bounds on config parameters. Throws AssertionError if violated.
validate_config(config::EADConfig)
Validate physical bounds on config parameters. Throws AssertionError if violated.