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.