From 300ee7acc617e1da2cc0f47e4a27a6cca2ad0ea2 Mon Sep 17 00:00:00 2001 From: Runyang Xu Date: Thu, 26 Feb 2026 12:40:39 -0500 Subject: [PATCH] dataloader --- docs/.doctrees/environment.pickle | Bin 330313 -> 329404 bytes docs/.doctrees/pyhazards_datasets.doctree | Bin 41389 -> 39728 bytes .../modules/models_hydrographnet.rst.txt | 39 -------------- .../modules/models_wildfire_aspp.rst.txt | 32 ----------- docs/_sources/pyhazards_datasets.rst.txt | 33 +----------- docs/pyhazards_datasets.html | 51 +++++++----------- docs/searchindex.js | 2 +- docs/source/pyhazards_datasets.rst | 33 +----------- 8 files changed, 21 insertions(+), 169 deletions(-) delete mode 100644 docs/_sources/modules/models_hydrographnet.rst.txt delete mode 100644 docs/_sources/modules/models_wildfire_aspp.rst.txt diff --git a/docs/.doctrees/environment.pickle b/docs/.doctrees/environment.pickle index 0dc9814c9a4df6d329b4ed6d587ca779dc98706c..8b81c2a6b66414de7a669b54ef5259cc990c7bff 100644 GIT binary patch literal 329404 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 z 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

sd{1cZpkCz9kDJLzA+L9S z7EM2A>ln+@5$@+YzkrHQ+ltnZb2a~fBw9#n`Yl`bXjk=*b^Zi^K4z<0;{B=4UqqGr zO%*r3J{LWH-GnfC`R;o7OP#;zvkoL6IDBf4@o=4IOv84fZMf_Nbz@)%&E(}OwWFZY zo$}@XCu1}ht|+Zf+IR(|4_>D?+@C}l!KAuoA!T~Og&0P5U>nDHUkCm^ett9+7lhDl#`Zq+Y)Bm{Xpl?lk7f!C%X5k?=o>n^w2p**jU2^SZ?`;DTi#v43tIoHK9frT~**L{!Coj(fVLPlTsOovPMoFY3B zXtP}|5VqOqjqp})H)%B8LJ$ZfquL5g7=`o?P<9Am5liz$%7;7ZPuhS3AGWCrrlkBC z%`FyTVXtoVwyvT!>sV^Z(Zs>UJVGd(aus3i`1FcQLN~qbvs_!2qyGkLcDVG)c(goR zX{`^g4b~S5V!M0x&DYMJ`P!MYq`JLv{?#{UoLwBvE8-s#_tFPrRN+K+Ca@obH>W%J pwC4o3B=+&zV%{g523uiiJ>iy$DdR<;V8{}vJ3EW*{}+Y7OH=>= literal 330313 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 diff --git a/docs/_sources/modules/models_hydrographnet.rst.txt b/docs/_sources/modules/models_hydrographnet.rst.txt deleted file mode 100644 index 58a32f90..00000000 --- a/docs/_sources/modules/models_hydrographnet.rst.txt +++ /dev/null @@ -1,39 +0,0 @@ -hydrographnet -============= - -Description ------------ - -``hydrographnet`` is a physics-informed graph neural network for flood forecasting with -interpretable KAN-style components, residual message passing, and delta-state decoding. - -The model summary follows Taghizadeh et al. (2025): -`Interpretable physics-informed graph neural networks for flood forecasting `_. - -In PyHazards, this module is built from the model registry and is typically used with the -ERA5-based hydrograph adapter ``load_hydrograph_data`` for end-to-end validation. - -Example of how to use it ------------------------- - -.. code-block:: python - - import torch - from pyhazards.data.load_hydrograph_data import load_hydrograph_data - from pyhazards.datasets import graph_collate - from pyhazards.models import build_model - - data = load_hydrograph_data("pyhazards/data/era5_subset", max_nodes=50) - sample = data.splits["train"].inputs[0] - batch = graph_collate([sample]) - - model = build_model( - name="hydrographnet", - task="regression", - node_in_dim=2, - edge_in_dim=3, - out_dim=1, - ) - - y = model(batch) - print(y.shape) diff --git a/docs/_sources/modules/models_wildfire_aspp.rst.txt b/docs/_sources/modules/models_wildfire_aspp.rst.txt deleted file mode 100644 index b5cca925..00000000 --- a/docs/_sources/modules/models_wildfire_aspp.rst.txt +++ /dev/null @@ -1,32 +0,0 @@ -wildfire_aspp -============= - -Description ------------ - -``wildfire_aspp`` is an explainable CNN segmentation model with an ASPP mechanism for next-day -wildfire spread prediction. - -The model summary follows Marjani et al. (2024): -`Application of Explainable Artificial Intelligence in Predicting Wildfire Spread: An ASPP-Enabled CNN Approach `_. - -In PyHazards, this module is built from the model registry and can be used directly for wildfire -segmentation experiments. - -Example of how to use it ------------------------- - -.. code-block:: python - - import torch - from pyhazards.models import build_model - - model = build_model( - name="wildfire_aspp", - task="segmentation", - in_channels=12, - ) - - x = torch.randn(2, 12, 64, 64) - logits = model(x) - print(logits.shape) # (2, 1, 64, 64) diff --git a/docs/_sources/pyhazards_datasets.rst.txt b/docs/_sources/pyhazards_datasets.rst.txt index 92356e6f..a62ec73a 100644 --- a/docs/_sources/pyhazards_datasets.rst.txt +++ b/docs/_sources/pyhazards_datasets.rst.txt @@ -81,42 +81,11 @@ Notes (MERRA-2) - ``--var T2M`` to choose the plotted surface variable (default: ``T2M``) -Dataloader (v3) +Dataloader --------------- -Minimal API with a structured request object for multi-source fusion -(e.g., FIRMS + ERA5). - -API -~~~ - -.. literalinclude:: ../../pyhazards/datasets/dataloader/README.md - :language: markdown - :start-after: ## API - :end-before: ## `GeoLoadInput` - -GeoLoadInput -~~~~~~~~~~~~ - -.. literalinclude:: ../../pyhazards/datasets/dataloader/README.md - :language: markdown - :start-after: ## `GeoLoadInput` - :end-before: ## Optional - -Optional fields -~~~~~~~~~~~~~~~ - -.. literalinclude:: ../../pyhazards/datasets/dataloader/README.md - :language: markdown - :start-after: ## Optional - :end-before: ## Example - -Example -~~~~~~~ - .. literalinclude:: ../../pyhazards/datasets/dataloader/README.md :language: markdown - :start-after: ## Example Example skeleton diff --git a/docs/pyhazards_datasets.html b/docs/pyhazards_datasets.html index f7e63a87..6629a6fa 100644 --- a/docs/pyhazards_datasets.html +++ b/docs/pyhazards_datasets.html @@ -355,13 +355,14 @@

Notes (MERRA-2) -

Dataloader (v3)

-

Minimal API with a structured request object for multi-source fusion -(e.g., FIRMS + ERA5).

-
-

API

-
```python
+
+

Dataloader

+
# Dataloader V3
+
+Minimal API with a structured request object.
+
+## API
+```python
 from dataloader_v3 import (
     GeoLoadInput,
     load_data,
@@ -370,35 +371,26 @@ 

API

to_torch_batch, ) ``` -
-
-
-
-

GeoLoadInput

-
- `data_sources: list[str]`  
+
+## `GeoLoadInput` (required format)
+- `data_sources: list[str]`  
   Example: `["FIRMS", "ERA5"]`
 - `temporal_window: tuple[str, str]`  
   Format: `("YYYY-MM-DD", "YYYY-MM-DD")` or `("YYYY-MM-DD HH:MM:SS", "...")`
 - `area_of_interest_bbox: tuple[float, float, float, float]`  
   Order: `(min_lon, min_lat, max_lon, max_lat)`
-
-
-
-
-

Optional fields

-
- `spatial_resolution_deg: float = 0.1`
+
+## Optional
+- `spatial_resolution_deg: float = 0.1`
 - `root_dir: str = "/home/yangshuang"`
 - `synthetic_time: bool = False`
 - `temporal_cadence: str = "D"` (`"D"`, `"H"`, `"15min"`, ...)
 - `target_hazards: list[str] | None = None` (if set and no mapping, default code is `1`)
 - `label_source: str | None = None` (`"firms" | "noaa" | "mtbs"`, else auto-infer)
 - `label_mapping: dict[str, int] | None = None`
-
-
-
-
-

Example

-
```python
+
+## Example
+```python
 from dataloader_v3 import GeoLoadInput, load_data, save_sample_h5
 
 req = GeoLoadInput(
@@ -418,7 +410,6 @@ 

Example

-

Example skeleton

A “nice” skeleton should make it explicit what data you load and how it flows into @@ -546,13 +537,7 @@

Developer noteNotes (MERRA-2) -
  • Dataloader (v3) -
  • +
  • Dataloader
  • Example skeleton
  • Inspection entrypoints (convention for all datasets)
  • Developer note
  • diff --git a/docs/searchindex.js b/docs/searchindex.js index 2c818176..98bb6741 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"API": [[21, "api"]], "Access": [[8, "access"], [9, "access"], [10, "access"], [11, "access"], [12, "access"], [13, "access"], [14, "access"], [15, "access"]], "Acknowledgments": [[27, "acknowledgments"]], "At-a-glance (Quick Facts)": [[8, null], [9, null], [10, null], [11, null], [12, null], [13, null], [14, null], [15, null]], "Basic Usage": [[26, "basic-usage"]], "Build a built-in model": [[24, "build-a-built-in-model"]], "Build and register custom model": [[24, "build-and-register-custom-model"]], "Core Components": [[17, "core-components"]], "Core Contributors": [[28, "core-contributors"]], "Core Team": [[28, null]], "Core classes": [[23, "core-classes"]], "Core modules": [[22, "core-modules"]], "Custom Module": [[17, "custom-module"]], "Data Characteristics": [[8, "data-characteristics"], [9, "data-characteristics"], [10, "data-characteristics"], [11, "data-characteristics"], [12, "data-characteristics"], [13, "data-characteristics"], [14, "data-characteristics"], [15, "data-characteristics"]], "Dataloader (v3)": [[21, "dataloader-v3"]], "Dataset Publications": [[27, "dataset-publications"]], "Dataset inspection": [[21, "dataset-inspection"]], "Datasets": [[16, "datasets"], [21, null], [21, "id1"]], "Description": [[19, "description"], [20, "description"]], "Design notes": [[24, "design-notes"]], "Developer note": [[21, "developer-note"]], "Distributed and devices": [[22, "distributed-and-devices"]], "ERA5": [[8, null]], "Engine": [[22, null]], "Example": [[21, "example"]], "Example of how to use it": [[19, "example-of-how-to-use-it"], [20, "example-of-how-to-use-it"]], "Example skeleton": [[21, "example-skeleton"]], "FIRMS": [[9, null]], "Flood": [[24, "flood"]], "Founder": [[28, "founder"]], "Full Test": [[17, "full-test"]], "Full Test (ERA5 + HydroGraphNet)": [[26, "full-test-era5-hydrographnet"]], "GOES-R": [[10, null]], "GPU Support": [[26, "gpu-support"]], "GeoLoadInput": [[21, "geoloadinput"]], "How to Cite": [[7, null], [17, "how-to-cite"]], "Implementation Guide": [[16, null]], "Indices and tables": [[17, "indices-and-tables"]], "Inspection entrypoints (convention for all datasets)": [[21, "inspection-entrypoints-convention-for-all-datasets"]], "Install": [[17, "install"]], "Installation": [[18, null]], "Installing PyHazards": [[18, "installing-pyhazards"]], "Introduction": [[17, null]], "LANDFIRE": [[11, null]], "Lead Developer": [[28, "lead-developer"]], "Load Data": [[17, "load-data"]], "Load Dataset (ERA5 example)": [[26, "load-dataset-era5-example"]], "Load Model": [[17, "load-model"]], "Load Model (HydroGraphNet example)": [[26, "load-model-hydrographnet-example"]], "MERRA-2": [[12, null]], "MTBS": [[13, null]], "Metrics": [[23, null]], "Model": [[24, "model"]], "Model Publications": [[27, "model-publications"]], "Models": [[16, "models"], [24, null]], "Module contents": [[1, "module-pyhazards"], [2, "module-pyhazards.datasets"], [3, "module-pyhazards.engine"], [5, "module-pyhazards.models"], [6, "module-pyhazards.utils"]], "NOAA Flood Events": [[14, null]], "Next Steps": [[26, "next-steps"]], "Notes (MERRA-2)": [[21, "notes-merra-2"]], "Optional fields": [[21, "optional-fields"]], "Overview": [[8, "overview"], [9, "overview"], [10, "overview"], [11, "overview"], [12, "overview"], [13, "overview"], [14, "overview"], [15, "overview"]], "Principal Contributors & Maintainers": [[28, "principal-contributors-maintainers"]], "PyHazards Usage": [[8, "pyhazards-usage"], [9, "pyhazards-usage"], [10, "pyhazards-usage"], [11, "pyhazards-usage"], [12, "pyhazards-usage"], [13, "pyhazards-usage"], [14, "pyhazards-usage"], [15, "pyhazards-usage"]], "Quick Start": [[26, null]], "Quick Verification (test.py)": [[17, "quick-verification-test-py"]], "Reference": [[8, "reference"], [9, "reference"], [10, "reference"], [11, "reference"], [12, "reference"], [13, "reference"], [14, "reference"], [15, "reference"]], "References": [[27, null]], "Register a custom model": [[24, "register-a-custom-model"]], "Requirements": [[18, "requirements"]], "Stats": [[8, "stats"], [9, "stats"], [10, "stats"], [11, "stats"], [12, "stats"], [13, "stats"], [14, "stats"], [15, "stats"]], "Submodules": [[2, "submodules"], [3, "submodules"], [5, "submodules"], [6, "submodules"], [25, "submodules"]], "Subpackages": [[1, "subpackages"]], "Summary": [[16, "summary"], [21, "summary"], [22, "summary"], [23, "summary"], [24, "summary"], [25, "summary"]], "Typical Use Cases": [[8, "typical-use-cases"], [9, "typical-use-cases"], [10, "typical-use-cases"], [11, "typical-use-cases"], [12, "typical-use-cases"], [13, "typical-use-cases"], [14, "typical-use-cases"], [15, "typical-use-cases"]], "Typical usage": [[22, "typical-usage"]], "Usage": [[23, "usage"]], "Utils": [[25, null]], "Variables": [[8, "variables"], [9, "variables"], [10, "variables"], [11, "variables"], [12, "variables"], [13, "variables"], [14, "variables"], [15, "variables"]], "WFIGS": [[15, null]], "Wildfire": [[24, "wildfire"]], "hydrographnet": [[19, null]], "pyhazards": [[0, null]], "pyhazards package": [[1, null]], "pyhazards.datasets package": [[2, null]], "pyhazards.datasets.base module": [[2, "module-pyhazards.datasets.base"]], "pyhazards.datasets.hazards package": [[2, "module-pyhazards.datasets.hazards"]], "pyhazards.datasets.registry module": [[2, "module-pyhazards.datasets.registry"]], "pyhazards.datasets.transforms package": [[2, "module-pyhazards.datasets.transforms"]], "pyhazards.engine package": [[3, null]], "pyhazards.engine.distributed module": [[3, "module-pyhazards.engine.distributed"]], "pyhazards.engine.inference module": [[3, "module-pyhazards.engine.inference"]], "pyhazards.engine.trainer module": [[3, "module-pyhazards.engine.trainer"]], "pyhazards.metrics package": [[4, null]], "pyhazards.models package": [[5, null]], "pyhazards.models.backbones module": [[5, "module-pyhazards.models.backbones"]], "pyhazards.models.builder module": [[5, "module-pyhazards.models.builder"]], "pyhazards.models.heads module": [[5, "module-pyhazards.models.heads"]], "pyhazards.models.registry module": [[5, "module-pyhazards.models.registry"]], "pyhazards.utils package": [[6, null]], "pyhazards.utils.common module": [[6, "module-pyhazards.utils.common"]], "pyhazards.utils.hardware module": [[6, "module-pyhazards.utils.hardware"]], "wildfire_aspp": [[20, null]]}, "docnames": ["api/modules", "api/pyhazards", "api/pyhazards.datasets", "api/pyhazards.engine", "api/pyhazards.metrics", "api/pyhazards.models", "api/pyhazards.utils", "cite", "datasets/era5", "datasets/firms", "datasets/goesr", "datasets/landfire", "datasets/merra2", "datasets/mtbs", "datasets/noaa_flood", "datasets/wfigs", "implementation", "index", "installation", "modules/models_hydrographnet", "modules/models_wildfire_aspp", "pyhazards_datasets", "pyhazards_engine", "pyhazards_metrics", "pyhazards_models", "pyhazards_utils", "quick_start", "references", "team"], "envversion": {"sphinx": 64, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1}, "filenames": ["api/modules.rst", "api/pyhazards.rst", "api/pyhazards.datasets.rst", "api/pyhazards.engine.rst", "api/pyhazards.metrics.rst", "api/pyhazards.models.rst", "api/pyhazards.utils.rst", "cite.rst", "datasets/era5.rst", "datasets/firms.rst", "datasets/goesr.rst", "datasets/landfire.rst", "datasets/merra2.rst", "datasets/mtbs.rst", "datasets/noaa_flood.rst", "datasets/wfigs.rst", "implementation.rst", "index.rst", "installation.rst", "modules/models_hydrographnet.rst", "modules/models_wildfire_aspp.rst", "pyhazards_datasets.rst", "pyhazards_engine.rst", "pyhazards_metrics.rst", "pyhazards_models.rst", "pyhazards_utils.rst", "quick_start.rst", "references.rst", "team.rst"], "indexentries": {"_abc_impl (pyhazards.classificationmetrics attribute)": [[1, "pyhazards.ClassificationMetrics._abc_impl", false]], "_abc_impl (pyhazards.datasets.base.transform attribute)": [[2, "pyhazards.datasets.base.Transform._abc_impl", false]], "_abc_impl (pyhazards.metricbase attribute)": [[1, "pyhazards.MetricBase._abc_impl", false]], "_abc_impl (pyhazards.metrics.classificationmetrics attribute)": [[4, "pyhazards.metrics.ClassificationMetrics._abc_impl", false]], "_abc_impl (pyhazards.metrics.metricbase attribute)": [[4, "pyhazards.metrics.MetricBase._abc_impl", false]], "_abc_impl (pyhazards.metrics.regressionmetrics attribute)": [[4, "pyhazards.metrics.RegressionMetrics._abc_impl", false]], "_abc_impl (pyhazards.metrics.segmentationmetrics attribute)": [[4, "pyhazards.metrics.SegmentationMetrics._abc_impl", false]], "_abc_impl (pyhazards.regressionmetrics attribute)": [[1, "pyhazards.RegressionMetrics._abc_impl", false]], "_abc_impl (pyhazards.segmentationmetrics attribute)": [[1, "pyhazards.SegmentationMetrics._abc_impl", false]], "_edge_index() (pyhazards.models.hydrographnet method)": [[5, "pyhazards.models.HydroGraphNet._edge_index", false]], "_get_adjacency() (pyhazards.models.wildfiremamba method)": [[5, "pyhazards.models.WildfireMamba._get_adjacency", false]], "_is_protocol (pyhazards.datasets.base.transform attribute)": [[2, "pyhazards.datasets.base.Transform._is_protocol", false]], "_load() (pyhazards.dataset method)": [[1, "pyhazards.Dataset._load", false]], "_load() (pyhazards.datasets.base.dataset method)": [[2, "pyhazards.datasets.base.Dataset._load", false]], "_load() (pyhazards.datasets.dataset method)": [[2, "pyhazards.datasets.Dataset._load", false]], "_make_loader() (pyhazards.engine.trainer method)": [[3, "pyhazards.engine.Trainer._make_loader", false]], "_make_loader() (pyhazards.engine.trainer.trainer method)": [[3, "pyhazards.engine.trainer.Trainer._make_loader", false]], "_make_loader() (pyhazards.trainer method)": [[1, "pyhazards.Trainer._make_loader", false]], "_match_edge_dim() (pyhazards.models.hydrographnet method)": [[5, "pyhazards.models.HydroGraphNet._match_edge_dim", false]], "_one_step() (pyhazards.models.hydrographnet method)": [[5, "pyhazards.models.HydroGraphNet._one_step", false]], "_prepare_edge_inputs() (pyhazards.models.hydrographnet method)": [[5, "pyhazards.models.HydroGraphNet._prepare_edge_inputs", false]], "_temporal_delta() (pyhazards.models.wildfiremamba static method)": [[5, "pyhazards.models.WildfireMamba._temporal_delta", false]], "_to_device() (pyhazards.engine.trainer method)": [[3, "pyhazards.engine.Trainer._to_device", false]], "_to_device() (pyhazards.engine.trainer.trainer method)": [[3, "pyhazards.engine.trainer.Trainer._to_device", false]], "_to_device() (pyhazards.trainer method)": [[1, "pyhazards.Trainer._to_device", false]], "auto_device() (in module pyhazards.utils)": [[6, "pyhazards.utils.auto_device", false]], "auto_device() (in module pyhazards.utils.hardware)": [[6, "pyhazards.utils.hardware.auto_device", false]], "available_datasets() (in module pyhazards)": [[1, "pyhazards.available_datasets", false]], "available_datasets() (in module pyhazards.datasets)": [[2, "pyhazards.datasets.available_datasets", false]], "available_datasets() (in module pyhazards.datasets.registry)": [[2, "pyhazards.datasets.registry.available_datasets", false]], "available_models() (in module pyhazards)": [[1, "pyhazards.available_models", false]], "available_models() (in module pyhazards.models)": [[5, "pyhazards.models.available_models", false]], "available_models() (in module pyhazards.models.registry)": [[5, "pyhazards.models.registry.available_models", false]], "build_model() (in module pyhazards)": [[1, "pyhazards.build_model", false]], "build_model() (in module pyhazards.models)": [[5, "pyhazards.models.build_model", false]], "build_model() (in module pyhazards.models.builder)": [[5, "pyhazards.models.builder.build_model", false]], "channels (pyhazards.datasets.base.featurespec attribute)": [[2, "pyhazards.datasets.base.FeatureSpec.channels", false]], "channels (pyhazards.datasets.featurespec attribute)": [[2, "pyhazards.datasets.FeatureSpec.channels", false]], "channels (pyhazards.featurespec attribute)": [[1, "pyhazards.FeatureSpec.channels", false]], "classificationhead (class in pyhazards)": [[1, "pyhazards.ClassificationHead", false]], "classificationhead (class in pyhazards.models)": [[5, "pyhazards.models.ClassificationHead", false]], "classificationhead (class in pyhazards.models.heads)": [[5, "pyhazards.models.heads.ClassificationHead", false]], "classificationmetrics (class in pyhazards)": [[1, "pyhazards.ClassificationMetrics", false]], "classificationmetrics (class in pyhazards.metrics)": [[4, "pyhazards.metrics.ClassificationMetrics", false]], "cnn_aspp_builder() (in module pyhazards.models)": [[5, "pyhazards.models.cnn_aspp_builder", false]], "cnnpatchencoder (class in pyhazards)": [[1, "pyhazards.CNNPatchEncoder", false]], "cnnpatchencoder (class in pyhazards.models)": [[5, "pyhazards.models.CNNPatchEncoder", false]], "cnnpatchencoder (class in pyhazards.models.backbones)": [[5, "pyhazards.models.backbones.CNNPatchEncoder", false]], "compute() (pyhazards.classificationmetrics method)": [[1, "pyhazards.ClassificationMetrics.compute", false]], "compute() (pyhazards.metricbase method)": [[1, "pyhazards.MetricBase.compute", false]], "compute() (pyhazards.metrics.classificationmetrics method)": [[4, "pyhazards.metrics.ClassificationMetrics.compute", false]], "compute() (pyhazards.metrics.metricbase method)": [[4, "pyhazards.metrics.MetricBase.compute", false]], "compute() (pyhazards.metrics.regressionmetrics method)": [[4, "pyhazards.metrics.RegressionMetrics.compute", false]], "compute() (pyhazards.metrics.segmentationmetrics method)": [[4, "pyhazards.metrics.SegmentationMetrics.compute", false]], "compute() (pyhazards.regressionmetrics method)": [[1, "pyhazards.RegressionMetrics.compute", false]], "compute() (pyhazards.segmentationmetrics method)": [[1, "pyhazards.SegmentationMetrics.compute", false]], "databundle (class in pyhazards)": [[1, "pyhazards.DataBundle", false]], "databundle (class in pyhazards.datasets)": [[2, "pyhazards.datasets.DataBundle", false]], "databundle (class in pyhazards.datasets.base)": [[2, "pyhazards.datasets.base.DataBundle", false]], "dataset (class in pyhazards)": [[1, "pyhazards.Dataset", false]], "dataset (class in pyhazards.datasets)": [[2, "pyhazards.datasets.Dataset", false]], "dataset (class in pyhazards.datasets.base)": [[2, "pyhazards.datasets.base.Dataset", false]], "datasplit (class in pyhazards)": [[1, "pyhazards.DataSplit", false]], "datasplit (class in pyhazards.datasets)": [[2, "pyhazards.datasets.DataSplit", false]], "datasplit (class in pyhazards.datasets.base)": [[2, "pyhazards.datasets.base.DataSplit", false]], "default_builder() (in module pyhazards.models.builder)": [[5, "pyhazards.models.builder.default_builder", false]], "description (pyhazards.datasets.base.featurespec attribute)": [[2, "pyhazards.datasets.base.FeatureSpec.description", false]], "description (pyhazards.datasets.base.labelspec attribute)": [[2, "pyhazards.datasets.base.LabelSpec.description", false]], "description (pyhazards.datasets.featurespec attribute)": [[2, "pyhazards.datasets.FeatureSpec.description", false]], "description (pyhazards.datasets.labelspec attribute)": [[2, "pyhazards.datasets.LabelSpec.description", false]], "description (pyhazards.featurespec attribute)": [[1, "pyhazards.FeatureSpec.description", false]], "description (pyhazards.labelspec attribute)": [[1, "pyhazards.LabelSpec.description", false]], "devices (pyhazards.engine.distributed.distributedconfig attribute)": [[3, "pyhazards.engine.distributed.DistributedConfig.devices", false]], "devices (pyhazards.engine.distributedconfig attribute)": [[3, "pyhazards.engine.DistributedConfig.devices", false]], "distributedconfig (class in pyhazards.engine)": [[3, "pyhazards.engine.DistributedConfig", false]], "distributedconfig (class in pyhazards.engine.distributed)": [[3, "pyhazards.engine.distributed.DistributedConfig", false]], "evaluate() (pyhazards.engine.trainer method)": [[3, "pyhazards.engine.Trainer.evaluate", false]], "evaluate() (pyhazards.engine.trainer.trainer method)": [[3, "pyhazards.engine.trainer.Trainer.evaluate", false]], "evaluate() (pyhazards.trainer method)": [[1, "pyhazards.Trainer.evaluate", false]], "extra (pyhazards.datasets.base.featurespec attribute)": [[2, "pyhazards.datasets.base.FeatureSpec.extra", false]], "extra (pyhazards.datasets.base.labelspec attribute)": [[2, "pyhazards.datasets.base.LabelSpec.extra", false]], "extra (pyhazards.datasets.featurespec attribute)": [[2, "pyhazards.datasets.FeatureSpec.extra", false]], "extra (pyhazards.datasets.labelspec attribute)": [[2, "pyhazards.datasets.LabelSpec.extra", false]], "extra (pyhazards.featurespec attribute)": [[1, "pyhazards.FeatureSpec.extra", false]], "extra (pyhazards.labelspec attribute)": [[1, "pyhazards.LabelSpec.extra", false]], "feature_spec (pyhazards.databundle attribute)": [[1, "pyhazards.DataBundle.feature_spec", false]], "feature_spec (pyhazards.datasets.base.databundle attribute)": [[2, "pyhazards.datasets.base.DataBundle.feature_spec", false]], "feature_spec (pyhazards.datasets.databundle attribute)": [[2, "pyhazards.datasets.DataBundle.feature_spec", false]], "featurespec (class in pyhazards)": [[1, "pyhazards.FeatureSpec", false]], "featurespec (class in pyhazards.datasets)": [[2, "pyhazards.datasets.FeatureSpec", false]], "featurespec (class in pyhazards.datasets.base)": [[2, "pyhazards.datasets.base.FeatureSpec", false]], "fit() (pyhazards.engine.trainer method)": [[3, "pyhazards.engine.Trainer.fit", false]], "fit() (pyhazards.engine.trainer.trainer method)": [[3, "pyhazards.engine.trainer.Trainer.fit", false]], "fit() (pyhazards.trainer method)": [[1, "pyhazards.Trainer.fit", false]], "forward() (pyhazards.classificationhead method)": [[1, "pyhazards.ClassificationHead.forward", false]], "forward() (pyhazards.cnnpatchencoder method)": [[1, "pyhazards.CNNPatchEncoder.forward", false]], "forward() (pyhazards.mlpbackbone method)": [[1, "pyhazards.MLPBackbone.forward", false]], "forward() (pyhazards.models.backbones.cnnpatchencoder method)": [[5, "pyhazards.models.backbones.CNNPatchEncoder.forward", false]], "forward() (pyhazards.models.backbones.mlpbackbone method)": [[5, "pyhazards.models.backbones.MLPBackbone.forward", false]], "forward() (pyhazards.models.backbones.temporalencoder method)": [[5, "pyhazards.models.backbones.TemporalEncoder.forward", false]], "forward() (pyhazards.models.classificationhead method)": [[5, "pyhazards.models.ClassificationHead.forward", false]], "forward() (pyhazards.models.cnnpatchencoder method)": [[5, "pyhazards.models.CNNPatchEncoder.forward", false]], "forward() (pyhazards.models.heads.classificationhead method)": [[5, "pyhazards.models.heads.ClassificationHead.forward", false]], "forward() (pyhazards.models.heads.regressionhead method)": [[5, "pyhazards.models.heads.RegressionHead.forward", false]], "forward() (pyhazards.models.heads.segmentationhead method)": [[5, "pyhazards.models.heads.SegmentationHead.forward", false]], "forward() (pyhazards.models.hydrographnet method)": [[5, "pyhazards.models.HydroGraphNet.forward", false]], "forward() (pyhazards.models.hydrographnetloss method)": [[5, "pyhazards.models.HydroGraphNetLoss.forward", false]], "forward() (pyhazards.models.mlpbackbone method)": [[5, "pyhazards.models.MLPBackbone.forward", false]], "forward() (pyhazards.models.regressionhead method)": [[5, "pyhazards.models.RegressionHead.forward", false]], "forward() (pyhazards.models.segmentationhead method)": [[5, "pyhazards.models.SegmentationHead.forward", false]], "forward() (pyhazards.models.temporalencoder method)": [[5, "pyhazards.models.TemporalEncoder.forward", false]], "forward() (pyhazards.models.tverskyloss method)": [[5, "pyhazards.models.TverskyLoss.forward", false]], "forward() (pyhazards.models.wildfirecnnaspp method)": [[5, "pyhazards.models.WildfireCNNASPP.forward", false]], "forward() (pyhazards.models.wildfiremamba method)": [[5, "pyhazards.models.WildfireMamba.forward", false]], "forward() (pyhazards.regressionhead method)": [[1, "pyhazards.RegressionHead.forward", false]], "forward() (pyhazards.segmentationhead method)": [[1, "pyhazards.SegmentationHead.forward", false]], "forward() (pyhazards.temporalencoder method)": [[1, "pyhazards.TemporalEncoder.forward", false]], "get_device() (in module pyhazards.utils)": [[6, "pyhazards.utils.get_device", false]], "get_device() (in module pyhazards.utils.hardware)": [[6, "pyhazards.utils.hardware.get_device", false]], "get_logger() (in module pyhazards.utils)": [[6, "pyhazards.utils.get_logger", false]], "get_logger() (in module pyhazards.utils.common)": [[6, "pyhazards.utils.common.get_logger", false]], "get_model_config() (in module pyhazards.models.registry)": [[5, "pyhazards.models.registry.get_model_config", false]], "get_split() (pyhazards.databundle method)": [[1, "pyhazards.DataBundle.get_split", false]], "get_split() (pyhazards.datasets.base.databundle method)": [[2, "pyhazards.datasets.base.DataBundle.get_split", false]], "get_split() (pyhazards.datasets.databundle method)": [[2, "pyhazards.datasets.DataBundle.get_split", false]], "graph_collate() (in module pyhazards.datasets)": [[2, "pyhazards.datasets.graph_collate", false]], "graphtemporaldataset (class in pyhazards.datasets)": [[2, "pyhazards.datasets.GraphTemporalDataset", false]], "hydrographnet (class in pyhazards.models)": [[5, "pyhazards.models.HydroGraphNet", false]], "hydrographnet_builder() (in module pyhazards.models)": [[5, "pyhazards.models.hydrographnet_builder", false]], "hydrographnetloss (class in pyhazards.models)": [[5, "pyhazards.models.HydroGraphNetLoss", false]], "input_dim (pyhazards.datasets.base.featurespec attribute)": [[2, "pyhazards.datasets.base.FeatureSpec.input_dim", false]], "input_dim (pyhazards.datasets.featurespec attribute)": [[2, "pyhazards.datasets.FeatureSpec.input_dim", false]], "input_dim (pyhazards.featurespec attribute)": [[1, "pyhazards.FeatureSpec.input_dim", false]], "inputs (pyhazards.datasets.base.datasplit attribute)": [[2, "pyhazards.datasets.base.DataSplit.inputs", false]], "inputs (pyhazards.datasets.datasplit attribute)": [[2, "pyhazards.datasets.DataSplit.inputs", false]], "inputs (pyhazards.datasplit attribute)": [[1, "pyhazards.DataSplit.inputs", false]], "label_spec (pyhazards.databundle attribute)": [[1, "pyhazards.DataBundle.label_spec", false]], "label_spec (pyhazards.datasets.base.databundle attribute)": [[2, "pyhazards.datasets.base.DataBundle.label_spec", false]], "label_spec (pyhazards.datasets.databundle attribute)": [[2, "pyhazards.datasets.DataBundle.label_spec", false]], "labelspec (class in pyhazards)": [[1, "pyhazards.LabelSpec", false]], "labelspec (class in pyhazards.datasets)": [[2, "pyhazards.datasets.LabelSpec", false]], "labelspec (class in pyhazards.datasets.base)": [[2, "pyhazards.datasets.base.LabelSpec", false]], "load() (pyhazards.dataset method)": [[1, "pyhazards.Dataset.load", false]], "load() (pyhazards.datasets.base.dataset method)": [[2, "pyhazards.datasets.base.Dataset.load", false]], "load() (pyhazards.datasets.dataset method)": [[2, "pyhazards.datasets.Dataset.load", false]], "load_dataset() (in module pyhazards)": [[1, "pyhazards.load_dataset", false]], "load_dataset() (in module pyhazards.datasets)": [[2, "pyhazards.datasets.load_dataset", false]], "load_dataset() (in module pyhazards.datasets.registry)": [[2, "pyhazards.datasets.registry.load_dataset", false]], "metadata (pyhazards.databundle attribute)": [[1, "pyhazards.DataBundle.metadata", false]], "metadata (pyhazards.datasets.base.databundle attribute)": [[2, "pyhazards.datasets.base.DataBundle.metadata", false]], "metadata (pyhazards.datasets.base.datasplit attribute)": [[2, "pyhazards.datasets.base.DataSplit.metadata", false]], "metadata (pyhazards.datasets.databundle attribute)": [[2, "pyhazards.datasets.DataBundle.metadata", false]], "metadata (pyhazards.datasets.datasplit attribute)": [[2, "pyhazards.datasets.DataSplit.metadata", false]], "metadata (pyhazards.datasplit attribute)": [[1, "pyhazards.DataSplit.metadata", false]], "metricbase (class in pyhazards)": [[1, "pyhazards.MetricBase", false]], "metricbase (class in pyhazards.metrics)": [[4, "pyhazards.metrics.MetricBase", false]], "mlpbackbone (class in pyhazards)": [[1, "pyhazards.MLPBackbone", false]], "mlpbackbone (class in pyhazards.models)": [[5, "pyhazards.models.MLPBackbone", false]], "mlpbackbone (class in pyhazards.models.backbones)": [[5, "pyhazards.models.backbones.MLPBackbone", false]], "module": [[1, "module-pyhazards", false], [2, "module-pyhazards.datasets", false], [2, "module-pyhazards.datasets.base", false], [2, "module-pyhazards.datasets.hazards", false], [2, "module-pyhazards.datasets.registry", false], [2, "module-pyhazards.datasets.transforms", false], [3, "module-pyhazards.engine", false], [3, "module-pyhazards.engine.distributed", false], [3, "module-pyhazards.engine.inference", false], [3, "module-pyhazards.engine.trainer", false], [4, "module-pyhazards.metrics", false], [5, "module-pyhazards.models", false], [5, "module-pyhazards.models.backbones", false], [5, "module-pyhazards.models.builder", false], [5, "module-pyhazards.models.heads", false], [5, "module-pyhazards.models.registry", false], [6, "module-pyhazards.utils", false], [6, "module-pyhazards.utils.common", false], [6, "module-pyhazards.utils.hardware", false]], "name (pyhazards.dataset attribute)": [[1, "pyhazards.Dataset.name", false]], "name (pyhazards.datasets.base.dataset attribute)": [[2, "pyhazards.datasets.base.Dataset.name", false]], "name (pyhazards.datasets.dataset attribute)": [[2, "pyhazards.datasets.Dataset.name", false]], "num_devices() (in module pyhazards.utils)": [[6, "pyhazards.utils.num_devices", false]], "num_devices() (in module pyhazards.utils.hardware)": [[6, "pyhazards.utils.hardware.num_devices", false]], "num_targets (pyhazards.datasets.base.labelspec attribute)": [[2, "pyhazards.datasets.base.LabelSpec.num_targets", false]], "num_targets (pyhazards.datasets.labelspec attribute)": [[2, "pyhazards.datasets.LabelSpec.num_targets", false]], "num_targets (pyhazards.labelspec attribute)": [[1, "pyhazards.LabelSpec.num_targets", false]], "predict() (pyhazards.engine.trainer method)": [[3, "pyhazards.engine.Trainer.predict", false]], "predict() (pyhazards.engine.trainer.trainer method)": [[3, "pyhazards.engine.trainer.Trainer.predict", false]], "predict() (pyhazards.trainer method)": [[1, "pyhazards.Trainer.predict", false]], "pyhazards": [[1, "module-pyhazards", false]], "pyhazards.datasets": [[2, "module-pyhazards.datasets", false]], "pyhazards.datasets.base": [[2, "module-pyhazards.datasets.base", false]], "pyhazards.datasets.hazards": [[2, "module-pyhazards.datasets.hazards", false]], "pyhazards.datasets.registry": [[2, "module-pyhazards.datasets.registry", false]], "pyhazards.datasets.transforms": [[2, "module-pyhazards.datasets.transforms", false]], "pyhazards.engine": [[3, "module-pyhazards.engine", false]], "pyhazards.engine.distributed": [[3, "module-pyhazards.engine.distributed", false]], "pyhazards.engine.inference": [[3, "module-pyhazards.engine.inference", false]], "pyhazards.engine.trainer": [[3, "module-pyhazards.engine.trainer", false]], "pyhazards.metrics": [[4, "module-pyhazards.metrics", false]], "pyhazards.models": [[5, "module-pyhazards.models", false]], "pyhazards.models.backbones": [[5, "module-pyhazards.models.backbones", false]], "pyhazards.models.builder": [[5, "module-pyhazards.models.builder", false]], "pyhazards.models.heads": [[5, "module-pyhazards.models.heads", false]], "pyhazards.models.registry": [[5, "module-pyhazards.models.registry", false]], "pyhazards.utils": [[6, "module-pyhazards.utils", false]], "pyhazards.utils.common": [[6, "module-pyhazards.utils.common", false]], "pyhazards.utils.hardware": [[6, "module-pyhazards.utils.hardware", false]], "register_dataset() (in module pyhazards)": [[1, "pyhazards.register_dataset", false]], "register_dataset() (in module pyhazards.datasets)": [[2, "pyhazards.datasets.register_dataset", false]], "register_dataset() (in module pyhazards.datasets.registry)": [[2, "pyhazards.datasets.registry.register_dataset", false]], "register_model() (in module pyhazards)": [[1, "pyhazards.register_model", false]], "register_model() (in module pyhazards.models)": [[5, "pyhazards.models.register_model", false]], "register_model() (in module pyhazards.models.registry)": [[5, "pyhazards.models.registry.register_model", false]], "regressionhead (class in pyhazards)": [[1, "pyhazards.RegressionHead", false]], "regressionhead (class in pyhazards.models)": [[5, "pyhazards.models.RegressionHead", false]], "regressionhead (class in pyhazards.models.heads)": [[5, "pyhazards.models.heads.RegressionHead", false]], "regressionmetrics (class in pyhazards)": [[1, "pyhazards.RegressionMetrics", false]], "regressionmetrics (class in pyhazards.metrics)": [[4, "pyhazards.metrics.RegressionMetrics", false]], "reset() (pyhazards.classificationmetrics method)": [[1, "pyhazards.ClassificationMetrics.reset", false]], "reset() (pyhazards.metricbase method)": [[1, "pyhazards.MetricBase.reset", false]], "reset() (pyhazards.metrics.classificationmetrics method)": [[4, "pyhazards.metrics.ClassificationMetrics.reset", false]], "reset() (pyhazards.metrics.metricbase method)": [[4, "pyhazards.metrics.MetricBase.reset", false]], "reset() (pyhazards.metrics.regressionmetrics method)": [[4, "pyhazards.metrics.RegressionMetrics.reset", false]], "reset() (pyhazards.metrics.segmentationmetrics method)": [[4, "pyhazards.metrics.SegmentationMetrics.reset", false]], "reset() (pyhazards.regressionmetrics method)": [[1, "pyhazards.RegressionMetrics.reset", false]], "reset() (pyhazards.segmentationmetrics method)": [[1, "pyhazards.SegmentationMetrics.reset", false]], "rollout() (pyhazards.models.hydrographnet method)": [[5, "pyhazards.models.HydroGraphNet.rollout", false]], "save_checkpoint() (pyhazards.engine.trainer method)": [[3, "pyhazards.engine.Trainer.save_checkpoint", false]], "save_checkpoint() (pyhazards.engine.trainer.trainer method)": [[3, "pyhazards.engine.trainer.Trainer.save_checkpoint", false]], "save_checkpoint() (pyhazards.trainer method)": [[1, "pyhazards.Trainer.save_checkpoint", false]], "seed_all() (in module pyhazards.utils)": [[6, "pyhazards.utils.seed_all", false]], "seed_all() (in module pyhazards.utils.common)": [[6, "pyhazards.utils.common.seed_all", false]], "segmentationhead (class in pyhazards)": [[1, "pyhazards.SegmentationHead", false]], "segmentationhead (class in pyhazards.models)": [[5, "pyhazards.models.SegmentationHead", false]], "segmentationhead (class in pyhazards.models.heads)": [[5, "pyhazards.models.heads.SegmentationHead", false]], "segmentationmetrics (class in pyhazards)": [[1, "pyhazards.SegmentationMetrics", false]], "segmentationmetrics (class in pyhazards.metrics)": [[4, "pyhazards.metrics.SegmentationMetrics", false]], "select_strategy() (in module pyhazards.engine)": [[3, "pyhazards.engine.select_strategy", false]], "select_strategy() (in module pyhazards.engine.distributed)": [[3, "pyhazards.engine.distributed.select_strategy", false]], "set_adjacency() (pyhazards.models.wildfiremamba method)": [[5, "pyhazards.models.WildfireMamba.set_adjacency", false]], "set_device() (in module pyhazards.utils)": [[6, "pyhazards.utils.set_device", false]], "set_device() (in module pyhazards.utils.hardware)": [[6, "pyhazards.utils.hardware.set_device", false]], "slidingwindowinference (class in pyhazards.engine)": [[3, "pyhazards.engine.SlidingWindowInference", false]], "slidingwindowinference (class in pyhazards.engine.inference)": [[3, "pyhazards.engine.inference.SlidingWindowInference", false]], "splits (pyhazards.databundle attribute)": [[1, "pyhazards.DataBundle.splits", false]], "splits (pyhazards.datasets.base.databundle attribute)": [[2, "pyhazards.datasets.base.DataBundle.splits", false]], "splits (pyhazards.datasets.databundle attribute)": [[2, "pyhazards.datasets.DataBundle.splits", false]], "strategy (pyhazards.engine.distributed.distributedconfig attribute)": [[3, "pyhazards.engine.distributed.DistributedConfig.strategy", false]], "strategy (pyhazards.engine.distributedconfig attribute)": [[3, "pyhazards.engine.DistributedConfig.strategy", false]], "targets (pyhazards.datasets.base.datasplit attribute)": [[2, "pyhazards.datasets.base.DataSplit.targets", false]], "targets (pyhazards.datasets.datasplit attribute)": [[2, "pyhazards.datasets.DataSplit.targets", false]], "targets (pyhazards.datasplit attribute)": [[1, "pyhazards.DataSplit.targets", false]], "task_type (pyhazards.datasets.base.labelspec attribute)": [[2, "pyhazards.datasets.base.LabelSpec.task_type", false]], "task_type (pyhazards.datasets.labelspec attribute)": [[2, "pyhazards.datasets.LabelSpec.task_type", false]], "task_type (pyhazards.labelspec attribute)": [[1, "pyhazards.LabelSpec.task_type", false]], "temporalencoder (class in pyhazards)": [[1, "pyhazards.TemporalEncoder", false]], "temporalencoder (class in pyhazards.models)": [[5, "pyhazards.models.TemporalEncoder", false]], "temporalencoder (class in pyhazards.models.backbones)": [[5, "pyhazards.models.backbones.TemporalEncoder", false]], "trainer (class in pyhazards)": [[1, "pyhazards.Trainer", false]], "trainer (class in pyhazards.engine)": [[3, "pyhazards.engine.Trainer", false]], "trainer (class in pyhazards.engine.trainer)": [[3, "pyhazards.engine.trainer.Trainer", false]], "transform (class in pyhazards.datasets.base)": [[2, "pyhazards.datasets.base.Transform", false]], "tverskyloss (class in pyhazards.models)": [[5, "pyhazards.models.TverskyLoss", false]], "update() (pyhazards.classificationmetrics method)": [[1, "pyhazards.ClassificationMetrics.update", false]], "update() (pyhazards.metricbase method)": [[1, "pyhazards.MetricBase.update", false]], "update() (pyhazards.metrics.classificationmetrics method)": [[4, "pyhazards.metrics.ClassificationMetrics.update", false]], "update() (pyhazards.metrics.metricbase method)": [[4, "pyhazards.metrics.MetricBase.update", false]], "update() (pyhazards.metrics.regressionmetrics method)": [[4, "pyhazards.metrics.RegressionMetrics.update", false]], "update() (pyhazards.metrics.segmentationmetrics method)": [[4, "pyhazards.metrics.SegmentationMetrics.update", false]], "update() (pyhazards.regressionmetrics method)": [[1, "pyhazards.RegressionMetrics.update", false]], "update() (pyhazards.segmentationmetrics method)": [[1, "pyhazards.SegmentationMetrics.update", false]], "wildfire_aspp_builder() (in module pyhazards.models)": [[5, "pyhazards.models.wildfire_aspp_builder", false]], "wildfire_mamba_builder() (in module pyhazards.models)": [[5, "pyhazards.models.wildfire_mamba_builder", false]], "wildfireaspp (class in pyhazards.models)": [[5, "pyhazards.models.WildfireASPP", false]], "wildfirecnnaspp (class in pyhazards.models)": [[5, "pyhazards.models.WildfireCNNASPP", false]], "wildfiremamba (class in pyhazards.models)": [[5, "pyhazards.models.WildfireMamba", false]]}, "objects": {"": [[1, 0, 0, "-", "pyhazards"]], "pyhazards": [[1, 1, 1, "", "CNNPatchEncoder"], [1, 1, 1, "", "ClassificationHead"], [1, 1, 1, "", "ClassificationMetrics"], [1, 1, 1, "", "DataBundle"], [1, 1, 1, "", "DataSplit"], [1, 1, 1, "", "Dataset"], [1, 1, 1, "", "FeatureSpec"], [1, 1, 1, "", "LabelSpec"], [1, 1, 1, "", "MLPBackbone"], [1, 1, 1, "", "MetricBase"], [1, 1, 1, "", "RegressionHead"], [1, 1, 1, "", "RegressionMetrics"], [1, 1, 1, "", "SegmentationHead"], [1, 1, 1, "", "SegmentationMetrics"], [1, 1, 1, "", "TemporalEncoder"], [1, 1, 1, "", "Trainer"], [1, 4, 1, "", "available_datasets"], [1, 4, 1, "", "available_models"], [1, 4, 1, "", "build_model"], [2, 0, 0, "-", "datasets"], [3, 0, 0, "-", "engine"], [1, 4, 1, "", "load_dataset"], [4, 0, 0, "-", "metrics"], [5, 0, 0, "-", "models"], [1, 4, 1, "", "register_dataset"], [1, 4, 1, "", "register_model"], [6, 0, 0, "-", "utils"]], "pyhazards.CNNPatchEncoder": [[1, 2, 1, "", "forward"]], "pyhazards.ClassificationHead": [[1, 2, 1, "", "forward"]], "pyhazards.ClassificationMetrics": [[1, 3, 1, "", "_abc_impl"], [1, 2, 1, "", "compute"], [1, 2, 1, "", "reset"], [1, 2, 1, "", "update"]], "pyhazards.DataBundle": [[1, 3, 1, "", "feature_spec"], [1, 2, 1, "", "get_split"], [1, 3, 1, "", "label_spec"], [1, 3, 1, "", "metadata"], [1, 3, 1, "", "splits"]], "pyhazards.DataSplit": [[1, 3, 1, "", "inputs"], [1, 3, 1, "", "metadata"], [1, 3, 1, "", "targets"]], "pyhazards.Dataset": [[1, 2, 1, "", "_load"], [1, 2, 1, "", "load"], [1, 3, 1, "", "name"]], "pyhazards.FeatureSpec": [[1, 3, 1, "", "channels"], [1, 3, 1, "", "description"], [1, 3, 1, "", "extra"], [1, 3, 1, "", "input_dim"]], "pyhazards.LabelSpec": [[1, 3, 1, "", "description"], [1, 3, 1, "", "extra"], [1, 3, 1, "", "num_targets"], [1, 3, 1, "", "task_type"]], "pyhazards.MLPBackbone": [[1, 2, 1, "", "forward"]], "pyhazards.MetricBase": [[1, 3, 1, "", "_abc_impl"], [1, 2, 1, "", "compute"], [1, 2, 1, "", "reset"], [1, 2, 1, "", "update"]], "pyhazards.RegressionHead": [[1, 2, 1, "", "forward"]], "pyhazards.RegressionMetrics": [[1, 3, 1, "", "_abc_impl"], [1, 2, 1, "", "compute"], [1, 2, 1, "", "reset"], [1, 2, 1, "", "update"]], "pyhazards.SegmentationHead": [[1, 2, 1, "", "forward"]], "pyhazards.SegmentationMetrics": [[1, 3, 1, "", "_abc_impl"], [1, 2, 1, "", "compute"], [1, 2, 1, "", "reset"], [1, 2, 1, "", "update"]], "pyhazards.TemporalEncoder": [[1, 2, 1, "", "forward"]], "pyhazards.Trainer": [[1, 2, 1, "", "_make_loader"], [1, 2, 1, "", "_to_device"], [1, 2, 1, "", "evaluate"], [1, 2, 1, "", "fit"], [1, 2, 1, "", "predict"], [1, 2, 1, "", "save_checkpoint"]], "pyhazards.datasets": [[2, 1, 1, "", "DataBundle"], [2, 1, 1, "", "DataSplit"], [2, 1, 1, "", "Dataset"], [2, 1, 1, "", "FeatureSpec"], [2, 1, 1, "", "GraphTemporalDataset"], [2, 1, 1, "", "LabelSpec"], [2, 4, 1, "", "available_datasets"], [2, 0, 0, "-", "base"], [2, 4, 1, "", "graph_collate"], [2, 0, 0, "-", "hazards"], [2, 4, 1, "", "load_dataset"], [2, 4, 1, "", "register_dataset"], [2, 0, 0, "-", "registry"], [2, 0, 0, "-", "transforms"]], "pyhazards.datasets.DataBundle": [[2, 3, 1, "", "feature_spec"], [2, 2, 1, "", "get_split"], [2, 3, 1, "", "label_spec"], [2, 3, 1, "", "metadata"], [2, 3, 1, "", "splits"]], "pyhazards.datasets.DataSplit": [[2, 3, 1, "", "inputs"], [2, 3, 1, "", "metadata"], [2, 3, 1, "", "targets"]], "pyhazards.datasets.Dataset": [[2, 2, 1, "", "_load"], [2, 2, 1, "", "load"], [2, 3, 1, "", "name"]], "pyhazards.datasets.FeatureSpec": [[2, 3, 1, "", "channels"], [2, 3, 1, "", "description"], [2, 3, 1, "", "extra"], [2, 3, 1, "", "input_dim"]], "pyhazards.datasets.LabelSpec": [[2, 3, 1, "", "description"], [2, 3, 1, "", "extra"], [2, 3, 1, "", "num_targets"], [2, 3, 1, "", "task_type"]], "pyhazards.datasets.base": [[2, 1, 1, "", "DataBundle"], [2, 1, 1, "", "DataSplit"], [2, 1, 1, "", "Dataset"], [2, 1, 1, "", "FeatureSpec"], [2, 1, 1, "", "LabelSpec"], [2, 1, 1, "", "Transform"]], "pyhazards.datasets.base.DataBundle": [[2, 3, 1, "", "feature_spec"], [2, 2, 1, "", "get_split"], [2, 3, 1, "", "label_spec"], [2, 3, 1, "", "metadata"], [2, 3, 1, "", "splits"]], "pyhazards.datasets.base.DataSplit": [[2, 3, 1, "", "inputs"], [2, 3, 1, "", "metadata"], [2, 3, 1, "", "targets"]], "pyhazards.datasets.base.Dataset": [[2, 2, 1, "", "_load"], [2, 2, 1, "", "load"], [2, 3, 1, "", "name"]], "pyhazards.datasets.base.FeatureSpec": [[2, 3, 1, "", "channels"], [2, 3, 1, "", "description"], [2, 3, 1, "", "extra"], [2, 3, 1, "", "input_dim"]], "pyhazards.datasets.base.LabelSpec": [[2, 3, 1, "", "description"], [2, 3, 1, "", "extra"], [2, 3, 1, "", "num_targets"], [2, 3, 1, "", "task_type"]], "pyhazards.datasets.base.Transform": [[2, 3, 1, "", "_abc_impl"], [2, 3, 1, "", "_is_protocol"]], "pyhazards.datasets.registry": [[2, 4, 1, "", "available_datasets"], [2, 4, 1, "", "load_dataset"], [2, 4, 1, "", "register_dataset"]], "pyhazards.engine": [[3, 1, 1, "", "DistributedConfig"], [3, 1, 1, "", "SlidingWindowInference"], [3, 1, 1, "", "Trainer"], [3, 0, 0, "-", "distributed"], [3, 0, 0, "-", "inference"], [3, 4, 1, "", "select_strategy"], [3, 0, 0, "-", "trainer"]], "pyhazards.engine.DistributedConfig": [[3, 3, 1, "", "devices"], [3, 3, 1, "", "strategy"]], "pyhazards.engine.Trainer": [[3, 2, 1, "", "_make_loader"], [3, 2, 1, "", "_to_device"], [3, 2, 1, "", "evaluate"], [3, 2, 1, "", "fit"], [3, 2, 1, "", "predict"], [3, 2, 1, "", "save_checkpoint"]], "pyhazards.engine.distributed": [[3, 1, 1, "", "DistributedConfig"], [3, 4, 1, "", "select_strategy"]], "pyhazards.engine.distributed.DistributedConfig": [[3, 3, 1, "", "devices"], [3, 3, 1, "", "strategy"]], "pyhazards.engine.inference": [[3, 1, 1, "", "SlidingWindowInference"]], "pyhazards.engine.trainer": [[3, 1, 1, "", "Trainer"]], "pyhazards.engine.trainer.Trainer": [[3, 2, 1, "", "_make_loader"], [3, 2, 1, "", "_to_device"], [3, 2, 1, "", "evaluate"], [3, 2, 1, "", "fit"], [3, 2, 1, "", "predict"], [3, 2, 1, "", "save_checkpoint"]], "pyhazards.metrics": [[4, 1, 1, "", "ClassificationMetrics"], [4, 1, 1, "", "MetricBase"], [4, 1, 1, "", "RegressionMetrics"], [4, 1, 1, "", "SegmentationMetrics"]], "pyhazards.metrics.ClassificationMetrics": [[4, 3, 1, "", "_abc_impl"], [4, 2, 1, "", "compute"], [4, 2, 1, "", "reset"], [4, 2, 1, "", "update"]], "pyhazards.metrics.MetricBase": [[4, 3, 1, "", "_abc_impl"], [4, 2, 1, "", "compute"], [4, 2, 1, "", "reset"], [4, 2, 1, "", "update"]], "pyhazards.metrics.RegressionMetrics": [[4, 3, 1, "", "_abc_impl"], [4, 2, 1, "", "compute"], [4, 2, 1, "", "reset"], [4, 2, 1, "", "update"]], "pyhazards.metrics.SegmentationMetrics": [[4, 3, 1, "", "_abc_impl"], [4, 2, 1, "", "compute"], [4, 2, 1, "", "reset"], [4, 2, 1, "", "update"]], "pyhazards.models": [[5, 1, 1, "", "CNNPatchEncoder"], [5, 1, 1, "", "ClassificationHead"], [5, 1, 1, "", "HydroGraphNet"], [5, 1, 1, "", "HydroGraphNetLoss"], [5, 1, 1, "", "MLPBackbone"], [5, 1, 1, "", "RegressionHead"], [5, 1, 1, "", "SegmentationHead"], [5, 1, 1, "", "TemporalEncoder"], [5, 1, 1, "", "TverskyLoss"], [5, 1, 1, "", "WildfireASPP"], [5, 1, 1, "", "WildfireCNNASPP"], [5, 1, 1, "", "WildfireMamba"], [5, 4, 1, "", "available_models"], [5, 0, 0, "-", "backbones"], [5, 4, 1, "", "build_model"], [5, 0, 0, "-", "builder"], [5, 4, 1, "", "cnn_aspp_builder"], [5, 0, 0, "-", "heads"], [5, 4, 1, "", "hydrographnet_builder"], [5, 4, 1, "", "register_model"], [5, 0, 0, "-", "registry"], [5, 4, 1, "", "wildfire_aspp_builder"], [5, 4, 1, "", "wildfire_mamba_builder"]], "pyhazards.models.CNNPatchEncoder": [[5, 2, 1, "", "forward"]], "pyhazards.models.ClassificationHead": [[5, 2, 1, "", "forward"]], "pyhazards.models.HydroGraphNet": [[5, 2, 1, "", "_edge_index"], [5, 2, 1, "", "_match_edge_dim"], [5, 2, 1, "", "_one_step"], [5, 2, 1, "", "_prepare_edge_inputs"], [5, 2, 1, "", "forward"], [5, 2, 1, "", "rollout"]], "pyhazards.models.HydroGraphNetLoss": [[5, 2, 1, "", "forward"]], "pyhazards.models.MLPBackbone": [[5, 2, 1, "", "forward"]], "pyhazards.models.RegressionHead": [[5, 2, 1, "", "forward"]], "pyhazards.models.SegmentationHead": [[5, 2, 1, "", "forward"]], "pyhazards.models.TemporalEncoder": [[5, 2, 1, "", "forward"]], "pyhazards.models.TverskyLoss": [[5, 2, 1, "", "forward"]], "pyhazards.models.WildfireCNNASPP": [[5, 2, 1, "", "forward"]], "pyhazards.models.WildfireMamba": [[5, 2, 1, "", "_get_adjacency"], [5, 2, 1, "", "_temporal_delta"], [5, 2, 1, "", "forward"], [5, 2, 1, "", "set_adjacency"]], "pyhazards.models.backbones": [[5, 1, 1, "", "CNNPatchEncoder"], [5, 1, 1, "", "MLPBackbone"], [5, 1, 1, "", "TemporalEncoder"]], "pyhazards.models.backbones.CNNPatchEncoder": [[5, 2, 1, "", "forward"]], "pyhazards.models.backbones.MLPBackbone": [[5, 2, 1, "", "forward"]], "pyhazards.models.backbones.TemporalEncoder": [[5, 2, 1, "", "forward"]], "pyhazards.models.builder": [[5, 4, 1, "", "build_model"], [5, 4, 1, "", "default_builder"]], "pyhazards.models.heads": [[5, 1, 1, "", "ClassificationHead"], [5, 1, 1, "", "RegressionHead"], [5, 1, 1, "", "SegmentationHead"]], "pyhazards.models.heads.ClassificationHead": [[5, 2, 1, "", "forward"]], "pyhazards.models.heads.RegressionHead": [[5, 2, 1, "", "forward"]], "pyhazards.models.heads.SegmentationHead": [[5, 2, 1, "", "forward"]], "pyhazards.models.registry": [[5, 4, 1, "", "available_models"], [5, 4, 1, "", "get_model_config"], [5, 4, 1, "", "register_model"]], "pyhazards.utils": [[6, 4, 1, "", "auto_device"], [6, 0, 0, "-", "common"], [6, 4, 1, "", "get_device"], [6, 4, 1, "", "get_logger"], [6, 0, 0, "-", "hardware"], [6, 4, 1, "", "num_devices"], [6, 4, 1, "", "seed_all"], [6, 4, 1, "", "set_device"]], "pyhazards.utils.common": [[6, 4, 1, "", "get_logger"], [6, 4, 1, "", "seed_all"]], "pyhazards.utils.hardware": [[6, 4, 1, "", "auto_device"], [6, 4, 1, "", "get_device"], [6, 4, 1, "", "num_devices"], [6, 4, 1, "", "set_device"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "function", "Python function"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:function"}, "terms": {"": [10, 11, 13, 15, 21, 27, 28], "0": [1, 3, 5, 8, 10, 12, 16, 18, 19, 21, 26], "00230": 10, "008": 9, "01": 21, "02": 21, "0301003": 13, "06": 5, "0758": 12, "08": 9, "1": [1, 3, 5, 9, 10, 12, 13, 17, 19, 20, 21, 24, 26], "10": [8, 9, 10, 11, 12, 13, 14, 15, 17, 22, 26], "1000": 16, "1002": 8, "1016": 9, "1071": 11, "11": 9, "1175": [10, 12], "12": [5, 17, 18, 20], "120": 14, "128": [1, 5, 16, 24], "14": 12, "143": 9, "146": 8, "15": [10, 15], "15min": 21, "16": [12, 16, 22, 24], "18": 11, "1940": 8, "1950": 14, "1980": 12, "1984": 13, "1999": 8, "1b": 10, "1e": [5, 17, 22, 26], "2": [1, 5, 8, 9, 10, 16, 17, 18, 19, 20, 22, 26, 27], "20": 9, "2007": [13, 21, 27], "2009": [11, 27], "2013": 9, "2014": [9, 21, 27], "2017": [10, 12, 21, 27], "2020": [8, 21, 27], "2023": 21, "2024": [20, 24, 27], "2025": [7, 17, 19, 24, 27], "20260101": [12, 21], "2049": 8, "21": [9, 13], "235": 11, "24": 21, "249": 11, "25": [8, 21], "256": [1, 5, 24], "3": [1, 5, 8, 9, 11, 12, 13, 17, 18, 19, 21, 22, 24, 26], "30": [9, 10, 11, 12, 13], "30m": 9, "31": 21, "32": [1, 3, 5, 24], "375": [9, 27], "3803": 8, "3h": 9, "4": [9, 10, 21], "42": 6, "4996": 13, "5": [5, 8, 9, 10, 12, 15, 21, 24], "50": [8, 17, 19, 26], "5419": 12, "5454": 12, "6": [5, 9, 10, 18], "60": 9, "625": 12, "64": [1, 3, 5, 20], "681": 10, "698": 10, "7": 9, "730": 8, "75": 14, "79": 21, "8": [9, 18, 21], "800": 16, "85": 9, "87": 21, "9": 9, "90": 14, "900": 16, "96": 9, "98": 10, "A": [10, 11, 13, 17, 21, 24, 27], "For": [8, 10, 12, 14, 17, 21, 26], "If": [7, 8, 17, 21], "In": [19, 20], "It": [8, 12, 17, 26], "Near": [8, 9, 12, 21], "One": [12, 21], "Or": 26, "The": [8, 9, 10, 12, 19, 20, 22, 24, 27, 28], "Their": 27, "To": [15, 16, 17, 26], "__name__": [17, 26], "_abc": [1, 2, 4], "_abc_data": [1, 2, 4], "_abc_impl": [0, 1, 2, 4], "_edge_index": [1, 5], "_get_adjac": [1, 5], "_is_protocol": [1, 2], "_load": [0, 1, 2, 16], "_make_load": [0, 1, 3], "_match_edge_dim": [1, 5], "_one_step": [1, 5], "_prepare_edge_input": [1, 5], "_temporal_delta": [1, 5], "_to_devic": [0, 1, 3], "abc": [1, 4], "abi": [10, 27], "abov": 10, "abstract": [1, 3, 4, 23], "accept": 21, "accordingli": 21, "accuraci": 23, "across": [11, 13, 14, 15, 17], "activ": [9, 15, 21, 27], "ad": 10, "adam": [17, 22, 26], "adapt": [8, 17, 19, 26], "add": [16, 17, 21], "addit": 11, "adj": 5, "adjac": [2, 5], "administr": 14, "adopt": 8, "advanc": 10, "aerosol": 10, "after": [10, 12, 14, 17, 21], "against": 24, "agenc": 15, "aggreg": [13, 15, 23], "ai": [7, 17], "aim": 11, "al": [8, 10, 12, 19, 20, 21, 24, 27], "alaska": [11, 13], "algorithm": [9, 27], "align": 26, "alpha": 5, "also": 12, "america": 10, "american": 10, "amount": 8, "amp": 22, "an": [2, 7, 8, 9, 15, 17, 20, 21, 24, 27], "analysi": [8, 9, 10, 12, 13, 14, 15, 21, 27], "ani": [1, 2, 3, 5, 24], "ann": 24, "annual": 11, "anomali": [9, 10], "api": [1, 3, 17, 26], "appear": [10, 12, 15], "append": [14, 15], "appli": [5, 15], "applic": [8, 12, 20, 27], "approach": [20, 27], "approxim": 15, "aqua": 9, "ar": [8, 9, 10, 11, 12, 13, 14, 15, 22, 23, 24], "arcgi": 15, "architectur": [16, 17, 24], "archiv": [9, 10, 13, 14], "area_of_interest_bbox": 21, "arg": [2, 5, 21], "arnold": 24, "around": 17, "artifact": 21, "artifici": [20, 27], "aspp": [5, 20, 24, 27], "aspp_channel": 5, "assess": [8, 9, 11, 13, 14, 17, 21, 27], "assimil": [8, 12], "associ": [9, 15], "assur": 28, "atmospher": [8, 10, 12, 21], "attribut": [8, 15], "aug": 13, "author": [7, 17, 27], "authorit": [15, 21], "auto": [1, 3, 21, 22], "auto_devic": [1, 6, 22], "automat": [6, 26], "autoregress": 5, "avail": [9, 10, 12, 13, 14, 21, 22, 26], "available_dataset": [0, 1, 2], "available_model": [0, 1, 5], "awar": [9, 10], "b": [5, 8, 13, 27], "backbon": [0, 1, 12, 16, 17, 24], "background": 11, "backward": 5, "bam": 10, "band": 10, "base": [0, 1, 3, 4, 5, 9, 11, 13, 14, 15, 17, 18, 19, 24, 26], "base_channel": 5, "baselin": [8, 10, 15, 24], "basic": 21, "batch": [2, 5, 19], "batch_siz": [1, 3, 5, 17, 26], "begin": 14, "behavior": [8, 11, 21], "bell": [8, 27], "below": [10, 12, 21, 27], "benchmark": [8, 12, 17, 21], "berrisford": [8, 27], "best": 10, "beta": 5, "bin": 14, "binari": 5, "bool": 21, "boundari": 8, "brewer": [13, 27], "bright": 10, "broad": 12, "build": [1, 5, 17, 26], "build_model": [0, 1, 5, 16, 17, 19, 20, 22, 24, 26], "builder": [0, 1, 2, 16, 17, 24], "built": [17, 19, 20, 23], "bulk": [9, 11, 14], "bulletin": 10, "bundl": [1, 2, 13], "burn": [13, 21, 27], "c": 5, "c00648": 14, "c3": 8, "ca": 9, "cache_dir": [1, 2], "cadenc": [8, 9, 10, 11, 12, 13, 14, 15], "california": 28, "call": 23, "callabl": 2, "can": [9, 10, 12, 16, 18, 20, 24], "canada": 9, "canon": [8, 26], "canopi": 11, "carri": 10, "catalog": 21, "categor": 13, "caus": 15, "cd": [8, 21], "cell_area": 5, "center": [14, 15, 27], "centr": 8, "central": 17, "chang": [8, 13, 15, 21], "channel": [0, 1, 2, 10], "character": 11, "check": [9, 10, 11, 12, 13, 14, 15, 21], "checkpoint": 22, "cheng": [7, 17, 28], "choos": [6, 21], "cite": 27, "class": [1, 2, 3, 4, 5, 10, 13, 16, 22], "classif": [1, 5, 13, 16, 22, 24], "classificationhead": [0, 1, 5], "classificationmetr": [0, 1, 4, 22, 23], "cli": [21, 24], "click": [21, 24], "climat": [8, 12], "close": 8, "closer": [10, 27], "cloud": 10, "cmd": 21, "cnn": [1, 5, 16, 20, 24, 27], "cnn_aspp_build": [1, 5], "cnnpatchencod": [0, 1, 5], "code": [21, 28], "collat": 2, "collate_fn": [1, 3, 17, 26], "com": [7, 15, 17], "combin": [8, 9], "command": 21, "common": [0, 1, 12, 23, 24, 25], "commonli": [8, 11, 12, 13, 15, 21], "commun": 28, "compar": 24, "compat": [5, 17], "compil": 14, "complex": [1, 3], "compon": 19, "compos": [24, 28], "comprehens": 8, "comput": [0, 1, 2, 4, 23], "concret": 2, "conda": 18, "confid": 9, "config": [22, 24], "consist": [1, 5, 8, 11, 12, 17, 27], "construct": [1, 2, 17, 24], "contain": [1, 2, 15], "content": 0, "contentrefer": 9, "context": 21, "contextu": 10, "continu": [5, 10, 12, 13, 15, 21], "continuity_weight": 5, "contribut": 28, "conu": [10, 11, 13], "conv_kernel": 5, "convent": 12, "convert": 8, "coord": 14, "coordin": [8, 10, 11, 12, 13, 14], "copernicu": [8, 21], "core": [10, 12], "correct": 17, "correspond": 9, "could": 21, "count": 5, "counti": [2, 5, 14], "covari": [8, 11, 12, 21], "cover": [11, 23], "coverag": [8, 9, 10, 11, 12, 13, 14, 15], "cpu": 26, "cr": [8, 9, 10, 11, 12, 13, 15], "creat": 24, "credenti": [12, 21], "critic": 10, "crop": 14, "crossentropyloss": 22, "csiszar": [9, 27], "csv": [9, 14, 21], "cu126": 18, "cuda": [18, 22, 26], "curat": 21, "current": [2, 10, 11, 15, 21], "custom": [1, 3, 16, 26], "d": [10, 12, 21], "dacheng": [7, 17, 28], "dai": [2, 5, 8, 9, 14, 20, 24], "daili": [8, 12, 21], "damag": 14, "danger": 8, "data": [1, 2, 3, 19, 21, 24, 26, 27], "data_bundl": 22, "data_sourc": 21, "databas": [14, 21, 27], "databundl": [0, 1, 2, 8, 16, 17], "dataload": [1, 3], "dataloader_v3": 21, "dataset": [0, 1, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 24], "datasplit": [0, 1, 2, 16], "date": [8, 15, 21], "db": 14, "dd": 21, "ddp": [3, 22], "decod": [5, 19], "dedic": 28, "def": [16, 24], "default": [1, 5, 10, 16, 21, 22, 24], "default_build": [1, 5], "defin": 21, "delai": 10, "deleg": [1, 5], "delta": [5, 19], "densiti": 11, "depend": [9, 10, 11, 13, 15], "depth": [1, 5, 24], "deriv": [9, 10, 11, 12, 13, 14, 21], "describ": [1, 2, 21], "descript": [0, 1, 2, 9, 14, 16, 21, 24, 27], "descriptor": 11, "design": 23, "detail": [17, 24, 26], "detect": [9, 10, 15, 21, 26, 27], "determinist": 6, "develop": 8, "devic": [1, 3, 5, 6, 25, 26], "device_str": 6, "dewpoint": 8, "deyang": [7, 17, 28], "diagnost": [8, 10, 12], "dice": 23, "dict": [1, 2, 3, 4, 5, 21], "differ": 24, "dilat": 5, "direct": 28, "directli": [20, 23], "disc": 12, "discover": 24, "discoveri": 15, "disk": 10, "displai": 15, "dissemin": 10, "distribut": [0, 1, 8, 9, 10, 11, 13, 15, 17], "distributedconfig": [1, 3], "disturb": 11, "dnbr": 13, "document": [12, 14, 15, 26, 27, 28], "doi": [8, 9, 10, 11, 12, 13], "dong": [7, 17, 28], "download": [9, 12, 14, 15, 18, 21], "downstream": [1, 2], "dp": 3, "driven": [16, 24], "driver": [12, 14, 21], "dropout": 5, "drought": 12, "dtype": [1, 2, 5], "due": 14, "e": [9, 11, 12, 13, 15, 21], "each": [2, 9, 12, 15, 21], "earli": [9, 10, 21], "earthdata": [9, 12, 21], "earthdata_password": [12, 21], "earthdata_usernam": [12, 21], "earthquak": [2, 24], "easi": [1, 2], "ecmwf": [8, 21], "ecolog": [11, 13], "ecologi": 13, "ecosystem": 21, "edge_feat": 5, "edge_in_dim": [5, 17, 19, 26], "edu": 28, "eidenshink": [13, 21, 27], "els": 21, "emerg": 14, "enabl": [5, 20, 22, 27], "encod": [1, 5, 16, 24], "end": [11, 12, 14, 17, 19, 26], "endpoint": 9, "energi": 12, "enforce_nonneg": 5, "engag": 28, "engin": [0, 1, 17, 26], "enhanc": 24, "entri": 14, "entrypoint": [8, 12, 17, 26], "environ": [9, 18, 21, 26], "environment": [8, 10, 12, 14, 24, 27], "epoch": [17, 26], "era": [12, 27], "era5": [5, 17, 19, 21, 27], "era5_path": 8, "era5_subset": [8, 17, 19, 26], "era5t": 8, "estim": [8, 12], "et": [8, 10, 12, 19, 20, 21, 24, 27], "etc": 2, "european": 8, "evalu": [0, 1, 3, 13, 17, 22, 26], "event": [9, 13, 15, 21, 27], "everi": [9, 10, 15], "evolut": 10, "evolv": 15, "exampl": [16, 17, 18, 24], "execut": 17, "exist": 21, "expect": 8, "experi": [17, 20, 21], "explain": [20, 24, 27], "explicit": 21, "explicitli": 26, "export": [21, 26], "expos": [17, 21], "extend": [1, 3, 17, 23], "extens": 24, "extent": [13, 21], "extern": 5, "extra": [0, 1, 2], "extract": 14, "extrem": [8, 12], "f": 21, "factori": [1, 2], "fall": 15, "fals": [1, 3, 5, 6, 17, 21, 26], "familiar": [1, 3], "faster": 9, "fatal": 14, "featur": [1, 2, 5, 15, 16], "feature_spec": [0, 1, 2, 16], "featurespec": [0, 1, 2, 16], "feb": 13, "fetch": 21, "field": [8, 10, 11, 12, 15], "fifth": 8, "figur": 21, "file": [8, 9, 10, 11, 12, 13, 14, 15, 17, 21, 26], "final": [8, 17], "fire": [9, 10, 11, 13, 15, 21, 27], "fireecologi": 13, "firm": [15, 21], "firms_data": 9, "first": [16, 17, 18, 26], "fit": [0, 1, 3, 17, 22, 26], "fix": 10, "flag": [6, 9, 21], "float": [1, 3, 4, 5, 21], "flood": [2, 8, 19, 21, 26, 27], "florida": 28, "flow": 21, "flux": [8, 12], "focus": 24, "folder": 21, "follow": [8, 19, 20, 26], "forc": [8, 12, 21], "forecast": [8, 19, 24, 27], "forest": [11, 13], "format": [8, 9, 10, 11, 12, 13, 14, 15, 21], "forward": [0, 1, 5], "foundat": 27, "four": 17, "framework": [17, 24], "frequenc": [8, 9, 10, 11, 12, 13, 14, 15, 21], "from": [8, 9, 10, 11, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 26], "from_logit": 5, "frp": 9, "fsu": 28, "fuel": [9, 11, 13, 15, 21, 27], "full": [10, 15, 23], "function": [2, 17, 24, 26], "fusion": 21, "g": [9, 11, 12, 13, 15, 21, 27], "gcn_hidden": 5, "ge": 12, "gelaro": [12, 21, 27], "gener": [5, 8, 10, 21], "geo": 12, "geodatabas": 13, "geograph": [9, 15], "geojson": [9, 15], "geolog": 13, "geometri": 15, "geopotenti": [8, 12], "geospati": [11, 15, 27], "geostationari": [10, 21], "geotiff": [11, 13], "get": [16, 24, 26], "get_devic": [1, 6], "get_logg": [1, 6], "get_model_config": [1, 5], "get_split": [0, 1, 2], "gi": 11, "giglio": [9, 27], "github": [7, 17], "global": [8, 9, 12, 21, 27], "gmao": [12, 21], "gnn": 24, "goe": [15, 21, 27], "goesr": [10, 21], "goesr_data": 10, "gov": 14, "gpu": [17, 22], "granul": 10, "graph": [8, 17, 19, 26, 27], "graph_col": [1, 2, 17, 19, 26], "graphtemporaldataset": [1, 2], "grib": 8, "grid": [3, 8, 9, 10, 11, 12, 14, 21, 22], "griffith": [10, 27], "ground": [10, 15, 21], "grow": 13, "growth": 10, "gru": [1, 5], "guid": [17, 26], "gunshor": [10, 27], "h": [5, 8, 21, 27], "h5": 21, "handl": [22, 24], "hardwar": [0, 1, 17, 22, 25], "harmon": 5, "have": 10, "hawaii": [11, 13], "hazard": [0, 1, 7, 8, 9, 10, 11, 12, 14, 16, 17, 21, 24, 26], "head": [0, 1, 16, 17, 24], "heat": 12, "height": [11, 12], "help": 26, "helper": [17, 22, 25, 26], "hemispher": 10, "hersbach": [8, 21, 27], "hh": 21, "hidden": [16, 24], "hidden_dim": [1, 5, 16, 24], "high": [8, 10, 21], "histor": [8, 13, 14, 15], "home": 21, "hotspot": [9, 15], "hour": 9, "hourli": [8, 9, 12, 21], "how": [16, 21], "howard": [13, 27], "howpublish": [7, 17], "hr": 10, "hsu": [7, 17, 28], "http": [7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18], "humid": 12, "hurrican": [2, 12], "hydrograph": [17, 19], "hydrographnet": [1, 5, 8, 17, 24], "hydrographnet_build": [1, 5], "hydrographnetloss": [1, 5], "i": [2, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 27, 28], "id": [14, 21], "identifi": [15, 21], "ignit": [10, 11, 13, 15, 21], "imag": 10, "imageri": [10, 13, 21], "impact": [13, 14, 21], "implement": [2, 3, 17, 21, 24, 26], "import": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 26], "in_channel": [1, 5, 17, 20], "in_dim": [1, 5, 16, 22, 24], "incid": [15, 21, 27], "includ": [8, 9, 10, 11, 12, 13, 14, 15], "index": [2, 9, 17, 18], "indic": [9, 10], "individu": 13, "infer": [0, 1, 21, 22], "inform": [9, 14, 15, 19, 24, 27], "infrar": 10, "ingest": 10, "initi": [8, 9, 27], "injuri": 14, "input": [0, 1, 2, 3, 5, 8, 12, 19, 21], "input_dim": [0, 1, 2, 5, 16], "ins": 24, "inspect": [8, 9, 10, 11, 12, 13, 14, 15, 17, 26], "inspir": 5, "int": [1, 2, 3, 6, 16, 21, 24], "integr": [9, 10, 11, 13, 14, 15, 17, 24], "intellig": [20, 27], "interag": [13, 15, 21, 27], "interfac": [1, 5, 17, 23, 26], "intern": [11, 24], "interpret": [10, 19, 24, 27], "inventori": [13, 21], "iou": 23, "irwin": 15, "iso": [14, 21], "item": [9, 10, 11, 13, 14, 15], "iter": [1, 3], "its": [21, 24], "j": [9, 10, 12, 13, 27], "jcli": 12, "journal": [8, 11, 12], "k": [13, 27], "kan": [19, 24], "keep": [1, 2, 5, 15, 24, 26], "kei": [8, 21], "km": [9, 10], "kml": 9, "kodudula": [7, 17, 28], "kolmogorov": 24, "kumar": [7, 17, 28], "kwarg": [1, 2, 5, 16, 24], "l": [9, 27], "label": [1, 2, 9, 13, 14, 15, 21], "label_map": 21, "label_sourc": 21, "label_spec": [0, 1, 2, 16], "labelspec": [0, 1, 2, 16], "labrai": [7, 17], "lag": 14, "lanc": 9, "land": [8, 9, 12, 14], "landfir": [21, 27], "landfire_data": 11, "landsat": [13, 21], "landscap": [11, 21], "landslid": 2, "larg": [3, 22], "last": 15, "lat": [9, 10, 12], "latenc": [8, 9, 10, 11, 12, 14], "later": [8, 9], "latitud": [8, 9, 12], "layer": [8, 11, 13, 15, 16, 21, 24], "learn": [8, 11, 12, 14], "least": 21, "level": [8, 9, 10, 12, 14, 15, 21], "lex": [7, 17, 28], "lf": 11, "librari": [7, 17], "lightweight": [1, 3, 5, 24], "limit": 12, "line": 16, "linear": [16, 24], "link": [15, 27], "list": [1, 3, 8, 21], "liter": 3, "load": [0, 1, 2, 16, 21], "load_data": 21, "load_dataset": [0, 1, 2], "load_hydrograph_data": [8, 17, 19, 26], "load_sample_h5": 21, "loader": [2, 17], "local": [8, 9, 10, 11, 12, 13, 14, 15, 21, 26], "locat": [9, 14, 15, 21], "log": 25, "logger": 6, "logic": 3, "login": 9, "logit": [5, 20], "lon": [9, 10, 12], "long": [12, 13, 21], "longer": [10, 14], "longitud": [8, 9, 12], "look": [10, 27], "loop": [1, 3, 17, 24], "loss": 5, "loss_fn": [1, 3, 17, 22, 26], "lr": [17, 22, 26], "m": [8, 9, 10, 11, 12, 13, 14, 15, 17, 21, 26, 27], "machin": [8, 11, 12], "mae": 23, "mai": [8, 10, 11, 13, 14, 15], "maintain": [15, 21], "mainten": 28, "make": [1, 2, 9, 17, 21], "mamba": 5, "mamba_lay": 5, "manag": [9, 11, 14, 15, 25], "map": [9, 11, 13, 17, 21], "marjani": [20, 24, 27], "mask": [1, 5], "match": 18, "materi": 21, "max": [8, 9, 10, 11, 13, 14, 15, 17, 26], "max_epoch": [1, 3, 17, 22, 26], "max_lat": 21, "max_lon": 21, "max_nod": [8, 17, 19, 26], "mccarti": [12, 27], "mechan": [20, 24], "medium": 8, "merg": [12, 21], "merra": 27, "merra2": [12, 21], "mesh": 24, "mesoscal": 10, "messag": [5, 19], "meta": 21, "metadata": [0, 1, 2, 5, 9, 11, 13, 14, 15], "meteorolog": [8, 9, 10, 11, 12, 14, 15, 21], "meteorologi": [8, 12, 13, 21], "metric": [0, 1, 3, 13, 17, 22, 26], "metricbas": [0, 1, 4, 23], "min": [9, 10, 15], "min_lat": 21, "min_lon": 21, "minim": [1, 3, 21, 24, 26], "minut": [9, 10, 15], "mirror": [10, 21], "misc": [7, 17], "mix": 17, "mixed_precis": [1, 3, 17, 22, 26], "mixtur": 8, "ml": 17, "mlp": [1, 5, 16, 22, 24], "mlpbackbon": [0, 1, 5], "mm": 21, "mode": 10, "model": [0, 1, 2, 3, 8, 9, 11, 12, 13, 14, 15, 19, 20, 21, 22], "modern": [8, 12, 27], "modi": [9, 21], "modifi": 15, "modul": [0, 9, 10, 11, 13, 14, 15, 16, 19, 20, 21, 24, 25, 26], "modular": 16, "moistur": 12, "monitor": [9, 10, 13, 21, 27], "month": [8, 9, 12, 14], "monthli": [12, 14], "more": [24, 26], "mosaic": 13, "most": [8, 14], "motion": 10, "mseloss": [17, 26], "mtb": 21, "mtbs_data": 13, "multi": [1, 5, 12, 21], "multipl": [9, 10, 11, 22], "multispectr": [10, 21], "my_custom_build": 24, "my_hazard": 16, "my_mlp": [16, 24], "my_model_build": 16, "myhazard": 16, "n": 5, "name": [0, 1, 2, 5, 6, 13, 15, 16, 17, 19, 20, 21, 22, 24, 26], "namespac": 2, "narr": 14, "nasa": [9, 12, 21], "nation": [11, 13, 14, 15, 27], "nationwid": [11, 21], "nativ": 8, "natur": [8, 12], "ncdc": 14, "ncei": [14, 27], "need": [3, 21, 23, 24], "netcdf": [8, 10], "netcdf4": 12, "network": [19, 24, 27], "neural": [19, 27], "new": [9, 10, 12, 14, 21, 27], "next": [5, 20, 24], "nice": 21, "nifc": [15, 27], "nn": [16, 17, 22, 24, 26], "noaa": [9, 10, 21, 27], "noaa_flood": [14, 21], "noaa_flood_data": 14, "node_in_dim": [5, 17, 19, 26], "node_x": 5, "none": [1, 2, 3, 4, 5, 6, 21], "normal": [1, 2], "note": [7, 17, 18], "nov": 13, "novel": 24, "npp": 9, "nrt": 9, "num_class": [1, 4, 5], "num_counti": [2, 5], "num_devic": [1, 6], "num_featur": [2, 5], "num_gn_block": 5, "num_lay": [1, 5], "num_target": [0, 1, 2, 16], "num_work": [1, 3], "numer": 12, "nw": 14, "oaicit": 9, "obj": [1, 3], "object": [1, 2, 3, 4, 21], "observ": [8, 9, 10, 11, 12], "obtain": 21, "occasion": 14, "occurr": [9, 14, 15, 21], "off": 15, "offic": [12, 14], "offici": 15, "often": 21, "oliva": [9, 27], "one": [5, 17, 21, 26], "ongo": 15, "onli": 17, "onlin": 14, "onward": 13, "open": [7, 10, 15, 17, 21, 24], "opendata": 15, "oper": [9, 10, 12, 15, 21], "optim": [1, 3, 17, 22, 26], "option": [1, 2, 5, 8, 14, 15, 17, 22, 24], "orbit": 9, "order": 21, "org": [8, 9, 10, 11, 12, 13, 18], "organ": 17, "other": [21, 25, 26], "otherwis": 22, "our": 28, "out_dim": [1, 5, 16, 17, 19, 22, 24, 26], "outdir": 21, "output": [1, 5, 12, 21], "over": [3, 10, 23], "overpass": 9, "overrid": 5, "overview": 21, "own": [16, 17, 24], "p": [8, 9, 10, 27], "packag": [0, 11], "page": [14, 17, 21, 24], "pair": [14, 21], "paramet": [5, 17, 22, 26], "pars": 21, "particularli": [10, 14], "partner": [13, 14], "pass": [5, 17, 19, 23, 24], "past_dai": [2, 5], "patch": [1, 5, 16, 24], "path": [1, 3, 8, 9, 10, 11, 13, 14, 15, 17, 26], "pattern": [9, 15, 21], "payload": 10, "pdf": 21, "per": [5, 13, 21], "perform": 17, "perimet": [13, 15, 21], "period": [8, 12, 13, 14], "physic": [12, 19, 24, 27], "physicsnemo": 5, "pip": [17, 18], "pipelin": [8, 9, 10, 11, 12, 15, 17, 21, 26], "pixel": 23, "placehold": [2, 3, 22], "plain": 24, "plan": [11, 17, 21, 28], "pleas": [7, 17, 26], "plot": 21, "plu": [1, 2, 9, 17, 24], "point": [9, 10, 14, 15], "polar": 9, "polygon": [13, 15], "popul": [2, 13], "portal": [9, 11, 13, 15], "post": [13, 21], "potenti": 9, "power": [7, 9, 17], "pre": [13, 21], "precipit": [8, 12], "precis": 17, "pred": [1, 4, 5, 22], "predict": [0, 1, 3, 5, 7, 8, 9, 11, 12, 13, 14, 17, 20, 22, 23, 24, 27], "predict_step": 5, "prefer": [3, 6], "preliminari": 8, "prepar": [17, 21], "preprocess": [2, 21], "present": [8, 12, 13, 14], "pressur": [8, 12, 21], "prev_stat": 5, "previou": 11, "primari": [11, 14], "print": [8, 17, 19, 20, 21, 26], "probabl": 5, "process": [10, 14], "processor": 5, "produc": [8, 11, 12, 13, 21], "product": [9, 10, 11, 12, 13, 15, 27], "profil": 12, "program": [10, 11, 13, 21], "progress": 13, "project": [10, 11, 13, 17, 27], "properti": 14, "protocol": 2, "provid": [1, 2, 8, 9, 10, 11, 12, 14, 15, 16, 17, 21, 24, 27], "prvi": 11, "public": [12, 14], "publicli": [9, 11, 13, 14, 15], "publish": [10, 12, 14], "puerto": 13, "pyhazard": [7, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 28], "pyhazards2025": [7, 17], "pyhazards_devic": [6, 26], "pypi": 17, "python": [8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 21, 26], "pytorch": [17, 18, 24], "qj": 8, "qualiti": [9, 28], "quarterli": [8, 13], "quayl": [13, 27], "queri": 14, "quickli": [21, 26], "qv2m": 21, "r": [12, 21, 27], "radi": 9, "radianc": 10, "radiat": 8, "randint": 16, "randn": [16, 20], "rang": 8, "rapid": [9, 10], "rare": 14, "raster": [1, 3, 5, 10, 11, 13, 17, 22, 24], "rather": 15, "raw": [12, 17, 21], "rdnbr": 13, "re": 21, "readi": [1, 2], "real": [8, 9, 10, 13, 15, 21], "reanalysi": [8, 10, 12, 14, 21, 27], "receiv": [5, 24], "recent": [8, 13, 14], "recommend": [18, 21], "reconcili": 15, "record": [8, 9, 10, 12, 13, 14, 15, 21], "reddi": [7, 17, 28], "reduc": 11, "refer": 26, "refin": 15, "refresh": [9, 10, 14, 15], "regim": [11, 13, 21], "region": 14, "regist": [2, 16, 17], "register_dataset": [0, 1, 2, 16], "register_model": [0, 1, 5, 16, 17, 24], "registr": 26, "registri": [0, 1, 16, 17, 19, 20, 24], "regress": [1, 2, 5, 16, 17, 19, 24, 26], "regressionhead": [0, 1, 5], "regressionmetr": [0, 1, 4, 23], "regular": [5, 8, 12], "relat": [8, 10, 14, 21], "releas": [8, 11, 13], "reliabl": 17, "relu": [16, 24], "remap": 10, "remot": [9, 11, 13], "remov": 15, "repeat": 17, "replac": [1, 3, 9], "repo": 21, "report": [14, 15, 21], "repositori": [7, 17], "repres": 15, "represent": [9, 10, 11, 13, 14, 15], "reproduc": 17, "req": 21, "request": [8, 21], "requir": [9, 12, 21], "research": [7, 12, 17, 27, 28], "reset": [0, 1, 4, 23], "residu": [5, 19], "resolut": [8, 9, 10, 11, 12, 13, 14, 15], "resourc": [9, 11], "respect": 6, "respons": 28, "rest": 15, "result": 22, "retain": 15, "retrospect": [12, 27], "return": [1, 2, 3, 4, 5, 6, 16, 17, 24], "reusabl": [2, 17], "review": 28, "rf": 24, "rico": 13, "risk": [8, 11, 17, 21], "rmse": 23, "role": [8, 10, 11, 12, 13, 14, 15], "rollin": [11, 27], "rollout": [1, 5], "rollout_step": 5, "root": 21, "root_dir": 21, "rout": [9, 10], "royal": 8, "rse": 9, "rule": 15, "run": [9, 10, 11, 12, 13, 14, 15, 17, 21, 22, 26], "runyang": [7, 17, 28], "same": [17, 21], "sampl": [2, 19, 21], "sample2": 21, "sample_v3": 21, "satellit": [9, 10, 12, 15], "save": [21, 22], "save_checkpoint": [0, 1, 3], "save_sample_h5": 21, "scalar": [1, 5], "scale": [11, 13], "scan": 10, "scene": 21, "schmit": [10, 27], "schneier": [7, 17, 28], "schroeder": [9, 21, 27], "schwind": [13, 27], "scienc": 9, "scientif": 27, "script": 26, "search": 17, "season": 13, "sector": 10, "see": [10, 17, 21, 24], "seed": [6, 25], "seed_al": [1, 6], "segment": [1, 5, 16, 17, 20, 24], "segmentationhead": [0, 1, 5], "segmentationmetr": [0, 1, 4, 23], "select": [21, 22], "select_strategi": [1, 3], "self": 16, "sender": 5, "sens": [9, 11, 13], "sensibl": 22, "sensor": 9, "sequenti": [16, 24], "seri": [1, 5, 10, 21, 24, 27], "serv": [8, 21], "servic": [8, 9, 10, 11, 12, 13, 14, 15, 27], "set": [5, 8, 12, 15, 21, 26], "set_adjac": [1, 5], "set_devic": [1, 6, 26], "sever": [13, 14, 21, 27], "sfc": 21, "shape": [1, 2, 5, 19, 20, 21], "shapefil": [9, 13, 15], "sharan": [7, 17, 28], "shen": [7, 17, 28], "short": 26, "shot": [12, 21], "should": [1, 2, 21], "show": 16, "shp": 9, "shuffl": [1, 3], "sigmoid": 5, "signal": [1, 5], "simpl": [1, 2, 5, 16], "simul": 11, "singl": [1, 2, 8, 21, 22], "situat": [9, 10], "size": 15, "skin": 12, "skip": 21, "slide": [3, 22], "slidingwindowinfer": [1, 3], "slowli": 11, "smoke": [10, 17, 21], "smooth": 5, "so": [16, 17, 24], "societi": [8, 10], "soil": 12, "some": [9, 10, 11], "soon": 10, "sourc": [1, 2, 3, 4, 5, 6, 7, 14, 15, 17, 21], "southern": 28, "spatial": [5, 8, 9, 10, 11, 12, 13, 14, 15], "spatial_resolution_deg": 21, "spatio": 5, "spatiotempor": [8, 9, 12], "spec": [1, 2], "specif": [1, 2, 9, 17, 21, 26], "spectral": [10, 13], "split": [0, 1, 2, 3, 8, 16, 17, 19, 22, 23, 26], "spread": [11, 20, 24, 27], "ss": 21, "stack": 2, "stai": 17, "stale": 15, "stamp": 9, "standard": [5, 8, 9, 12, 13, 17], "start": 14, "state": [5, 8, 11, 12, 13, 14, 15, 19, 28], "state_dim": 5, "static": [5, 11, 21], "statist": 21, "statu": [15, 17, 21], "step": [5, 12, 17], "stitch": 3, "store": [8, 24], "storm": [14, 21, 27], "str": [1, 2, 3, 4, 5, 16, 21, 24], "straightforward": 17, "strateg": 28, "strategi": [1, 3, 11, 22], "stream": [9, 12], "strictli": 13, "structur": [8, 9, 10, 11, 12, 13, 14, 15, 21], "studi": [8, 12, 13, 14, 15, 21], "style": [2, 5, 12, 17, 19], "subclass": [1, 2, 16], "submodul": [0, 1], "subpackag": 0, "subprocess": [9, 10, 11, 12, 13, 14, 15, 21], "subscript": 10, "subset": 17, "suit": 11, "suitabl": 13, "summar": 21, "summari": [19, 20], "suomi": 9, "supervis": [5, 9, 14], "supervised_weight": 5, "support": [5, 11, 13, 17, 21, 22, 28], "surfac": [8, 9, 10, 12, 21], "survei": 13, "su\u00e1rez": [12, 27], "svm": 24, "swap": 17, "switch": 24, "synthetic_tim": 21, "system": [8, 9, 10, 11, 12, 13, 15], "t": [10, 27], "t2m": 21, "tabl": 21, "tabular": [1, 5, 14, 17, 24], "taghizadeh": [19, 24, 27], "take": 15, "target": [0, 1, 2, 3, 4, 5, 9, 11, 13, 14, 15, 23], "target_hazard": 21, "task": [1, 2, 5, 8, 16, 17, 19, 20, 22, 23, 24, 26], "task_typ": [0, 1, 2, 16], "technic": 28, "temperatur": [8, 10, 12], "tempor": [2, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 24], "temporal_cad": 21, "temporal_window": 21, "temporalencod": [0, 1, 5], "tensor": [1, 2, 3, 5, 9, 14], "term": [12, 13, 21], "terra": 9, "test": [1, 2, 3, 16, 22], "than": 15, "thank": 27, "thei": 10, "them": [2, 24], "themat": 11, "thermal": [9, 10, 21], "thi": [1, 5, 8, 14, 16, 17, 19, 20, 24, 26, 27], "through": [9, 10, 13, 14, 15, 17], "throughout": 27, "time": [1, 5, 8, 9, 10, 12, 13, 14, 15, 21, 24], "timestamp": [14, 15], "titl": [7, 17], "to_torch_batch": 21, "todai": 8, "tool": 11, "topographi": 13, "torch": [16, 17, 18, 19, 20, 22, 24, 26], "train": [1, 2, 3, 8, 13, 16, 17, 19, 22, 26], "train_split": [1, 3], "trainer": [0, 1, 17, 22, 23, 24, 26], "transform": [0, 1], "transit": 11, "treat": 15, "trend": [8, 12, 13, 27], "true": [1, 2, 3, 5, 9, 10, 11, 12, 13, 14, 15, 21, 22], "truth": [10, 15, 21], "tupl": [5, 21], "tverski": 5, "tverskyloss": [1, 5], "two": 16, "type": [1, 2, 3, 4, 5, 6, 9, 11, 14, 15, 17, 24, 26], "typic": 19, "u": [9, 11, 13, 15, 21], "under": [8, 21], "unifi": 21, "uniqu": 15, "unit": [11, 13, 14, 15], "univers": 28, "unstructur": 24, "up": [14, 15], "updat": [0, 1, 4, 8, 9, 10, 11, 12, 13, 14, 15, 23], "upload": 17, "url": [7, 17, 18], "us": [5, 7, 16, 17, 18, 21, 22, 24, 26, 27], "usag": 24, "usda": 13, "user": [16, 21], "usf": 21, "usg": 13, "util": [0, 1, 17, 21, 22, 26], "v": 15, "val": [1, 2, 16], "val_split": [1, 3], "valid": [8, 9, 10, 11, 13, 14, 15, 17, 19, 21, 26], "var": [8, 17, 21, 26], "vari": [10, 11, 15], "variabl": [21, 24, 26], "vast": 8, "vector": [9, 13, 15], "veget": [11, 21, 27], "veri": 14, "verifi": [17, 26], "version": [11, 12, 27], "vertic": [8, 12], "via": [8, 11, 12, 14, 16, 21, 22], "view": 10, "viir": [9, 21, 27], "visibl": 10, "visual": 21, "w": [5, 9, 12, 27], "want": [17, 21], "we": [18, 24, 27], "weather": [8, 10, 12, 14, 24], "web": [9, 14], "week": 12, "western": 10, "wf08088": 11, "wfig": [21, 27], "wfigs_data": 15, "wgs84": [9, 15], "what": 21, "wheel": 18, "when": [9, 12, 14, 17, 21, 22], "where": [10, 14], "which": [10, 14], "whl": 18, "who": 28, "wide": [8, 9, 10, 11, 12, 13, 14, 15, 21], "wildfir": [2, 5, 8, 9, 10, 11, 12, 13, 15, 17, 20, 21, 27], "wildfire_aspp": [17, 24], "wildfire_aspp_build": [1, 5], "wildfire_mamba_build": [1, 5], "wildfireaspp": [1, 5], "wildfirecnnaspp": [1, 5], "wildfiremamba": [1, 5], "wildland": [11, 15, 27], "wind": [8, 12], "window": [2, 3, 22], "window_fn": 3, "with_count_head": 5, "within": [9, 14], "work": [1, 3, 15, 17, 21, 27], "workflow": [10, 12, 13, 17, 21, 26], "wrap": 22, "write": 17, "www": 14, "wxc": 12, "x": [1, 2, 5, 16, 20], "x_t": 21, "xc25": 28, "xu": [7, 17, 28], "xueqi": [7, 17, 28], "y": [2, 16, 19], "y_t": 21, "yangshuang": [7, 17, 21, 28], "year": [7, 11, 13, 15, 17], "yearli": 11, "yet": 14, "you": [7, 8, 17, 21, 24, 26], "your": [7, 16, 17, 24], "your_password": 21, "your_usernam": 21, "yushun": [7, 17, 28], "yyyi": [11, 21], "yyyymmdd": 21, "z": [13, 27], "zhu": [13, 27], "zone": 14}, "titles": ["pyhazards", "pyhazards package", "pyhazards.datasets package", "pyhazards.engine package", "pyhazards.metrics package", "pyhazards.models package", "pyhazards.utils package", "How to Cite", "ERA5", "FIRMS", "GOES-R", "LANDFIRE", "MERRA-2", "MTBS", "NOAA Flood Events", "WFIGS", "Implementation Guide", "Introduction", "Installation", "hydrographnet", "wildfire_aspp", "Datasets", "Engine", "Metrics", "Models", "Utils", "Quick Start", "References", "Core Team"], "titleterms": {"2": [12, 21], "At": [8, 9, 10, 11, 12, 13, 14, 15], "access": [8, 9, 10, 11, 12, 13, 14, 15], "acknowledg": 27, "all": 21, "api": 21, "backbon": 5, "base": 2, "basic": 26, "build": 24, "builder": 5, "built": 24, "case": [8, 9, 10, 11, 12, 13, 14, 15], "characterist": [8, 9, 10, 11, 12, 13, 14, 15], "cite": [7, 17], "class": 23, "common": 6, "compon": 17, "content": [1, 2, 3, 5, 6], "contributor": 28, "convent": 21, "core": [17, 22, 23, 28], "custom": [17, 24], "data": [8, 9, 10, 11, 12, 13, 14, 15, 17], "dataload": 21, "dataset": [2, 16, 21, 26, 27], "descript": [19, 20], "design": 24, "develop": [21, 28], "devic": 22, "distribut": [3, 22], "engin": [3, 22], "entrypoint": 21, "era5": [8, 26], "event": 14, "exampl": [19, 20, 21, 26], "fact": [8, 9, 10, 11, 12, 13, 14, 15], "field": 21, "firm": 9, "flood": [14, 24], "founder": 28, "full": [17, 26], "geoloadinput": 21, "glanc": [8, 9, 10, 11, 12, 13, 14, 15], "goe": 10, "gpu": 26, "guid": 16, "hardwar": 6, "hazard": 2, "head": 5, "how": [7, 17, 19, 20], "hydrographnet": [19, 26], "implement": 16, "indic": 17, "infer": 3, "inspect": 21, "instal": [17, 18], "introduct": 17, "landfir": 11, "lead": 28, "load": [17, 26], "maintain": 28, "merra": [12, 21], "metric": [4, 23], "model": [5, 16, 17, 24, 26, 27], "modul": [1, 2, 3, 5, 6, 17, 22], "mtb": 13, "next": 26, "noaa": 14, "note": [21, 24], "option": 21, "overview": [8, 9, 10, 11, 12, 13, 14, 15], "packag": [1, 2, 3, 4, 5, 6], "princip": 28, "public": 27, "py": 17, "pyhazard": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 18], "quick": [8, 9, 10, 11, 12, 13, 14, 15, 17, 26], "r": 10, "refer": [8, 9, 10, 11, 12, 13, 14, 15, 27], "regist": 24, "registri": [2, 5], "requir": 18, "skeleton": 21, "start": 26, "stat": [8, 9, 10, 11, 12, 13, 14, 15], "step": 26, "submodul": [2, 3, 5, 6, 25], "subpackag": 1, "summari": [16, 21, 22, 23, 24, 25], "support": 26, "tabl": 17, "team": 28, "test": [17, 26], "trainer": 3, "transform": 2, "typic": [8, 9, 10, 11, 12, 13, 14, 15, 22], "us": [8, 9, 10, 11, 12, 13, 14, 15, 19, 20], "usag": [8, 9, 10, 11, 12, 13, 14, 15, 22, 23, 26], "util": [6, 25], "v3": 21, "variabl": [8, 9, 10, 11, 12, 13, 14, 15], "verif": 17, "wfig": 15, "wildfir": 24, "wildfire_aspp": 20}}) \ No newline at end of file +Search.setIndex({"alltitles": {"Access": [[8, "access"], [9, "access"], [10, "access"], [11, "access"], [12, "access"], [13, "access"], [14, "access"], [15, "access"]], "Acknowledgments": [[25, "acknowledgments"]], "At-a-glance (Quick Facts)": [[8, null], [9, null], [10, null], [11, null], [12, null], [13, null], [14, null], [15, null]], "Basic Usage": [[24, "basic-usage"]], "Build a built-in model": [[22, "build-a-built-in-model"]], "Build and register custom model": [[22, "build-and-register-custom-model"]], "Core Components": [[17, "core-components"]], "Core Contributors": [[26, "core-contributors"]], "Core Team": [[26, null]], "Core classes": [[21, "core-classes"]], "Core modules": [[20, "core-modules"]], "Custom Module": [[17, "custom-module"]], "Data Characteristics": [[8, "data-characteristics"], [9, "data-characteristics"], [10, "data-characteristics"], [11, "data-characteristics"], [12, "data-characteristics"], [13, "data-characteristics"], [14, "data-characteristics"], [15, "data-characteristics"]], "Dataloader": [[19, "dataloader"]], "Dataset Publications": [[25, "dataset-publications"]], "Dataset inspection": [[19, "dataset-inspection"]], "Datasets": [[16, "datasets"], [19, null], [19, "id1"]], "Design notes": [[22, "design-notes"]], "Developer note": [[19, "developer-note"]], "Distributed and devices": [[20, "distributed-and-devices"]], "ERA5": [[8, null]], "Engine": [[20, null]], "Example skeleton": [[19, "example-skeleton"]], "FIRMS": [[9, null]], "Flood": [[22, "flood"]], "Founder": [[26, "founder"]], "Full Test": [[17, "full-test"]], "Full Test (ERA5 + HydroGraphNet)": [[24, "full-test-era5-hydrographnet"]], "GOES-R": [[10, null]], "GPU Support": [[24, "gpu-support"]], "How to Cite": [[7, null], [17, "how-to-cite"]], "Implementation Guide": [[16, null]], "Indices and tables": [[17, "indices-and-tables"]], "Inspection entrypoints (convention for all datasets)": [[19, "inspection-entrypoints-convention-for-all-datasets"]], "Install": [[17, "install"]], "Installation": [[18, null]], "Installing PyHazards": [[18, "installing-pyhazards"]], "Introduction": [[17, null]], "LANDFIRE": [[11, null]], "Lead Developer": [[26, "lead-developer"]], "Load Data": [[17, "load-data"]], "Load Dataset (ERA5 example)": [[24, "load-dataset-era5-example"]], "Load Model": [[17, "load-model"]], "Load Model (HydroGraphNet example)": [[24, "load-model-hydrographnet-example"]], "MERRA-2": [[12, null]], "MTBS": [[13, null]], "Metrics": [[21, null]], "Model": [[22, "model"]], "Model Publications": [[25, "model-publications"]], "Models": [[16, "models"], [22, null]], "Module contents": [[1, "module-pyhazards"], [2, "module-pyhazards.datasets"], [3, "module-pyhazards.engine"], [5, "module-pyhazards.models"], [6, "module-pyhazards.utils"]], "NOAA Flood Events": [[14, null]], "Next Steps": [[24, "next-steps"]], "Notes (MERRA-2)": [[19, "notes-merra-2"]], "Overview": [[8, "overview"], [9, "overview"], [10, "overview"], [11, "overview"], [12, "overview"], [13, "overview"], [14, "overview"], [15, "overview"]], "Principal Contributors & Maintainers": [[26, "principal-contributors-maintainers"]], "PyHazards Usage": [[8, "pyhazards-usage"], [9, "pyhazards-usage"], [10, "pyhazards-usage"], [11, "pyhazards-usage"], [12, "pyhazards-usage"], [13, "pyhazards-usage"], [14, "pyhazards-usage"], [15, "pyhazards-usage"]], "Quick Start": [[24, null]], "Quick Verification (test.py)": [[17, "quick-verification-test-py"]], "Reference": [[8, "reference"], [9, "reference"], [10, "reference"], [11, "reference"], [12, "reference"], [13, "reference"], [14, "reference"], [15, "reference"]], "References": [[25, null]], "Register a custom model": [[22, "register-a-custom-model"]], "Requirements": [[18, "requirements"]], "Stats": [[8, "stats"], [9, "stats"], [10, "stats"], [11, "stats"], [12, "stats"], [13, "stats"], [14, "stats"], [15, "stats"]], "Submodules": [[2, "submodules"], [3, "submodules"], [5, "submodules"], [6, "submodules"], [23, "submodules"]], "Subpackages": [[1, "subpackages"]], "Summary": [[16, "summary"], [19, "summary"], [20, "summary"], [21, "summary"], [22, "summary"], [23, "summary"]], "Typical Use Cases": [[8, "typical-use-cases"], [9, "typical-use-cases"], [10, "typical-use-cases"], [11, "typical-use-cases"], [12, "typical-use-cases"], [13, "typical-use-cases"], [14, "typical-use-cases"], [15, "typical-use-cases"]], "Typical usage": [[20, "typical-usage"]], "Usage": [[21, "usage"]], "Utils": [[23, null]], "Variables": [[8, "variables"], [9, "variables"], [10, "variables"], [11, "variables"], [12, "variables"], [13, "variables"], [14, "variables"], [15, "variables"]], "WFIGS": [[15, null]], "Wildfire": [[22, "wildfire"]], "pyhazards": [[0, null]], "pyhazards package": [[1, null]], "pyhazards.datasets package": [[2, null]], "pyhazards.datasets.base module": [[2, "module-pyhazards.datasets.base"]], "pyhazards.datasets.hazards package": [[2, "module-pyhazards.datasets.hazards"]], "pyhazards.datasets.registry module": [[2, "module-pyhazards.datasets.registry"]], "pyhazards.datasets.transforms package": [[2, "module-pyhazards.datasets.transforms"]], "pyhazards.engine package": [[3, null]], "pyhazards.engine.distributed module": [[3, "module-pyhazards.engine.distributed"]], "pyhazards.engine.inference module": [[3, "module-pyhazards.engine.inference"]], "pyhazards.engine.trainer module": [[3, "module-pyhazards.engine.trainer"]], "pyhazards.metrics package": [[4, null]], "pyhazards.models package": [[5, null]], "pyhazards.models.backbones module": [[5, "module-pyhazards.models.backbones"]], "pyhazards.models.builder module": [[5, "module-pyhazards.models.builder"]], "pyhazards.models.heads module": [[5, "module-pyhazards.models.heads"]], "pyhazards.models.registry module": [[5, "module-pyhazards.models.registry"]], "pyhazards.utils package": [[6, null]], "pyhazards.utils.common module": [[6, "module-pyhazards.utils.common"]], "pyhazards.utils.hardware module": [[6, "module-pyhazards.utils.hardware"]]}, "docnames": ["api/modules", "api/pyhazards", "api/pyhazards.datasets", "api/pyhazards.engine", "api/pyhazards.metrics", "api/pyhazards.models", "api/pyhazards.utils", "cite", "datasets/era5", "datasets/firms", "datasets/goesr", "datasets/landfire", "datasets/merra2", "datasets/mtbs", "datasets/noaa_flood", "datasets/wfigs", "implementation", "index", "installation", "pyhazards_datasets", "pyhazards_engine", "pyhazards_metrics", "pyhazards_models", "pyhazards_utils", "quick_start", "references", "team"], "envversion": {"sphinx": 64, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1}, "filenames": ["api/modules.rst", "api/pyhazards.rst", "api/pyhazards.datasets.rst", "api/pyhazards.engine.rst", "api/pyhazards.metrics.rst", "api/pyhazards.models.rst", "api/pyhazards.utils.rst", "cite.rst", "datasets/era5.rst", "datasets/firms.rst", "datasets/goesr.rst", "datasets/landfire.rst", "datasets/merra2.rst", "datasets/mtbs.rst", "datasets/noaa_flood.rst", "datasets/wfigs.rst", "implementation.rst", "index.rst", "installation.rst", "pyhazards_datasets.rst", "pyhazards_engine.rst", "pyhazards_metrics.rst", "pyhazards_models.rst", "pyhazards_utils.rst", "quick_start.rst", "references.rst", "team.rst"], "indexentries": {"_abc_impl (pyhazards.classificationmetrics attribute)": [[1, "pyhazards.ClassificationMetrics._abc_impl", false]], "_abc_impl (pyhazards.datasets.base.transform attribute)": [[2, "pyhazards.datasets.base.Transform._abc_impl", false]], "_abc_impl (pyhazards.metricbase attribute)": [[1, "pyhazards.MetricBase._abc_impl", false]], "_abc_impl (pyhazards.metrics.classificationmetrics attribute)": [[4, "pyhazards.metrics.ClassificationMetrics._abc_impl", false]], "_abc_impl (pyhazards.metrics.metricbase attribute)": [[4, "pyhazards.metrics.MetricBase._abc_impl", false]], "_abc_impl (pyhazards.metrics.regressionmetrics attribute)": [[4, "pyhazards.metrics.RegressionMetrics._abc_impl", false]], "_abc_impl (pyhazards.metrics.segmentationmetrics attribute)": [[4, "pyhazards.metrics.SegmentationMetrics._abc_impl", false]], "_abc_impl (pyhazards.regressionmetrics attribute)": [[1, "pyhazards.RegressionMetrics._abc_impl", false]], "_abc_impl (pyhazards.segmentationmetrics attribute)": [[1, "pyhazards.SegmentationMetrics._abc_impl", false]], "_edge_index() (pyhazards.models.hydrographnet method)": [[5, "pyhazards.models.HydroGraphNet._edge_index", false]], "_get_adjacency() (pyhazards.models.wildfiremamba method)": [[5, "pyhazards.models.WildfireMamba._get_adjacency", false]], "_is_protocol (pyhazards.datasets.base.transform attribute)": [[2, "pyhazards.datasets.base.Transform._is_protocol", false]], "_load() (pyhazards.dataset method)": [[1, "pyhazards.Dataset._load", false]], "_load() (pyhazards.datasets.base.dataset method)": [[2, "pyhazards.datasets.base.Dataset._load", false]], "_load() (pyhazards.datasets.dataset method)": [[2, "pyhazards.datasets.Dataset._load", false]], "_make_loader() (pyhazards.engine.trainer method)": [[3, "pyhazards.engine.Trainer._make_loader", false]], "_make_loader() (pyhazards.engine.trainer.trainer method)": [[3, "pyhazards.engine.trainer.Trainer._make_loader", false]], "_make_loader() (pyhazards.trainer method)": [[1, "pyhazards.Trainer._make_loader", false]], "_match_edge_dim() (pyhazards.models.hydrographnet method)": [[5, "pyhazards.models.HydroGraphNet._match_edge_dim", false]], "_one_step() (pyhazards.models.hydrographnet method)": [[5, "pyhazards.models.HydroGraphNet._one_step", false]], "_prepare_edge_inputs() (pyhazards.models.hydrographnet method)": [[5, "pyhazards.models.HydroGraphNet._prepare_edge_inputs", false]], "_temporal_delta() (pyhazards.models.wildfiremamba static method)": [[5, "pyhazards.models.WildfireMamba._temporal_delta", false]], "_to_device() (pyhazards.engine.trainer method)": [[3, "pyhazards.engine.Trainer._to_device", false]], "_to_device() (pyhazards.engine.trainer.trainer method)": [[3, "pyhazards.engine.trainer.Trainer._to_device", false]], "_to_device() (pyhazards.trainer method)": [[1, "pyhazards.Trainer._to_device", false]], "auto_device() (in module pyhazards.utils)": [[6, "pyhazards.utils.auto_device", false]], "auto_device() (in module pyhazards.utils.hardware)": [[6, "pyhazards.utils.hardware.auto_device", false]], "available_datasets() (in module pyhazards)": [[1, "pyhazards.available_datasets", false]], "available_datasets() (in module pyhazards.datasets)": [[2, "pyhazards.datasets.available_datasets", false]], "available_datasets() (in module pyhazards.datasets.registry)": [[2, "pyhazards.datasets.registry.available_datasets", false]], "available_models() (in module pyhazards)": [[1, "pyhazards.available_models", false]], "available_models() (in module pyhazards.models)": [[5, "pyhazards.models.available_models", false]], "available_models() (in module pyhazards.models.registry)": [[5, "pyhazards.models.registry.available_models", false]], "build_model() (in module pyhazards)": [[1, "pyhazards.build_model", false]], "build_model() (in module pyhazards.models)": [[5, "pyhazards.models.build_model", false]], "build_model() (in module pyhazards.models.builder)": [[5, "pyhazards.models.builder.build_model", false]], "channels (pyhazards.datasets.base.featurespec attribute)": [[2, "pyhazards.datasets.base.FeatureSpec.channels", false]], "channels (pyhazards.datasets.featurespec attribute)": [[2, "pyhazards.datasets.FeatureSpec.channels", false]], "channels (pyhazards.featurespec attribute)": [[1, "pyhazards.FeatureSpec.channels", false]], "classificationhead (class in pyhazards)": [[1, "pyhazards.ClassificationHead", false]], "classificationhead (class in pyhazards.models)": [[5, "pyhazards.models.ClassificationHead", false]], "classificationhead (class in pyhazards.models.heads)": [[5, "pyhazards.models.heads.ClassificationHead", false]], "classificationmetrics (class in pyhazards)": [[1, "pyhazards.ClassificationMetrics", false]], "classificationmetrics (class in pyhazards.metrics)": [[4, "pyhazards.metrics.ClassificationMetrics", false]], "cnn_aspp_builder() (in module pyhazards.models)": [[5, "pyhazards.models.cnn_aspp_builder", false]], "cnnpatchencoder (class in pyhazards)": [[1, "pyhazards.CNNPatchEncoder", false]], "cnnpatchencoder (class in pyhazards.models)": [[5, "pyhazards.models.CNNPatchEncoder", false]], "cnnpatchencoder (class in pyhazards.models.backbones)": [[5, "pyhazards.models.backbones.CNNPatchEncoder", false]], "compute() (pyhazards.classificationmetrics method)": [[1, "pyhazards.ClassificationMetrics.compute", false]], "compute() (pyhazards.metricbase method)": [[1, "pyhazards.MetricBase.compute", false]], "compute() (pyhazards.metrics.classificationmetrics method)": [[4, "pyhazards.metrics.ClassificationMetrics.compute", false]], "compute() (pyhazards.metrics.metricbase method)": [[4, "pyhazards.metrics.MetricBase.compute", false]], "compute() (pyhazards.metrics.regressionmetrics method)": [[4, "pyhazards.metrics.RegressionMetrics.compute", false]], "compute() (pyhazards.metrics.segmentationmetrics method)": [[4, "pyhazards.metrics.SegmentationMetrics.compute", false]], "compute() (pyhazards.regressionmetrics method)": [[1, "pyhazards.RegressionMetrics.compute", false]], "compute() (pyhazards.segmentationmetrics method)": [[1, "pyhazards.SegmentationMetrics.compute", false]], "databundle (class in pyhazards)": [[1, "pyhazards.DataBundle", false]], "databundle (class in pyhazards.datasets)": [[2, "pyhazards.datasets.DataBundle", false]], "databundle (class in pyhazards.datasets.base)": [[2, "pyhazards.datasets.base.DataBundle", false]], "dataset (class in pyhazards)": [[1, "pyhazards.Dataset", false]], "dataset (class in pyhazards.datasets)": [[2, "pyhazards.datasets.Dataset", false]], "dataset (class in pyhazards.datasets.base)": [[2, "pyhazards.datasets.base.Dataset", false]], "datasplit (class in pyhazards)": [[1, "pyhazards.DataSplit", false]], "datasplit (class in pyhazards.datasets)": [[2, "pyhazards.datasets.DataSplit", false]], "datasplit (class in pyhazards.datasets.base)": [[2, "pyhazards.datasets.base.DataSplit", false]], "default_builder() (in module pyhazards.models.builder)": [[5, "pyhazards.models.builder.default_builder", false]], "description (pyhazards.datasets.base.featurespec attribute)": [[2, "pyhazards.datasets.base.FeatureSpec.description", false]], "description (pyhazards.datasets.base.labelspec attribute)": [[2, "pyhazards.datasets.base.LabelSpec.description", false]], "description (pyhazards.datasets.featurespec attribute)": [[2, "pyhazards.datasets.FeatureSpec.description", false]], "description (pyhazards.datasets.labelspec attribute)": [[2, "pyhazards.datasets.LabelSpec.description", false]], "description (pyhazards.featurespec attribute)": [[1, "pyhazards.FeatureSpec.description", false]], "description (pyhazards.labelspec attribute)": [[1, "pyhazards.LabelSpec.description", false]], "devices (pyhazards.engine.distributed.distributedconfig attribute)": [[3, "pyhazards.engine.distributed.DistributedConfig.devices", false]], "devices (pyhazards.engine.distributedconfig attribute)": [[3, "pyhazards.engine.DistributedConfig.devices", false]], "distributedconfig (class in pyhazards.engine)": [[3, "pyhazards.engine.DistributedConfig", false]], "distributedconfig (class in pyhazards.engine.distributed)": [[3, "pyhazards.engine.distributed.DistributedConfig", false]], "evaluate() (pyhazards.engine.trainer method)": [[3, "pyhazards.engine.Trainer.evaluate", false]], "evaluate() (pyhazards.engine.trainer.trainer method)": [[3, "pyhazards.engine.trainer.Trainer.evaluate", false]], "evaluate() (pyhazards.trainer method)": [[1, "pyhazards.Trainer.evaluate", false]], "extra (pyhazards.datasets.base.featurespec attribute)": [[2, "pyhazards.datasets.base.FeatureSpec.extra", false]], "extra (pyhazards.datasets.base.labelspec attribute)": [[2, "pyhazards.datasets.base.LabelSpec.extra", false]], "extra (pyhazards.datasets.featurespec attribute)": [[2, "pyhazards.datasets.FeatureSpec.extra", false]], "extra (pyhazards.datasets.labelspec attribute)": [[2, "pyhazards.datasets.LabelSpec.extra", false]], "extra (pyhazards.featurespec attribute)": [[1, "pyhazards.FeatureSpec.extra", false]], "extra (pyhazards.labelspec attribute)": [[1, "pyhazards.LabelSpec.extra", false]], "feature_spec (pyhazards.databundle attribute)": [[1, "pyhazards.DataBundle.feature_spec", false]], "feature_spec (pyhazards.datasets.base.databundle attribute)": [[2, "pyhazards.datasets.base.DataBundle.feature_spec", false]], "feature_spec (pyhazards.datasets.databundle attribute)": [[2, "pyhazards.datasets.DataBundle.feature_spec", false]], "featurespec (class in pyhazards)": [[1, "pyhazards.FeatureSpec", false]], "featurespec (class in pyhazards.datasets)": [[2, "pyhazards.datasets.FeatureSpec", false]], "featurespec (class in pyhazards.datasets.base)": [[2, "pyhazards.datasets.base.FeatureSpec", false]], "fit() (pyhazards.engine.trainer method)": [[3, "pyhazards.engine.Trainer.fit", false]], "fit() (pyhazards.engine.trainer.trainer method)": [[3, "pyhazards.engine.trainer.Trainer.fit", false]], "fit() (pyhazards.trainer method)": [[1, "pyhazards.Trainer.fit", false]], "forward() (pyhazards.classificationhead method)": [[1, "pyhazards.ClassificationHead.forward", false]], "forward() (pyhazards.cnnpatchencoder method)": [[1, "pyhazards.CNNPatchEncoder.forward", false]], "forward() (pyhazards.mlpbackbone method)": [[1, "pyhazards.MLPBackbone.forward", false]], "forward() (pyhazards.models.backbones.cnnpatchencoder method)": [[5, "pyhazards.models.backbones.CNNPatchEncoder.forward", false]], "forward() (pyhazards.models.backbones.mlpbackbone method)": [[5, "pyhazards.models.backbones.MLPBackbone.forward", false]], "forward() (pyhazards.models.backbones.temporalencoder method)": [[5, "pyhazards.models.backbones.TemporalEncoder.forward", false]], "forward() (pyhazards.models.classificationhead method)": [[5, "pyhazards.models.ClassificationHead.forward", false]], "forward() (pyhazards.models.cnnpatchencoder method)": [[5, "pyhazards.models.CNNPatchEncoder.forward", false]], "forward() (pyhazards.models.heads.classificationhead method)": [[5, "pyhazards.models.heads.ClassificationHead.forward", false]], "forward() (pyhazards.models.heads.regressionhead method)": [[5, "pyhazards.models.heads.RegressionHead.forward", false]], "forward() (pyhazards.models.heads.segmentationhead method)": [[5, "pyhazards.models.heads.SegmentationHead.forward", false]], "forward() (pyhazards.models.hydrographnet method)": [[5, "pyhazards.models.HydroGraphNet.forward", false]], "forward() (pyhazards.models.hydrographnetloss method)": [[5, "pyhazards.models.HydroGraphNetLoss.forward", false]], "forward() (pyhazards.models.mlpbackbone method)": [[5, "pyhazards.models.MLPBackbone.forward", false]], "forward() (pyhazards.models.regressionhead method)": [[5, "pyhazards.models.RegressionHead.forward", false]], "forward() (pyhazards.models.segmentationhead method)": [[5, "pyhazards.models.SegmentationHead.forward", false]], "forward() (pyhazards.models.temporalencoder method)": [[5, "pyhazards.models.TemporalEncoder.forward", false]], "forward() (pyhazards.models.tverskyloss method)": [[5, "pyhazards.models.TverskyLoss.forward", false]], "forward() (pyhazards.models.wildfirecnnaspp method)": [[5, "pyhazards.models.WildfireCNNASPP.forward", false]], "forward() (pyhazards.models.wildfiremamba method)": [[5, "pyhazards.models.WildfireMamba.forward", false]], "forward() (pyhazards.regressionhead method)": [[1, "pyhazards.RegressionHead.forward", false]], "forward() (pyhazards.segmentationhead method)": [[1, "pyhazards.SegmentationHead.forward", false]], "forward() (pyhazards.temporalencoder method)": [[1, "pyhazards.TemporalEncoder.forward", false]], "get_device() (in module pyhazards.utils)": [[6, "pyhazards.utils.get_device", false]], "get_device() (in module pyhazards.utils.hardware)": [[6, "pyhazards.utils.hardware.get_device", false]], "get_logger() (in module pyhazards.utils)": [[6, "pyhazards.utils.get_logger", false]], "get_logger() (in module pyhazards.utils.common)": [[6, "pyhazards.utils.common.get_logger", false]], "get_model_config() (in module pyhazards.models.registry)": [[5, "pyhazards.models.registry.get_model_config", false]], "get_split() (pyhazards.databundle method)": [[1, "pyhazards.DataBundle.get_split", false]], "get_split() (pyhazards.datasets.base.databundle method)": [[2, "pyhazards.datasets.base.DataBundle.get_split", false]], "get_split() (pyhazards.datasets.databundle method)": [[2, "pyhazards.datasets.DataBundle.get_split", false]], "graph_collate() (in module pyhazards.datasets)": [[2, "pyhazards.datasets.graph_collate", false]], "graphtemporaldataset (class in pyhazards.datasets)": [[2, "pyhazards.datasets.GraphTemporalDataset", false]], "hydrographnet (class in pyhazards.models)": [[5, "pyhazards.models.HydroGraphNet", false]], "hydrographnet_builder() (in module pyhazards.models)": [[5, "pyhazards.models.hydrographnet_builder", false]], "hydrographnetloss (class in pyhazards.models)": [[5, "pyhazards.models.HydroGraphNetLoss", false]], "input_dim (pyhazards.datasets.base.featurespec attribute)": [[2, "pyhazards.datasets.base.FeatureSpec.input_dim", false]], "input_dim (pyhazards.datasets.featurespec attribute)": [[2, "pyhazards.datasets.FeatureSpec.input_dim", false]], "input_dim (pyhazards.featurespec attribute)": [[1, "pyhazards.FeatureSpec.input_dim", false]], "inputs (pyhazards.datasets.base.datasplit attribute)": [[2, "pyhazards.datasets.base.DataSplit.inputs", false]], "inputs (pyhazards.datasets.datasplit attribute)": [[2, "pyhazards.datasets.DataSplit.inputs", false]], "inputs (pyhazards.datasplit attribute)": [[1, "pyhazards.DataSplit.inputs", false]], "label_spec (pyhazards.databundle attribute)": [[1, "pyhazards.DataBundle.label_spec", false]], "label_spec (pyhazards.datasets.base.databundle attribute)": [[2, "pyhazards.datasets.base.DataBundle.label_spec", false]], "label_spec (pyhazards.datasets.databundle attribute)": [[2, "pyhazards.datasets.DataBundle.label_spec", false]], "labelspec (class in pyhazards)": [[1, "pyhazards.LabelSpec", false]], "labelspec (class in pyhazards.datasets)": [[2, "pyhazards.datasets.LabelSpec", false]], "labelspec (class in pyhazards.datasets.base)": [[2, "pyhazards.datasets.base.LabelSpec", false]], "load() (pyhazards.dataset method)": [[1, "pyhazards.Dataset.load", false]], "load() (pyhazards.datasets.base.dataset method)": [[2, "pyhazards.datasets.base.Dataset.load", false]], "load() (pyhazards.datasets.dataset method)": [[2, "pyhazards.datasets.Dataset.load", false]], "load_dataset() (in module pyhazards)": [[1, "pyhazards.load_dataset", false]], "load_dataset() (in module pyhazards.datasets)": [[2, "pyhazards.datasets.load_dataset", false]], "load_dataset() (in module pyhazards.datasets.registry)": [[2, "pyhazards.datasets.registry.load_dataset", false]], "metadata (pyhazards.databundle attribute)": [[1, "pyhazards.DataBundle.metadata", false]], "metadata (pyhazards.datasets.base.databundle attribute)": [[2, "pyhazards.datasets.base.DataBundle.metadata", false]], "metadata (pyhazards.datasets.base.datasplit attribute)": [[2, "pyhazards.datasets.base.DataSplit.metadata", false]], "metadata (pyhazards.datasets.databundle attribute)": [[2, "pyhazards.datasets.DataBundle.metadata", false]], "metadata (pyhazards.datasets.datasplit attribute)": [[2, "pyhazards.datasets.DataSplit.metadata", false]], "metadata (pyhazards.datasplit attribute)": [[1, "pyhazards.DataSplit.metadata", false]], "metricbase (class in pyhazards)": [[1, "pyhazards.MetricBase", false]], "metricbase (class in pyhazards.metrics)": [[4, "pyhazards.metrics.MetricBase", false]], "mlpbackbone (class in pyhazards)": [[1, "pyhazards.MLPBackbone", false]], "mlpbackbone (class in pyhazards.models)": [[5, "pyhazards.models.MLPBackbone", false]], "mlpbackbone (class in pyhazards.models.backbones)": [[5, "pyhazards.models.backbones.MLPBackbone", false]], "module": [[1, "module-pyhazards", false], [2, "module-pyhazards.datasets", false], [2, "module-pyhazards.datasets.base", false], [2, "module-pyhazards.datasets.hazards", false], [2, "module-pyhazards.datasets.registry", false], [2, "module-pyhazards.datasets.transforms", false], [3, "module-pyhazards.engine", false], [3, "module-pyhazards.engine.distributed", false], [3, "module-pyhazards.engine.inference", false], [3, "module-pyhazards.engine.trainer", false], [4, "module-pyhazards.metrics", false], [5, "module-pyhazards.models", false], [5, "module-pyhazards.models.backbones", false], [5, "module-pyhazards.models.builder", false], [5, "module-pyhazards.models.heads", false], [5, "module-pyhazards.models.registry", false], [6, "module-pyhazards.utils", false], [6, "module-pyhazards.utils.common", false], [6, "module-pyhazards.utils.hardware", false]], "name (pyhazards.dataset attribute)": [[1, "pyhazards.Dataset.name", false]], "name (pyhazards.datasets.base.dataset attribute)": [[2, "pyhazards.datasets.base.Dataset.name", false]], "name (pyhazards.datasets.dataset attribute)": [[2, "pyhazards.datasets.Dataset.name", false]], "num_devices() (in module pyhazards.utils)": [[6, "pyhazards.utils.num_devices", false]], "num_devices() (in module pyhazards.utils.hardware)": [[6, "pyhazards.utils.hardware.num_devices", false]], "num_targets (pyhazards.datasets.base.labelspec attribute)": [[2, "pyhazards.datasets.base.LabelSpec.num_targets", false]], "num_targets (pyhazards.datasets.labelspec attribute)": [[2, "pyhazards.datasets.LabelSpec.num_targets", false]], "num_targets (pyhazards.labelspec attribute)": [[1, "pyhazards.LabelSpec.num_targets", false]], "predict() (pyhazards.engine.trainer method)": [[3, "pyhazards.engine.Trainer.predict", false]], "predict() (pyhazards.engine.trainer.trainer method)": [[3, "pyhazards.engine.trainer.Trainer.predict", false]], "predict() (pyhazards.trainer method)": [[1, "pyhazards.Trainer.predict", false]], "pyhazards": [[1, "module-pyhazards", false]], "pyhazards.datasets": [[2, "module-pyhazards.datasets", false]], "pyhazards.datasets.base": [[2, "module-pyhazards.datasets.base", false]], "pyhazards.datasets.hazards": [[2, "module-pyhazards.datasets.hazards", false]], "pyhazards.datasets.registry": [[2, "module-pyhazards.datasets.registry", false]], "pyhazards.datasets.transforms": [[2, "module-pyhazards.datasets.transforms", false]], "pyhazards.engine": [[3, "module-pyhazards.engine", false]], "pyhazards.engine.distributed": [[3, "module-pyhazards.engine.distributed", false]], "pyhazards.engine.inference": [[3, "module-pyhazards.engine.inference", false]], "pyhazards.engine.trainer": [[3, "module-pyhazards.engine.trainer", false]], "pyhazards.metrics": [[4, "module-pyhazards.metrics", false]], "pyhazards.models": [[5, "module-pyhazards.models", false]], "pyhazards.models.backbones": [[5, "module-pyhazards.models.backbones", false]], "pyhazards.models.builder": [[5, "module-pyhazards.models.builder", false]], "pyhazards.models.heads": [[5, "module-pyhazards.models.heads", false]], "pyhazards.models.registry": [[5, "module-pyhazards.models.registry", false]], "pyhazards.utils": [[6, "module-pyhazards.utils", false]], "pyhazards.utils.common": [[6, "module-pyhazards.utils.common", false]], "pyhazards.utils.hardware": [[6, "module-pyhazards.utils.hardware", false]], "register_dataset() (in module pyhazards)": [[1, "pyhazards.register_dataset", false]], "register_dataset() (in module pyhazards.datasets)": [[2, "pyhazards.datasets.register_dataset", false]], "register_dataset() (in module pyhazards.datasets.registry)": [[2, "pyhazards.datasets.registry.register_dataset", false]], "register_model() (in module pyhazards)": [[1, "pyhazards.register_model", false]], "register_model() (in module pyhazards.models)": [[5, "pyhazards.models.register_model", false]], "register_model() (in module pyhazards.models.registry)": [[5, "pyhazards.models.registry.register_model", false]], "regressionhead (class in pyhazards)": [[1, "pyhazards.RegressionHead", false]], "regressionhead (class in pyhazards.models)": [[5, "pyhazards.models.RegressionHead", false]], "regressionhead (class in pyhazards.models.heads)": [[5, "pyhazards.models.heads.RegressionHead", false]], "regressionmetrics (class in pyhazards)": [[1, "pyhazards.RegressionMetrics", false]], "regressionmetrics (class in pyhazards.metrics)": [[4, "pyhazards.metrics.RegressionMetrics", false]], "reset() (pyhazards.classificationmetrics method)": [[1, "pyhazards.ClassificationMetrics.reset", false]], "reset() (pyhazards.metricbase method)": [[1, "pyhazards.MetricBase.reset", false]], "reset() (pyhazards.metrics.classificationmetrics method)": [[4, "pyhazards.metrics.ClassificationMetrics.reset", false]], "reset() (pyhazards.metrics.metricbase method)": [[4, "pyhazards.metrics.MetricBase.reset", false]], "reset() (pyhazards.metrics.regressionmetrics method)": [[4, "pyhazards.metrics.RegressionMetrics.reset", false]], "reset() (pyhazards.metrics.segmentationmetrics method)": [[4, "pyhazards.metrics.SegmentationMetrics.reset", false]], "reset() (pyhazards.regressionmetrics method)": [[1, "pyhazards.RegressionMetrics.reset", false]], "reset() (pyhazards.segmentationmetrics method)": [[1, "pyhazards.SegmentationMetrics.reset", false]], "rollout() (pyhazards.models.hydrographnet method)": [[5, "pyhazards.models.HydroGraphNet.rollout", false]], "save_checkpoint() (pyhazards.engine.trainer method)": [[3, "pyhazards.engine.Trainer.save_checkpoint", false]], "save_checkpoint() (pyhazards.engine.trainer.trainer method)": [[3, "pyhazards.engine.trainer.Trainer.save_checkpoint", false]], "save_checkpoint() (pyhazards.trainer method)": [[1, "pyhazards.Trainer.save_checkpoint", false]], "seed_all() (in module pyhazards.utils)": [[6, "pyhazards.utils.seed_all", false]], "seed_all() (in module pyhazards.utils.common)": [[6, "pyhazards.utils.common.seed_all", false]], "segmentationhead (class in pyhazards)": [[1, "pyhazards.SegmentationHead", false]], "segmentationhead (class in pyhazards.models)": [[5, "pyhazards.models.SegmentationHead", false]], "segmentationhead (class in pyhazards.models.heads)": [[5, "pyhazards.models.heads.SegmentationHead", false]], "segmentationmetrics (class in pyhazards)": [[1, "pyhazards.SegmentationMetrics", false]], "segmentationmetrics (class in pyhazards.metrics)": [[4, "pyhazards.metrics.SegmentationMetrics", false]], "select_strategy() (in module pyhazards.engine)": [[3, "pyhazards.engine.select_strategy", false]], "select_strategy() (in module pyhazards.engine.distributed)": [[3, "pyhazards.engine.distributed.select_strategy", false]], "set_adjacency() (pyhazards.models.wildfiremamba method)": [[5, "pyhazards.models.WildfireMamba.set_adjacency", false]], "set_device() (in module pyhazards.utils)": [[6, "pyhazards.utils.set_device", false]], "set_device() (in module pyhazards.utils.hardware)": [[6, "pyhazards.utils.hardware.set_device", false]], "slidingwindowinference (class in pyhazards.engine)": [[3, "pyhazards.engine.SlidingWindowInference", false]], "slidingwindowinference (class in pyhazards.engine.inference)": [[3, "pyhazards.engine.inference.SlidingWindowInference", false]], "splits (pyhazards.databundle attribute)": [[1, "pyhazards.DataBundle.splits", false]], "splits (pyhazards.datasets.base.databundle attribute)": [[2, "pyhazards.datasets.base.DataBundle.splits", false]], "splits (pyhazards.datasets.databundle attribute)": [[2, "pyhazards.datasets.DataBundle.splits", false]], "strategy (pyhazards.engine.distributed.distributedconfig attribute)": [[3, "pyhazards.engine.distributed.DistributedConfig.strategy", false]], "strategy (pyhazards.engine.distributedconfig attribute)": [[3, "pyhazards.engine.DistributedConfig.strategy", false]], "targets (pyhazards.datasets.base.datasplit attribute)": [[2, "pyhazards.datasets.base.DataSplit.targets", false]], "targets (pyhazards.datasets.datasplit attribute)": [[2, "pyhazards.datasets.DataSplit.targets", false]], "targets (pyhazards.datasplit attribute)": [[1, "pyhazards.DataSplit.targets", false]], "task_type (pyhazards.datasets.base.labelspec attribute)": [[2, "pyhazards.datasets.base.LabelSpec.task_type", false]], "task_type (pyhazards.datasets.labelspec attribute)": [[2, "pyhazards.datasets.LabelSpec.task_type", false]], "task_type (pyhazards.labelspec attribute)": [[1, "pyhazards.LabelSpec.task_type", false]], "temporalencoder (class in pyhazards)": [[1, "pyhazards.TemporalEncoder", false]], "temporalencoder (class in pyhazards.models)": [[5, "pyhazards.models.TemporalEncoder", false]], "temporalencoder (class in pyhazards.models.backbones)": [[5, "pyhazards.models.backbones.TemporalEncoder", false]], "trainer (class in pyhazards)": [[1, "pyhazards.Trainer", false]], "trainer (class in pyhazards.engine)": [[3, "pyhazards.engine.Trainer", false]], "trainer (class in pyhazards.engine.trainer)": [[3, "pyhazards.engine.trainer.Trainer", false]], "transform (class in pyhazards.datasets.base)": [[2, "pyhazards.datasets.base.Transform", false]], "tverskyloss (class in pyhazards.models)": [[5, "pyhazards.models.TverskyLoss", false]], "update() (pyhazards.classificationmetrics method)": [[1, "pyhazards.ClassificationMetrics.update", false]], "update() (pyhazards.metricbase method)": [[1, "pyhazards.MetricBase.update", false]], "update() (pyhazards.metrics.classificationmetrics method)": [[4, "pyhazards.metrics.ClassificationMetrics.update", false]], "update() (pyhazards.metrics.metricbase method)": [[4, "pyhazards.metrics.MetricBase.update", false]], "update() (pyhazards.metrics.regressionmetrics method)": [[4, "pyhazards.metrics.RegressionMetrics.update", false]], "update() (pyhazards.metrics.segmentationmetrics method)": [[4, "pyhazards.metrics.SegmentationMetrics.update", false]], "update() (pyhazards.regressionmetrics method)": [[1, "pyhazards.RegressionMetrics.update", false]], "update() (pyhazards.segmentationmetrics method)": [[1, "pyhazards.SegmentationMetrics.update", false]], "wildfire_aspp_builder() (in module pyhazards.models)": [[5, "pyhazards.models.wildfire_aspp_builder", false]], "wildfire_mamba_builder() (in module pyhazards.models)": [[5, "pyhazards.models.wildfire_mamba_builder", false]], "wildfireaspp (class in pyhazards.models)": [[5, "pyhazards.models.WildfireASPP", false]], "wildfirecnnaspp (class in pyhazards.models)": [[5, "pyhazards.models.WildfireCNNASPP", false]], "wildfiremamba (class in pyhazards.models)": [[5, "pyhazards.models.WildfireMamba", false]]}, "objects": {"": [[1, 0, 0, "-", "pyhazards"]], "pyhazards": [[1, 1, 1, "", "CNNPatchEncoder"], [1, 1, 1, "", "ClassificationHead"], [1, 1, 1, "", "ClassificationMetrics"], [1, 1, 1, "", "DataBundle"], [1, 1, 1, "", "DataSplit"], [1, 1, 1, "", "Dataset"], [1, 1, 1, "", "FeatureSpec"], [1, 1, 1, "", "LabelSpec"], [1, 1, 1, "", "MLPBackbone"], [1, 1, 1, "", "MetricBase"], [1, 1, 1, "", "RegressionHead"], [1, 1, 1, "", "RegressionMetrics"], [1, 1, 1, "", "SegmentationHead"], [1, 1, 1, "", "SegmentationMetrics"], [1, 1, 1, "", "TemporalEncoder"], [1, 1, 1, "", "Trainer"], [1, 4, 1, "", "available_datasets"], [1, 4, 1, "", "available_models"], [1, 4, 1, "", "build_model"], [2, 0, 0, "-", "datasets"], [3, 0, 0, "-", "engine"], [1, 4, 1, "", "load_dataset"], [4, 0, 0, "-", "metrics"], [5, 0, 0, "-", "models"], [1, 4, 1, "", "register_dataset"], [1, 4, 1, "", "register_model"], [6, 0, 0, "-", "utils"]], "pyhazards.CNNPatchEncoder": [[1, 2, 1, "", "forward"]], "pyhazards.ClassificationHead": [[1, 2, 1, "", "forward"]], "pyhazards.ClassificationMetrics": [[1, 3, 1, "", "_abc_impl"], [1, 2, 1, "", "compute"], [1, 2, 1, "", "reset"], [1, 2, 1, "", "update"]], "pyhazards.DataBundle": [[1, 3, 1, "", "feature_spec"], [1, 2, 1, "", "get_split"], [1, 3, 1, "", "label_spec"], [1, 3, 1, "", "metadata"], [1, 3, 1, "", "splits"]], "pyhazards.DataSplit": [[1, 3, 1, "", "inputs"], [1, 3, 1, "", "metadata"], [1, 3, 1, "", "targets"]], "pyhazards.Dataset": [[1, 2, 1, "", "_load"], [1, 2, 1, "", "load"], [1, 3, 1, "", "name"]], "pyhazards.FeatureSpec": [[1, 3, 1, "", "channels"], [1, 3, 1, "", "description"], [1, 3, 1, "", "extra"], [1, 3, 1, "", "input_dim"]], "pyhazards.LabelSpec": [[1, 3, 1, "", "description"], [1, 3, 1, "", "extra"], [1, 3, 1, "", "num_targets"], [1, 3, 1, "", "task_type"]], "pyhazards.MLPBackbone": [[1, 2, 1, "", "forward"]], "pyhazards.MetricBase": [[1, 3, 1, "", "_abc_impl"], [1, 2, 1, "", "compute"], [1, 2, 1, "", "reset"], [1, 2, 1, "", "update"]], "pyhazards.RegressionHead": [[1, 2, 1, "", "forward"]], "pyhazards.RegressionMetrics": [[1, 3, 1, "", "_abc_impl"], [1, 2, 1, "", "compute"], [1, 2, 1, "", "reset"], [1, 2, 1, "", "update"]], "pyhazards.SegmentationHead": [[1, 2, 1, "", "forward"]], "pyhazards.SegmentationMetrics": [[1, 3, 1, "", "_abc_impl"], [1, 2, 1, "", "compute"], [1, 2, 1, "", "reset"], [1, 2, 1, "", "update"]], "pyhazards.TemporalEncoder": [[1, 2, 1, "", "forward"]], "pyhazards.Trainer": [[1, 2, 1, "", "_make_loader"], [1, 2, 1, "", "_to_device"], [1, 2, 1, "", "evaluate"], [1, 2, 1, "", "fit"], [1, 2, 1, "", "predict"], [1, 2, 1, "", "save_checkpoint"]], "pyhazards.datasets": [[2, 1, 1, "", "DataBundle"], [2, 1, 1, "", "DataSplit"], [2, 1, 1, "", "Dataset"], [2, 1, 1, "", "FeatureSpec"], [2, 1, 1, "", "GraphTemporalDataset"], [2, 1, 1, "", "LabelSpec"], [2, 4, 1, "", "available_datasets"], [2, 0, 0, "-", "base"], [2, 4, 1, "", "graph_collate"], [2, 0, 0, "-", "hazards"], [2, 4, 1, "", "load_dataset"], [2, 4, 1, "", "register_dataset"], [2, 0, 0, "-", "registry"], [2, 0, 0, "-", "transforms"]], "pyhazards.datasets.DataBundle": [[2, 3, 1, "", "feature_spec"], [2, 2, 1, "", "get_split"], [2, 3, 1, "", "label_spec"], [2, 3, 1, "", "metadata"], [2, 3, 1, "", "splits"]], "pyhazards.datasets.DataSplit": [[2, 3, 1, "", "inputs"], [2, 3, 1, "", "metadata"], [2, 3, 1, "", "targets"]], "pyhazards.datasets.Dataset": [[2, 2, 1, "", "_load"], [2, 2, 1, "", "load"], [2, 3, 1, "", "name"]], "pyhazards.datasets.FeatureSpec": [[2, 3, 1, "", "channels"], [2, 3, 1, "", "description"], [2, 3, 1, "", "extra"], [2, 3, 1, "", "input_dim"]], "pyhazards.datasets.LabelSpec": [[2, 3, 1, "", "description"], [2, 3, 1, "", "extra"], [2, 3, 1, "", "num_targets"], [2, 3, 1, "", "task_type"]], "pyhazards.datasets.base": [[2, 1, 1, "", "DataBundle"], [2, 1, 1, "", "DataSplit"], [2, 1, 1, "", "Dataset"], [2, 1, 1, "", "FeatureSpec"], [2, 1, 1, "", "LabelSpec"], [2, 1, 1, "", "Transform"]], "pyhazards.datasets.base.DataBundle": [[2, 3, 1, "", "feature_spec"], [2, 2, 1, "", "get_split"], [2, 3, 1, "", "label_spec"], [2, 3, 1, "", "metadata"], [2, 3, 1, "", "splits"]], "pyhazards.datasets.base.DataSplit": [[2, 3, 1, "", "inputs"], [2, 3, 1, "", "metadata"], [2, 3, 1, "", "targets"]], "pyhazards.datasets.base.Dataset": [[2, 2, 1, "", "_load"], [2, 2, 1, "", "load"], [2, 3, 1, "", "name"]], "pyhazards.datasets.base.FeatureSpec": [[2, 3, 1, "", "channels"], [2, 3, 1, "", "description"], [2, 3, 1, "", "extra"], [2, 3, 1, "", "input_dim"]], "pyhazards.datasets.base.LabelSpec": [[2, 3, 1, "", "description"], [2, 3, 1, "", "extra"], [2, 3, 1, "", "num_targets"], [2, 3, 1, "", "task_type"]], "pyhazards.datasets.base.Transform": [[2, 3, 1, "", "_abc_impl"], [2, 3, 1, "", "_is_protocol"]], "pyhazards.datasets.registry": [[2, 4, 1, "", "available_datasets"], [2, 4, 1, "", "load_dataset"], [2, 4, 1, "", "register_dataset"]], "pyhazards.engine": [[3, 1, 1, "", "DistributedConfig"], [3, 1, 1, "", "SlidingWindowInference"], [3, 1, 1, "", "Trainer"], [3, 0, 0, "-", "distributed"], [3, 0, 0, "-", "inference"], [3, 4, 1, "", "select_strategy"], [3, 0, 0, "-", "trainer"]], "pyhazards.engine.DistributedConfig": [[3, 3, 1, "", "devices"], [3, 3, 1, "", "strategy"]], "pyhazards.engine.Trainer": [[3, 2, 1, "", "_make_loader"], [3, 2, 1, "", "_to_device"], [3, 2, 1, "", "evaluate"], [3, 2, 1, "", "fit"], [3, 2, 1, "", "predict"], [3, 2, 1, "", "save_checkpoint"]], "pyhazards.engine.distributed": [[3, 1, 1, "", "DistributedConfig"], [3, 4, 1, "", "select_strategy"]], "pyhazards.engine.distributed.DistributedConfig": [[3, 3, 1, "", "devices"], [3, 3, 1, "", "strategy"]], "pyhazards.engine.inference": [[3, 1, 1, "", "SlidingWindowInference"]], "pyhazards.engine.trainer": [[3, 1, 1, "", "Trainer"]], "pyhazards.engine.trainer.Trainer": [[3, 2, 1, "", "_make_loader"], [3, 2, 1, "", "_to_device"], [3, 2, 1, "", "evaluate"], [3, 2, 1, "", "fit"], [3, 2, 1, "", "predict"], [3, 2, 1, "", "save_checkpoint"]], "pyhazards.metrics": [[4, 1, 1, "", "ClassificationMetrics"], [4, 1, 1, "", "MetricBase"], [4, 1, 1, "", "RegressionMetrics"], [4, 1, 1, "", "SegmentationMetrics"]], "pyhazards.metrics.ClassificationMetrics": [[4, 3, 1, "", "_abc_impl"], [4, 2, 1, "", "compute"], [4, 2, 1, "", "reset"], [4, 2, 1, "", "update"]], "pyhazards.metrics.MetricBase": [[4, 3, 1, "", "_abc_impl"], [4, 2, 1, "", "compute"], [4, 2, 1, "", "reset"], [4, 2, 1, "", "update"]], "pyhazards.metrics.RegressionMetrics": [[4, 3, 1, "", "_abc_impl"], [4, 2, 1, "", "compute"], [4, 2, 1, "", "reset"], [4, 2, 1, "", "update"]], "pyhazards.metrics.SegmentationMetrics": [[4, 3, 1, "", "_abc_impl"], [4, 2, 1, "", "compute"], [4, 2, 1, "", "reset"], [4, 2, 1, "", "update"]], "pyhazards.models": [[5, 1, 1, "", "CNNPatchEncoder"], [5, 1, 1, "", "ClassificationHead"], [5, 1, 1, "", "HydroGraphNet"], [5, 1, 1, "", "HydroGraphNetLoss"], [5, 1, 1, "", "MLPBackbone"], [5, 1, 1, "", "RegressionHead"], [5, 1, 1, "", "SegmentationHead"], [5, 1, 1, "", "TemporalEncoder"], [5, 1, 1, "", "TverskyLoss"], [5, 1, 1, "", "WildfireASPP"], [5, 1, 1, "", "WildfireCNNASPP"], [5, 1, 1, "", "WildfireMamba"], [5, 4, 1, "", "available_models"], [5, 0, 0, "-", "backbones"], [5, 4, 1, "", "build_model"], [5, 0, 0, "-", "builder"], [5, 4, 1, "", "cnn_aspp_builder"], [5, 0, 0, "-", "heads"], [5, 4, 1, "", "hydrographnet_builder"], [5, 4, 1, "", "register_model"], [5, 0, 0, "-", "registry"], [5, 4, 1, "", "wildfire_aspp_builder"], [5, 4, 1, "", "wildfire_mamba_builder"]], "pyhazards.models.CNNPatchEncoder": [[5, 2, 1, "", "forward"]], "pyhazards.models.ClassificationHead": [[5, 2, 1, "", "forward"]], "pyhazards.models.HydroGraphNet": [[5, 2, 1, "", "_edge_index"], [5, 2, 1, "", "_match_edge_dim"], [5, 2, 1, "", "_one_step"], [5, 2, 1, "", "_prepare_edge_inputs"], [5, 2, 1, "", "forward"], [5, 2, 1, "", "rollout"]], "pyhazards.models.HydroGraphNetLoss": [[5, 2, 1, "", "forward"]], "pyhazards.models.MLPBackbone": [[5, 2, 1, "", "forward"]], "pyhazards.models.RegressionHead": [[5, 2, 1, "", "forward"]], "pyhazards.models.SegmentationHead": [[5, 2, 1, "", "forward"]], "pyhazards.models.TemporalEncoder": [[5, 2, 1, "", "forward"]], "pyhazards.models.TverskyLoss": [[5, 2, 1, "", "forward"]], "pyhazards.models.WildfireCNNASPP": [[5, 2, 1, "", "forward"]], "pyhazards.models.WildfireMamba": [[5, 2, 1, "", "_get_adjacency"], [5, 2, 1, "", "_temporal_delta"], [5, 2, 1, "", "forward"], [5, 2, 1, "", "set_adjacency"]], "pyhazards.models.backbones": [[5, 1, 1, "", "CNNPatchEncoder"], [5, 1, 1, "", "MLPBackbone"], [5, 1, 1, "", "TemporalEncoder"]], "pyhazards.models.backbones.CNNPatchEncoder": [[5, 2, 1, "", "forward"]], "pyhazards.models.backbones.MLPBackbone": [[5, 2, 1, "", "forward"]], "pyhazards.models.backbones.TemporalEncoder": [[5, 2, 1, "", "forward"]], "pyhazards.models.builder": [[5, 4, 1, "", "build_model"], [5, 4, 1, "", "default_builder"]], "pyhazards.models.heads": [[5, 1, 1, "", "ClassificationHead"], [5, 1, 1, "", "RegressionHead"], [5, 1, 1, "", "SegmentationHead"]], "pyhazards.models.heads.ClassificationHead": [[5, 2, 1, "", "forward"]], "pyhazards.models.heads.RegressionHead": [[5, 2, 1, "", "forward"]], "pyhazards.models.heads.SegmentationHead": [[5, 2, 1, "", "forward"]], "pyhazards.models.registry": [[5, 4, 1, "", "available_models"], [5, 4, 1, "", "get_model_config"], [5, 4, 1, "", "register_model"]], "pyhazards.utils": [[6, 4, 1, "", "auto_device"], [6, 0, 0, "-", "common"], [6, 4, 1, "", "get_device"], [6, 4, 1, "", "get_logger"], [6, 0, 0, "-", "hardware"], [6, 4, 1, "", "num_devices"], [6, 4, 1, "", "seed_all"], [6, 4, 1, "", "set_device"]], "pyhazards.utils.common": [[6, 4, 1, "", "get_logger"], [6, 4, 1, "", "seed_all"]], "pyhazards.utils.hardware": [[6, 4, 1, "", "auto_device"], [6, 4, 1, "", "get_device"], [6, 4, 1, "", "num_devices"], [6, 4, 1, "", "set_device"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "function", "Python function"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:function"}, "terms": {"": [10, 11, 13, 15, 19, 25, 26], "0": [1, 3, 5, 8, 10, 12, 16, 18, 19, 24], "00230": 10, "008": 9, "01": 19, "02": 19, "0301003": 13, "06": 5, "0758": 12, "08": 9, "1": [1, 3, 5, 9, 10, 12, 13, 17, 19, 22, 24], "10": [8, 9, 10, 11, 12, 13, 14, 15, 17, 20, 24], "1000": 16, "1002": 8, "1016": 9, "1071": 11, "11": 9, "1175": [10, 12], "12": [5, 17, 18], "120": 14, "128": [1, 5, 16, 22], "14": 12, "143": 9, "146": 8, "15": [10, 15], "15min": 19, "16": [12, 16, 20, 22], "18": 11, "1940": 8, "1950": 14, "1980": 12, "1984": 13, "1999": 8, "1b": 10, "1e": [5, 17, 20, 24], "2": [1, 5, 8, 9, 10, 16, 17, 18, 20, 24, 25], "20": 9, "2007": [13, 19, 25], "2009": [11, 25], "2013": 9, "2014": [9, 19, 25], "2017": [10, 12, 19, 25], "2020": [8, 19, 25], "2023": 19, "2024": [22, 25], "2025": [7, 17, 22, 25], "20260101": [12, 19], "2049": 8, "21": [9, 13], "235": 11, "24": 19, "249": 11, "25": [8, 19], "256": [1, 5, 22], "3": [1, 5, 8, 9, 11, 12, 13, 17, 18, 19, 20, 22, 24], "30": [9, 10, 11, 12, 13], "30m": 9, "31": 19, "32": [1, 3, 5, 22], "375": [9, 25], "3803": 8, "3h": 9, "4": [9, 10, 19], "42": 6, "4996": 13, "5": [5, 8, 9, 10, 12, 15, 19, 22], "50": [8, 17, 24], "5419": 12, "5454": 12, "6": [5, 9, 10, 18], "60": 9, "625": 12, "64": [1, 3, 5], "681": 10, "698": 10, "7": 9, "730": 8, "75": 14, "79": 19, "8": [9, 18, 19], "800": 16, "85": 9, "87": 19, "9": 9, "90": 14, "900": 16, "96": 9, "98": 10, "A": [10, 11, 13, 17, 19, 22, 25], "For": [8, 10, 12, 14, 17, 19, 24], "If": [7, 8, 17, 19], "It": [8, 12, 17, 24], "Near": [8, 9, 12, 19], "One": [12, 19], "Or": 24, "The": [8, 9, 10, 12, 20, 22, 25, 26], "Their": 25, "To": [15, 16, 17, 24], "__name__": [17, 24], "_abc": [1, 2, 4], "_abc_data": [1, 2, 4], "_abc_impl": [0, 1, 2, 4], "_edge_index": [1, 5], "_get_adjac": [1, 5], "_is_protocol": [1, 2], "_load": [0, 1, 2, 16], "_make_load": [0, 1, 3], "_match_edge_dim": [1, 5], "_one_step": [1, 5], "_prepare_edge_input": [1, 5], "_temporal_delta": [1, 5], "_to_devic": [0, 1, 3], "abc": [1, 4], "abi": [10, 25], "abov": 10, "abstract": [1, 3, 4, 21], "accept": 19, "accordingli": 19, "accuraci": 21, "across": [11, 13, 14, 15, 17], "activ": [9, 15, 19, 25], "ad": 10, "adam": [17, 20, 24], "adapt": [8, 17, 24], "add": [16, 17, 19], "addit": 11, "adj": 5, "adjac": [2, 5], "administr": 14, "adopt": 8, "advanc": 10, "aerosol": 10, "after": [10, 12, 14, 17, 19], "against": 22, "agenc": 15, "aggreg": [13, 15, 21], "ai": [7, 17], "aim": 11, "al": [8, 10, 12, 19, 22, 25], "alaska": [11, 13], "algorithm": [9, 25], "align": 24, "alpha": 5, "also": 12, "america": 10, "american": 10, "amount": 8, "amp": 20, "an": [2, 7, 8, 9, 15, 17, 19, 22, 25], "analysi": [8, 9, 10, 12, 13, 14, 15, 19, 25], "ani": [1, 2, 3, 5, 22], "ann": 22, "annual": 11, "anomali": [9, 10], "api": [1, 3, 17, 19, 24], "appear": [10, 12, 15], "append": [14, 15], "appli": [5, 15], "applic": [8, 12, 25], "approach": 25, "approxim": 15, "aqua": 9, "ar": [8, 9, 10, 11, 12, 13, 14, 15, 20, 21, 22], "arcgi": 15, "architectur": [16, 17, 22], "archiv": [9, 10, 13, 14], "area_of_interest_bbox": 19, "arg": [2, 5, 19], "arnold": 22, "around": 17, "artifact": 19, "artifici": 25, "aspp": [5, 22, 25], "aspp_channel": 5, "assess": [8, 9, 11, 13, 14, 17, 19, 25], "assimil": [8, 12], "associ": [9, 15], "assur": 26, "atmospher": [8, 10, 12, 19], "attribut": [8, 15], "aug": 13, "author": [7, 17, 25], "authorit": [15, 19], "auto": [1, 3, 19, 20], "auto_devic": [1, 6, 20], "automat": [6, 24], "autoregress": 5, "avail": [9, 10, 12, 13, 14, 19, 20, 24], "available_dataset": [0, 1, 2], "available_model": [0, 1, 5], "awar": [9, 10], "b": [5, 8, 13, 25], "backbon": [0, 1, 12, 16, 17, 22], "background": 11, "backward": 5, "bam": 10, "band": 10, "base": [0, 1, 3, 4, 5, 9, 11, 13, 14, 15, 17, 18, 22, 24], "base_channel": 5, "baselin": [8, 10, 15, 22], "basic": 19, "batch": [2, 5], "batch_siz": [1, 3, 5, 17, 24], "begin": 14, "behavior": [8, 11, 19], "bell": [8, 25], "below": [10, 12, 19, 25], "benchmark": [8, 12, 17, 19], "berrisford": [8, 25], "best": 10, "beta": 5, "bin": 14, "binari": 5, "bool": 19, "boundari": 8, "brewer": [13, 25], "bright": 10, "broad": 12, "build": [1, 5, 17, 24], "build_model": [0, 1, 5, 16, 17, 20, 22, 24], "builder": [0, 1, 2, 16, 17, 22], "built": [17, 21], "bulk": [9, 11, 14], "bulletin": 10, "bundl": [1, 2, 13], "burn": [13, 19, 25], "c": 5, "c00648": 14, "c3": 8, "ca": 9, "cache_dir": [1, 2], "cadenc": [8, 9, 10, 11, 12, 13, 14, 15], "california": 26, "call": 21, "callabl": 2, "can": [9, 10, 12, 16, 18, 22], "canada": 9, "canon": [8, 24], "canopi": 11, "carri": 10, "catalog": 19, "categor": 13, "caus": 15, "cd": [8, 19], "cell_area": 5, "center": [14, 15, 25], "centr": 8, "central": 17, "chang": [8, 13, 15, 19], "channel": [0, 1, 2, 10], "character": 11, "check": [9, 10, 11, 12, 13, 14, 15, 19], "checkpoint": 20, "cheng": [7, 17, 26], "choos": [6, 19], "cite": 25, "class": [1, 2, 3, 4, 5, 10, 13, 16, 20], "classif": [1, 5, 13, 16, 20, 22], "classificationhead": [0, 1, 5], "classificationmetr": [0, 1, 4, 20, 21], "cli": [19, 22], "click": [19, 22], "climat": [8, 12], "close": 8, "closer": [10, 25], "cloud": 10, "cmd": 19, "cnn": [1, 5, 16, 22, 25], "cnn_aspp_build": [1, 5], "cnnpatchencod": [0, 1, 5], "code": [19, 26], "collat": 2, "collate_fn": [1, 3, 17, 24], "com": [7, 15, 17], "combin": [8, 9], "command": 19, "common": [0, 1, 12, 21, 22, 23], "commonli": [8, 11, 12, 13, 15, 19], "commun": 26, "compar": 22, "compat": [5, 17], "compil": 14, "complex": [1, 3], "compos": [22, 26], "comprehens": 8, "comput": [0, 1, 2, 4, 21], "concret": 2, "conda": 18, "confid": 9, "config": [20, 22], "consist": [1, 5, 8, 11, 12, 17, 25], "construct": [1, 2, 17, 22], "contain": [1, 2, 15], "content": 0, "contentrefer": 9, "context": 19, "contextu": 10, "continu": [5, 10, 12, 13, 15, 19], "continuity_weight": 5, "contribut": 26, "conu": [10, 11, 13], "conv_kernel": 5, "convent": 12, "convert": 8, "coord": 14, "coordin": [8, 10, 11, 12, 13, 14], "copernicu": [8, 19], "core": [10, 12], "correct": 17, "correspond": 9, "could": 19, "count": 5, "counti": [2, 5, 14], "covari": [8, 11, 12, 19], "cover": [11, 21], "coverag": [8, 9, 10, 11, 12, 13, 14, 15], "cpu": 24, "cr": [8, 9, 10, 11, 12, 13, 15], "creat": 22, "credenti": [12, 19], "critic": 10, "crop": 14, "crossentropyloss": 20, "csiszar": [9, 25], "csv": [9, 14, 19], "cu126": 18, "cuda": [18, 20, 24], "curat": 19, "current": [2, 10, 11, 15, 19], "custom": [1, 3, 16, 24], "d": [10, 12, 19], "dacheng": [7, 17, 26], "dai": [2, 5, 8, 9, 14, 22], "daili": [8, 12, 19], "damag": 14, "danger": 8, "data": [1, 2, 3, 19, 22, 24, 25], "data_bundl": 20, "data_sourc": 19, "databas": [14, 19, 25], "databundl": [0, 1, 2, 8, 16, 17], "dataload": [1, 3], "dataloader_v3": 19, "dataset": [0, 1, 8, 9, 10, 11, 12, 13, 14, 15, 17, 22], "datasplit": [0, 1, 2, 16], "date": [8, 15, 19], "db": 14, "dd": 19, "ddp": [3, 20], "decod": 5, "dedic": 26, "def": [16, 22], "default": [1, 5, 10, 16, 19, 20, 22], "default_build": [1, 5], "defin": 19, "delai": 10, "deleg": [1, 5], "delta": 5, "densiti": 11, "depend": [9, 10, 11, 13, 15], "depth": [1, 5, 22], "deriv": [9, 10, 11, 12, 13, 14, 19], "describ": [1, 2, 19], "descript": [0, 1, 2, 9, 14, 16, 19, 22, 25], "descriptor": 11, "design": 21, "detail": [17, 22, 24], "detect": [9, 10, 15, 19, 24, 25], "determinist": 6, "develop": 8, "devic": [1, 3, 5, 6, 23, 24], "device_str": 6, "dewpoint": 8, "deyang": [7, 17, 26], "diagnost": [8, 10, 12], "dice": 21, "dict": [1, 2, 3, 4, 5, 19], "differ": 22, "dilat": 5, "direct": 26, "directli": 21, "disc": 12, "discover": 22, "discoveri": 15, "disk": 10, "displai": 15, "dissemin": 10, "distribut": [0, 1, 8, 9, 10, 11, 13, 15, 17], "distributedconfig": [1, 3], "disturb": 11, "dnbr": 13, "document": [12, 14, 15, 24, 25, 26], "doi": [8, 9, 10, 11, 12, 13], "dong": [7, 17, 26], "download": [9, 12, 14, 15, 18, 19], "downstream": [1, 2], "dp": 3, "driven": [16, 22], "driver": [12, 14, 19], "dropout": 5, "drought": 12, "dtype": [1, 2, 5], "due": 14, "e": [9, 11, 12, 13, 15, 19], "each": [2, 9, 12, 15, 19], "earli": [9, 10, 19], "earthdata": [9, 12, 19], "earthdata_password": [12, 19], "earthdata_usernam": [12, 19], "earthquak": [2, 22], "easi": [1, 2], "ecmwf": [8, 19], "ecolog": [11, 13], "ecologi": 13, "ecosystem": 19, "edge_feat": 5, "edge_in_dim": [5, 17, 24], "edu": 26, "eidenshink": [13, 19, 25], "els": 19, "emerg": 14, "enabl": [5, 20, 25], "encod": [1, 5, 16, 22], "end": [11, 12, 14, 17, 24], "endpoint": 9, "energi": 12, "enforce_nonneg": 5, "engag": 26, "engin": [0, 1, 17, 24], "enhanc": 22, "entri": 14, "entrypoint": [8, 12, 17, 24], "environ": [9, 18, 19, 24], "environment": [8, 10, 12, 14, 22, 25], "epoch": [17, 24], "era": [12, 25], "era5": [5, 17, 19, 25], "era5_path": 8, "era5_subset": [8, 17, 24], "era5t": 8, "estim": [8, 12], "et": [8, 10, 12, 19, 22, 25], "etc": 2, "european": 8, "evalu": [0, 1, 3, 13, 17, 20, 24], "event": [9, 13, 15, 19, 25], "everi": [9, 10, 15], "evolut": 10, "evolv": 15, "exampl": [16, 17, 18, 22], "execut": 17, "exist": 19, "expect": 8, "experi": [17, 19], "explain": [22, 25], "explicit": 19, "explicitli": 24, "export": [19, 24], "expos": [17, 19], "extend": [1, 3, 17, 21], "extens": 22, "extent": [13, 19], "extern": 5, "extra": [0, 1, 2], "extract": 14, "extrem": [8, 12], "f": 19, "factori": [1, 2], "fall": 15, "fals": [1, 3, 5, 6, 17, 19, 24], "familiar": [1, 3], "faster": 9, "fatal": 14, "featur": [1, 2, 5, 15, 16], "feature_spec": [0, 1, 2, 16], "featurespec": [0, 1, 2, 16], "feb": 13, "fetch": 19, "field": [8, 10, 11, 12, 15], "fifth": 8, "figur": 19, "file": [8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 24], "final": [8, 17], "fire": [9, 10, 11, 13, 15, 19, 25], "fireecologi": 13, "firm": [15, 19], "firms_data": 9, "first": [16, 17, 18, 24], "fit": [0, 1, 3, 17, 20, 24], "fix": 10, "flag": [6, 9, 19], "float": [1, 3, 4, 5, 19], "flood": [2, 8, 19, 24, 25], "florida": 26, "flow": 19, "flux": [8, 12], "focus": 22, "folder": 19, "follow": [8, 24], "forc": [8, 12, 19], "forecast": [8, 22, 25], "forest": [11, 13], "format": [8, 9, 10, 11, 12, 13, 14, 15, 19], "forward": [0, 1, 5], "foundat": 25, "four": 17, "framework": [17, 22], "frequenc": [8, 9, 10, 11, 12, 13, 14, 15, 19], "from": [8, 9, 10, 11, 13, 14, 15, 16, 17, 19, 20, 21, 22, 24], "from_logit": 5, "frp": 9, "fsu": 26, "fuel": [9, 11, 13, 15, 19, 25], "full": [10, 15, 21], "function": [2, 17, 22, 24], "g": [9, 11, 12, 13, 15, 19, 25], "gcn_hidden": 5, "ge": 12, "gelaro": [12, 19, 25], "gener": [5, 8, 10, 19], "geo": 12, "geodatabas": 13, "geograph": [9, 15], "geojson": [9, 15], "geoloadinput": 19, "geolog": 13, "geometri": 15, "geopotenti": [8, 12], "geospati": [11, 15, 25], "geostationari": [10, 19], "geotiff": [11, 13], "get": [16, 22, 24], "get_devic": [1, 6], "get_logg": [1, 6], "get_model_config": [1, 5], "get_split": [0, 1, 2], "gi": 11, "giglio": [9, 25], "github": [7, 17], "global": [8, 9, 12, 19, 25], "gmao": [12, 19], "gnn": 22, "goe": [15, 19, 25], "goesr": [10, 19], "goesr_data": 10, "gov": 14, "gpu": [17, 20], "granul": 10, "graph": [8, 17, 24, 25], "graph_col": [1, 2, 17, 24], "graphtemporaldataset": [1, 2], "grib": 8, "grid": [3, 8, 9, 10, 11, 12, 14, 19, 20], "griffith": [10, 25], "ground": [10, 15, 19], "grow": 13, "growth": 10, "gru": [1, 5], "guid": [17, 24], "gunshor": [10, 25], "h": [5, 8, 19, 25], "h5": 19, "handl": [20, 22], "hardwar": [0, 1, 17, 20, 23], "harmon": 5, "have": 10, "hawaii": [11, 13], "hazard": [0, 1, 7, 8, 9, 10, 11, 12, 14, 16, 17, 19, 22, 24], "head": [0, 1, 16, 17, 22], "heat": 12, "height": [11, 12], "help": 24, "helper": [17, 20, 23, 24], "hemispher": 10, "hersbach": [8, 19, 25], "hh": 19, "hidden": [16, 22], "hidden_dim": [1, 5, 16, 22], "high": [8, 10, 19], "histor": [8, 13, 14, 15], "home": 19, "hotspot": [9, 15], "hour": 9, "hourli": [8, 9, 12, 19], "how": [16, 19], "howard": [13, 25], "howpublish": [7, 17], "hr": 10, "hsu": [7, 17, 26], "http": [7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18], "humid": 12, "hurrican": [2, 12], "hydrograph": 17, "hydrographnet": [1, 5, 8, 17, 22], "hydrographnet_build": [1, 5], "hydrographnetloss": [1, 5], "i": [2, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 25, 26], "id": [14, 19], "identifi": [15, 19], "ignit": [10, 11, 13, 15, 19], "imag": 10, "imageri": [10, 13, 19], "impact": [13, 14, 19], "implement": [2, 3, 17, 19, 22, 24], "import": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 24], "in_channel": [1, 5, 17], "in_dim": [1, 5, 16, 20, 22], "incid": [15, 19, 25], "includ": [8, 9, 10, 11, 12, 13, 14, 15], "index": [2, 9, 17, 18], "indic": [9, 10], "individu": 13, "infer": [0, 1, 19, 20], "inform": [9, 14, 15, 22, 25], "infrar": 10, "ingest": 10, "initi": [8, 9, 25], "injuri": 14, "input": [0, 1, 2, 3, 5, 8, 12, 19], "input_dim": [0, 1, 2, 5, 16], "ins": 22, "inspect": [8, 9, 10, 11, 12, 13, 14, 15, 17, 24], "inspir": 5, "int": [1, 2, 3, 6, 16, 19, 22], "integr": [9, 10, 11, 13, 14, 15, 17, 22], "intellig": 25, "interag": [13, 15, 19, 25], "interfac": [1, 5, 17, 21, 24], "intern": [11, 22], "interpret": [10, 22, 25], "inventori": [13, 19], "iou": 21, "irwin": 15, "iso": [14, 19], "item": [9, 10, 11, 13, 14, 15], "iter": [1, 3], "its": [19, 22], "j": [9, 10, 12, 13, 25], "jcli": 12, "journal": [8, 11, 12], "k": [13, 25], "kan": 22, "keep": [1, 2, 5, 15, 22, 24], "kei": [8, 19], "km": [9, 10], "kml": 9, "kodudula": [7, 17, 26], "kolmogorov": 22, "kumar": [7, 17, 26], "kwarg": [1, 2, 5, 16, 22], "l": [9, 25], "label": [1, 2, 9, 13, 14, 15, 19], "label_map": 19, "label_sourc": 19, "label_spec": [0, 1, 2, 16], "labelspec": [0, 1, 2, 16], "labrai": [7, 17], "lag": 14, "lanc": 9, "land": [8, 9, 12, 14], "landfir": [19, 25], "landfire_data": 11, "landsat": [13, 19], "landscap": [11, 19], "landslid": 2, "larg": [3, 20], "last": 15, "lat": [9, 10, 12], "latenc": [8, 9, 10, 11, 12, 14], "later": [8, 9], "latitud": [8, 9, 12], "layer": [8, 11, 13, 15, 16, 19, 22], "learn": [8, 11, 12, 14], "least": 19, "level": [8, 9, 10, 12, 14, 15, 19], "lex": [7, 17, 26], "lf": 11, "librari": [7, 17], "lightweight": [1, 3, 5, 22], "limit": 12, "line": 16, "linear": [16, 22], "link": [15, 25], "list": [1, 3, 8, 19], "liter": 3, "load": [0, 1, 2, 16, 19], "load_data": 19, "load_dataset": [0, 1, 2], "load_hydrograph_data": [8, 17, 24], "load_sample_h5": 19, "loader": [2, 17], "local": [8, 9, 10, 11, 12, 13, 14, 15, 19, 24], "locat": [9, 14, 15, 19], "log": 23, "logger": 6, "logic": 3, "login": 9, "logit": 5, "lon": [9, 10, 12], "long": [12, 13, 19], "longer": [10, 14], "longitud": [8, 9, 12], "look": [10, 25], "loop": [1, 3, 17, 22], "loss": 5, "loss_fn": [1, 3, 17, 20, 24], "lr": [17, 20, 24], "m": [8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 24, 25], "machin": [8, 11, 12], "mae": 21, "mai": [8, 10, 11, 13, 14, 15], "maintain": [15, 19], "mainten": 26, "make": [1, 2, 9, 17, 19], "mamba": 5, "mamba_lay": 5, "manag": [9, 11, 14, 15, 23], "map": [9, 11, 13, 17, 19], "marjani": [22, 25], "mask": [1, 5], "match": 18, "materi": 19, "max": [8, 9, 10, 11, 13, 14, 15, 17, 24], "max_epoch": [1, 3, 17, 20, 24], "max_lat": 19, "max_lon": 19, "max_nod": [8, 17, 24], "mccarti": [12, 25], "mechan": 22, "medium": 8, "merg": [12, 19], "merra": 25, "merra2": [12, 19], "mesh": 22, "mesoscal": 10, "messag": 5, "meta": 19, "metadata": [0, 1, 2, 5, 9, 11, 13, 14, 15], "meteorolog": [8, 9, 10, 11, 12, 14, 15, 19], "meteorologi": [8, 12, 13, 19], "metric": [0, 1, 3, 13, 17, 20, 24], "metricbas": [0, 1, 4, 21], "min": [9, 10, 15], "min_lat": 19, "min_lon": 19, "minim": [1, 3, 19, 22, 24], "minut": [9, 10, 15], "mirror": [10, 19], "misc": [7, 17], "mix": 17, "mixed_precis": [1, 3, 17, 20, 24], "mixtur": 8, "ml": 17, "mlp": [1, 5, 16, 20, 22], "mlpbackbon": [0, 1, 5], "mm": 19, "mode": 10, "model": [0, 1, 2, 3, 8, 9, 11, 12, 13, 14, 15, 19, 20], "modern": [8, 12, 25], "modi": [9, 19], "modifi": 15, "modul": [0, 9, 10, 11, 13, 14, 15, 16, 19, 22, 23, 24], "modular": 16, "moistur": 12, "monitor": [9, 10, 13, 19, 25], "month": [8, 9, 12, 14], "monthli": [12, 14], "more": [22, 24], "mosaic": 13, "most": [8, 14], "motion": 10, "mseloss": [17, 24], "mtb": 19, "mtbs_data": 13, "multi": [1, 5, 12], "multipl": [9, 10, 11, 20], "multispectr": [10, 19], "my_custom_build": 22, "my_hazard": 16, "my_mlp": [16, 22], "my_model_build": 16, "myhazard": 16, "n": 5, "name": [0, 1, 2, 5, 6, 13, 15, 16, 17, 19, 20, 22, 24], "namespac": 2, "narr": 14, "nasa": [9, 12, 19], "nation": [11, 13, 14, 15, 25], "nationwid": [11, 19], "nativ": 8, "natur": [8, 12], "ncdc": 14, "ncei": [14, 25], "need": [3, 19, 21, 22], "netcdf": [8, 10], "netcdf4": 12, "network": [22, 25], "neural": 25, "new": [9, 10, 12, 14, 19, 25], "next": [5, 22], "nice": 19, "nifc": [15, 25], "nn": [16, 17, 20, 22, 24], "noaa": [9, 10, 19, 25], "noaa_flood": [14, 19], "noaa_flood_data": 14, "node_in_dim": [5, 17, 24], "node_x": 5, "none": [1, 2, 3, 4, 5, 6, 19], "normal": [1, 2], "note": [7, 17, 18], "nov": 13, "novel": 22, "npp": 9, "nrt": 9, "num_class": [1, 4, 5], "num_counti": [2, 5], "num_devic": [1, 6], "num_featur": [2, 5], "num_gn_block": 5, "num_lay": [1, 5], "num_target": [0, 1, 2, 16], "num_work": [1, 3], "numer": 12, "nw": 14, "oaicit": 9, "obj": [1, 3], "object": [1, 2, 3, 4, 19], "observ": [8, 9, 10, 11, 12], "obtain": 19, "occasion": 14, "occurr": [9, 14, 15, 19], "off": 15, "offic": [12, 14], "offici": 15, "often": 19, "oliva": [9, 25], "one": [5, 17, 19, 24], "ongo": 15, "onli": 17, "onlin": 14, "onward": 13, "open": [7, 10, 15, 17, 19, 22], "opendata": 15, "oper": [9, 10, 12, 15, 19], "optim": [1, 3, 17, 20, 24], "option": [1, 2, 5, 8, 14, 15, 17, 19, 20, 22], "orbit": 9, "order": 19, "org": [8, 9, 10, 11, 12, 13, 18], "organ": 17, "other": [19, 23, 24], "otherwis": 20, "our": 26, "out_dim": [1, 5, 16, 17, 20, 22, 24], "outdir": 19, "output": [1, 5, 12, 19], "over": [3, 10, 21], "overpass": 9, "overrid": 5, "overview": 19, "own": [16, 17, 22], "p": [8, 9, 10, 25], "packag": [0, 11], "page": [14, 17, 19, 22], "pair": [14, 19], "paramet": [5, 17, 20, 24], "pars": 19, "particularli": [10, 14], "partner": [13, 14], "pass": [5, 17, 21, 22], "past_dai": [2, 5], "patch": [1, 5, 16, 22], "path": [1, 3, 8, 9, 10, 11, 13, 14, 15, 17, 24], "pattern": [9, 15, 19], "payload": 10, "pdf": 19, "per": [5, 13, 19], "perform": 17, "perimet": [13, 15, 19], "period": [8, 12, 13, 14], "physic": [12, 22, 25], "physicsnemo": 5, "pip": [17, 18], "pipelin": [8, 9, 10, 11, 12, 15, 17, 19, 24], "pixel": 21, "placehold": [2, 3, 20], "plain": 22, "plan": [11, 17, 19, 26], "pleas": [7, 17, 24], "plot": 19, "plu": [1, 2, 9, 17, 22], "point": [9, 10, 14, 15], "polar": 9, "polygon": [13, 15], "popul": [2, 13], "portal": [9, 11, 13, 15], "post": [13, 19], "potenti": 9, "power": [7, 9, 17], "pre": [13, 19], "precipit": [8, 12], "precis": 17, "pred": [1, 4, 5, 20], "predict": [0, 1, 3, 5, 7, 8, 9, 11, 12, 13, 14, 17, 20, 21, 22, 25], "predict_step": 5, "prefer": [3, 6], "preliminari": 8, "prepar": [17, 19], "preprocess": [2, 19], "present": [8, 12, 13, 14], "pressur": [8, 12, 19], "prev_stat": 5, "previou": 11, "primari": [11, 14], "print": [8, 17, 19, 24], "probabl": 5, "process": [10, 14], "processor": 5, "produc": [8, 11, 12, 13, 19], "product": [9, 10, 11, 12, 13, 15, 25], "profil": 12, "program": [10, 11, 13, 19], "progress": 13, "project": [10, 11, 13, 17, 25], "properti": 14, "protocol": 2, "provid": [1, 2, 8, 9, 10, 11, 12, 14, 15, 16, 17, 19, 22, 25], "prvi": 11, "public": [12, 14], "publicli": [9, 11, 13, 14, 15], "publish": [10, 12, 14], "puerto": 13, "pyhazard": [7, 16, 17, 19, 20, 21, 22, 23, 24, 26], "pyhazards2025": [7, 17], "pyhazards_devic": [6, 24], "pypi": 17, "python": [8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 24], "pytorch": [17, 18, 22], "qj": 8, "qualiti": [9, 26], "quarterli": [8, 13], "quayl": [13, 25], "queri": 14, "quickli": [19, 24], "qv2m": 19, "r": [12, 19, 25], "radi": 9, "radianc": 10, "radiat": 8, "randint": 16, "randn": 16, "rang": 8, "rapid": [9, 10], "rare": 14, "raster": [1, 3, 5, 10, 11, 13, 17, 20, 22], "rather": 15, "raw": [12, 17, 19], "rdnbr": 13, "re": 19, "readi": [1, 2], "real": [8, 9, 10, 13, 15, 19], "reanalysi": [8, 10, 12, 14, 19, 25], "receiv": [5, 22], "recent": [8, 13, 14], "recommend": [18, 19], "reconcili": 15, "record": [8, 9, 10, 12, 13, 14, 15, 19], "reddi": [7, 17, 26], "reduc": 11, "refer": 24, "refin": 15, "refresh": [9, 10, 14, 15], "regim": [11, 13, 19], "region": 14, "regist": [2, 16, 17], "register_dataset": [0, 1, 2, 16], "register_model": [0, 1, 5, 16, 17, 22], "registr": 24, "registri": [0, 1, 16, 17, 22], "regress": [1, 2, 5, 16, 17, 22, 24], "regressionhead": [0, 1, 5], "regressionmetr": [0, 1, 4, 21], "regular": [5, 8, 12], "relat": [8, 10, 14, 19], "releas": [8, 11, 13], "reliabl": 17, "relu": [16, 22], "remap": 10, "remot": [9, 11, 13], "remov": 15, "repeat": 17, "replac": [1, 3, 9], "repo": 19, "report": [14, 15, 19], "repositori": [7, 17], "repres": 15, "represent": [9, 10, 11, 13, 14, 15], "reproduc": 17, "req": 19, "request": [8, 19], "requir": [9, 12, 19], "research": [7, 12, 17, 25, 26], "reset": [0, 1, 4, 21], "residu": 5, "resolut": [8, 9, 10, 11, 12, 13, 14, 15], "resourc": [9, 11], "respect": 6, "respons": 26, "rest": 15, "result": 20, "retain": 15, "retrospect": [12, 25], "return": [1, 2, 3, 4, 5, 6, 16, 17, 22], "reusabl": [2, 17], "review": 26, "rf": 22, "rico": 13, "risk": [8, 11, 17, 19], "rmse": 21, "role": [8, 10, 11, 12, 13, 14, 15], "rollin": [11, 25], "rollout": [1, 5], "rollout_step": 5, "root": 19, "root_dir": 19, "rout": [9, 10], "royal": 8, "rse": 9, "rule": 15, "run": [9, 10, 11, 12, 13, 14, 15, 17, 19, 20, 24], "runyang": [7, 17, 26], "same": [17, 19], "sampl": [2, 19], "sample2": 19, "sample_v3": 19, "satellit": [9, 10, 12, 15], "save": [19, 20], "save_checkpoint": [0, 1, 3], "save_sample_h5": 19, "scalar": [1, 5], "scale": [11, 13], "scan": 10, "scene": 19, "schmit": [10, 25], "schneier": [7, 17, 26], "schroeder": [9, 19, 25], "schwind": [13, 25], "scienc": 9, "scientif": 25, "script": 24, "search": 17, "season": 13, "sector": 10, "see": [10, 17, 19, 22], "seed": [6, 23], "seed_al": [1, 6], "segment": [1, 5, 16, 17, 22], "segmentationhead": [0, 1, 5], "segmentationmetr": [0, 1, 4, 21], "select": [19, 20], "select_strategi": [1, 3], "self": 16, "sender": 5, "sens": [9, 11, 13], "sensibl": 20, "sensor": 9, "sequenti": [16, 22], "seri": [1, 5, 10, 19, 22, 25], "serv": [8, 19], "servic": [8, 9, 10, 11, 12, 13, 14, 15, 25], "set": [5, 8, 12, 15, 19, 24], "set_adjac": [1, 5], "set_devic": [1, 6, 24], "sever": [13, 14, 19, 25], "sfc": 19, "shape": [1, 2, 5, 19], "shapefil": [9, 13, 15], "sharan": [7, 17, 26], "shen": [7, 17, 26], "short": 24, "shot": [12, 19], "should": [1, 2, 19], "show": 16, "shp": 9, "shuffl": [1, 3], "sigmoid": 5, "signal": [1, 5], "simpl": [1, 2, 5, 16], "simul": 11, "singl": [1, 2, 8, 19, 20], "situat": [9, 10], "size": 15, "skin": 12, "skip": 19, "slide": [3, 20], "slidingwindowinfer": [1, 3], "slowli": 11, "smoke": [10, 17, 19], "smooth": 5, "so": [16, 17, 22], "societi": [8, 10], "soil": 12, "some": [9, 10, 11], "soon": 10, "sourc": [1, 2, 3, 4, 5, 6, 7, 14, 15, 17], "southern": 26, "spatial": [5, 8, 9, 10, 11, 12, 13, 14, 15], "spatial_resolution_deg": 19, "spatio": 5, "spatiotempor": [8, 9, 12], "spec": [1, 2], "specif": [1, 2, 9, 17, 19, 24], "spectral": [10, 13], "split": [0, 1, 2, 3, 8, 16, 17, 20, 21, 24], "spread": [11, 22, 25], "ss": 19, "stack": 2, "stai": 17, "stale": 15, "stamp": 9, "standard": [5, 8, 9, 12, 13, 17], "start": 14, "state": [5, 8, 11, 12, 13, 14, 15, 26], "state_dim": 5, "static": [5, 11, 19], "statist": 19, "statu": [15, 17, 19], "step": [5, 12, 17], "stitch": 3, "store": [8, 22], "storm": [14, 19, 25], "str": [1, 2, 3, 4, 5, 16, 19, 22], "straightforward": 17, "strateg": 26, "strategi": [1, 3, 11, 20], "stream": [9, 12], "strictli": 13, "structur": [8, 9, 10, 11, 12, 13, 14, 15, 19], "studi": [8, 12, 13, 14, 15, 19], "style": [2, 5, 12, 17], "subclass": [1, 2, 16], "submodul": [0, 1], "subpackag": 0, "subprocess": [9, 10, 11, 12, 13, 14, 15, 19], "subscript": 10, "subset": 17, "suit": 11, "suitabl": 13, "summar": 19, "suomi": 9, "supervis": [5, 9, 14], "supervised_weight": 5, "support": [5, 11, 13, 17, 19, 20, 26], "surfac": [8, 9, 10, 12, 19], "survei": 13, "su\u00e1rez": [12, 25], "svm": 22, "swap": 17, "switch": 22, "synthetic_tim": 19, "system": [8, 9, 10, 11, 12, 13, 15], "t": [10, 25], "t2m": 19, "tabl": 19, "tabular": [1, 5, 14, 17, 22], "taghizadeh": [22, 25], "take": 15, "target": [0, 1, 2, 3, 4, 5, 9, 11, 13, 14, 15, 21], "target_hazard": 19, "task": [1, 2, 5, 8, 16, 17, 20, 21, 22, 24], "task_typ": [0, 1, 2, 16], "technic": 26, "temperatur": [8, 10, 12], "tempor": [2, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 22], "temporal_cad": 19, "temporal_window": 19, "temporalencod": [0, 1, 5], "tensor": [1, 2, 3, 5, 9, 14], "term": [12, 13, 19], "terra": 9, "test": [1, 2, 3, 16, 20], "than": 15, "thank": 25, "thei": 10, "them": [2, 22], "themat": 11, "thermal": [9, 10, 19], "thi": [1, 5, 8, 14, 16, 17, 22, 24, 25], "through": [9, 10, 13, 14, 15, 17], "throughout": 25, "time": [1, 5, 8, 9, 10, 12, 13, 14, 15, 19, 22], "timestamp": [14, 15], "titl": [7, 17], "to_torch_batch": 19, "todai": 8, "tool": 11, "topographi": 13, "torch": [16, 17, 18, 20, 22, 24], "train": [1, 2, 3, 8, 13, 16, 17, 20, 24], "train_split": [1, 3], "trainer": [0, 1, 17, 20, 21, 22, 24], "transform": [0, 1], "transit": 11, "treat": 15, "trend": [8, 12, 13, 25], "true": [1, 2, 3, 5, 9, 10, 11, 12, 13, 14, 15, 19, 20], "truth": [10, 15, 19], "tupl": [5, 19], "tverski": 5, "tverskyloss": [1, 5], "two": 16, "type": [1, 2, 3, 4, 5, 6, 9, 11, 14, 15, 17, 22, 24], "u": [9, 11, 13, 15, 19], "under": [8, 19], "unifi": 19, "uniqu": 15, "unit": [11, 13, 14, 15], "univers": 26, "unstructur": 22, "up": [14, 15], "updat": [0, 1, 4, 8, 9, 10, 11, 12, 13, 14, 15, 21], "upload": 17, "url": [7, 17, 18], "us": [5, 7, 16, 17, 18, 19, 20, 22, 24, 25], "usag": 22, "usda": 13, "user": [16, 19], "usf": 19, "usg": 13, "util": [0, 1, 17, 19, 20, 24], "v": 15, "v3": 19, "val": [1, 2, 16], "val_split": [1, 3], "valid": [8, 9, 10, 11, 13, 14, 15, 17, 19, 24], "var": [8, 17, 19, 24], "vari": [10, 11, 15], "variabl": [19, 22, 24], "vast": 8, "vector": [9, 13, 15], "veget": [11, 19, 25], "veri": 14, "verifi": [17, 24], "version": [11, 12, 25], "vertic": [8, 12], "via": [8, 11, 12, 14, 16, 19, 20], "view": 10, "viir": [9, 19, 25], "visibl": 10, "visual": 19, "w": [5, 9, 12, 25], "want": [17, 19], "we": [18, 22, 25], "weather": [8, 10, 12, 14, 22], "web": [9, 14], "week": 12, "western": 10, "wf08088": 11, "wfig": [19, 25], "wfigs_data": 15, "wgs84": [9, 15], "what": 19, "wheel": 18, "when": [9, 12, 14, 17, 19, 20], "where": [10, 14], "which": [10, 14], "whl": 18, "who": 26, "wide": [8, 9, 10, 11, 12, 13, 14, 15, 19], "wildfir": [2, 5, 8, 9, 10, 11, 12, 13, 15, 17, 19, 25], "wildfire_aspp": [17, 22], "wildfire_aspp_build": [1, 5], "wildfire_mamba_build": [1, 5], "wildfireaspp": [1, 5], "wildfirecnnaspp": [1, 5], "wildfiremamba": [1, 5], "wildland": [11, 15, 25], "wind": [8, 12], "window": [2, 3, 20], "window_fn": 3, "with_count_head": 5, "within": [9, 14], "work": [1, 3, 15, 17, 19, 25], "workflow": [10, 12, 13, 17, 19, 24], "wrap": 20, "write": 17, "www": 14, "wxc": 12, "x": [1, 2, 5, 16], "x_t": 19, "xc25": 26, "xu": [7, 17, 26], "xueqi": [7, 17, 26], "y": [2, 16], "y_t": 19, "yangshuang": [7, 17, 19, 26], "year": [7, 11, 13, 15, 17], "yearli": 11, "yet": 14, "you": [7, 8, 17, 19, 22, 24], "your": [7, 16, 17, 22], "your_password": 19, "your_usernam": 19, "yushun": [7, 17, 26], "yyyi": [11, 19], "yyyymmdd": 19, "z": [13, 25], "zhu": [13, 25], "zone": 14}, "titles": ["pyhazards", "pyhazards package", "pyhazards.datasets package", "pyhazards.engine package", "pyhazards.metrics package", "pyhazards.models package", "pyhazards.utils package", "How to Cite", "ERA5", "FIRMS", "GOES-R", "LANDFIRE", "MERRA-2", "MTBS", "NOAA Flood Events", "WFIGS", "Implementation Guide", "Introduction", "Installation", "Datasets", "Engine", "Metrics", "Models", "Utils", "Quick Start", "References", "Core Team"], "titleterms": {"2": [12, 19], "At": [8, 9, 10, 11, 12, 13, 14, 15], "access": [8, 9, 10, 11, 12, 13, 14, 15], "acknowledg": 25, "all": 19, "backbon": 5, "base": 2, "basic": 24, "build": 22, "builder": 5, "built": 22, "case": [8, 9, 10, 11, 12, 13, 14, 15], "characterist": [8, 9, 10, 11, 12, 13, 14, 15], "cite": [7, 17], "class": 21, "common": 6, "compon": 17, "content": [1, 2, 3, 5, 6], "contributor": 26, "convent": 19, "core": [17, 20, 21, 26], "custom": [17, 22], "data": [8, 9, 10, 11, 12, 13, 14, 15, 17], "dataload": 19, "dataset": [2, 16, 19, 24, 25], "design": 22, "develop": [19, 26], "devic": 20, "distribut": [3, 20], "engin": [3, 20], "entrypoint": 19, "era5": [8, 24], "event": 14, "exampl": [19, 24], "fact": [8, 9, 10, 11, 12, 13, 14, 15], "firm": 9, "flood": [14, 22], "founder": 26, "full": [17, 24], "glanc": [8, 9, 10, 11, 12, 13, 14, 15], "goe": 10, "gpu": 24, "guid": 16, "hardwar": 6, "hazard": 2, "head": 5, "how": [7, 17], "hydrographnet": 24, "implement": 16, "indic": 17, "infer": 3, "inspect": 19, "instal": [17, 18], "introduct": 17, "landfir": 11, "lead": 26, "load": [17, 24], "maintain": 26, "merra": [12, 19], "metric": [4, 21], "model": [5, 16, 17, 22, 24, 25], "modul": [1, 2, 3, 5, 6, 17, 20], "mtb": 13, "next": 24, "noaa": 14, "note": [19, 22], "overview": [8, 9, 10, 11, 12, 13, 14, 15], "packag": [1, 2, 3, 4, 5, 6], "princip": 26, "public": 25, "py": 17, "pyhazard": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 18], "quick": [8, 9, 10, 11, 12, 13, 14, 15, 17, 24], "r": 10, "refer": [8, 9, 10, 11, 12, 13, 14, 15, 25], "regist": 22, "registri": [2, 5], "requir": 18, "skeleton": 19, "start": 24, "stat": [8, 9, 10, 11, 12, 13, 14, 15], "step": 24, "submodul": [2, 3, 5, 6, 23], "subpackag": 1, "summari": [16, 19, 20, 21, 22, 23], "support": 24, "tabl": 17, "team": 26, "test": [17, 24], "trainer": 3, "transform": 2, "typic": [8, 9, 10, 11, 12, 13, 14, 15, 20], "us": [8, 9, 10, 11, 12, 13, 14, 15], "usag": [8, 9, 10, 11, 12, 13, 14, 15, 20, 21, 24], "util": [6, 23], "variabl": [8, 9, 10, 11, 12, 13, 14, 15], "verif": 17, "wfig": 15, "wildfir": 22}}) \ No newline at end of file diff --git a/docs/source/pyhazards_datasets.rst b/docs/source/pyhazards_datasets.rst index 92356e6f..a62ec73a 100644 --- a/docs/source/pyhazards_datasets.rst +++ b/docs/source/pyhazards_datasets.rst @@ -81,42 +81,11 @@ Notes (MERRA-2) - ``--var T2M`` to choose the plotted surface variable (default: ``T2M``) -Dataloader (v3) +Dataloader --------------- -Minimal API with a structured request object for multi-source fusion -(e.g., FIRMS + ERA5). - -API -~~~ - -.. literalinclude:: ../../pyhazards/datasets/dataloader/README.md - :language: markdown - :start-after: ## API - :end-before: ## `GeoLoadInput` - -GeoLoadInput -~~~~~~~~~~~~ - -.. literalinclude:: ../../pyhazards/datasets/dataloader/README.md - :language: markdown - :start-after: ## `GeoLoadInput` - :end-before: ## Optional - -Optional fields -~~~~~~~~~~~~~~~ - -.. literalinclude:: ../../pyhazards/datasets/dataloader/README.md - :language: markdown - :start-after: ## Optional - :end-before: ## Example - -Example -~~~~~~~ - .. literalinclude:: ../../pyhazards/datasets/dataloader/README.md :language: markdown - :start-after: ## Example Example skeleton