.. This file is generated by scripts/render_model_docs.py. Do not edit by hand. HydroGraphNet ============= Overview -------- ``hydrographnet`` is the PyHazards entrypoint for flood forecasting on irregular meshes with graph-structured hydrologic state updates. At a Glance ----------- .. grid:: 1 2 4 4 :gutter: 2 :class-container: catalog-grid .. grid-item-card:: Hazard Family :class-card: catalog-stat-card .. container:: catalog-stat-value Flood .. container:: catalog-stat-note Public catalog grouping used for this model. .. grid-item-card:: Maturity :class-card: catalog-stat-card .. container:: catalog-stat-value Implemented .. container:: catalog-stat-note Catalog maturity label used on the index page. .. grid-item-card:: Tasks :class-card: catalog-stat-card .. container:: catalog-stat-value 1 .. container:: catalog-stat-note Streamflow .. grid-item-card:: Benchmark Family :class-card: catalog-stat-card .. container:: catalog-stat-value :doc:`Flood Benchmark ` .. container:: catalog-stat-note Primary benchmark-family link used for compatible evaluation coverage. Description ----------- ``hydrographnet`` is the PyHazards entrypoint for flood forecasting on irregular meshes with graph-structured hydrologic state updates. In PyHazards, this model is typically paired with the ERA5-based hydrograph adapter ``load_hydrograph_data`` for end-to-end smoke validation. Benchmark Compatibility ----------------------- **Primary benchmark family:** :doc:`Flood Benchmark ` **Mapped benchmark ecosystems:** :doc:`HydroBench ` External References ------------------- **Paper:** `Interpretable physics-informed graph neural networks for flood forecasting `_ Registry Name ------------- Primary entrypoint: ``hydrographnet`` Supported Tasks --------------- - Streamflow Programmatic Use ---------------- .. code-block:: python import torch from pyhazards.models import build_model model = build_model( name="hydrographnet", task="regression", node_in_dim=2, edge_in_dim=3, out_dim=1, ) batch = { "x": torch.randn(1, 3, 6, 2), "adj": torch.eye(6).unsqueeze(0), "coords": torch.randn(6, 2), } preds = model(batch) print(preds.shape) Notes ----- - The smoke test uses a synthetic graph batch so it stays CPU-safe in CI.