EAD API
Expected Annual Damage Types and Functions
The ICOW.EAD module provides SimOptDecisions integration for expected annual damage computation. See EAD Model for conceptual overview and EAD Details for usage examples.
EADConfig
EADConfig{T<:Real}
Configuration for EAD flood simulation with all city parameters. See _background/equations.md for parameter documentation.
EADOutcome
EADOutcome
Simulation outcome holding discounted investment cost and expected damage.
EADScenario
No documentation found for public symbol.
Summary
struct ICOW.EAD.EADScenario{T<:AbstractFloat}
Fields
surge_loc :: SimOptDecisions.ContinuousParameter{T<:AbstractFloat}
surge_scale :: SimOptDecisions.ContinuousParameter{T<:AbstractFloat}
surge_shape :: SimOptDecisions.ContinuousParameter{T<:AbstractFloat}
discount_rate :: SimOptDecisions.ContinuousParameter{T<:AbstractFloat}
Supertype Hierarchy
ICOW.EAD.EADScenario{T<:AbstractFloat} <: SimOptDecisions.AbstractScenario <: Any
EADState
EADState{T<:AbstractFloat}
Simulation state tracking current flood defenses.
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.
IntegrationMethod
No documentation found for public symbol.
Summary
abstract type ICOW.EAD.IntegrationMethod
Subtypes
ICOW.EAD.MonteCarloIntegrator
ICOW.EAD.QuadratureIntegrator{T<:Real}
MonteCarloIntegrator
MonteCarloIntegrator(n_samples=1000)
Monte Carlo integration by sampling from the surge distribution. Default is 1000 samples.
QuadratureIntegrator
QuadratureIntegrator{T<:Real}(rtol=1e-6)
Adaptive quadrature integration via QuadGK. Default relative tolerance is 1e-6.
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
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.