Skip to content

Feature: 2D water contamination support (lakes, seas, estuaries) #7

@backlundtransform

Description

@backlundtransform

Summary

The current WaterContaminationSimulator implements 1D advection-diffusion along river networks.
To support lake, sea, and estuary scenarios, a 2D spread engine is needed.

Motivation

RiskZ needs to model contamination in different water body types — not just rivers but also
lakes (quiescent spread), coastal waters (tidal mixing), and estuaries (bidirectional flow).

Proposed scope

  1. WaterBodyType enumRiver, Lake, Estuary, Sea
  2. 2D advection-diffusion solver for lake/sea scenarios (grid-based Eulerian scheme)
  3. Builder extensionsWithLake(), WithSea(), WithEstuary() on WaterContaminationScenarioBuilder
  4. Wind-driven circulation (optional, for lakes)
  5. Tidal forcing (optional, for estuaries/seas)
  6. Strategy routing — select 1D river or 2D solver based on water body type

Current state

The completed roadmap (docs/completed/WaterContaminationRoadMap.md) explicitly lists
2D lateral dispersion, lake stratification, and tidal mixing as "Future Extensions (Out of Scope for MVP)".

Notes

  • No assignee for now — this is a future enhancement tracked for planning purposes.
  • The existing 1D river engine should remain unchanged.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions