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.