From 6c2b44c38929e696fd141b9dc300e10eacdbfb0a Mon Sep 17 00:00:00 2001 From: Runyang Xu Date: Thu, 22 Jan 2026 19:37:29 -0500 Subject: [PATCH 1/2] no.18 --- docs/.doctrees/environment.pickle | Bin 290941 -> 291031 bytes docs/searchindex.js | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/.doctrees/environment.pickle b/docs/.doctrees/environment.pickle index 0ca18ec77080d18c75920e90829bdd9c08a7da0d..4d620aa72d7d02de646a2b683a0d88bb60a043d2 100644 GIT binary patch literal 291031 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 diff --git a/docs/searchindex.js b/docs/searchindex.js index 0f4dd3d..6f7b8d1 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"Academic Publications": [[25, "academic-publications"]], "Access": [[8, "access"], [9, "access"], [10, "access"], [11, "access"], [12, "access"], [13, "access"], [14, "access"], [15, "access"]], "Basic Usage": [[24, "basic-usage"]], "Build a built-in model": [[22, "build-a-built-in-model"]], "Contributors": [[26, "contributors"]], "Core Components": [[17, "core-components"]], "Core Contributors": [[26, "core-contributors"]], "Core Team": [[26, null]], "Core classes": [[19, "core-classes"], [21, "core-classes"]], "Core modules": [[20, "core-modules"], [22, "core-modules"]], "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"]], "Dataset inspection": [[19, "dataset-inspection"]], "Datasets": [[16, "datasets"], [19, null], [19, "id1"]], "Design notes": [[22, "design-notes"]], "Distributed and devices": [[20, "distributed-and-devices"]], "ERA5": [[8, null]], "Engine": [[20, null]], "Example skeleton": [[19, "example-skeleton"]], "FIRMS": [[9, null]], "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"]], "Installation": [[18, null]], "Installing PyHazards": [[18, "installing-pyhazards"]], "LANDFIRE": [[11, null]], "Lead Developer": [[26, "lead-developer"]], "MERRA-2": [[12, null]], "MTBS": [[13, null]], "Mamba-based wildfire model (spatio-temporal)": [[22, "mamba-based-wildfire-model-spatio-temporal"]], "Metrics": [[16, "metrics"], [21, null]], "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"]], "Overview": [[8, "overview"], [9, "overview"], [10, "overview"], [11, "overview"], [12, "overview"], [13, "overview"], [14, "overview"], [15, "overview"]], "Principal Contributors & Maintainers": [[26, "principal-contributors-maintainers"]], "Quick Start": [[24, null]], "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"]], "Submodules": [[2, "submodules"], [3, "submodules"], [5, "submodules"], [6, "submodules"], [23, "submodules"]], "Subpackages": [[1, "subpackages"]], "Summary": [[19, "summary"], [20, "summary"], [21, "summary"], [22, "summary"], [23, "summary"]], "Toy Example (tabular classification)": [[24, "toy-example-tabular-classification"]], "Training": [[16, "training"]], "Transforms": [[16, "transforms"]], "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 Mamba (spatio-temporal toy)": [[17, 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"]]}, "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.regressionmetrics attribute)": [[1, "pyhazards.RegressionMetrics._abc_impl", false]], "_abc_impl (pyhazards.segmentationmetrics attribute)": [[1, "pyhazards.SegmentationMetrics._abc_impl", 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.trainer method)": [[1, "pyhazards.Trainer._make_loader", false]], "_to_device() (pyhazards.trainer method)": [[1, "pyhazards.Trainer._to_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]], "build_model() (in module pyhazards)": [[1, "pyhazards.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]], "classificationmetrics (class in pyhazards)": [[1, "pyhazards.ClassificationMetrics", false]], "cnnpatchencoder (class in pyhazards)": [[1, "pyhazards.CNNPatchEncoder", false]], "compute() (pyhazards.classificationmetrics method)": [[1, "pyhazards.ClassificationMetrics.compute", false]], "compute() (pyhazards.metricbase method)": [[1, "pyhazards.MetricBase.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]], "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]], "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.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.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_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]], "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]], "mlpbackbone (class in pyhazards)": [[1, "pyhazards.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]], "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_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.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]], "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]], "regressionhead (class in pyhazards)": [[1, "pyhazards.RegressionHead", false]], "regressionmetrics (class in pyhazards)": [[1, "pyhazards.RegressionMetrics", false]], "reset() (pyhazards.classificationmetrics method)": [[1, "pyhazards.ClassificationMetrics.reset", false]], "reset() (pyhazards.metricbase method)": [[1, "pyhazards.MetricBase.reset", false]], "reset() (pyhazards.regressionmetrics method)": [[1, "pyhazards.RegressionMetrics.reset", false]], "reset() (pyhazards.segmentationmetrics method)": [[1, "pyhazards.SegmentationMetrics.reset", false]], "save_checkpoint() (pyhazards.trainer method)": [[1, "pyhazards.Trainer.save_checkpoint", false]], "segmentationhead (class in pyhazards)": [[1, "pyhazards.SegmentationHead", false]], "segmentationmetrics (class in pyhazards)": [[1, "pyhazards.SegmentationMetrics", 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]], "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]], "trainer (class in pyhazards)": [[1, "pyhazards.Trainer", false]], "transform (class in pyhazards.datasets.base)": [[2, "pyhazards.datasets.base.Transform", false]], "update() (pyhazards.classificationmetrics method)": [[1, "pyhazards.ClassificationMetrics.update", false]], "update() (pyhazards.metricbase method)": [[1, "pyhazards.MetricBase.update", false]], "update() (pyhazards.regressionmetrics method)": [[1, "pyhazards.RegressionMetrics.update", false]], "update() (pyhazards.segmentationmetrics method)": [[1, "pyhazards.SegmentationMetrics.update", 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, "", "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, "", "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.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, 14, 15, 19, 26], "0": [1, 3, 5, 8, 10, 12, 16, 17, 18, 19, 22, 24], "00230": 10, "008": 9, "01": 19, "0301003": 13, "06": 5, "0758": 12, "08": 9, "1": [1, 3, 5, 10, 12, 13, 17, 22], "10": [8, 9, 10, 11, 12, 13, 16, 20], "100": [], "1000": [16, 19], "1002": 8, "1016": 9, "1071": 11, "1175": [10, 12], "12": [5, 18, 22], "128": [1, 5, 16, 22], "14": 12, "143": 9, "146": 8, "15": 10, "16": [10, 12, 16, 17, 19, 20, 22, 24], "17": 10, "18": [10, 11], "1999": 8, "1e": [5, 16, 17, 20, 22, 24], "2": [1, 5, 8, 10, 16, 17, 18, 19, 20, 22, 24], "2007": [13, 19], "2009": 11, "2013": 9, "2014": [9, 19], "2017": [10, 12, 19], "2020": [8, 19], "2024": 19, "2025": 17, "2049": 8, "21": 13, "235": 11, "24": 17, "249": 11, "25": 8, "256": [1, 5, 22], "3": [1, 5, 11, 13, 16, 17, 18, 20, 22, 24], "30": [11, 12, 13], "31": [], "32": [1, 3, 5, 17, 22], "350": [17, 24], "375": 9, "3803": 8, "4": [10, 17], "42": 6, "425": [17, 24], "48": 22, "4996": 13, "5": [5, 10, 12, 17, 22, 24], "500": [17, 24], "5419": 12, "5454": 12, "6": [5, 17, 18, 22], "60": [], "625": 12, "64": [1, 3, 5, 22], "681": 10, "698": 10, "730": 8, "8": [17, 18, 22], "800": [16, 19], "85": 9, "900": [16, 19], "96": 9, "98": 10, "A": [10, 11, 13, 17, 22], "For": [22, 24], "If": [7, 17], "It": [8, 12, 22], "Near": [8, 9, 12, 19], "Or": 24, "The": [8, 9, 10, 11, 12, 19, 20, 22, 26], "To": [16, 24], "_": 19, "_abc": [1, 2, 4], "_abc_data": [1, 2, 4], "_abc_impl": [0, 1, 2, 4], "_get_adjac": [1, 5], "_is_protocol": [1, 2], "_load": [0, 1, 2, 16, 17, 19, 24], "_make_load": [0, 1, 3], "_temporal_delta": [1, 5], "_to_devic": [0, 1, 3], "abc": [1, 4], "abi": 10, "abov": [], "abstract": [1, 3, 4, 21], "accept": 16, "access": 19, "accuraci": 21, "across": [11, 13, 14, 15, 19], "activ": [9, 15, 19], "adam": [16, 17, 20, 22, 24], "add": 16, "adj": 5, "adjac": [2, 5, 17, 22], "administr": 14, "adopt": 8, "advanc": 10, "aerosol": 10, "after": 16, "agenc": [14, 15], "aggreg": [15, 16, 21], "ai": 17, "al": [8, 10, 12, 19], "algorithm": 9, "allow": 19, "alpha": 5, "america": 10, "american": 10, "ametsoc": [], "amount": 8, "amp": [16, 20], "an": [2, 15, 22], "analysi": [8, 9, 10, 12, 13, 14, 15, 19], "analyz": 17, "ani": [1, 2, 3, 5, 22], "annual": [11, 13], "anomali": [9, 10], "api": [1, 3, 17, 19, 24], "append": [], "appli": [5, 22], "applic": [8, 12], "ar": [8, 9, 10, 11, 13, 14, 15, 20, 21, 22], "arcgi": 15, "architectur": [16, 17, 22], "arg": [2, 5], "argument": 16, "arrai": [], "aspp": 5, "aspp_channel": 5, "assess": [8, 9, 11, 13, 14, 17, 19], "assimil": [8, 12], "associ": [9, 15], "assum": [], "assur": 26, "atmospher": [8, 10, 12, 14, 19], "attribut": 8, "author": 17, "authorit": [15, 19], "auto": [1, 3, 20], "auto_devic": [1, 6, 20], "automat": [6, 24], "avail": [10, 13, 14, 20, 24], "available_dataset": [0, 1, 2], "available_model": [0, 1, 5, 22], "awar": [9, 10, 17], "b": [5, 8, 13], "back": 22, "backbon": [0, 1, 16, 17, 22], "background": 11, "backward": 5, "bam": 10, "band": 10, "base": [0, 1, 3, 4, 5, 9, 11, 13, 14, 15, 18, 19], "base_channel": 5, "baselin": [8, 10], "basic": 17, "batch": [2, 5, 22], "batch_siz": [1, 3, 5, 17, 22], "bcewithlogitsloss": [17, 22], "becaus": 22, "begin": 14, "behavior": [11, 19], "bell": 8, "below": 19, "benchmark": [8, 12, 19], "berrisford": 8, "beta": 5, "big": 10, "bin": [14, 19], "binari": [5, 17, 22], "block": 22, "bool": [], "both": [], "boundari": 8, "box": 17, "branch": 22, "brewer": 13, "bright": 10, "broad": 12, "build": [1, 5, 17], "build_model": [0, 1, 5, 16, 17, 20, 22, 24], "build_path": [], "builder": [0, 1, 2, 16, 22], "built": [17, 19, 21], "bulk": 11, "bulletin": 10, "bundl": [1, 2, 17, 22], "burn": [13, 19], "burnsever": [], "c": 5, "c00648": [14, 19], "c3": 8, "cache_dir": [1, 2], "calcul": 17, "call": 21, "callabl": 2, "can": [12, 16, 18, 22], "canopi": 11, "carri": 10, "categor": 13, "caus": 15, "cd": [8, 19], "center": [14, 15], "centr": 8, "chain": 16, "chang": [8, 13, 22], "channel": [0, 1, 2], "character": 11, "checkpoint": 20, "cheng": [17, 26], "choos": 6, "chunk": [], "class": [1, 2, 3, 4, 5, 13, 16, 17, 20, 24], "classif": [1, 5, 13, 16, 17, 19, 20, 22], "classificationhead": [0, 1, 5], "classificationmetr": [0, 1, 4, 16, 17, 20, 21, 24], "cli": 22, "clim": [], "climat": [8, 12], "closer": 10, "cloud": 10, "cnn": [1, 5, 16, 17, 22], "cnn_aspp_build": [1, 5], "cnnpatchencod": [0, 1, 5], "code": 26, "collat": [2, 17], "collate_fn": [1, 3, 17], "collect": 16, "com": [15, 17], "combin": [8, 9], "common": [0, 1, 21, 22, 23], "commonli": [15, 19], "commun": 26, "compat": 5, "compil": 14, "complex": [1, 3, 22], "compos": [22, 26], "comprehens": [8, 17], "comput": [0, 1, 2, 4, 16, 21], "concret": 2, "conda": 18, "condit": [], "confid": 9, "config": [20, 22], "consid": 7, "consist": [1, 5, 8, 11, 12], "construct": [1, 2, 19, 22], "contain": [1, 2, 15, 19], "content": [0, 19], "context": 19, "contextu": 10, "continu": [10, 12, 19], "contourf": [], "contribut": 26, "conv_kernel": 5, "conveni": 22, "convent": 12, "coordin": [8, 9, 10, 11, 12, 13, 14, 15], "copernicu": [8, 19], "core": 12, "correl": [17, 22], "correspond": 9, "count": [5, 22], "counti": [2, 5, 14, 17, 22], "coupl": 22, "covari": [8, 11, 12, 19], "cover": [11, 21], "coverag": [8, 9, 10, 11, 12, 13, 14, 15], "cpu": [16, 24], "cr": [], "creat": [16, 22], "critic": 10, "crop": 14, "crossentropyloss": [16, 17, 20, 24], "csiszar": 9, "csv": [9, 14], "cu126": 18, "cube": 22, "cuda": [18, 20, 24], "current": 2, "custom": [1, 3, 16, 17, 24], "d": [10, 12], "d2m": 22, "da": [], "dai": [2, 5, 9, 17, 22], "daili": 19, "damag": 14, "danger": 8, "dask": [], "data": [1, 2, 3, 17, 19, 22, 24], "data_bundl": [16, 20], "data_var": [], "dataandtool": [], "dataarrai": [], "databas": [14, 19], "databundl": [0, 1, 2, 16, 17, 19, 22, 24], "datafram": [], "dataload": [1, 3], "dataset": [0, 1, 9, 11, 12, 13, 14, 15, 17, 22, 24], "datasplit": [0, 1, 2, 16, 17, 19, 22, 24], "date": [15, 19], "date_end": [], "date_start": [], "datetim": [], "ddp": [3, 16, 17, 20], "dedic": 26, "def": [16, 17, 19, 22, 24], "default": [1, 5, 16, 20, 22], "default_build": [1, 5, 22], "deleg": [1, 5], "demonstr": 19, "densiti": 11, "depend": [9, 10, 11, 13, 15], "deploi": 17, "depth": [1, 5, 22], "deriv": [9, 10, 11, 13, 14, 19], "describ": [1, 2, 19], "descript": [0, 1, 2, 9, 14, 16, 17, 19, 24], "descriptor": 11, "design": [17, 21], "detail": 24, "detect": [9, 10, 15, 19, 24], "determinist": 6, "develop": 8, "devic": [1, 3, 6, 17, 23, 24], "device_str": 6, "dewpoint": 8, "df": [], "diagnost": [8, 10, 12], "dice": 21, "dict": [1, 2, 3, 4, 5, 22], "differ": [], "differenti": 22, "dilat": 5, "dimens": [], "direct": 26, "directli": 21, "directori": [], "discov": 19, "discover": 22, "discoveri": 15, "displai": [], "distanc": [17, 22], "distribut": [0, 1, 8, 9, 10, 15, 16], "distributedconfig": [1, 3], "disturb": 11, "dnbr": 13, "document": [14, 15, 24, 26], "doi": [8, 9, 10, 11, 12, 13], "dong": 26, "download": 18, "downstream": [1, 2], "dp": 3, "driven": [16, 22], "driver": [12, 14, 19], "drop": [], "dropout": 5, "drought": 12, "ds_pre": [], "ds_sfc": [], "dtype": [1, 2], "e": [9, 11, 12, 13, 15, 16, 19, 22], "each": [2, 9, 15, 19], "earli": [9, 10, 19], "earthdata": [9, 12], "earthquak": 2, "easi": [1, 2, 17], "ecmwf": [8, 19], "ecolog": [11, 13], "ecologi": 13, "ecosystem": 19, "edu": 26, "eidenshink": [13, 19], "els": [], "emerg": 14, "enabl": [5, 20], "encod": [1, 5, 16, 17, 22], "end": [11, 14, 21], "end_dat": [], "energi": 12, "engag": 26, "engin": [0, 1, 16, 17, 22, 24], "environ": [9, 18, 24], "environment": [8, 10, 12, 14, 17], "eosdi": [], "equal": [], "era": 12, "era5": [5, 17, 19, 22], "estim": [8, 12], "et": [8, 10, 12, 19], "etc": 2, "eu": [], "european": 8, "evalu": [0, 1, 3, 13, 16, 17, 20, 22, 24], "event": [9, 13, 15, 19], "evolut": 10, "exampl": [16, 17, 18], "exist": [], "explicitli": 24, "explor": 19, "export": [22, 24], "extend": [1, 3, 21], "extens": [17, 22], "extent": [13, 19], "extern": 5, "extra": [0, 1, 2, 17, 22], "extract": 14, "extractor": 22, "extrem": [8, 12], "ey": [17, 22], "f": [], "factori": [1, 2], "fake": [17, 22], "fall": 22, "fals": [1, 3, 5, 6, 17, 22], "familiar": [1, 3], "fatal": 14, "featur": [1, 2, 5, 16, 17, 19, 22, 24], "feature_spec": [0, 1, 2, 16, 17, 19, 22, 24], "featurespec": [0, 1, 2, 16, 17, 19, 22, 24], "field": [8, 10, 11, 12], "fifth": 8, "file": [13, 19], "filenotfounderror": [], "find": 7, "fire": [9, 10, 11, 13, 15, 17, 19, 22], "fireecologi": 13, "firelab": [], "firm": [15, 19], "first": [16, 17, 18, 24], "fit": [0, 1, 3, 16, 17, 20, 22, 24], "flag": [6, 9], "float": [1, 3, 4, 5, 17, 22], "flood": [2, 8, 19], "florida": 26, "flux": [8, 12], "follow": 7, "forc": [8, 12], "forecast": 8, "forest": 11, "format": [8, 9, 10, 11, 12, 13, 14, 15], "forward": [0, 1, 5], "found": [], "framework": 17, "frequenc": [10, 14, 19], "frequent": [], "from": [9, 10, 11, 13, 14, 16, 17, 19, 20, 21, 22, 24], "from_logit": 5, "frp": 9, "fsu": 26, "fuel": [9, 11, 13, 15, 19], "full": 21, "function": [2, 16, 17, 22, 24], "g": [9, 11, 12, 13, 15, 16, 19, 22], "gca": [], "gcn": 22, "gcn_hidden": 5, "gelaro": [12, 19], "gener": [5, 8, 10], "geodatabas": 13, "geograph": [9, 15], "geojson": [9, 15], "geolog": 13, "geometri": 15, "geopotenti": [8, 12], "geospati": [11, 15], "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": 15, "giglio": 9, "github": 17, "given": 22, "global": [8, 9, 12, 19], "gmao": [12, 19], "goe": [15, 19], "goesr": 19, "gov": [14, 19], "gpu": [16, 17, 20], "graph": 17, "graph_col": [1, 2, 17, 22], "graphtemporaldataset": [1, 2, 17, 22], "grib": 8, "grid": [3, 8, 9, 10, 11, 12, 14, 19, 20], "griffith": 10, "ground": [10, 15, 19], "growth": 10, "gru": [1, 5], "gsfc": [], "guid": 24, "gunshor": 10, "h": [5, 8], "h5netcdf": [], "handl": [20, 22], "hardwar": [0, 1, 20, 23], "hazard": [0, 1, 8, 9, 10, 11, 12, 14, 16, 17, 19, 24], "head": [0, 1, 16, 17, 22], "heat": 12, "height": [11, 12], "help": 24, "helper": [17, 20, 22, 23, 24], "hemispher": 10, "hersbach": [8, 19], "hidden": [16, 22], "hidden_dim": [1, 5, 16, 22], "high": [8, 10, 19], "highlight": 22, "histor": [8, 14, 15], "hold": 19, "home": [], "hotspot": [9, 15], "hourli": [8, 12, 19], "how": [16, 19], "howard": 13, "http": [8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19], "humid": 12, "hurrican": [2, 12], "i": [2, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 22, 26], "id": [14, 19], "ident": 22, "identifi": 15, "ignit": [10, 11, 13, 15, 19], "imag": 10, "imageri": [10, 13, 19], "impact": [13, 14, 19], "implement": [2, 3, 17, 19, 24], "import": [16, 17, 19, 20, 21, 22, 24], "in_channel": [1, 5], "in_dim": [1, 5, 16, 17, 20, 22, 24], "incid": [15, 19], "includ": [8, 9, 10, 11, 12, 13, 14, 15], "index": [2, 16, 17, 18], "indic": [9, 10], "individu": 13, "infer": [0, 1, 20], "inform": [9, 14, 15], "infrar": 10, "initi": 9, "injuri": 14, "input": [0, 1, 2, 3, 5, 8, 12, 19, 22], "input_dim": [0, 1, 2, 5, 16, 17, 19, 22, 24], "ins": 22, "inspect_d": [], "int": [1, 2, 3, 6, 16, 22], "integr": [9, 10, 11, 13, 14, 15], "interag": [15, 19], "interfac": [1, 5, 17, 19, 21, 24], "intern": [11, 22], "iou": 21, "ipython": [], "isel": [], "iso": [14, 19], "item": [], "iter": [1, 3], "j": [9, 10, 12, 13], "jcli": 12, "journal": [8, 11, 12], "k": 13, "keep": [1, 2, 5, 22], "keyerror": [], "kind": [], "km": 10, "kml": 9, "kwarg": [1, 2, 5, 16, 22], "l": 9, "label": [1, 2, 9, 14, 15, 17, 19, 22], "label_spec": [0, 1, 2, 16, 17, 19, 22, 24], "labelspec": [0, 1, 2, 16, 17, 19, 22, 24], "labrai": 17, "land": [8, 9, 12, 14, 19], "landfir": 19, "landsat": [13, 19], "landscap": [11, 19], "landslid": 2, "larg": [3, 20], "latest": 10, "latitud": [8, 9, 10, 12], "layer": [8, 11, 13, 16, 19, 22], "learn": [8, 11, 12, 14, 17], "len": [], "let": [], "level": [8, 9, 12, 14, 15, 19], "librari": 17, "lightweight": [1, 3, 5, 19, 22], "like": [17, 22], "limit": 12, "line": 16, "linear": [16, 22], "list": [1, 3], "list_var": [], "liter": 3, "load": [0, 1, 2, 16, 17, 24], "load_dataset": [0, 1, 2, 19], "loader": 2, "local": 14, "locat": [9, 14, 15, 19], "log": [17, 23], "logger": 6, "logic": 3, "logit": [5, 17, 22], "long": [12, 13, 19], "longitud": [8, 9, 10, 12], "look": 10, "loop": [1, 3, 22], "loss": 5, "loss_fn": [1, 3, 16, 17, 20, 22, 24], "lower": [], "lr": [16, 17, 20, 22, 24], "m": [8, 9, 10, 11, 12, 13, 19], "machin": [8, 11, 12, 17], "mae": 21, "maintain": 15, "mainten": 26, "make": [1, 2], "mamba": 5, "mamba_lay": 5, "manag": [9, 11, 14, 15, 17, 23], "map": [11, 13], "mask": [1, 5], "match": 18, "matplotlib": [], "matrix": [17, 22], "max": [], "max_epoch": [1, 3, 16, 17, 20, 22, 24], "max_show": [], "max_var": [], "mccarti": 12, "mean": [], "medium": 8, "merra": 19, "merra2": 19, "merra2_sfc_": [], "merra_pres_": [], "metadata": [0, 1, 2, 5, 13, 14, 15, 19], "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, 16, 21], "min": [], "minim": [1, 3, 22], "minut": 10, "miss": [], "mix": [17, 22], "mixed_precis": [1, 3, 16, 17, 20, 22, 24], "mlp": [1, 5, 16, 17, 20, 22, 24], "mlpbackbon": [0, 1, 5], "modap": [], "mode": 10, "model": [0, 1, 2, 3, 8, 9, 11, 12, 13, 14, 15, 17, 19, 20, 24], "modern": [8, 12], "modi": [9, 19], "modul": [0, 16, 17, 23], "modular": [16, 17], "moistur": 12, "monitor": [9, 10, 13, 19], "monthli": 14, "more": [22, 24], "motion": 10, "mtb": 19, "multi": [1, 5, 12, 16, 17], "multipl": [9, 10, 11, 20], "multispectr": [10, 19], "must": [], "my_custom_build": 22, "my_hazard": [16, 19], "my_mlp": [16, 22], "my_model_build": 16, "myhazard": 16, "myhazarddataset": 19, "n": 5, "n_var": [], "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], "nationwid": [11, 19], "natur": [8, 12, 17], "nc": [], "ncdc": [14, 19], "ncei": [14, 19], "need": [3, 21, 22], "neighbor": 22, "netcdf": [8, 10, 12], "netcdf4": [], "new": 9, "next": [5, 17, 22], "nifc": 15, "nn": [16, 17, 20, 22, 24], "no_grad": [17, 22], "noaa": [10, 19], "noaa_flood": 19, "none": [1, 2, 3, 4, 5, 6, 17, 22], "normal": [1, 2, 16], "note": 18, "np": [], "num_class": [1, 4, 5], "num_counti": [2, 5, 17, 22], "num_devic": [1, 6], "num_featur": [2, 5, 17, 22], "num_lay": [1, 5], "num_target": [0, 1, 2, 16, 17, 19, 22, 24], "num_work": [1, 3], "numer": 12, "numpi": [], "o": [], "obj": [1, 3], "object": [1, 2, 3, 4, 19], "observ": [8, 9, 10, 11, 12], "occurr": [9, 14, 15, 19], "ocean": 14, "offic": [12, 14], "offici": 15, "often": 19, "oliva": 9, "one": 17, "ongo": 15, "onlinelibrari": [], "open": [], "open_dataset": [], "open_merra": [], "opendata": 15, "oper": [9, 10, 19], "optim": [1, 3, 16, 17, 20, 22, 24], "option": [1, 2, 5, 8, 16, 17, 20, 22], "org": [8, 9, 10, 11, 12, 13, 18], "other": 23, "otherwis": 20, "our": 26, "out": 17, "out_dim": [1, 5, 16, 17, 20, 22, 24], "outdir": 19, "output": [1, 5, 19, 22], "over": [3, 10, 21, 22], "overpass": 9, "overrid": 5, "overview": 19, "own": [16, 22], "p": [8, 9, 10], "packag": 0, "page": [14, 17, 19], "pair": [14, 19], "panda": [], "paramet": [5, 16, 17, 20, 22, 24], "particularli": [10, 14], "pass": [16, 21, 22], "past_dai": [2, 5, 17, 22], "patch": [1, 5, 16, 21, 22], "path": [1, 3], "pathlib": [], "pattern": [9, 15], "pattern_pr": [], "pattern_sfc": [], "pd": [], "per": [5, 9, 22], "perimet": [13, 15, 19], "physic": 12, "pick": [], "pip": 18, "pipelin": [8, 9, 11, 12, 15, 17], "pixel": 21, "placehold": [2, 3, 20], "plain": 22, "plan": [11, 26], "pleas": [7, 17, 24], "plt": [], "plu": [1, 2, 19, 22], "point": [9, 10, 14, 15], "polygon": [13, 15], "popul": 2, "portal": [9, 11, 13, 15], "post": [13, 19], "potenti": 9, "power": [9, 17], "pre": [], "precipit": [8, 12], "precis": 17, "pred": [1, 4, 20], "predict": [0, 1, 3, 8, 9, 11, 12, 13, 14, 16, 17, 19, 20, 21, 22], "prefer": [3, 6], "preprocess": [2, 16], "pressur": [8, 12, 19], "print": [17, 22, 24], "prithvi": [], "prob": [17, 22], "probabl": [5, 17, 22], "process": 10, "produc": [8, 11, 12, 13], "product": [9, 10, 11, 13, 15], "profil": 12, "program": [10, 11, 13, 19], "project": [10, 11, 13, 15], "properti": 14, "protocol": 2, "provid": [1, 2, 8, 9, 10, 11, 12, 14, 15, 16, 17, 19, 22], "publicli": [9, 11, 13, 14, 15], "pyhazard": [16, 17, 19, 20, 21, 22, 23, 24, 26], "pyhazards2025": 17, "pyhazards_devic": [6, 24], "pyplot": [], "python": [17, 18, 19, 24], "pytorch": [17, 18, 22], "qj": 8, "qualiti": [9, 26], "quarterli": 8, "quasi": 11, "quayl": 13, "quick": 17, "quickli": [19, 24], "r": [12, 19], "radi": 9, "radianc": 10, "radiat": 8, "rais": [], "randint": [16, 17, 19, 22, 24], "randn": [16, 17, 19, 22, 24], "random": 22, "rang": 8, "rapid": [9, 10], "raster": [1, 3, 5, 10, 11, 13, 17, 19, 20, 22], "rather": 15, "rdnbr": 13, "re": 22, "readi": [1, 2, 17], "real": [9, 10, 15, 19], "reanalysi": [8, 10, 12, 14, 19], "receiv": 22, "recommend": 18, "record": [9, 10, 14, 15, 19], "refer": 24, "refresh": 10, "regim": [11, 13, 19], "region": 14, "regist": [2, 16, 17], "register_dataset": [0, 1, 2, 16, 19], "register_model": [0, 1, 5, 16, 22], "registr": [22, 24], "registri": [0, 1, 16, 17, 19, 22], "regress": [1, 2, 5, 16, 17, 22], "regressionhead": [0, 1, 5], "regressionmetr": [0, 1, 4, 21], "regular": [8, 12], "relat": [8, 10, 14, 19], "releas": 11, "relu": [16, 22], "remot": [9, 11, 13], "replac": [1, 3, 17, 22], "report": [14, 15, 19], "repres": 15, "research": [12, 17, 26], "reset": [0, 1, 4, 16, 21], "reset_index": [], "resolut": [8, 9, 10, 11, 12, 13, 14, 15], "resourc": [9, 11], "respect": 6, "respons": 26, "result": [16, 17, 20, 24], "retrospect": 12, "return": [1, 2, 3, 4, 5, 6, 16, 17, 19, 22, 24], "reusabl": [2, 16, 22], "review": 26, "risk": [8, 11, 17, 19], "rmet": [], "rmse": 21, "rollin": 11, "root": [], "row": [], "royal": 8, "rse": 9, "run": 20, "runyang": [], "sampl": [2, 17, 22], "satellit": [9, 10, 12, 15], "save": 20, "save_checkpoint": [0, 1, 3], "scalar": [1, 5], "scale": [11, 13], "schmit": 10, "schroeder": [9, 19], "schwind": 13, "search": 17, "see": 19, "seed": [6, 17, 23], "seed_al": [1, 6], "segment": [1, 5, 16, 17, 22], "segmentationhead": [0, 1, 5], "segmentationmetr": [0, 1, 4, 21], "select": [20, 22], "select_strategi": [1, 3], "self": [16, 17, 19, 24], "sens": [9, 11, 13], "sensibl": 20, "sensor": 9, "sequenti": [16, 22], "seri": [1, 5, 10, 19, 22], "serv": 19, "servic": [8, 9, 11, 12, 15], "set": [5, 8, 12, 24], "set_adjac": [1, 5], "set_aspect": [], "set_devic": [1, 6, 24], "sever": [13, 14, 19], "sfc": [], "shape": [1, 2, 5, 17, 22], "shapefil": [9, 13, 15], "ship": 22, "short": [], "should": [1, 2], "show": 16, "shuffl": [1, 3], "sigmoid": [5, 17, 22], "signal": [1, 5], "simpl": [1, 2, 5, 16, 17], "simplifi": 19, "simul": 11, "singl": [1, 2, 8, 19, 20], "situat": [9, 10], "size": 15, "skin": 12, "skipna": [], "slide": [3, 20], "slidingwindowinfer": [1, 3], "slowli": 11, "smoke": [10, 19], "smooth": 5, "so": [16, 22], "societi": [8, 10], "softwar": 17, "soil": 12, "sort_valu": [], "sourc": [1, 2, 3, 4, 5, 6, 15], "space": 22, "spatial": [5, 8, 9, 10, 11, 12, 13, 14, 15, 22], "spatio": 5, "spatiotempor": [8, 9, 12], "spec": [1, 2, 17, 19], "specif": [1, 2, 9, 22], "spectral": [10, 13], "split": [0, 1, 2, 3, 16, 17, 19, 20, 21, 22, 24], "spread": 11, "ssm": 22, "ssr": 22, "stack": [2, 22], "stamp": 9, "standard": [5, 8, 13], "start": [14, 17], "start_dat": [], "state": [8, 11, 12, 13, 14, 15, 22, 26], "state_dim": 5, "static": [5, 11, 19], "statist": [], "statu": [15, 19], "std": [], "step": [], "stitch": 3, "store": [8, 22], "storm": [14, 19], "str": [1, 2, 3, 4, 5, 16, 22], "strateg": 26, "strategi": [1, 3, 20], "strftime": [], "structur": [8, 9, 10, 11, 12, 13, 14, 15, 19], "studi": [8, 12, 13, 14, 15, 19], "style": [2, 5, 12, 17, 22], "subclass": [1, 2, 16], "submodul": [0, 1], "subpackag": 0, "summarize_da": [], "supervis": [9, 14], "support": [11, 13, 16, 17, 19, 20, 26], "surfac": [8, 9, 10, 12], "survei": 13, "su\u00e1rez": 12, "switch": 22, "system": [8, 9, 10, 11, 12, 13, 14, 15], "t": 10, "t2m": 22, "tab": [], "tabl": [], "tabular": [1, 5, 14, 17, 19, 22], "target": [0, 1, 2, 3, 4, 5, 9, 14, 16, 19, 21, 22], "task": [1, 2, 5, 8, 16, 17, 20, 21, 22, 24], "task_typ": [0, 1, 2, 16, 17, 19, 22, 24], "technic": 26, "temperatur": [8, 10, 12], "tempor": [2, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 19], "temporalencod": [0, 1, 5], "tensor": [1, 2, 3, 5, 9, 14, 17, 22], "term": [12, 13, 19], "test": [1, 2, 3, 16, 17, 19, 20, 24], "test_dai": [], "than": 15, "them": [2, 16, 22], "themat": 11, "thermal": [9, 10, 19], "thi": [1, 5, 14, 16, 22, 24], "through": [9, 10, 13, 15, 19], "throughout": [], "time": [1, 5, 9, 10, 12, 14, 15, 19, 22], "timestamp": 14, "titl": 17, "toi": 22, "too": [], "tool": 11, "topographi": 13, "torch": [16, 17, 18, 19, 20, 22, 24], "toyhazard": [17, 24], "tp": 22, "train": [1, 2, 3, 13, 17, 19, 20, 22, 24], "train_d": 17, "train_split": [1, 3], "trainer": [0, 1, 16, 17, 20, 21, 22, 24], "transform": [0, 1, 17], "treat": 15, "trend": [8, 12, 13], "true": [1, 2, 3, 5, 16, 17, 20, 22, 24], "truth": [10, 15, 19], "tupl": [], "tverski": 5, "tverskyloss": [1, 5], "two": [16, 22], "type": [1, 2, 3, 4, 5, 6, 11, 14, 22], "u": [11, 13, 14, 15, 19], "u10": 22, "under": 8, "unifi": [17, 19], "uniqu": 15, "unit": [11, 13, 14, 15], "univers": 26, "updat": [0, 1, 4, 9, 11, 14, 15, 16, 21], "url": [17, 18], "us": [5, 7, 16, 17, 18, 19, 20, 22, 24], "usag": [17, 22], "usda": [], "user": [16, 19], "usf": 19, "usg": 13, "util": [0, 1, 17, 19, 20, 24], "v10": 22, "val": [1, 2, 16, 17, 19, 22, 24], "val_d": 17, "val_split": [1, 3], "valid": [13, 15], "valu": [], "valueerror": [], "var": [], "vari": 11, "variabl": [19, 24], "vast": 8, "vector": 13, "veget": [11, 19], "version": [11, 12], "vertic": [8, 12], "via": [8, 11, 12, 14, 16, 17, 19, 20, 22], "view": 10, "viir": [9, 19], "visibl": 10, "visual": [], "w": [5, 9, 12], "we": 18, "weather": [8, 10, 12, 14], "western": 10, "wf08088": 11, "wfig": 19, "wheel": 18, "when": [9, 14, 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, 19], "wildfire_aspp_build": [1, 5], "wildfire_mamba": [17, 22], "wildfire_mamba_build": [1, 5], "wildfireaspp": [1, 5], "wildfirecnnaspp": [1, 5], "wildfiremamba": [1, 5], "wildland": [11, 15], "wilei": [], "wind": [8, 12], "window": [2, 3, 16, 17, 20], "window_fn": 3, "with_count_head": [5, 22], "work": [1, 3, 7, 22], "workflow": [12, 19], "wrap": [20, 22], "www": [14, 19], "wxc": 12, "x": [1, 2, 5, 16, 17, 19, 22, 24], "xarrai": [], "xc25": 26, "xml": [], "xr": [], "xueqi": [17, 26], "y": [2, 16, 17, 19, 22, 24], "year": [13, 17], "you": [7, 17, 22, 24], "your": [16, 17, 22], "yushun": 26, "yyyymmdd": [], "z": 13, "zhu": 13, "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", "Wildfire Mamba (spatio-temporal toy)", "Installation", "Datasets", "Engine", "Metrics", "Models", "Utils", "Quick Start", "References", "Core Team"], "titleterms": {"1": [], "2": 12, "3": [], "4": [], "5": [], "6": [], "academ": 25, "access": [8, 9, 10, 11, 12, 13, 14, 15], "backbon": 5, "base": [2, 22], "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": [19, 21], "classif": 24, "common": 6, "compon": 17, "config": [], "content": [1, 2, 3, 5, 6], "contributor": 26, "coord": [], "core": [17, 19, 20, 21, 22, 26], "custom": 22, "data": [8, 9, 10, 11, 12, 13, 14, 15], "dataset": [2, 16, 19], "date": [], "design": 22, "develop": 26, "devic": 20, "dim": [], "distribut": [3, 20], "engin": [3, 20], "era5": 8, "event": 14, "exampl": [19, 24], "filenam": [], "firm": 9, "flood": 14, "goe": 10, "gpu": 24, "guid": 16, "hardwar": 6, "hazard": 2, "head": 5, "helper": [], "how": [7, 17], "implement": 16, "import": [], "indic": 17, "infer": 3, "inspect": 19, "instal": 18, "landfir": 11, "lat": [], "lead": 26, "level": [], "load": [], "lon": [], "maintain": 26, "mamba": [17, 22], "map": [], "merra": 12, "metric": [4, 16, 21], "model": [5, 16, 22], "modul": [1, 2, 3, 5, 6, 20, 22], "mtb": 13, "next": 24, "noaa": 14, "note": 22, "overview": [8, 9, 10, 11, 12, 13, 14, 15], "packag": [1, 2, 3, 4, 5, 6], "path": [], "pattern": [], "plot": [], "princip": 26, "public": 25, "pyhazard": [0, 1, 2, 3, 4, 5, 6, 18], "quick": 24, "r": 10, "refer": [8, 9, 10, 11, 12, 13, 14, 15, 25], "regist": 22, "registri": [2, 5], "requir": 18, "setup": [], "skeleton": 19, "spatio": [17, 22], "start": 24, "stat": [], "step": 24, "submodul": [2, 3, 5, 6, 23], "subpackag": 1, "summari": [19, 20, 21, 22, 23], "support": 24, "tabl": 17, "tabular": 24, "team": 26, "tempor": [17, 22], "toi": [17, 24], "train": 16, "trainer": 3, "transform": [2, 16], "typic": [8, 9, 10, 11, 12, 13, 14, 15, 20], "us": [8, 9, 10, 11, 12, 13, 14, 15], "usag": [20, 21, 24], "util": [6, 23], "variabl": [8, 9, 10, 11, 12, 13, 14, 15], "wfig": 15, "wildfir": [17, 22]}}) \ No newline at end of file +Search.setIndex({"alltitles": {"Academic Publications": [[25, "academic-publications"]], "Access": [[8, "access"], [9, "access"], [10, "access"], [11, "access"], [12, "access"], [13, "access"], [14, "access"], [15, "access"]], "Basic Usage": [[24, "basic-usage"]], "Build a built-in model": [[22, "build-a-built-in-model"]], "Contributors": [[26, "contributors"]], "Core Components": [[17, "core-components"]], "Core Contributors": [[26, "core-contributors"]], "Core Team": [[26, null]], "Core classes": [[19, "core-classes"], [21, "core-classes"]], "Core modules": [[20, "core-modules"], [22, "core-modules"]], "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"]], "Dataset inspection": [[19, "dataset-inspection"]], "Datasets": [[16, "datasets"], [19, null], [19, "id1"]], "Design notes": [[22, "design-notes"]], "Distributed and devices": [[20, "distributed-and-devices"]], "ERA5": [[8, null]], "Engine": [[20, null]], "Example skeleton": [[19, "example-skeleton"]], "FIRMS": [[9, null]], "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"]], "Installation": [[18, null]], "Installing PyHazards": [[18, "installing-pyhazards"]], "LANDFIRE": [[11, null]], "Lead Developer": [[26, "lead-developer"]], "MERRA-2": [[12, null]], "MTBS": [[13, null]], "Mamba-based wildfire model (spatio-temporal)": [[22, "mamba-based-wildfire-model-spatio-temporal"]], "Metrics": [[16, "metrics"], [21, null]], "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"]], "Overview": [[8, "overview"], [9, "overview"], [10, "overview"], [11, "overview"], [12, "overview"], [13, "overview"], [14, "overview"], [15, "overview"]], "Principal Contributors & Maintainers": [[26, "principal-contributors-maintainers"]], "Quick Start": [[24, null]], "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"]], "Submodules": [[2, "submodules"], [3, "submodules"], [5, "submodules"], [6, "submodules"], [23, "submodules"]], "Subpackages": [[1, "subpackages"]], "Summary": [[19, "summary"], [20, "summary"], [21, "summary"], [22, "summary"], [23, "summary"]], "Toy Example (tabular classification)": [[24, "toy-example-tabular-classification"]], "Training": [[16, "training"]], "Transforms": [[16, "transforms"]], "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 Mamba (spatio-temporal toy)": [[17, 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"]]}, "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": {}, "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, "", "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, "", "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.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, 14, 15, 19, 26], "0": [1, 3, 5, 8, 10, 12, 16, 17, 18, 19, 22, 24], "00230": 10, "008": 9, "01": 19, "0301003": 13, "06": 5, "0758": 12, "08": 9, "1": [1, 3, 5, 10, 12, 13, 17, 22], "10": [8, 9, 10, 11, 12, 13, 16, 20], "100": [], "1000": [16, 19], "1002": 8, "1016": 9, "1071": 11, "1175": [10, 12], "12": [5, 18, 22], "128": [1, 5, 16, 22], "14": 12, "143": 9, "146": 8, "15": 10, "16": [10, 12, 16, 17, 19, 20, 22, 24], "17": 10, "18": [10, 11], "1999": 8, "1e": [5, 16, 17, 20, 22, 24], "2": [1, 5, 8, 10, 16, 17, 18, 19, 20, 22, 24], "2007": [13, 19], "2009": 11, "2013": 9, "2014": [9, 19], "2017": [10, 12, 19], "2020": [8, 19], "2024": 19, "2025": 17, "2049": 8, "21": 13, "235": 11, "24": 17, "249": 11, "25": 8, "256": [1, 5, 22], "3": [1, 5, 11, 13, 16, 17, 18, 20, 22, 24], "30": [11, 12, 13], "31": [], "32": [1, 3, 5, 17, 22], "350": [17, 24], "375": 9, "3803": 8, "4": [10, 17], "42": 6, "425": [17, 24], "48": 22, "4996": 13, "5": [5, 10, 12, 17, 22, 24], "500": [17, 24], "5419": 12, "5454": 12, "6": [5, 17, 18, 22], "60": [], "625": 12, "64": [1, 3, 5, 22], "681": 10, "698": 10, "730": 8, "8": [17, 18, 22], "800": [16, 19], "85": 9, "900": [16, 19], "96": 9, "98": 10, "A": [10, 11, 13, 17, 22], "For": [22, 24], "If": [7, 17], "It": [8, 12, 22], "Near": [8, 9, 12, 19], "Or": 24, "The": [8, 9, 10, 11, 12, 19, 20, 22, 26], "To": [16, 24], "_": 19, "_abc": [1, 2, 4], "_abc_data": [1, 2, 4], "_abc_impl": [0, 1, 2, 4], "_get_adjac": [1, 5], "_is_protocol": [1, 2], "_load": [0, 1, 2, 16, 17, 19, 24], "_make_load": [0, 1, 3], "_temporal_delta": [1, 5], "_to_devic": [0, 1, 3], "abc": [1, 4], "abi": 10, "abov": [], "abstract": [1, 3, 4, 21], "accept": 16, "access": 19, "accuraci": 21, "across": [11, 13, 14, 15, 19], "activ": [9, 15, 19], "adam": [16, 17, 20, 22, 24], "add": 16, "adj": 5, "adjac": [2, 5, 17, 22], "administr": 14, "adopt": 8, "advanc": 10, "aerosol": 10, "after": 16, "agenc": [14, 15], "aggreg": [15, 16, 21], "ai": 17, "al": [8, 10, 12, 19], "algorithm": 9, "allow": 19, "alpha": 5, "america": 10, "american": 10, "ametsoc": [], "amount": 8, "amp": [16, 20], "an": [2, 15, 22], "analysi": [8, 9, 10, 12, 13, 14, 15, 19], "analyz": 17, "ani": [1, 2, 3, 5, 22], "annual": [11, 13], "anomali": [9, 10], "api": [1, 3, 17, 19, 24], "append": [], "appli": [5, 22], "applic": [8, 12], "ar": [8, 9, 10, 11, 13, 14, 15, 20, 21, 22], "arcgi": 15, "architectur": [16, 17, 22], "arg": [2, 5], "argument": 16, "arrai": [], "aspp": 5, "aspp_channel": 5, "assess": [8, 9, 11, 13, 14, 17, 19], "assimil": [8, 12], "associ": [9, 15], "assum": [], "assur": 26, "atmospher": [8, 10, 12, 14, 19], "attribut": 8, "author": 17, "authorit": [15, 19], "auto": [1, 3, 20], "auto_devic": [1, 6, 20], "automat": [6, 24], "avail": [10, 13, 14, 20, 24], "available_dataset": [0, 1, 2], "available_model": [0, 1, 5, 22], "awar": [9, 10, 17], "b": [5, 8, 13], "back": 22, "backbon": [0, 1, 16, 17, 22], "background": 11, "backward": 5, "bam": 10, "band": 10, "base": [0, 1, 3, 4, 5, 9, 11, 13, 14, 15, 18, 19], "base_channel": 5, "baselin": [8, 10], "basic": 17, "batch": [2, 5, 22], "batch_siz": [1, 3, 5, 17, 22], "bcewithlogitsloss": [17, 22], "becaus": 22, "begin": 14, "behavior": [11, 19], "bell": 8, "below": 19, "benchmark": [8, 12, 19], "berrisford": 8, "beta": 5, "big": 10, "bin": [14, 19], "binari": [5, 17, 22], "block": 22, "bool": [], "both": [], "boundari": 8, "box": 17, "branch": 22, "brewer": 13, "bright": 10, "broad": 12, "build": [1, 5, 17], "build_model": [0, 1, 5, 16, 17, 20, 22, 24], "build_path": [], "builder": [0, 1, 2, 16, 22], "built": [17, 19, 21], "bulk": 11, "bulletin": 10, "bundl": [1, 2, 17, 22], "burn": [13, 19], "burnsever": [], "c": 5, "c00648": [14, 19], "c3": 8, "cache_dir": [1, 2], "calcul": 17, "call": 21, "callabl": 2, "can": [12, 16, 18, 22], "canopi": 11, "carri": 10, "categor": 13, "caus": 15, "cd": [8, 19], "center": [14, 15], "centr": 8, "chain": 16, "chang": [8, 13, 22], "channel": [0, 1, 2], "character": 11, "checkpoint": 20, "cheng": [17, 26], "choos": 6, "chunk": [], "class": [1, 2, 3, 4, 5, 13, 16, 17, 20, 24], "classif": [1, 5, 13, 16, 17, 19, 20, 22], "classificationhead": [0, 1, 5], "classificationmetr": [0, 1, 4, 16, 17, 20, 21, 24], "cli": 22, "clim": [], "climat": [8, 12], "closer": 10, "cloud": 10, "cnn": [1, 5, 16, 17, 22], "cnn_aspp_build": [1, 5], "cnnpatchencod": [0, 1, 5], "code": 26, "collat": [2, 17], "collate_fn": [1, 3, 17], "collect": 16, "com": [15, 17], "combin": [8, 9], "common": [0, 1, 21, 22, 23], "commonli": [15, 19], "commun": 26, "compat": 5, "compil": 14, "complex": [1, 3, 22], "compos": [22, 26], "comprehens": [8, 17], "comput": [0, 1, 2, 4, 16, 21], "concret": 2, "conda": 18, "condit": [], "confid": 9, "config": [20, 22], "consid": 7, "consist": [1, 5, 8, 11, 12], "construct": [1, 2, 19, 22], "contain": [1, 2, 15, 19], "content": [0, 19], "context": 19, "contextu": 10, "continu": [10, 12, 19], "contourf": [], "contribut": 26, "conv_kernel": 5, "conveni": 22, "convent": 12, "coordin": [8, 9, 10, 11, 12, 13, 14, 15], "copernicu": [8, 19], "core": 12, "correl": [17, 22], "correspond": 9, "count": [5, 22], "counti": [2, 5, 14, 17, 22], "coupl": 22, "covari": [8, 11, 12, 19], "cover": [11, 21], "coverag": [8, 9, 10, 11, 12, 13, 14, 15], "cpu": [16, 24], "cr": [], "creat": [16, 22], "critic": 10, "crop": 14, "crossentropyloss": [16, 17, 20, 24], "csiszar": 9, "csv": [9, 14], "cu126": 18, "cube": 22, "cuda": [18, 20, 24], "current": 2, "custom": [1, 3, 16, 17, 24], "d": [10, 12], "d2m": 22, "da": [], "dai": [2, 5, 9, 17, 22], "daili": 19, "damag": 14, "danger": 8, "dask": [], "data": [1, 2, 3, 17, 19, 22, 24], "data_bundl": [16, 20], "data_var": [], "dataandtool": [], "dataarrai": [], "databas": [14, 19], "databundl": [0, 1, 2, 16, 17, 19, 22, 24], "datafram": [], "dataload": [1, 3], "dataset": [0, 1, 9, 11, 12, 13, 14, 15, 17, 22, 24], "datasplit": [0, 1, 2, 16, 17, 19, 22, 24], "date": [15, 19], "date_end": [], "date_start": [], "datetim": [], "ddp": [3, 16, 17, 20], "dedic": 26, "def": [16, 17, 19, 22, 24], "default": [1, 5, 16, 20, 22], "default_build": [1, 5, 22], "deleg": [1, 5], "demonstr": 19, "densiti": 11, "depend": [9, 10, 11, 13, 15], "deploi": 17, "depth": [1, 5, 22], "deriv": [9, 10, 11, 13, 14, 19], "describ": [1, 2, 19], "descript": [0, 1, 2, 9, 14, 16, 17, 19, 24], "descriptor": 11, "design": [17, 21], "detail": 24, "detect": [9, 10, 15, 19, 24], "determinist": 6, "develop": 8, "devic": [1, 3, 6, 17, 23, 24], "device_str": 6, "dewpoint": 8, "df": [], "diagnost": [8, 10, 12], "dice": 21, "dict": [1, 2, 3, 4, 5, 22], "differ": [], "differenti": 22, "dilat": 5, "dimens": [], "direct": 26, "directli": 21, "directori": [], "discov": 19, "discover": 22, "discoveri": 15, "displai": [], "distanc": [17, 22], "distribut": [0, 1, 8, 9, 10, 15, 16], "distributedconfig": [1, 3], "disturb": 11, "dnbr": 13, "document": [14, 15, 24, 26], "doi": [8, 9, 10, 11, 12, 13], "dong": 26, "download": 18, "downstream": [1, 2], "dp": 3, "driven": [16, 22], "driver": [12, 14, 19], "drop": [], "dropout": 5, "drought": 12, "ds_pre": [], "ds_sfc": [], "dtype": [1, 2], "e": [9, 11, 12, 13, 15, 16, 19, 22], "each": [2, 9, 15, 19], "earli": [9, 10, 19], "earthdata": [9, 12], "earthquak": 2, "easi": [1, 2, 17], "ecmwf": [8, 19], "ecolog": [11, 13], "ecologi": 13, "ecosystem": 19, "edu": 26, "eidenshink": [13, 19], "els": [], "emerg": 14, "enabl": [5, 20], "encod": [1, 5, 16, 17, 22], "end": [11, 14, 21], "end_dat": [], "energi": 12, "engag": 26, "engin": [0, 1, 16, 17, 22, 24], "environ": [9, 18, 24], "environment": [8, 10, 12, 14, 17], "eosdi": [], "equal": [], "era": 12, "era5": [5, 17, 19, 22], "estim": [8, 12], "et": [8, 10, 12, 19], "etc": 2, "eu": [], "european": 8, "evalu": [0, 1, 3, 13, 16, 17, 20, 22, 24], "event": [9, 13, 15, 19], "evolut": 10, "exampl": [16, 17, 18], "exist": [], "explicitli": 24, "explor": 19, "export": [22, 24], "extend": [1, 3, 21], "extens": [17, 22], "extent": [13, 19], "extern": 5, "extra": [0, 1, 2, 17, 22], "extract": 14, "extractor": 22, "extrem": [8, 12], "ey": [17, 22], "f": [], "factori": [1, 2], "fake": [17, 22], "fall": 22, "fals": [1, 3, 5, 6, 17, 22], "familiar": [1, 3], "fatal": 14, "featur": [1, 2, 5, 16, 17, 19, 22, 24], "feature_spec": [0, 1, 2, 16, 17, 19, 22, 24], "featurespec": [0, 1, 2, 16, 17, 19, 22, 24], "field": [8, 10, 11, 12], "fifth": 8, "file": [13, 19], "filenotfounderror": [], "find": 7, "fire": [9, 10, 11, 13, 15, 17, 19, 22], "fireecologi": 13, "firelab": [], "firm": [15, 19], "first": [16, 17, 18, 24], "fit": [0, 1, 3, 16, 17, 20, 22, 24], "flag": [6, 9], "float": [1, 3, 4, 5, 17, 22], "flood": [2, 8, 19], "florida": 26, "flux": [8, 12], "follow": 7, "forc": [8, 12], "forecast": 8, "forest": 11, "format": [8, 9, 10, 11, 12, 13, 14, 15], "forward": [0, 1, 5], "found": [], "framework": 17, "frequenc": [10, 14, 19], "frequent": [], "from": [9, 10, 11, 13, 14, 16, 17, 19, 20, 21, 22, 24], "from_logit": 5, "frp": 9, "fsu": 26, "fuel": [9, 11, 13, 15, 19], "full": 21, "function": [2, 16, 17, 22, 24], "g": [9, 11, 12, 13, 15, 16, 19, 22], "gca": [], "gcn": 22, "gcn_hidden": 5, "gelaro": [12, 19], "gener": [5, 8, 10], "geodatabas": 13, "geograph": [9, 15], "geojson": [9, 15], "geolog": 13, "geometri": 15, "geopotenti": [8, 12], "geospati": [11, 15], "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": 15, "giglio": 9, "github": 17, "given": 22, "global": [8, 9, 12, 19], "gmao": [12, 19], "goe": [15, 19], "goesr": 19, "gov": [14, 19], "gpu": [16, 17, 20], "graph": 17, "graph_col": [1, 2, 17, 22], "graphtemporaldataset": [1, 2, 17, 22], "grib": 8, "grid": [3, 8, 9, 10, 11, 12, 14, 19, 20], "griffith": 10, "ground": [10, 15, 19], "growth": 10, "gru": [1, 5], "gsfc": [], "guid": 24, "gunshor": 10, "h": [5, 8], "h5netcdf": [], "handl": [20, 22], "hardwar": [0, 1, 20, 23], "hazard": [0, 1, 8, 9, 10, 11, 12, 14, 16, 17, 19, 24], "head": [0, 1, 16, 17, 22], "heat": 12, "height": [11, 12], "help": 24, "helper": [17, 20, 22, 23, 24], "hemispher": 10, "hersbach": [8, 19], "hidden": [16, 22], "hidden_dim": [1, 5, 16, 22], "high": [8, 10, 19], "highlight": 22, "histor": [8, 14, 15], "hold": 19, "home": [], "hotspot": [9, 15], "hourli": [8, 12, 19], "how": [16, 19], "howard": 13, "http": [8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19], "humid": 12, "hurrican": [2, 12], "i": [2, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 22, 26], "id": [14, 19], "ident": 22, "identifi": 15, "ignit": [10, 11, 13, 15, 19], "imag": 10, "imageri": [10, 13, 19], "impact": [13, 14, 19], "implement": [2, 3, 17, 19, 24], "import": [16, 17, 19, 20, 21, 22, 24], "in_channel": [1, 5], "in_dim": [1, 5, 16, 17, 20, 22, 24], "incid": [15, 19], "includ": [8, 9, 10, 11, 12, 13, 14, 15], "index": [2, 16, 17, 18], "indic": [9, 10], "individu": 13, "infer": [0, 1, 20], "inform": [9, 14, 15], "infrar": 10, "initi": 9, "injuri": 14, "input": [0, 1, 2, 3, 5, 8, 12, 19, 22], "input_dim": [0, 1, 2, 5, 16, 17, 19, 22, 24], "ins": 22, "inspect_d": [], "int": [1, 2, 3, 6, 16, 22], "integr": [9, 10, 11, 13, 14, 15], "interag": [15, 19], "interfac": [1, 5, 17, 19, 21, 24], "intern": [11, 22], "iou": 21, "ipython": [], "isel": [], "iso": [14, 19], "item": [], "iter": [1, 3], "j": [9, 10, 12, 13], "jcli": 12, "journal": [8, 11, 12], "k": 13, "keep": [1, 2, 5, 22], "keyerror": [], "kind": [], "km": 10, "kml": 9, "kwarg": [1, 2, 5, 16, 22], "l": 9, "label": [1, 2, 9, 14, 15, 17, 19, 22], "label_spec": [0, 1, 2, 16, 17, 19, 22, 24], "labelspec": [0, 1, 2, 16, 17, 19, 22, 24], "labrai": 17, "land": [8, 9, 12, 14, 19], "landfir": 19, "landsat": [13, 19], "landscap": [11, 19], "landslid": 2, "larg": [3, 20], "latest": 10, "latitud": [8, 9, 10, 12], "layer": [8, 11, 13, 16, 19, 22], "learn": [8, 11, 12, 14, 17], "len": [], "let": [], "level": [8, 9, 12, 14, 15, 19], "librari": 17, "lightweight": [1, 3, 5, 19, 22], "like": [17, 22], "limit": 12, "line": 16, "linear": [16, 22], "list": [1, 3], "list_var": [], "liter": 3, "load": [0, 1, 2, 16, 17, 24], "load_dataset": [0, 1, 2, 19], "loader": 2, "local": 14, "locat": [9, 14, 15, 19], "log": [17, 23], "logger": 6, "logic": 3, "logit": [5, 17, 22], "long": [12, 13, 19], "longitud": [8, 9, 10, 12], "look": 10, "loop": [1, 3, 22], "loss": 5, "loss_fn": [1, 3, 16, 17, 20, 22, 24], "lower": [], "lr": [16, 17, 20, 22, 24], "m": [8, 9, 10, 11, 12, 13, 19], "machin": [8, 11, 12, 17], "mae": 21, "maintain": 15, "mainten": 26, "make": [1, 2], "mamba": 5, "mamba_lay": 5, "manag": [9, 11, 14, 15, 17, 23], "map": [11, 13], "mask": [1, 5], "match": 18, "matplotlib": [], "matrix": [17, 22], "max": [], "max_epoch": [1, 3, 16, 17, 20, 22, 24], "max_show": [], "max_var": [], "mccarti": 12, "mean": [], "medium": 8, "merra": 19, "merra2": 19, "merra2_sfc_": [], "merra_pres_": [], "metadata": [0, 1, 2, 5, 13, 14, 15, 19], "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, 16, 21], "min": [], "minim": [1, 3, 22], "minut": 10, "miss": [], "mix": [17, 22], "mixed_precis": [1, 3, 16, 17, 20, 22, 24], "mlp": [1, 5, 16, 17, 20, 22, 24], "mlpbackbon": [0, 1, 5], "modap": [], "mode": 10, "model": [0, 1, 2, 3, 8, 9, 11, 12, 13, 14, 15, 17, 19, 20, 24], "modern": [8, 12], "modi": [9, 19], "modul": [0, 16, 17, 23], "modular": [16, 17], "moistur": 12, "monitor": [9, 10, 13, 19], "monthli": 14, "more": [22, 24], "motion": 10, "mtb": 19, "multi": [1, 5, 12, 16, 17], "multipl": [9, 10, 11, 20], "multispectr": [10, 19], "must": [], "my_custom_build": 22, "my_hazard": [16, 19], "my_mlp": [16, 22], "my_model_build": 16, "myhazard": 16, "myhazarddataset": 19, "n": 5, "n_var": [], "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], "nationwid": [11, 19], "natur": [8, 12, 17], "nc": [], "ncdc": [14, 19], "ncei": [14, 19], "need": [3, 21, 22], "neighbor": 22, "netcdf": [8, 10, 12], "netcdf4": [], "new": 9, "next": [5, 17, 22], "nifc": 15, "nn": [16, 17, 20, 22, 24], "no_grad": [17, 22], "noaa": [10, 19], "noaa_flood": 19, "none": [1, 2, 3, 4, 5, 6, 17, 22], "normal": [1, 2, 16], "note": 18, "np": [], "num_class": [1, 4, 5], "num_counti": [2, 5, 17, 22], "num_devic": [1, 6], "num_featur": [2, 5, 17, 22], "num_lay": [1, 5], "num_target": [0, 1, 2, 16, 17, 19, 22, 24], "num_work": [1, 3], "numer": 12, "numpi": [], "o": [], "obj": [1, 3], "object": [1, 2, 3, 4, 19], "observ": [8, 9, 10, 11, 12], "occurr": [9, 14, 15, 19], "ocean": 14, "offic": [12, 14], "offici": 15, "often": 19, "oliva": 9, "one": 17, "ongo": 15, "onlinelibrari": [], "open": [], "open_dataset": [], "open_merra": [], "opendata": 15, "oper": [9, 10, 19], "optim": [1, 3, 16, 17, 20, 22, 24], "option": [1, 2, 5, 8, 16, 17, 20, 22], "org": [8, 9, 10, 11, 12, 13, 18], "other": 23, "otherwis": 20, "our": 26, "out": 17, "out_dim": [1, 5, 16, 17, 20, 22, 24], "outdir": 19, "output": [1, 5, 19, 22], "over": [3, 10, 21, 22], "overpass": 9, "overrid": 5, "overview": 19, "own": [16, 22], "p": [8, 9, 10], "packag": 0, "page": [14, 17, 19], "pair": [14, 19], "panda": [], "paramet": [5, 16, 17, 20, 22, 24], "particularli": [10, 14], "pass": [16, 21, 22], "past_dai": [2, 5, 17, 22], "patch": [1, 5, 16, 21, 22], "path": [1, 3], "pathlib": [], "pattern": [9, 15], "pattern_pr": [], "pattern_sfc": [], "pd": [], "per": [5, 9, 22], "perimet": [13, 15, 19], "physic": 12, "pick": [], "pip": 18, "pipelin": [8, 9, 11, 12, 15, 17], "pixel": 21, "placehold": [2, 3, 20], "plain": 22, "plan": [11, 26], "pleas": [7, 17, 24], "plt": [], "plu": [1, 2, 19, 22], "point": [9, 10, 14, 15], "polygon": [13, 15], "popul": 2, "portal": [9, 11, 13, 15], "post": [13, 19], "potenti": 9, "power": [9, 17], "pre": [], "precipit": [8, 12], "precis": 17, "pred": [1, 4, 20], "predict": [0, 1, 3, 8, 9, 11, 12, 13, 14, 16, 17, 19, 20, 21, 22], "prefer": [3, 6], "preprocess": [2, 16], "pressur": [8, 12, 19], "print": [17, 22, 24], "prithvi": [], "prob": [17, 22], "probabl": [5, 17, 22], "process": 10, "produc": [8, 11, 12, 13], "product": [9, 10, 11, 13, 15], "profil": 12, "program": [10, 11, 13, 19], "project": [10, 11, 13, 15], "properti": 14, "protocol": 2, "provid": [1, 2, 8, 9, 10, 11, 12, 14, 15, 16, 17, 19, 22], "publicli": [9, 11, 13, 14, 15], "pyhazard": [16, 17, 19, 20, 21, 22, 23, 24, 26], "pyhazards2025": 17, "pyhazards_devic": [6, 24], "pyplot": [], "python": [17, 18, 19, 24], "pytorch": [17, 18, 22], "qj": 8, "qualiti": [9, 26], "quarterli": 8, "quasi": 11, "quayl": 13, "quick": 17, "quickli": [19, 24], "r": [12, 19], "radi": 9, "radianc": 10, "radiat": 8, "rais": [], "randint": [16, 17, 19, 22, 24], "randn": [16, 17, 19, 22, 24], "random": 22, "rang": 8, "rapid": [9, 10], "raster": [1, 3, 5, 10, 11, 13, 17, 19, 20, 22], "rather": 15, "rdnbr": 13, "re": 22, "readi": [1, 2, 17], "real": [9, 10, 15, 19], "reanalysi": [8, 10, 12, 14, 19], "receiv": 22, "recommend": 18, "record": [9, 10, 14, 15, 19], "refer": 24, "refresh": 10, "regim": [11, 13, 19], "region": 14, "regist": [2, 16, 17], "register_dataset": [0, 1, 2, 16, 19], "register_model": [0, 1, 5, 16, 22], "registr": [22, 24], "registri": [0, 1, 16, 17, 19, 22], "regress": [1, 2, 5, 16, 17, 22], "regressionhead": [0, 1, 5], "regressionmetr": [0, 1, 4, 21], "regular": [8, 12], "relat": [8, 10, 14, 19], "releas": 11, "relu": [16, 22], "remot": [9, 11, 13], "replac": [1, 3, 17, 22], "report": [14, 15, 19], "repres": 15, "research": [12, 17, 26], "reset": [0, 1, 4, 16, 21], "reset_index": [], "resolut": [8, 9, 10, 11, 12, 13, 14, 15], "resourc": [9, 11], "respect": 6, "respons": 26, "result": [16, 17, 20, 24], "retrospect": 12, "return": [1, 2, 3, 4, 5, 6, 16, 17, 19, 22, 24], "reusabl": [2, 16, 22], "review": 26, "risk": [8, 11, 17, 19], "rmet": [], "rmse": 21, "rollin": 11, "root": [], "row": [], "royal": 8, "rse": 9, "run": 20, "runyang": [], "sampl": [2, 17, 22], "satellit": [9, 10, 12, 15], "save": 20, "save_checkpoint": [0, 1, 3], "scalar": [1, 5], "scale": [11, 13], "schmit": 10, "schroeder": [9, 19], "schwind": 13, "search": 17, "see": 19, "seed": [6, 17, 23], "seed_al": [1, 6], "segment": [1, 5, 16, 17, 22], "segmentationhead": [0, 1, 5], "segmentationmetr": [0, 1, 4, 21], "select": [20, 22], "select_strategi": [1, 3], "self": [16, 17, 19, 24], "sens": [9, 11, 13], "sensibl": 20, "sensor": 9, "sequenti": [16, 22], "seri": [1, 5, 10, 19, 22], "serv": 19, "servic": [8, 9, 11, 12, 15], "set": [5, 8, 12, 24], "set_adjac": [1, 5], "set_aspect": [], "set_devic": [1, 6, 24], "sever": [13, 14, 19], "sfc": [], "shape": [1, 2, 5, 17, 22], "shapefil": [9, 13, 15], "ship": 22, "short": [], "should": [1, 2], "show": 16, "shuffl": [1, 3], "sigmoid": [5, 17, 22], "signal": [1, 5], "simpl": [1, 2, 5, 16, 17], "simplifi": 19, "simul": 11, "singl": [1, 2, 8, 19, 20], "situat": [9, 10], "size": 15, "skin": 12, "skipna": [], "slide": [3, 20], "slidingwindowinfer": [1, 3], "slowli": 11, "smoke": [10, 19], "smooth": 5, "so": [16, 22], "societi": [8, 10], "softwar": 17, "soil": 12, "sort_valu": [], "sourc": [1, 2, 3, 4, 5, 6, 15], "space": 22, "spatial": [5, 8, 9, 10, 11, 12, 13, 14, 15, 22], "spatio": 5, "spatiotempor": [8, 9, 12], "spec": [1, 2, 17, 19], "specif": [1, 2, 9, 22], "spectral": [10, 13], "split": [0, 1, 2, 3, 16, 17, 19, 20, 21, 22, 24], "spread": 11, "ssm": 22, "ssr": 22, "stack": [2, 22], "stamp": 9, "standard": [5, 8, 13], "start": [14, 17], "start_dat": [], "state": [8, 11, 12, 13, 14, 15, 22, 26], "state_dim": 5, "static": [5, 11, 19], "statist": [], "statu": [15, 19], "std": [], "step": [], "stitch": 3, "store": [8, 22], "storm": [14, 19], "str": [1, 2, 3, 4, 5, 16, 22], "strateg": 26, "strategi": [1, 3, 20], "strftime": [], "structur": [8, 9, 10, 11, 12, 13, 14, 15, 19], "studi": [8, 12, 13, 14, 15, 19], "style": [2, 5, 12, 17, 22], "subclass": [1, 2, 16], "submodul": [0, 1], "subpackag": 0, "summarize_da": [], "supervis": [9, 14], "support": [11, 13, 16, 17, 19, 20, 26], "surfac": [8, 9, 10, 12], "survei": 13, "su\u00e1rez": 12, "switch": 22, "system": [8, 9, 10, 11, 12, 13, 14, 15], "t": 10, "t2m": 22, "tab": [], "tabl": [], "tabular": [1, 5, 14, 17, 19, 22], "target": [0, 1, 2, 3, 4, 5, 9, 14, 16, 19, 21, 22], "task": [1, 2, 5, 8, 16, 17, 20, 21, 22, 24], "task_typ": [0, 1, 2, 16, 17, 19, 22, 24], "technic": 26, "temperatur": [8, 10, 12], "tempor": [2, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 19], "temporalencod": [0, 1, 5], "tensor": [1, 2, 3, 5, 9, 14, 17, 22], "term": [12, 13, 19], "test": [1, 2, 3, 16, 17, 19, 20, 24], "test_dai": [], "than": 15, "them": [2, 16, 22], "themat": 11, "thermal": [9, 10, 19], "thi": [1, 5, 14, 16, 22, 24], "through": [9, 10, 13, 15, 19], "throughout": [], "time": [1, 5, 9, 10, 12, 14, 15, 19, 22], "timestamp": 14, "titl": 17, "toi": 22, "too": [], "tool": 11, "topographi": 13, "torch": [16, 17, 18, 19, 20, 22, 24], "toyhazard": [17, 24], "tp": 22, "train": [1, 2, 3, 13, 17, 19, 20, 22, 24], "train_d": 17, "train_split": [1, 3], "trainer": [0, 1, 16, 17, 20, 21, 22, 24], "transform": [0, 1, 17], "treat": 15, "trend": [8, 12, 13], "true": [1, 2, 3, 5, 16, 17, 20, 22, 24], "truth": [10, 15, 19], "tupl": [], "tverski": 5, "tverskyloss": [1, 5], "two": [16, 22], "type": [1, 2, 3, 4, 5, 6, 11, 14, 22], "u": [11, 13, 14, 15, 19], "u10": 22, "under": 8, "unifi": [17, 19], "uniqu": 15, "unit": [11, 13, 14, 15], "univers": 26, "updat": [0, 1, 4, 9, 11, 14, 15, 16, 21], "url": [17, 18], "us": [5, 7, 16, 17, 18, 19, 20, 22, 24], "usag": [17, 22], "usda": [], "user": [16, 19], "usf": 19, "usg": 13, "util": [0, 1, 17, 19, 20, 24], "v10": 22, "val": [1, 2, 16, 17, 19, 22, 24], "val_d": 17, "val_split": [1, 3], "valid": [13, 15], "valu": [], "valueerror": [], "var": [], "vari": 11, "variabl": [19, 24], "vast": 8, "vector": 13, "veget": [11, 19], "version": [11, 12], "vertic": [8, 12], "via": [8, 11, 12, 14, 16, 17, 19, 20, 22], "view": 10, "viir": [9, 19], "visibl": 10, "visual": [], "w": [5, 9, 12], "we": 18, "weather": [8, 10, 12, 14], "western": 10, "wf08088": 11, "wfig": 19, "wheel": 18, "when": [9, 14, 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, 19], "wildfire_aspp_build": [1, 5], "wildfire_mamba": [17, 22], "wildfire_mamba_build": [1, 5], "wildfireaspp": [1, 5], "wildfirecnnaspp": [1, 5], "wildfiremamba": [1, 5], "wildland": [11, 15], "wilei": [], "wind": [8, 12], "window": [2, 3, 16, 17, 20], "window_fn": 3, "with_count_head": [5, 22], "work": [1, 3, 7, 22], "workflow": [12, 19], "wrap": [20, 22], "www": [14, 19], "wxc": 12, "x": [1, 2, 5, 16, 17, 19, 22, 24], "xarrai": [], "xc25": 26, "xml": [], "xr": [], "xueqi": [17, 26], "y": [2, 16, 17, 19, 22, 24], "year": [13, 17], "you": [7, 17, 22, 24], "your": [16, 17, 22], "yushun": 26, "yyyymmdd": [], "z": 13, "zhu": 13, "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", "Wildfire Mamba (spatio-temporal toy)", "Installation", "Datasets", "Engine", "Metrics", "Models", "Utils", "Quick Start", "References", "Core Team"], "titleterms": {"1": [], "2": 12, "3": [], "4": [], "5": [], "6": [], "academ": 25, "access": [8, 9, 10, 11, 12, 13, 14, 15], "backbon": 5, "base": [2, 22], "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": [19, 21], "classif": 24, "common": 6, "compon": 17, "config": [], "content": [1, 2, 3, 5, 6], "contributor": 26, "coord": [], "core": [17, 19, 20, 21, 22, 26], "custom": 22, "data": [8, 9, 10, 11, 12, 13, 14, 15], "dataset": [2, 16, 19], "date": [], "design": 22, "develop": 26, "devic": 20, "dim": [], "distribut": [3, 20], "engin": [3, 20], "era5": 8, "event": 14, "exampl": [19, 24], "filenam": [], "firm": 9, "flood": 14, "goe": 10, "gpu": 24, "guid": 16, "hardwar": 6, "hazard": 2, "head": 5, "helper": [], "how": [7, 17], "implement": 16, "import": [], "indic": 17, "infer": 3, "inspect": 19, "instal": 18, "landfir": 11, "lat": [], "lead": 26, "level": [], "load": [], "lon": [], "maintain": 26, "mamba": [17, 22], "map": [], "merra": 12, "metric": [4, 16, 21], "model": [5, 16, 22], "modul": [1, 2, 3, 5, 6, 20, 22], "mtb": 13, "next": 24, "noaa": 14, "note": 22, "overview": [8, 9, 10, 11, 12, 13, 14, 15], "packag": [1, 2, 3, 4, 5, 6], "path": [], "pattern": [], "plot": [], "princip": 26, "public": 25, "pyhazard": [0, 1, 2, 3, 4, 5, 6, 18], "quick": 24, "r": 10, "refer": [8, 9, 10, 11, 12, 13, 14, 15, 25], "regist": 22, "registri": [2, 5], "requir": 18, "setup": [], "skeleton": 19, "spatio": [17, 22], "start": 24, "stat": [], "step": 24, "submodul": [2, 3, 5, 6, 23], "subpackag": 1, "summari": [19, 20, 21, 22, 23], "support": 24, "tabl": 17, "tabular": 24, "team": 26, "tempor": [17, 22], "toi": [17, 24], "train": 16, "trainer": 3, "transform": [2, 16], "typic": [8, 9, 10, 11, 12, 13, 14, 15, 20], "us": [8, 9, 10, 11, 12, 13, 14, 15], "usag": [20, 21, 24], "util": [6, 23], "variabl": [8, 9, 10, 11, 12, 13, 14, 15], "wfig": 15, "wildfir": [17, 22]}}) \ No newline at end of file From 08a937645482f0fcc425097d6fcbe6f927d59bce Mon Sep 17 00:00:00 2001 From: Runyang Xu Date: Thu, 22 Jan 2026 19:39:04 -0500 Subject: [PATCH 2/2] no.18 --- docs/.doctrees/environment.pickle | Bin 291031 -> 291031 bytes docs/.doctrees/pyhazards_datasets.doctree | Bin 26300 -> 25302 bytes docs/_sources/pyhazards_datasets.rst.txt | 2 +- docs/pyhazards_datasets.html | 2 +- docs/searchindex.js | 2 +- docs/source/pyhazards_datasets.rst | 2 +- 6 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/.doctrees/environment.pickle b/docs/.doctrees/environment.pickle index 4d620aa72d7d02de646a2b683a0d88bb60a043d2..e155b848e551b53bc02fbff1eb0a8b668efda965 100644 GIT binary patch delta 1255 zcmZ9~O>7%Q6ae6kw`r);IJOgG2TKXqag+Xef1DpD`(v9nO%X&^A`l1=*4Eyn>v(N< zy`fO3>Z&4@%2tZ{wvCW_;ndzz6bU25p@$x-QuRcY1D8aCQw0KvOC_W-ZzE#L<=Zzi zZ)V=U-OcU5=62xj{bO(YN~)zcG^@cb*0hG{*u839XX~GyQO~PpsgYc^^h(3A_gb22 zICl37i*&rZTQk)$$L`RpCG8X7vZ1WqK6ybm4SGg9*|1L2@d3Tsu+&OLwe(um`A`12 z1%0srfn>B}Z&9~2u#^2Tp9%Kbf!(?ahGv<1u>o~9?C)t$yXC^4nec$^HMIrJ)T%{| z-sRJcdPOs|sNvbh=_2B zOArZe)A%?%;^IVsKe$0M4Ss%rWP#-)@FVAiIX*&Wpv)g3X?V)_!#eLLC*U4`7<9e| zp7BvK1tB3uI7ka4BnhezALak8qkP3J#%;e_%nBAW`oCrOyTcaW2akjZNx`qe;NZy@ zb6&y^);?hj;;A^vz)Wi3;sniHw*7@ttyonJtzgv(b=5lKTyRFplXyxVaa%Kwk$}8| zj3e(MGV%c;A|D|Vq9VtU5~3iB$TU)>Tr6iXG!Pc4BQuDFq>*#T3FJKTI&uM-LYfGN zTtZxSw&I^#8J0fH!&JRzCtp{Eo5S2W%Nmh7hm#f=XZnbY0#$T zfsx|Z#bKCGV(^ogfP@r;b-5F6DP1&9z?#ihn5$KfDu#_9!_&c}NO@H=FGqH{5`6eOq<>uU#<{W7?=RBu=Ao5x>>Z!u>{L5>z zKIRl1ZyzH4t#uz0rMYWr%@b?=*27HGK`Rwt419haWIo2lrGjU;mFZ(D#BW1iAs_;cpoU;hBSDtf;F delta 1291 zcmZ9LO>7%Q6vsPW(j-me#IcESqvpe|n-3JPcayY9y#82dK7@!uA|WBDYHhs}XI*>k zuGcgzl(4V*f7j8!U zAf~*lmRBih{9bybVrqGo+`3nyV4h`ugQlx=#kSh&^VBdD(Y6j5bcq^N&rp_DS9W1Z z%VN=tW>U7@OGRv}1$}m=N-&Sh>eZ;BjM>&?usYP_Vz+l4ca( zHZPMD?C`;^5$?c&+}jLRv!gp=lui3Hd(qBG;EVQ>Q!o}iPNv~>^cXn-SE6Au3STpu zhlkM+ISEgqJtP9{LN`eOFT6&^U{>gZKZQ0}5snf89ti=sFSL^>*cOJ!F!KlDHj9Qt zACX~P93YdRh@s@0FLdOtIbu*|*%7mbVrKpqc5bsC7U6rbk4(THVoy)}<Zm_~en zIDt5W7)2-u9-$&mBC?1GBFC_rOQ2amj3G*hHxMR5KwLmfAub_?5tk9;h$=!xTt!SG z)(}oRucPI3?gm;SVjVGofDqE@)*ZBBh`Wd=;!8wwYi;!BhC_JB>y3l%mD4~c7va-H z*k$!XS`NTbsTsaY^}}(=1E0hM_$T3k?N}px6A!}U*kK4u9n5b!Skdw-HDFyD;?{FN z!sg`A^CeyqhVzoYMb*me^PR1jRE3{noous4_+0A7u}RaPeH-YNV(@<42RG#jNX93g z3F(K;m><^T&A=!6;MaI7j3?fLd+{I{cpmXOwf4!lmk7gOi3n47Z0kt!0RgYv4`*Z% zeoyi2&EAp+4w@HBnx2I|sS}EFb3@ipO3Uzt9N+p^{;ie$hbuF|t*7%Hq)$ diff --git a/docs/.doctrees/pyhazards_datasets.doctree b/docs/.doctrees/pyhazards_datasets.doctree index 074d8b52e3681e3c10e25a6fac98dfcced86594a..3da85d5040fc386189209aff4284c517e3b5e208 100644 GIT binary patch delta 2531 zcmZ{mdu-EH6vuaOAA9iF3S)w0UDpk^vF_15$_iub(Xq0QJ*rGFfUeT*$8YZ0Rm4Cx zCYa7tl%0Y^0f&h%OdO*!z?cv*CK@mp6=Og{NH7NYLx>uKM(~{9k9KW0|2es@bI#{` z&-vZ<)34bNUoh2>>c9o(gerC+_k9nVh2I4>E?U9a6R>Y#E6ayFS}i0xmcnA)M6#8~ z#0asQ{lZ&0yZyWT*@8;6!gZaNujSB}XXR@+uy!4cr>ekcp3fiSP-V8jsk9VcE$<}h zW~(0+wBl-cTB(cU5-v3&ntzpMZQA&a9# zt;Lvq5m*lvtcUw^V&UeJC52a}D-SKD_>^4(PIp+yYw~scB!>%L$4$D90=T_2jsGa` z&~>C@-pf;Yzm>0JIIEuV1ch`Rzh+z6JUCHkg3UQ4ECEJyx-(l;N9{L$Zs2uEKiuKFW2nF_>?1YtBS* zkHPCEPw;S7(Im_+lBFgVA4HdTi?3x}iFTP$>KIBbRi`7+kq{6QU~cIilUg}VX=o|M zr`q1Wts}hNvy{~SEDrXY(}La47C@!BnJICtfHC;YoW<{xSY04)c`4&&rBvGuWnH{N zDYg1vWp-wU8p{DqBW4e8bu-+w43h`;sVWnBi-X}Vt$5M&!gSWq60&ymxZM3=y*Vhe z?u=j^87*&S&qGUj0oIaG`;`*vm*owNAD2-JDq8tT8TE8U89NSlDh4&@qfn2-(CW9z zgHW>&^}S%Y2Mclnx64 zOpF_tVKH2+wIvneOh^@sg3exqaTPG(NQSaCZ!(7zuL;z3AFyq3qHYcA#T8?`*i9bT zZD6$J&+DYgVnHFKHVV2%k5lY{XKlr7IO^zSn_;G-FV|a`pN{H7Q8C{1ucuQby(KF! zZ3hnVE!5kTTGtdh?KmHzAVfQ;>vzohm=^F^%|SlDk7@TspK3NbcVZ)>zHQL zQK~M-)N|A`)r58;piVd4U_EfSxt2FXpxFKgh1R1`DqB|ZEfFX-2(&aX+o;3Bts#u0 zu+~^b7}(YGVaSo5^fc95Zg=XLCfxXtze*8vN9$B+zEDc(i>Sn2GNDKCXE|`R^)?S2 zYW8N@FMtEG`7 z>}*KbRT@dcnnJ=pr;#K~LFy!7O*A55c(=x_f9ih6p`E$+`W=4X+}^f+x9h1cm)qUe zfpRzdp~9IDTUh#gEj*BEME>m3vTXhy;(b4f@*c{{fPT B>MQ^N delta 3149 zcmbtWZA@F|73RM7waaKj%t!(;AD57T31AF35Iz%1iQ||Unzkfrn}rM9aD4+d@<$d+ zLxfb3%w{zo=Q5>PL`qe4i#n;REHO>Z+WuITD$=BFjk;Ei+O*xDPMs8K%cQAaJLkQ@ z#wI^1^@oq&d+vLl=RD^<_uljVJHqup3*u>U@%7`ci`EkHh*!wVgAFC`6?I7wMUh7R z{R3Vptc-`k6W}i?^T^}lN+i-WtwiMsIVv|z$-#+0aI$emo>ZE~0>P$0B(x_m(K8u3 z=?sQs*%=(481L+Nx!T;jdqDCVQEEcezIUD92%QarsZg0 zTnD{wUZ2$+s+bf;b=7)QS2xq@tZumNS_6Z<#U-AkDKOEh%W5_5*nz)V{M8-RlVVso z9+=SSc8eZU>$ROMFHf~=dH5F_L$F8IsFS+ER$3#Bz;MadfghrBHB*k{{Xs|>rG2Ed z4&H7x*T%vDUF#RIwVYZI;$?OgAy^F25`0xTYg@UW;y=~@`2>Vmf(7ZsYD8gGn7wO6q^gE6!nEyD(FeH^3~Zia zyg6szWw9f~ud=fEZqrln?ITv0uimlAY+5JMY=SqcOIf}tt>T2L!v+$K0}cUvkjfo3BgDl;ZP0+)BXi!ZMicNxCeS;4Mmv|TZ@ zT{E<;)K{}h8Eq0mFQ%b|i!kr5Og-LkL4cTRBS?+{_@?my`$=xw#LUFOyE6I$TK)^@fB9e8{Xxh3W_r;o21k?W01te)V2zD_B%>~;%m)XaPI z?yhO35>_*uZ#y82!bfe3wo^Ijj>3HV8H%6-*^ZD$(~!(z=E+{)?JRzIeX=jZx4Z4^ zS|-_7c(N%Y*>^i6_EIL<8brRDMi#E5`Z`Yt?3R(}jjj=Pn{Zq()V*7{1&QuC+m|_s z-hz^zmnZ@gg}Xgw_SZBVyF!W9r98cTg5ZL40}U3n5D6PoZ|w01LN9sfxfUD92|ayZ z34>{06Zb_P{fqdln3orUWwRZ|`@I{V#w)d4ZBQ$GEqu%M{?~+`Wx(UG^w>24VE@2A z;WD}#AG$;l*mm%z0cX)7U6iRNwcM{(_+w+*3t-;YD*QHk=k&g958AoBuS0ka zCblS&c(D^nF2Ja#+I}vRBRP}zIg#x=EP3JuACm)LgbrjU%+J?i-hm7Iw-w!4pXWRK z+l71CJ6pWf5865D?O|36oF8aty)T~N_=iT6@G~i``EosgNIcNNN_qHd?d|~SykqF> zLP@uCb&@knC-cP$IxHETXMA0(Hw&~2Uh{7$>Y_c_2U0fJ&W3ZgE({)IT^3&FZlr1l z+rg|llQWBd=-@wu7r^ZwU?;Pn!kjg{p7jHN4@=~1^$iWOu)*4c1VLimvgUNjxylN{ z<}z>$+cy53j?U;%I{i3!hhJrXAmsW|-v29Ua^A*!u`ixUbv}Mq6mQ@i-s&BihA7$z zGE-<4v}v?S%S=3~hJv~l!mC+6NvwGu9!0hlc<%67p+1#=WS+4?YbyD4g?a96{G4fj zB=Z@WPsohmD^+`f%qcQ4GGCJUg3Jbd%C!PAXUNQv`7fD&lQ~IgMaZNuVeNNhZj<>C zO)QxolyNGH&nOWZnzTbucdYs;$|1q|6P!E2c@vy7!TA!LE5UgZoMVCGFL3OIm|8_> zpCX0&usWiRyYnL+9qD|N)2+KZ=l z#7d8+tX9&HS#?y`NYlD8Qfnh`Qk+swDpR_TCCyZ1J!w7McgXMcd-SB4^y|Koq$LuH zg~t_LZJ=p$1mTh88=R=I*9Zj%Ry5cWlX=?jX~}!yLt62kIGFB51bIywMQiX|5yl+Q56;V#hCB^b3VUQ diff --git a/docs/_sources/pyhazards_datasets.rst.txt b/docs/_sources/pyhazards_datasets.rst.txt index 25a525d..795afd3 100644 --- a/docs/_sources/pyhazards_datasets.rst.txt +++ b/docs/_sources/pyhazards_datasets.rst.txt @@ -21,7 +21,7 @@ Datasets - ECMWF ERA5 reanalysis served via the `Copernicus CDS `_, providing hourly single-/pressure-level variables for benchmarks and hazard covariates; see `Hersbach et al. (2020) `_. * - :doc:`noaa_flood ` - - Flood-related event reports from the `NOAA Storm Events Database `_ (time, location, impacts), commonly used for event-level labeling and impact analysis; see `NCEI record `_(C00648). + - Flood-related event reports from the `NOAA Storm Events Database `_ (time, location, impacts), commonly used for event-level labeling and impact analysis. * - :doc:`firms ` - Near-real-time active fire detections from `NASA FIRMS `_ (MODIS/VIIRS), used for operational monitoring and as wildfire occurrence labels; see `Schroeder et al. (2014) `_. diff --git a/docs/pyhazards_datasets.html b/docs/pyhazards_datasets.html index 98e63bf..c2474be 100644 --- a/docs/pyhazards_datasets.html +++ b/docs/pyhazards_datasets.html @@ -281,7 +281,7 @@

Datasets¶

ECMWF ERA5 reanalysis served via the Copernicus CDS, providing hourly single-/pressure-level variables for benchmarks and hazard covariates; see Hersbach et al. (2020).

noaa_flood

-

Flood-related event reports from the NOAA Storm Events Database (time, location, impacts), commonly used for event-level labeling and impact analysis; see `NCEI record <https://www.ncei.noaa.gov/access/metadata/landing-page/bin/iso?id=gov.noaa.ncdc:C00648>`_(C00648).

+

Flood-related event reports from the NOAA Storm Events Database (time, location, impacts), commonly used for event-level labeling and impact analysis.

firms

Near-real-time active fire detections from NASA FIRMS (MODIS/VIIRS), used for operational monitoring and as wildfire occurrence labels; see Schroeder et al. (2014).

diff --git a/docs/searchindex.js b/docs/searchindex.js index 6f7b8d1..a070b10 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"Academic Publications": [[25, "academic-publications"]], "Access": [[8, "access"], [9, "access"], [10, "access"], [11, "access"], [12, "access"], [13, "access"], [14, "access"], [15, "access"]], "Basic Usage": [[24, "basic-usage"]], "Build a built-in model": [[22, "build-a-built-in-model"]], "Contributors": [[26, "contributors"]], "Core Components": [[17, "core-components"]], "Core Contributors": [[26, "core-contributors"]], "Core Team": [[26, null]], "Core classes": [[19, "core-classes"], [21, "core-classes"]], "Core modules": [[20, "core-modules"], [22, "core-modules"]], "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"]], "Dataset inspection": [[19, "dataset-inspection"]], "Datasets": [[16, "datasets"], [19, null], [19, "id1"]], "Design notes": [[22, "design-notes"]], "Distributed and devices": [[20, "distributed-and-devices"]], "ERA5": [[8, null]], "Engine": [[20, null]], "Example skeleton": [[19, "example-skeleton"]], "FIRMS": [[9, null]], "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"]], "Installation": [[18, null]], "Installing PyHazards": [[18, "installing-pyhazards"]], "LANDFIRE": [[11, null]], "Lead Developer": [[26, "lead-developer"]], "MERRA-2": [[12, null]], "MTBS": [[13, null]], "Mamba-based wildfire model (spatio-temporal)": [[22, "mamba-based-wildfire-model-spatio-temporal"]], "Metrics": [[16, "metrics"], [21, null]], "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"]], "Overview": [[8, "overview"], [9, "overview"], [10, "overview"], [11, "overview"], [12, "overview"], [13, "overview"], [14, "overview"], [15, "overview"]], "Principal Contributors & Maintainers": [[26, "principal-contributors-maintainers"]], "Quick Start": [[24, null]], "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"]], "Submodules": [[2, "submodules"], [3, "submodules"], [5, "submodules"], [6, "submodules"], [23, "submodules"]], "Subpackages": [[1, "subpackages"]], "Summary": [[19, "summary"], [20, "summary"], [21, "summary"], [22, "summary"], [23, "summary"]], "Toy Example (tabular classification)": [[24, "toy-example-tabular-classification"]], "Training": [[16, "training"]], "Transforms": [[16, "transforms"]], "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 Mamba (spatio-temporal toy)": [[17, 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"]]}, "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": {}, "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, "", "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, "", "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.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, 14, 15, 19, 26], "0": [1, 3, 5, 8, 10, 12, 16, 17, 18, 19, 22, 24], "00230": 10, "008": 9, "01": 19, "0301003": 13, "06": 5, "0758": 12, "08": 9, "1": [1, 3, 5, 10, 12, 13, 17, 22], "10": [8, 9, 10, 11, 12, 13, 16, 20], "100": [], "1000": [16, 19], "1002": 8, "1016": 9, "1071": 11, "1175": [10, 12], "12": [5, 18, 22], "128": [1, 5, 16, 22], "14": 12, "143": 9, "146": 8, "15": 10, "16": [10, 12, 16, 17, 19, 20, 22, 24], "17": 10, "18": [10, 11], "1999": 8, "1e": [5, 16, 17, 20, 22, 24], "2": [1, 5, 8, 10, 16, 17, 18, 19, 20, 22, 24], "2007": [13, 19], "2009": 11, "2013": 9, "2014": [9, 19], "2017": [10, 12, 19], "2020": [8, 19], "2024": 19, "2025": 17, "2049": 8, "21": 13, "235": 11, "24": 17, "249": 11, "25": 8, "256": [1, 5, 22], "3": [1, 5, 11, 13, 16, 17, 18, 20, 22, 24], "30": [11, 12, 13], "31": [], "32": [1, 3, 5, 17, 22], "350": [17, 24], "375": 9, "3803": 8, "4": [10, 17], "42": 6, "425": [17, 24], "48": 22, "4996": 13, "5": [5, 10, 12, 17, 22, 24], "500": [17, 24], "5419": 12, "5454": 12, "6": [5, 17, 18, 22], "60": [], "625": 12, "64": [1, 3, 5, 22], "681": 10, "698": 10, "730": 8, "8": [17, 18, 22], "800": [16, 19], "85": 9, "900": [16, 19], "96": 9, "98": 10, "A": [10, 11, 13, 17, 22], "For": [22, 24], "If": [7, 17], "It": [8, 12, 22], "Near": [8, 9, 12, 19], "Or": 24, "The": [8, 9, 10, 11, 12, 19, 20, 22, 26], "To": [16, 24], "_": 19, "_abc": [1, 2, 4], "_abc_data": [1, 2, 4], "_abc_impl": [0, 1, 2, 4], "_get_adjac": [1, 5], "_is_protocol": [1, 2], "_load": [0, 1, 2, 16, 17, 19, 24], "_make_load": [0, 1, 3], "_temporal_delta": [1, 5], "_to_devic": [0, 1, 3], "abc": [1, 4], "abi": 10, "abov": [], "abstract": [1, 3, 4, 21], "accept": 16, "access": 19, "accuraci": 21, "across": [11, 13, 14, 15, 19], "activ": [9, 15, 19], "adam": [16, 17, 20, 22, 24], "add": 16, "adj": 5, "adjac": [2, 5, 17, 22], "administr": 14, "adopt": 8, "advanc": 10, "aerosol": 10, "after": 16, "agenc": [14, 15], "aggreg": [15, 16, 21], "ai": 17, "al": [8, 10, 12, 19], "algorithm": 9, "allow": 19, "alpha": 5, "america": 10, "american": 10, "ametsoc": [], "amount": 8, "amp": [16, 20], "an": [2, 15, 22], "analysi": [8, 9, 10, 12, 13, 14, 15, 19], "analyz": 17, "ani": [1, 2, 3, 5, 22], "annual": [11, 13], "anomali": [9, 10], "api": [1, 3, 17, 19, 24], "append": [], "appli": [5, 22], "applic": [8, 12], "ar": [8, 9, 10, 11, 13, 14, 15, 20, 21, 22], "arcgi": 15, "architectur": [16, 17, 22], "arg": [2, 5], "argument": 16, "arrai": [], "aspp": 5, "aspp_channel": 5, "assess": [8, 9, 11, 13, 14, 17, 19], "assimil": [8, 12], "associ": [9, 15], "assum": [], "assur": 26, "atmospher": [8, 10, 12, 14, 19], "attribut": 8, "author": 17, "authorit": [15, 19], "auto": [1, 3, 20], "auto_devic": [1, 6, 20], "automat": [6, 24], "avail": [10, 13, 14, 20, 24], "available_dataset": [0, 1, 2], "available_model": [0, 1, 5, 22], "awar": [9, 10, 17], "b": [5, 8, 13], "back": 22, "backbon": [0, 1, 16, 17, 22], "background": 11, "backward": 5, "bam": 10, "band": 10, "base": [0, 1, 3, 4, 5, 9, 11, 13, 14, 15, 18, 19], "base_channel": 5, "baselin": [8, 10], "basic": 17, "batch": [2, 5, 22], "batch_siz": [1, 3, 5, 17, 22], "bcewithlogitsloss": [17, 22], "becaus": 22, "begin": 14, "behavior": [11, 19], "bell": 8, "below": 19, "benchmark": [8, 12, 19], "berrisford": 8, "beta": 5, "big": 10, "bin": [14, 19], "binari": [5, 17, 22], "block": 22, "bool": [], "both": [], "boundari": 8, "box": 17, "branch": 22, "brewer": 13, "bright": 10, "broad": 12, "build": [1, 5, 17], "build_model": [0, 1, 5, 16, 17, 20, 22, 24], "build_path": [], "builder": [0, 1, 2, 16, 22], "built": [17, 19, 21], "bulk": 11, "bulletin": 10, "bundl": [1, 2, 17, 22], "burn": [13, 19], "burnsever": [], "c": 5, "c00648": [14, 19], "c3": 8, "cache_dir": [1, 2], "calcul": 17, "call": 21, "callabl": 2, "can": [12, 16, 18, 22], "canopi": 11, "carri": 10, "categor": 13, "caus": 15, "cd": [8, 19], "center": [14, 15], "centr": 8, "chain": 16, "chang": [8, 13, 22], "channel": [0, 1, 2], "character": 11, "checkpoint": 20, "cheng": [17, 26], "choos": 6, "chunk": [], "class": [1, 2, 3, 4, 5, 13, 16, 17, 20, 24], "classif": [1, 5, 13, 16, 17, 19, 20, 22], "classificationhead": [0, 1, 5], "classificationmetr": [0, 1, 4, 16, 17, 20, 21, 24], "cli": 22, "clim": [], "climat": [8, 12], "closer": 10, "cloud": 10, "cnn": [1, 5, 16, 17, 22], "cnn_aspp_build": [1, 5], "cnnpatchencod": [0, 1, 5], "code": 26, "collat": [2, 17], "collate_fn": [1, 3, 17], "collect": 16, "com": [15, 17], "combin": [8, 9], "common": [0, 1, 21, 22, 23], "commonli": [15, 19], "commun": 26, "compat": 5, "compil": 14, "complex": [1, 3, 22], "compos": [22, 26], "comprehens": [8, 17], "comput": [0, 1, 2, 4, 16, 21], "concret": 2, "conda": 18, "condit": [], "confid": 9, "config": [20, 22], "consid": 7, "consist": [1, 5, 8, 11, 12], "construct": [1, 2, 19, 22], "contain": [1, 2, 15, 19], "content": [0, 19], "context": 19, "contextu": 10, "continu": [10, 12, 19], "contourf": [], "contribut": 26, "conv_kernel": 5, "conveni": 22, "convent": 12, "coordin": [8, 9, 10, 11, 12, 13, 14, 15], "copernicu": [8, 19], "core": 12, "correl": [17, 22], "correspond": 9, "count": [5, 22], "counti": [2, 5, 14, 17, 22], "coupl": 22, "covari": [8, 11, 12, 19], "cover": [11, 21], "coverag": [8, 9, 10, 11, 12, 13, 14, 15], "cpu": [16, 24], "cr": [], "creat": [16, 22], "critic": 10, "crop": 14, "crossentropyloss": [16, 17, 20, 24], "csiszar": 9, "csv": [9, 14], "cu126": 18, "cube": 22, "cuda": [18, 20, 24], "current": 2, "custom": [1, 3, 16, 17, 24], "d": [10, 12], "d2m": 22, "da": [], "dai": [2, 5, 9, 17, 22], "daili": 19, "damag": 14, "danger": 8, "dask": [], "data": [1, 2, 3, 17, 19, 22, 24], "data_bundl": [16, 20], "data_var": [], "dataandtool": [], "dataarrai": [], "databas": [14, 19], "databundl": [0, 1, 2, 16, 17, 19, 22, 24], "datafram": [], "dataload": [1, 3], "dataset": [0, 1, 9, 11, 12, 13, 14, 15, 17, 22, 24], "datasplit": [0, 1, 2, 16, 17, 19, 22, 24], "date": [15, 19], "date_end": [], "date_start": [], "datetim": [], "ddp": [3, 16, 17, 20], "dedic": 26, "def": [16, 17, 19, 22, 24], "default": [1, 5, 16, 20, 22], "default_build": [1, 5, 22], "deleg": [1, 5], "demonstr": 19, "densiti": 11, "depend": [9, 10, 11, 13, 15], "deploi": 17, "depth": [1, 5, 22], "deriv": [9, 10, 11, 13, 14, 19], "describ": [1, 2, 19], "descript": [0, 1, 2, 9, 14, 16, 17, 19, 24], "descriptor": 11, "design": [17, 21], "detail": 24, "detect": [9, 10, 15, 19, 24], "determinist": 6, "develop": 8, "devic": [1, 3, 6, 17, 23, 24], "device_str": 6, "dewpoint": 8, "df": [], "diagnost": [8, 10, 12], "dice": 21, "dict": [1, 2, 3, 4, 5, 22], "differ": [], "differenti": 22, "dilat": 5, "dimens": [], "direct": 26, "directli": 21, "directori": [], "discov": 19, "discover": 22, "discoveri": 15, "displai": [], "distanc": [17, 22], "distribut": [0, 1, 8, 9, 10, 15, 16], "distributedconfig": [1, 3], "disturb": 11, "dnbr": 13, "document": [14, 15, 24, 26], "doi": [8, 9, 10, 11, 12, 13], "dong": 26, "download": 18, "downstream": [1, 2], "dp": 3, "driven": [16, 22], "driver": [12, 14, 19], "drop": [], "dropout": 5, "drought": 12, "ds_pre": [], "ds_sfc": [], "dtype": [1, 2], "e": [9, 11, 12, 13, 15, 16, 19, 22], "each": [2, 9, 15, 19], "earli": [9, 10, 19], "earthdata": [9, 12], "earthquak": 2, "easi": [1, 2, 17], "ecmwf": [8, 19], "ecolog": [11, 13], "ecologi": 13, "ecosystem": 19, "edu": 26, "eidenshink": [13, 19], "els": [], "emerg": 14, "enabl": [5, 20], "encod": [1, 5, 16, 17, 22], "end": [11, 14, 21], "end_dat": [], "energi": 12, "engag": 26, "engin": [0, 1, 16, 17, 22, 24], "environ": [9, 18, 24], "environment": [8, 10, 12, 14, 17], "eosdi": [], "equal": [], "era": 12, "era5": [5, 17, 19, 22], "estim": [8, 12], "et": [8, 10, 12, 19], "etc": 2, "eu": [], "european": 8, "evalu": [0, 1, 3, 13, 16, 17, 20, 22, 24], "event": [9, 13, 15, 19], "evolut": 10, "exampl": [16, 17, 18], "exist": [], "explicitli": 24, "explor": 19, "export": [22, 24], "extend": [1, 3, 21], "extens": [17, 22], "extent": [13, 19], "extern": 5, "extra": [0, 1, 2, 17, 22], "extract": 14, "extractor": 22, "extrem": [8, 12], "ey": [17, 22], "f": [], "factori": [1, 2], "fake": [17, 22], "fall": 22, "fals": [1, 3, 5, 6, 17, 22], "familiar": [1, 3], "fatal": 14, "featur": [1, 2, 5, 16, 17, 19, 22, 24], "feature_spec": [0, 1, 2, 16, 17, 19, 22, 24], "featurespec": [0, 1, 2, 16, 17, 19, 22, 24], "field": [8, 10, 11, 12], "fifth": 8, "file": [13, 19], "filenotfounderror": [], "find": 7, "fire": [9, 10, 11, 13, 15, 17, 19, 22], "fireecologi": 13, "firelab": [], "firm": [15, 19], "first": [16, 17, 18, 24], "fit": [0, 1, 3, 16, 17, 20, 22, 24], "flag": [6, 9], "float": [1, 3, 4, 5, 17, 22], "flood": [2, 8, 19], "florida": 26, "flux": [8, 12], "follow": 7, "forc": [8, 12], "forecast": 8, "forest": 11, "format": [8, 9, 10, 11, 12, 13, 14, 15], "forward": [0, 1, 5], "found": [], "framework": 17, "frequenc": [10, 14, 19], "frequent": [], "from": [9, 10, 11, 13, 14, 16, 17, 19, 20, 21, 22, 24], "from_logit": 5, "frp": 9, "fsu": 26, "fuel": [9, 11, 13, 15, 19], "full": 21, "function": [2, 16, 17, 22, 24], "g": [9, 11, 12, 13, 15, 16, 19, 22], "gca": [], "gcn": 22, "gcn_hidden": 5, "gelaro": [12, 19], "gener": [5, 8, 10], "geodatabas": 13, "geograph": [9, 15], "geojson": [9, 15], "geolog": 13, "geometri": 15, "geopotenti": [8, 12], "geospati": [11, 15], "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": 15, "giglio": 9, "github": 17, "given": 22, "global": [8, 9, 12, 19], "gmao": [12, 19], "goe": [15, 19], "goesr": 19, "gov": [14, 19], "gpu": [16, 17, 20], "graph": 17, "graph_col": [1, 2, 17, 22], "graphtemporaldataset": [1, 2, 17, 22], "grib": 8, "grid": [3, 8, 9, 10, 11, 12, 14, 19, 20], "griffith": 10, "ground": [10, 15, 19], "growth": 10, "gru": [1, 5], "gsfc": [], "guid": 24, "gunshor": 10, "h": [5, 8], "h5netcdf": [], "handl": [20, 22], "hardwar": [0, 1, 20, 23], "hazard": [0, 1, 8, 9, 10, 11, 12, 14, 16, 17, 19, 24], "head": [0, 1, 16, 17, 22], "heat": 12, "height": [11, 12], "help": 24, "helper": [17, 20, 22, 23, 24], "hemispher": 10, "hersbach": [8, 19], "hidden": [16, 22], "hidden_dim": [1, 5, 16, 22], "high": [8, 10, 19], "highlight": 22, "histor": [8, 14, 15], "hold": 19, "home": [], "hotspot": [9, 15], "hourli": [8, 12, 19], "how": [16, 19], "howard": 13, "http": [8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19], "humid": 12, "hurrican": [2, 12], "i": [2, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 22, 26], "id": [14, 19], "ident": 22, "identifi": 15, "ignit": [10, 11, 13, 15, 19], "imag": 10, "imageri": [10, 13, 19], "impact": [13, 14, 19], "implement": [2, 3, 17, 19, 24], "import": [16, 17, 19, 20, 21, 22, 24], "in_channel": [1, 5], "in_dim": [1, 5, 16, 17, 20, 22, 24], "incid": [15, 19], "includ": [8, 9, 10, 11, 12, 13, 14, 15], "index": [2, 16, 17, 18], "indic": [9, 10], "individu": 13, "infer": [0, 1, 20], "inform": [9, 14, 15], "infrar": 10, "initi": 9, "injuri": 14, "input": [0, 1, 2, 3, 5, 8, 12, 19, 22], "input_dim": [0, 1, 2, 5, 16, 17, 19, 22, 24], "ins": 22, "inspect_d": [], "int": [1, 2, 3, 6, 16, 22], "integr": [9, 10, 11, 13, 14, 15], "interag": [15, 19], "interfac": [1, 5, 17, 19, 21, 24], "intern": [11, 22], "iou": 21, "ipython": [], "isel": [], "iso": [14, 19], "item": [], "iter": [1, 3], "j": [9, 10, 12, 13], "jcli": 12, "journal": [8, 11, 12], "k": 13, "keep": [1, 2, 5, 22], "keyerror": [], "kind": [], "km": 10, "kml": 9, "kwarg": [1, 2, 5, 16, 22], "l": 9, "label": [1, 2, 9, 14, 15, 17, 19, 22], "label_spec": [0, 1, 2, 16, 17, 19, 22, 24], "labelspec": [0, 1, 2, 16, 17, 19, 22, 24], "labrai": 17, "land": [8, 9, 12, 14, 19], "landfir": 19, "landsat": [13, 19], "landscap": [11, 19], "landslid": 2, "larg": [3, 20], "latest": 10, "latitud": [8, 9, 10, 12], "layer": [8, 11, 13, 16, 19, 22], "learn": [8, 11, 12, 14, 17], "len": [], "let": [], "level": [8, 9, 12, 14, 15, 19], "librari": 17, "lightweight": [1, 3, 5, 19, 22], "like": [17, 22], "limit": 12, "line": 16, "linear": [16, 22], "list": [1, 3], "list_var": [], "liter": 3, "load": [0, 1, 2, 16, 17, 24], "load_dataset": [0, 1, 2, 19], "loader": 2, "local": 14, "locat": [9, 14, 15, 19], "log": [17, 23], "logger": 6, "logic": 3, "logit": [5, 17, 22], "long": [12, 13, 19], "longitud": [8, 9, 10, 12], "look": 10, "loop": [1, 3, 22], "loss": 5, "loss_fn": [1, 3, 16, 17, 20, 22, 24], "lower": [], "lr": [16, 17, 20, 22, 24], "m": [8, 9, 10, 11, 12, 13, 19], "machin": [8, 11, 12, 17], "mae": 21, "maintain": 15, "mainten": 26, "make": [1, 2], "mamba": 5, "mamba_lay": 5, "manag": [9, 11, 14, 15, 17, 23], "map": [11, 13], "mask": [1, 5], "match": 18, "matplotlib": [], "matrix": [17, 22], "max": [], "max_epoch": [1, 3, 16, 17, 20, 22, 24], "max_show": [], "max_var": [], "mccarti": 12, "mean": [], "medium": 8, "merra": 19, "merra2": 19, "merra2_sfc_": [], "merra_pres_": [], "metadata": [0, 1, 2, 5, 13, 14, 15, 19], "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, 16, 21], "min": [], "minim": [1, 3, 22], "minut": 10, "miss": [], "mix": [17, 22], "mixed_precis": [1, 3, 16, 17, 20, 22, 24], "mlp": [1, 5, 16, 17, 20, 22, 24], "mlpbackbon": [0, 1, 5], "modap": [], "mode": 10, "model": [0, 1, 2, 3, 8, 9, 11, 12, 13, 14, 15, 17, 19, 20, 24], "modern": [8, 12], "modi": [9, 19], "modul": [0, 16, 17, 23], "modular": [16, 17], "moistur": 12, "monitor": [9, 10, 13, 19], "monthli": 14, "more": [22, 24], "motion": 10, "mtb": 19, "multi": [1, 5, 12, 16, 17], "multipl": [9, 10, 11, 20], "multispectr": [10, 19], "must": [], "my_custom_build": 22, "my_hazard": [16, 19], "my_mlp": [16, 22], "my_model_build": 16, "myhazard": 16, "myhazarddataset": 19, "n": 5, "n_var": [], "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], "nationwid": [11, 19], "natur": [8, 12, 17], "nc": [], "ncdc": [14, 19], "ncei": [14, 19], "need": [3, 21, 22], "neighbor": 22, "netcdf": [8, 10, 12], "netcdf4": [], "new": 9, "next": [5, 17, 22], "nifc": 15, "nn": [16, 17, 20, 22, 24], "no_grad": [17, 22], "noaa": [10, 19], "noaa_flood": 19, "none": [1, 2, 3, 4, 5, 6, 17, 22], "normal": [1, 2, 16], "note": 18, "np": [], "num_class": [1, 4, 5], "num_counti": [2, 5, 17, 22], "num_devic": [1, 6], "num_featur": [2, 5, 17, 22], "num_lay": [1, 5], "num_target": [0, 1, 2, 16, 17, 19, 22, 24], "num_work": [1, 3], "numer": 12, "numpi": [], "o": [], "obj": [1, 3], "object": [1, 2, 3, 4, 19], "observ": [8, 9, 10, 11, 12], "occurr": [9, 14, 15, 19], "ocean": 14, "offic": [12, 14], "offici": 15, "often": 19, "oliva": 9, "one": 17, "ongo": 15, "onlinelibrari": [], "open": [], "open_dataset": [], "open_merra": [], "opendata": 15, "oper": [9, 10, 19], "optim": [1, 3, 16, 17, 20, 22, 24], "option": [1, 2, 5, 8, 16, 17, 20, 22], "org": [8, 9, 10, 11, 12, 13, 18], "other": 23, "otherwis": 20, "our": 26, "out": 17, "out_dim": [1, 5, 16, 17, 20, 22, 24], "outdir": 19, "output": [1, 5, 19, 22], "over": [3, 10, 21, 22], "overpass": 9, "overrid": 5, "overview": 19, "own": [16, 22], "p": [8, 9, 10], "packag": 0, "page": [14, 17, 19], "pair": [14, 19], "panda": [], "paramet": [5, 16, 17, 20, 22, 24], "particularli": [10, 14], "pass": [16, 21, 22], "past_dai": [2, 5, 17, 22], "patch": [1, 5, 16, 21, 22], "path": [1, 3], "pathlib": [], "pattern": [9, 15], "pattern_pr": [], "pattern_sfc": [], "pd": [], "per": [5, 9, 22], "perimet": [13, 15, 19], "physic": 12, "pick": [], "pip": 18, "pipelin": [8, 9, 11, 12, 15, 17], "pixel": 21, "placehold": [2, 3, 20], "plain": 22, "plan": [11, 26], "pleas": [7, 17, 24], "plt": [], "plu": [1, 2, 19, 22], "point": [9, 10, 14, 15], "polygon": [13, 15], "popul": 2, "portal": [9, 11, 13, 15], "post": [13, 19], "potenti": 9, "power": [9, 17], "pre": [], "precipit": [8, 12], "precis": 17, "pred": [1, 4, 20], "predict": [0, 1, 3, 8, 9, 11, 12, 13, 14, 16, 17, 19, 20, 21, 22], "prefer": [3, 6], "preprocess": [2, 16], "pressur": [8, 12, 19], "print": [17, 22, 24], "prithvi": [], "prob": [17, 22], "probabl": [5, 17, 22], "process": 10, "produc": [8, 11, 12, 13], "product": [9, 10, 11, 13, 15], "profil": 12, "program": [10, 11, 13, 19], "project": [10, 11, 13, 15], "properti": 14, "protocol": 2, "provid": [1, 2, 8, 9, 10, 11, 12, 14, 15, 16, 17, 19, 22], "publicli": [9, 11, 13, 14, 15], "pyhazard": [16, 17, 19, 20, 21, 22, 23, 24, 26], "pyhazards2025": 17, "pyhazards_devic": [6, 24], "pyplot": [], "python": [17, 18, 19, 24], "pytorch": [17, 18, 22], "qj": 8, "qualiti": [9, 26], "quarterli": 8, "quasi": 11, "quayl": 13, "quick": 17, "quickli": [19, 24], "r": [12, 19], "radi": 9, "radianc": 10, "radiat": 8, "rais": [], "randint": [16, 17, 19, 22, 24], "randn": [16, 17, 19, 22, 24], "random": 22, "rang": 8, "rapid": [9, 10], "raster": [1, 3, 5, 10, 11, 13, 17, 19, 20, 22], "rather": 15, "rdnbr": 13, "re": 22, "readi": [1, 2, 17], "real": [9, 10, 15, 19], "reanalysi": [8, 10, 12, 14, 19], "receiv": 22, "recommend": 18, "record": [9, 10, 14, 15, 19], "refer": 24, "refresh": 10, "regim": [11, 13, 19], "region": 14, "regist": [2, 16, 17], "register_dataset": [0, 1, 2, 16, 19], "register_model": [0, 1, 5, 16, 22], "registr": [22, 24], "registri": [0, 1, 16, 17, 19, 22], "regress": [1, 2, 5, 16, 17, 22], "regressionhead": [0, 1, 5], "regressionmetr": [0, 1, 4, 21], "regular": [8, 12], "relat": [8, 10, 14, 19], "releas": 11, "relu": [16, 22], "remot": [9, 11, 13], "replac": [1, 3, 17, 22], "report": [14, 15, 19], "repres": 15, "research": [12, 17, 26], "reset": [0, 1, 4, 16, 21], "reset_index": [], "resolut": [8, 9, 10, 11, 12, 13, 14, 15], "resourc": [9, 11], "respect": 6, "respons": 26, "result": [16, 17, 20, 24], "retrospect": 12, "return": [1, 2, 3, 4, 5, 6, 16, 17, 19, 22, 24], "reusabl": [2, 16, 22], "review": 26, "risk": [8, 11, 17, 19], "rmet": [], "rmse": 21, "rollin": 11, "root": [], "row": [], "royal": 8, "rse": 9, "run": 20, "runyang": [], "sampl": [2, 17, 22], "satellit": [9, 10, 12, 15], "save": 20, "save_checkpoint": [0, 1, 3], "scalar": [1, 5], "scale": [11, 13], "schmit": 10, "schroeder": [9, 19], "schwind": 13, "search": 17, "see": 19, "seed": [6, 17, 23], "seed_al": [1, 6], "segment": [1, 5, 16, 17, 22], "segmentationhead": [0, 1, 5], "segmentationmetr": [0, 1, 4, 21], "select": [20, 22], "select_strategi": [1, 3], "self": [16, 17, 19, 24], "sens": [9, 11, 13], "sensibl": 20, "sensor": 9, "sequenti": [16, 22], "seri": [1, 5, 10, 19, 22], "serv": 19, "servic": [8, 9, 11, 12, 15], "set": [5, 8, 12, 24], "set_adjac": [1, 5], "set_aspect": [], "set_devic": [1, 6, 24], "sever": [13, 14, 19], "sfc": [], "shape": [1, 2, 5, 17, 22], "shapefil": [9, 13, 15], "ship": 22, "short": [], "should": [1, 2], "show": 16, "shuffl": [1, 3], "sigmoid": [5, 17, 22], "signal": [1, 5], "simpl": [1, 2, 5, 16, 17], "simplifi": 19, "simul": 11, "singl": [1, 2, 8, 19, 20], "situat": [9, 10], "size": 15, "skin": 12, "skipna": [], "slide": [3, 20], "slidingwindowinfer": [1, 3], "slowli": 11, "smoke": [10, 19], "smooth": 5, "so": [16, 22], "societi": [8, 10], "softwar": 17, "soil": 12, "sort_valu": [], "sourc": [1, 2, 3, 4, 5, 6, 15], "space": 22, "spatial": [5, 8, 9, 10, 11, 12, 13, 14, 15, 22], "spatio": 5, "spatiotempor": [8, 9, 12], "spec": [1, 2, 17, 19], "specif": [1, 2, 9, 22], "spectral": [10, 13], "split": [0, 1, 2, 3, 16, 17, 19, 20, 21, 22, 24], "spread": 11, "ssm": 22, "ssr": 22, "stack": [2, 22], "stamp": 9, "standard": [5, 8, 13], "start": [14, 17], "start_dat": [], "state": [8, 11, 12, 13, 14, 15, 22, 26], "state_dim": 5, "static": [5, 11, 19], "statist": [], "statu": [15, 19], "std": [], "step": [], "stitch": 3, "store": [8, 22], "storm": [14, 19], "str": [1, 2, 3, 4, 5, 16, 22], "strateg": 26, "strategi": [1, 3, 20], "strftime": [], "structur": [8, 9, 10, 11, 12, 13, 14, 15, 19], "studi": [8, 12, 13, 14, 15, 19], "style": [2, 5, 12, 17, 22], "subclass": [1, 2, 16], "submodul": [0, 1], "subpackag": 0, "summarize_da": [], "supervis": [9, 14], "support": [11, 13, 16, 17, 19, 20, 26], "surfac": [8, 9, 10, 12], "survei": 13, "su\u00e1rez": 12, "switch": 22, "system": [8, 9, 10, 11, 12, 13, 14, 15], "t": 10, "t2m": 22, "tab": [], "tabl": [], "tabular": [1, 5, 14, 17, 19, 22], "target": [0, 1, 2, 3, 4, 5, 9, 14, 16, 19, 21, 22], "task": [1, 2, 5, 8, 16, 17, 20, 21, 22, 24], "task_typ": [0, 1, 2, 16, 17, 19, 22, 24], "technic": 26, "temperatur": [8, 10, 12], "tempor": [2, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 19], "temporalencod": [0, 1, 5], "tensor": [1, 2, 3, 5, 9, 14, 17, 22], "term": [12, 13, 19], "test": [1, 2, 3, 16, 17, 19, 20, 24], "test_dai": [], "than": 15, "them": [2, 16, 22], "themat": 11, "thermal": [9, 10, 19], "thi": [1, 5, 14, 16, 22, 24], "through": [9, 10, 13, 15, 19], "throughout": [], "time": [1, 5, 9, 10, 12, 14, 15, 19, 22], "timestamp": 14, "titl": 17, "toi": 22, "too": [], "tool": 11, "topographi": 13, "torch": [16, 17, 18, 19, 20, 22, 24], "toyhazard": [17, 24], "tp": 22, "train": [1, 2, 3, 13, 17, 19, 20, 22, 24], "train_d": 17, "train_split": [1, 3], "trainer": [0, 1, 16, 17, 20, 21, 22, 24], "transform": [0, 1, 17], "treat": 15, "trend": [8, 12, 13], "true": [1, 2, 3, 5, 16, 17, 20, 22, 24], "truth": [10, 15, 19], "tupl": [], "tverski": 5, "tverskyloss": [1, 5], "two": [16, 22], "type": [1, 2, 3, 4, 5, 6, 11, 14, 22], "u": [11, 13, 14, 15, 19], "u10": 22, "under": 8, "unifi": [17, 19], "uniqu": 15, "unit": [11, 13, 14, 15], "univers": 26, "updat": [0, 1, 4, 9, 11, 14, 15, 16, 21], "url": [17, 18], "us": [5, 7, 16, 17, 18, 19, 20, 22, 24], "usag": [17, 22], "usda": [], "user": [16, 19], "usf": 19, "usg": 13, "util": [0, 1, 17, 19, 20, 24], "v10": 22, "val": [1, 2, 16, 17, 19, 22, 24], "val_d": 17, "val_split": [1, 3], "valid": [13, 15], "valu": [], "valueerror": [], "var": [], "vari": 11, "variabl": [19, 24], "vast": 8, "vector": 13, "veget": [11, 19], "version": [11, 12], "vertic": [8, 12], "via": [8, 11, 12, 14, 16, 17, 19, 20, 22], "view": 10, "viir": [9, 19], "visibl": 10, "visual": [], "w": [5, 9, 12], "we": 18, "weather": [8, 10, 12, 14], "western": 10, "wf08088": 11, "wfig": 19, "wheel": 18, "when": [9, 14, 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, 19], "wildfire_aspp_build": [1, 5], "wildfire_mamba": [17, 22], "wildfire_mamba_build": [1, 5], "wildfireaspp": [1, 5], "wildfirecnnaspp": [1, 5], "wildfiremamba": [1, 5], "wildland": [11, 15], "wilei": [], "wind": [8, 12], "window": [2, 3, 16, 17, 20], "window_fn": 3, "with_count_head": [5, 22], "work": [1, 3, 7, 22], "workflow": [12, 19], "wrap": [20, 22], "www": [14, 19], "wxc": 12, "x": [1, 2, 5, 16, 17, 19, 22, 24], "xarrai": [], "xc25": 26, "xml": [], "xr": [], "xueqi": [17, 26], "y": [2, 16, 17, 19, 22, 24], "year": [13, 17], "you": [7, 17, 22, 24], "your": [16, 17, 22], "yushun": 26, "yyyymmdd": [], "z": 13, "zhu": 13, "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", "Wildfire Mamba (spatio-temporal toy)", "Installation", "Datasets", "Engine", "Metrics", "Models", "Utils", "Quick Start", "References", "Core Team"], "titleterms": {"1": [], "2": 12, "3": [], "4": [], "5": [], "6": [], "academ": 25, "access": [8, 9, 10, 11, 12, 13, 14, 15], "backbon": 5, "base": [2, 22], "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": [19, 21], "classif": 24, "common": 6, "compon": 17, "config": [], "content": [1, 2, 3, 5, 6], "contributor": 26, "coord": [], "core": [17, 19, 20, 21, 22, 26], "custom": 22, "data": [8, 9, 10, 11, 12, 13, 14, 15], "dataset": [2, 16, 19], "date": [], "design": 22, "develop": 26, "devic": 20, "dim": [], "distribut": [3, 20], "engin": [3, 20], "era5": 8, "event": 14, "exampl": [19, 24], "filenam": [], "firm": 9, "flood": 14, "goe": 10, "gpu": 24, "guid": 16, "hardwar": 6, "hazard": 2, "head": 5, "helper": [], "how": [7, 17], "implement": 16, "import": [], "indic": 17, "infer": 3, "inspect": 19, "instal": 18, "landfir": 11, "lat": [], "lead": 26, "level": [], "load": [], "lon": [], "maintain": 26, "mamba": [17, 22], "map": [], "merra": 12, "metric": [4, 16, 21], "model": [5, 16, 22], "modul": [1, 2, 3, 5, 6, 20, 22], "mtb": 13, "next": 24, "noaa": 14, "note": 22, "overview": [8, 9, 10, 11, 12, 13, 14, 15], "packag": [1, 2, 3, 4, 5, 6], "path": [], "pattern": [], "plot": [], "princip": 26, "public": 25, "pyhazard": [0, 1, 2, 3, 4, 5, 6, 18], "quick": 24, "r": 10, "refer": [8, 9, 10, 11, 12, 13, 14, 15, 25], "regist": 22, "registri": [2, 5], "requir": 18, "setup": [], "skeleton": 19, "spatio": [17, 22], "start": 24, "stat": [], "step": 24, "submodul": [2, 3, 5, 6, 23], "subpackag": 1, "summari": [19, 20, 21, 22, 23], "support": 24, "tabl": 17, "tabular": 24, "team": 26, "tempor": [17, 22], "toi": [17, 24], "train": 16, "trainer": 3, "transform": [2, 16], "typic": [8, 9, 10, 11, 12, 13, 14, 15, 20], "us": [8, 9, 10, 11, 12, 13, 14, 15], "usag": [20, 21, 24], "util": [6, 23], "variabl": [8, 9, 10, 11, 12, 13, 14, 15], "wfig": 15, "wildfir": [17, 22]}}) \ No newline at end of file +Search.setIndex({"alltitles": {"Academic Publications": [[25, "academic-publications"]], "Access": [[8, "access"], [9, "access"], [10, "access"], [11, "access"], [12, "access"], [13, "access"], [14, "access"], [15, "access"]], "Basic Usage": [[24, "basic-usage"]], "Build a built-in model": [[22, "build-a-built-in-model"]], "Contributors": [[26, "contributors"]], "Core Components": [[17, "core-components"]], "Core Contributors": [[26, "core-contributors"]], "Core Team": [[26, null]], "Core classes": [[19, "core-classes"], [21, "core-classes"]], "Core modules": [[20, "core-modules"], [22, "core-modules"]], "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"]], "Dataset inspection": [[19, "dataset-inspection"]], "Datasets": [[16, "datasets"], [19, null], [19, "id1"]], "Design notes": [[22, "design-notes"]], "Distributed and devices": [[20, "distributed-and-devices"]], "ERA5": [[8, null]], "Engine": [[20, null]], "Example skeleton": [[19, "example-skeleton"]], "FIRMS": [[9, null]], "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"]], "Installation": [[18, null]], "Installing PyHazards": [[18, "installing-pyhazards"]], "LANDFIRE": [[11, null]], "Lead Developer": [[26, "lead-developer"]], "MERRA-2": [[12, null]], "MTBS": [[13, null]], "Mamba-based wildfire model (spatio-temporal)": [[22, "mamba-based-wildfire-model-spatio-temporal"]], "Metrics": [[16, "metrics"], [21, null]], "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"]], "Overview": [[8, "overview"], [9, "overview"], [10, "overview"], [11, "overview"], [12, "overview"], [13, "overview"], [14, "overview"], [15, "overview"]], "Principal Contributors & Maintainers": [[26, "principal-contributors-maintainers"]], "Quick Start": [[24, null]], "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"]], "Submodules": [[2, "submodules"], [3, "submodules"], [5, "submodules"], [6, "submodules"], [23, "submodules"]], "Subpackages": [[1, "subpackages"]], "Summary": [[19, "summary"], [20, "summary"], [21, "summary"], [22, "summary"], [23, "summary"]], "Toy Example (tabular classification)": [[24, "toy-example-tabular-classification"]], "Training": [[16, "training"]], "Transforms": [[16, "transforms"]], "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 Mamba (spatio-temporal toy)": [[17, 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"]]}, "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": {}, "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, "", "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, "", "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.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, 14, 15, 19, 26], "0": [1, 3, 5, 8, 10, 12, 16, 17, 18, 19, 22, 24], "00230": 10, "008": 9, "01": 19, "0301003": 13, "06": 5, "0758": 12, "08": 9, "1": [1, 3, 5, 10, 12, 13, 17, 22], "10": [8, 9, 10, 11, 12, 13, 16, 20], "100": [], "1000": [16, 19], "1002": 8, "1016": 9, "1071": 11, "1175": [10, 12], "12": [5, 18, 22], "128": [1, 5, 16, 22], "14": 12, "143": 9, "146": 8, "15": 10, "16": [10, 12, 16, 17, 19, 20, 22, 24], "17": 10, "18": [10, 11], "1999": 8, "1e": [5, 16, 17, 20, 22, 24], "2": [1, 5, 8, 10, 16, 17, 18, 19, 20, 22, 24], "2007": [13, 19], "2009": 11, "2013": 9, "2014": [9, 19], "2017": [10, 12, 19], "2020": [8, 19], "2024": 19, "2025": 17, "2049": 8, "21": 13, "235": 11, "24": 17, "249": 11, "25": 8, "256": [1, 5, 22], "3": [1, 5, 11, 13, 16, 17, 18, 20, 22, 24], "30": [11, 12, 13], "31": [], "32": [1, 3, 5, 17, 22], "350": [17, 24], "375": 9, "3803": 8, "4": [10, 17], "42": 6, "425": [17, 24], "48": 22, "4996": 13, "5": [5, 10, 12, 17, 22, 24], "500": [17, 24], "5419": 12, "5454": 12, "6": [5, 17, 18, 22], "60": [], "625": 12, "64": [1, 3, 5, 22], "681": 10, "698": 10, "730": 8, "8": [17, 18, 22], "800": [16, 19], "85": 9, "900": [16, 19], "96": 9, "98": 10, "A": [10, 11, 13, 17, 22], "For": [22, 24], "If": [7, 17], "It": [8, 12, 22], "Near": [8, 9, 12, 19], "Or": 24, "The": [8, 9, 10, 11, 12, 19, 20, 22, 26], "To": [16, 24], "_": [], "_abc": [1, 2, 4], "_abc_data": [1, 2, 4], "_abc_impl": [0, 1, 2, 4], "_get_adjac": [1, 5], "_is_protocol": [1, 2], "_load": [0, 1, 2, 16, 17, 19, 24], "_make_load": [0, 1, 3], "_temporal_delta": [1, 5], "_to_devic": [0, 1, 3], "abc": [1, 4], "abi": 10, "abov": [], "abstract": [1, 3, 4, 21], "accept": 16, "access": [], "accuraci": 21, "across": [11, 13, 14, 15, 19], "activ": [9, 15, 19], "adam": [16, 17, 20, 22, 24], "add": 16, "adj": 5, "adjac": [2, 5, 17, 22], "administr": 14, "adopt": 8, "advanc": 10, "aerosol": 10, "after": 16, "agenc": [14, 15], "aggreg": [15, 16, 21], "ai": 17, "al": [8, 10, 12, 19], "algorithm": 9, "allow": 19, "alpha": 5, "america": 10, "american": 10, "ametsoc": [], "amount": 8, "amp": [16, 20], "an": [2, 15, 22], "analysi": [8, 9, 10, 12, 13, 14, 15, 19], "analyz": 17, "ani": [1, 2, 3, 5, 22], "annual": [11, 13], "anomali": [9, 10], "api": [1, 3, 17, 19, 24], "append": [], "appli": [5, 22], "applic": [8, 12], "ar": [8, 9, 10, 11, 13, 14, 15, 20, 21, 22], "arcgi": 15, "architectur": [16, 17, 22], "arg": [2, 5], "argument": 16, "arrai": [], "aspp": 5, "aspp_channel": 5, "assess": [8, 9, 11, 13, 14, 17, 19], "assimil": [8, 12], "associ": [9, 15], "assum": [], "assur": 26, "atmospher": [8, 10, 12, 14, 19], "attribut": 8, "author": 17, "authorit": [15, 19], "auto": [1, 3, 20], "auto_devic": [1, 6, 20], "automat": [6, 24], "avail": [10, 13, 14, 20, 24], "available_dataset": [0, 1, 2], "available_model": [0, 1, 5, 22], "awar": [9, 10, 17], "b": [5, 8, 13], "back": 22, "backbon": [0, 1, 16, 17, 22], "background": 11, "backward": 5, "bam": 10, "band": 10, "base": [0, 1, 3, 4, 5, 9, 11, 13, 14, 15, 18, 19], "base_channel": 5, "baselin": [8, 10], "basic": 17, "batch": [2, 5, 22], "batch_siz": [1, 3, 5, 17, 22], "bcewithlogitsloss": [17, 22], "becaus": 22, "begin": 14, "behavior": [11, 19], "bell": 8, "below": 19, "benchmark": [8, 12, 19], "berrisford": 8, "beta": 5, "big": 10, "bin": 14, "binari": [5, 17, 22], "block": 22, "bool": [], "both": [], "boundari": 8, "box": 17, "branch": 22, "brewer": 13, "bright": 10, "broad": 12, "build": [1, 5, 17], "build_model": [0, 1, 5, 16, 17, 20, 22, 24], "build_path": [], "builder": [0, 1, 2, 16, 22], "built": [17, 19, 21], "bulk": 11, "bulletin": 10, "bundl": [1, 2, 17, 22], "burn": [13, 19], "burnsever": [], "c": 5, "c00648": 14, "c3": 8, "cache_dir": [1, 2], "calcul": 17, "call": 21, "callabl": 2, "can": [12, 16, 18, 22], "canopi": 11, "carri": 10, "categor": 13, "caus": 15, "cd": [8, 19], "center": [14, 15], "centr": 8, "chain": 16, "chang": [8, 13, 22], "channel": [0, 1, 2], "character": 11, "checkpoint": 20, "cheng": [17, 26], "choos": 6, "chunk": [], "class": [1, 2, 3, 4, 5, 13, 16, 17, 20, 24], "classif": [1, 5, 13, 16, 17, 19, 20, 22], "classificationhead": [0, 1, 5], "classificationmetr": [0, 1, 4, 16, 17, 20, 21, 24], "cli": 22, "clim": [], "climat": [8, 12], "closer": 10, "cloud": 10, "cnn": [1, 5, 16, 17, 22], "cnn_aspp_build": [1, 5], "cnnpatchencod": [0, 1, 5], "code": 26, "collat": [2, 17], "collate_fn": [1, 3, 17], "collect": 16, "com": [15, 17], "combin": [8, 9], "common": [0, 1, 21, 22, 23], "commonli": [15, 19], "commun": 26, "compat": 5, "compil": 14, "complex": [1, 3, 22], "compos": [22, 26], "comprehens": [8, 17], "comput": [0, 1, 2, 4, 16, 21], "concret": 2, "conda": 18, "condit": [], "confid": 9, "config": [20, 22], "consid": 7, "consist": [1, 5, 8, 11, 12], "construct": [1, 2, 19, 22], "contain": [1, 2, 15, 19], "content": [0, 19], "context": 19, "contextu": 10, "continu": [10, 12, 19], "contourf": [], "contribut": 26, "conv_kernel": 5, "conveni": 22, "convent": 12, "coordin": [8, 9, 10, 11, 12, 13, 14, 15], "copernicu": [8, 19], "core": 12, "correl": [17, 22], "correspond": 9, "count": [5, 22], "counti": [2, 5, 14, 17, 22], "coupl": 22, "covari": [8, 11, 12, 19], "cover": [11, 21], "coverag": [8, 9, 10, 11, 12, 13, 14, 15], "cpu": [16, 24], "cr": [], "creat": [16, 22], "critic": 10, "crop": 14, "crossentropyloss": [16, 17, 20, 24], "csiszar": 9, "csv": [9, 14], "cu126": 18, "cube": 22, "cuda": [18, 20, 24], "current": 2, "custom": [1, 3, 16, 17, 24], "d": [10, 12], "d2m": 22, "da": [], "dai": [2, 5, 9, 17, 22], "daili": 19, "damag": 14, "danger": 8, "dask": [], "data": [1, 2, 3, 17, 19, 22, 24], "data_bundl": [16, 20], "data_var": [], "dataandtool": [], "dataarrai": [], "databas": [14, 19], "databundl": [0, 1, 2, 16, 17, 19, 22, 24], "datafram": [], "dataload": [1, 3], "dataset": [0, 1, 9, 11, 12, 13, 14, 15, 17, 22, 24], "datasplit": [0, 1, 2, 16, 17, 19, 22, 24], "date": [15, 19], "date_end": [], "date_start": [], "datetim": [], "ddp": [3, 16, 17, 20], "dedic": 26, "def": [16, 17, 19, 22, 24], "default": [1, 5, 16, 20, 22], "default_build": [1, 5, 22], "deleg": [1, 5], "demonstr": 19, "densiti": 11, "depend": [9, 10, 11, 13, 15], "deploi": 17, "depth": [1, 5, 22], "deriv": [9, 10, 11, 13, 14, 19], "describ": [1, 2, 19], "descript": [0, 1, 2, 9, 14, 16, 17, 19, 24], "descriptor": 11, "design": [17, 21], "detail": 24, "detect": [9, 10, 15, 19, 24], "determinist": 6, "develop": 8, "devic": [1, 3, 6, 17, 23, 24], "device_str": 6, "dewpoint": 8, "df": [], "diagnost": [8, 10, 12], "dice": 21, "dict": [1, 2, 3, 4, 5, 22], "differ": [], "differenti": 22, "dilat": 5, "dimens": [], "direct": 26, "directli": 21, "directori": [], "discov": 19, "discover": 22, "discoveri": 15, "displai": [], "distanc": [17, 22], "distribut": [0, 1, 8, 9, 10, 15, 16], "distributedconfig": [1, 3], "disturb": 11, "dnbr": 13, "document": [14, 15, 24, 26], "doi": [8, 9, 10, 11, 12, 13], "dong": 26, "download": 18, "downstream": [1, 2], "dp": 3, "driven": [16, 22], "driver": [12, 14, 19], "drop": [], "dropout": 5, "drought": 12, "ds_pre": [], "ds_sfc": [], "dtype": [1, 2], "e": [9, 11, 12, 13, 15, 16, 19, 22], "each": [2, 9, 15, 19], "earli": [9, 10, 19], "earthdata": [9, 12], "earthquak": 2, "easi": [1, 2, 17], "ecmwf": [8, 19], "ecolog": [11, 13], "ecologi": 13, "ecosystem": 19, "edu": 26, "eidenshink": [13, 19], "els": [], "emerg": 14, "enabl": [5, 20], "encod": [1, 5, 16, 17, 22], "end": [11, 14, 21], "end_dat": [], "energi": 12, "engag": 26, "engin": [0, 1, 16, 17, 22, 24], "environ": [9, 18, 24], "environment": [8, 10, 12, 14, 17], "eosdi": [], "equal": [], "era": 12, "era5": [5, 17, 19, 22], "estim": [8, 12], "et": [8, 10, 12, 19], "etc": 2, "eu": [], "european": 8, "evalu": [0, 1, 3, 13, 16, 17, 20, 22, 24], "event": [9, 13, 15, 19], "evolut": 10, "exampl": [16, 17, 18], "exist": [], "explicitli": 24, "explor": 19, "export": [22, 24], "extend": [1, 3, 21], "extens": [17, 22], "extent": [13, 19], "extern": 5, "extra": [0, 1, 2, 17, 22], "extract": 14, "extractor": 22, "extrem": [8, 12], "ey": [17, 22], "f": [], "factori": [1, 2], "fake": [17, 22], "fall": 22, "fals": [1, 3, 5, 6, 17, 22], "familiar": [1, 3], "fatal": 14, "featur": [1, 2, 5, 16, 17, 19, 22, 24], "feature_spec": [0, 1, 2, 16, 17, 19, 22, 24], "featurespec": [0, 1, 2, 16, 17, 19, 22, 24], "field": [8, 10, 11, 12], "fifth": 8, "file": [13, 19], "filenotfounderror": [], "find": 7, "fire": [9, 10, 11, 13, 15, 17, 19, 22], "fireecologi": 13, "firelab": [], "firm": [15, 19], "first": [16, 17, 18, 24], "fit": [0, 1, 3, 16, 17, 20, 22, 24], "flag": [6, 9], "float": [1, 3, 4, 5, 17, 22], "flood": [2, 8, 19], "florida": 26, "flux": [8, 12], "follow": 7, "forc": [8, 12], "forecast": 8, "forest": 11, "format": [8, 9, 10, 11, 12, 13, 14, 15], "forward": [0, 1, 5], "found": [], "framework": 17, "frequenc": [10, 14, 19], "frequent": [], "from": [9, 10, 11, 13, 14, 16, 17, 19, 20, 21, 22, 24], "from_logit": 5, "frp": 9, "fsu": 26, "fuel": [9, 11, 13, 15, 19], "full": 21, "function": [2, 16, 17, 22, 24], "g": [9, 11, 12, 13, 15, 16, 19, 22], "gca": [], "gcn": 22, "gcn_hidden": 5, "gelaro": [12, 19], "gener": [5, 8, 10], "geodatabas": 13, "geograph": [9, 15], "geojson": [9, 15], "geolog": 13, "geometri": 15, "geopotenti": [8, 12], "geospati": [11, 15], "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": 15, "giglio": 9, "github": 17, "given": 22, "global": [8, 9, 12, 19], "gmao": [12, 19], "goe": [15, 19], "goesr": 19, "gov": 14, "gpu": [16, 17, 20], "graph": 17, "graph_col": [1, 2, 17, 22], "graphtemporaldataset": [1, 2, 17, 22], "grib": 8, "grid": [3, 8, 9, 10, 11, 12, 14, 19, 20], "griffith": 10, "ground": [10, 15, 19], "growth": 10, "gru": [1, 5], "gsfc": [], "guid": 24, "gunshor": 10, "h": [5, 8], "h5netcdf": [], "handl": [20, 22], "hardwar": [0, 1, 20, 23], "hazard": [0, 1, 8, 9, 10, 11, 12, 14, 16, 17, 19, 24], "head": [0, 1, 16, 17, 22], "heat": 12, "height": [11, 12], "help": 24, "helper": [17, 20, 22, 23, 24], "hemispher": 10, "hersbach": [8, 19], "hidden": [16, 22], "hidden_dim": [1, 5, 16, 22], "high": [8, 10, 19], "highlight": 22, "histor": [8, 14, 15], "hold": 19, "home": [], "hotspot": [9, 15], "hourli": [8, 12, 19], "how": [16, 19], "howard": 13, "http": [8, 9, 10, 11, 12, 13, 14, 15, 17, 18], "humid": 12, "hurrican": [2, 12], "i": [2, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 22, 26], "id": 14, "ident": 22, "identifi": 15, "ignit": [10, 11, 13, 15, 19], "imag": 10, "imageri": [10, 13, 19], "impact": [13, 14, 19], "implement": [2, 3, 17, 19, 24], "import": [16, 17, 19, 20, 21, 22, 24], "in_channel": [1, 5], "in_dim": [1, 5, 16, 17, 20, 22, 24], "incid": [15, 19], "includ": [8, 9, 10, 11, 12, 13, 14, 15], "index": [2, 16, 17, 18], "indic": [9, 10], "individu": 13, "infer": [0, 1, 20], "inform": [9, 14, 15], "infrar": 10, "initi": 9, "injuri": 14, "input": [0, 1, 2, 3, 5, 8, 12, 19, 22], "input_dim": [0, 1, 2, 5, 16, 17, 19, 22, 24], "ins": 22, "inspect_d": [], "int": [1, 2, 3, 6, 16, 22], "integr": [9, 10, 11, 13, 14, 15], "interag": [15, 19], "interfac": [1, 5, 17, 19, 21, 24], "intern": [11, 22], "iou": 21, "ipython": [], "isel": [], "iso": 14, "item": [], "iter": [1, 3], "j": [9, 10, 12, 13], "jcli": 12, "journal": [8, 11, 12], "k": 13, "keep": [1, 2, 5, 22], "keyerror": [], "kind": [], "km": 10, "kml": 9, "kwarg": [1, 2, 5, 16, 22], "l": 9, "label": [1, 2, 9, 14, 15, 17, 19, 22], "label_spec": [0, 1, 2, 16, 17, 19, 22, 24], "labelspec": [0, 1, 2, 16, 17, 19, 22, 24], "labrai": 17, "land": [8, 9, 12, 14], "landfir": 19, "landsat": [13, 19], "landscap": [11, 19], "landslid": 2, "larg": [3, 20], "latest": 10, "latitud": [8, 9, 10, 12], "layer": [8, 11, 13, 16, 19, 22], "learn": [8, 11, 12, 14, 17], "len": [], "let": [], "level": [8, 9, 12, 14, 15, 19], "librari": 17, "lightweight": [1, 3, 5, 19, 22], "like": [17, 22], "limit": 12, "line": 16, "linear": [16, 22], "list": [1, 3], "list_var": [], "liter": 3, "load": [0, 1, 2, 16, 17, 24], "load_dataset": [0, 1, 2, 19], "loader": 2, "local": 14, "locat": [9, 14, 15, 19], "log": [17, 23], "logger": 6, "logic": 3, "logit": [5, 17, 22], "long": [12, 13, 19], "longitud": [8, 9, 10, 12], "look": 10, "loop": [1, 3, 22], "loss": 5, "loss_fn": [1, 3, 16, 17, 20, 22, 24], "lower": [], "lr": [16, 17, 20, 22, 24], "m": [8, 9, 10, 11, 12, 13, 19], "machin": [8, 11, 12, 17], "mae": 21, "maintain": 15, "mainten": 26, "make": [1, 2], "mamba": 5, "mamba_lay": 5, "manag": [9, 11, 14, 15, 17, 23], "map": [11, 13], "mask": [1, 5], "match": 18, "matplotlib": [], "matrix": [17, 22], "max": [], "max_epoch": [1, 3, 16, 17, 20, 22, 24], "max_show": [], "max_var": [], "mccarti": 12, "mean": [], "medium": 8, "merra": 19, "merra2": 19, "merra2_sfc_": [], "merra_pres_": [], "metadata": [0, 1, 2, 5, 13, 14, 15, 19], "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, 16, 21], "min": [], "minim": [1, 3, 22], "minut": 10, "miss": [], "mix": [17, 22], "mixed_precis": [1, 3, 16, 17, 20, 22, 24], "mlp": [1, 5, 16, 17, 20, 22, 24], "mlpbackbon": [0, 1, 5], "modap": [], "mode": 10, "model": [0, 1, 2, 3, 8, 9, 11, 12, 13, 14, 15, 17, 19, 20, 24], "modern": [8, 12], "modi": [9, 19], "modul": [0, 16, 17, 23], "modular": [16, 17], "moistur": 12, "monitor": [9, 10, 13, 19], "monthli": 14, "more": [22, 24], "motion": 10, "mtb": 19, "multi": [1, 5, 12, 16, 17], "multipl": [9, 10, 11, 20], "multispectr": [10, 19], "must": [], "my_custom_build": 22, "my_hazard": [16, 19], "my_mlp": [16, 22], "my_model_build": 16, "myhazard": 16, "myhazarddataset": 19, "n": 5, "n_var": [], "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], "nationwid": [11, 19], "natur": [8, 12, 17], "nc": [], "ncdc": 14, "ncei": 14, "need": [3, 21, 22], "neighbor": 22, "netcdf": [8, 10, 12], "netcdf4": [], "new": 9, "next": [5, 17, 22], "nifc": 15, "nn": [16, 17, 20, 22, 24], "no_grad": [17, 22], "noaa": [10, 19], "noaa_flood": 19, "none": [1, 2, 3, 4, 5, 6, 17, 22], "normal": [1, 2, 16], "note": 18, "np": [], "num_class": [1, 4, 5], "num_counti": [2, 5, 17, 22], "num_devic": [1, 6], "num_featur": [2, 5, 17, 22], "num_lay": [1, 5], "num_target": [0, 1, 2, 16, 17, 19, 22, 24], "num_work": [1, 3], "numer": 12, "numpi": [], "o": [], "obj": [1, 3], "object": [1, 2, 3, 4, 19], "observ": [8, 9, 10, 11, 12], "occurr": [9, 14, 15, 19], "ocean": 14, "offic": [12, 14], "offici": 15, "often": 19, "oliva": 9, "one": 17, "ongo": 15, "onlinelibrari": [], "open": [], "open_dataset": [], "open_merra": [], "opendata": 15, "oper": [9, 10, 19], "optim": [1, 3, 16, 17, 20, 22, 24], "option": [1, 2, 5, 8, 16, 17, 20, 22], "org": [8, 9, 10, 11, 12, 13, 18], "other": 23, "otherwis": 20, "our": 26, "out": 17, "out_dim": [1, 5, 16, 17, 20, 22, 24], "outdir": 19, "output": [1, 5, 19, 22], "over": [3, 10, 21, 22], "overpass": 9, "overrid": 5, "overview": 19, "own": [16, 22], "p": [8, 9, 10], "packag": 0, "page": [14, 17], "pair": [14, 19], "panda": [], "paramet": [5, 16, 17, 20, 22, 24], "particularli": [10, 14], "pass": [16, 21, 22], "past_dai": [2, 5, 17, 22], "patch": [1, 5, 16, 21, 22], "path": [1, 3], "pathlib": [], "pattern": [9, 15], "pattern_pr": [], "pattern_sfc": [], "pd": [], "per": [5, 9, 22], "perimet": [13, 15, 19], "physic": 12, "pick": [], "pip": 18, "pipelin": [8, 9, 11, 12, 15, 17], "pixel": 21, "placehold": [2, 3, 20], "plain": 22, "plan": [11, 26], "pleas": [7, 17, 24], "plt": [], "plu": [1, 2, 19, 22], "point": [9, 10, 14, 15], "polygon": [13, 15], "popul": 2, "portal": [9, 11, 13, 15], "post": [13, 19], "potenti": 9, "power": [9, 17], "pre": [], "precipit": [8, 12], "precis": 17, "pred": [1, 4, 20], "predict": [0, 1, 3, 8, 9, 11, 12, 13, 14, 16, 17, 19, 20, 21, 22], "prefer": [3, 6], "preprocess": [2, 16], "pressur": [8, 12, 19], "print": [17, 22, 24], "prithvi": [], "prob": [17, 22], "probabl": [5, 17, 22], "process": 10, "produc": [8, 11, 12, 13], "product": [9, 10, 11, 13, 15], "profil": 12, "program": [10, 11, 13, 19], "project": [10, 11, 13, 15], "properti": 14, "protocol": 2, "provid": [1, 2, 8, 9, 10, 11, 12, 14, 15, 16, 17, 19, 22], "publicli": [9, 11, 13, 14, 15], "pyhazard": [16, 17, 19, 20, 21, 22, 23, 24, 26], "pyhazards2025": 17, "pyhazards_devic": [6, 24], "pyplot": [], "python": [17, 18, 19, 24], "pytorch": [17, 18, 22], "qj": 8, "qualiti": [9, 26], "quarterli": 8, "quasi": 11, "quayl": 13, "quick": 17, "quickli": [19, 24], "r": [12, 19], "radi": 9, "radianc": 10, "radiat": 8, "rais": [], "randint": [16, 17, 19, 22, 24], "randn": [16, 17, 19, 22, 24], "random": 22, "rang": 8, "rapid": [9, 10], "raster": [1, 3, 5, 10, 11, 13, 17, 19, 20, 22], "rather": 15, "rdnbr": 13, "re": 22, "readi": [1, 2, 17], "real": [9, 10, 15, 19], "reanalysi": [8, 10, 12, 14, 19], "receiv": 22, "recommend": 18, "record": [9, 10, 14, 15, 19], "refer": 24, "refresh": 10, "regim": [11, 13, 19], "region": 14, "regist": [2, 16, 17], "register_dataset": [0, 1, 2, 16, 19], "register_model": [0, 1, 5, 16, 22], "registr": [22, 24], "registri": [0, 1, 16, 17, 19, 22], "regress": [1, 2, 5, 16, 17, 22], "regressionhead": [0, 1, 5], "regressionmetr": [0, 1, 4, 21], "regular": [8, 12], "relat": [8, 10, 14, 19], "releas": 11, "relu": [16, 22], "remot": [9, 11, 13], "replac": [1, 3, 17, 22], "report": [14, 15, 19], "repres": 15, "research": [12, 17, 26], "reset": [0, 1, 4, 16, 21], "reset_index": [], "resolut": [8, 9, 10, 11, 12, 13, 14, 15], "resourc": [9, 11], "respect": 6, "respons": 26, "result": [16, 17, 20, 24], "retrospect": 12, "return": [1, 2, 3, 4, 5, 6, 16, 17, 19, 22, 24], "reusabl": [2, 16, 22], "review": 26, "risk": [8, 11, 17, 19], "rmet": [], "rmse": 21, "rollin": 11, "root": [], "row": [], "royal": 8, "rse": 9, "run": 20, "runyang": [], "sampl": [2, 17, 22], "satellit": [9, 10, 12, 15], "save": 20, "save_checkpoint": [0, 1, 3], "scalar": [1, 5], "scale": [11, 13], "schmit": 10, "schroeder": [9, 19], "schwind": 13, "search": 17, "see": 19, "seed": [6, 17, 23], "seed_al": [1, 6], "segment": [1, 5, 16, 17, 22], "segmentationhead": [0, 1, 5], "segmentationmetr": [0, 1, 4, 21], "select": [20, 22], "select_strategi": [1, 3], "self": [16, 17, 19, 24], "sens": [9, 11, 13], "sensibl": 20, "sensor": 9, "sequenti": [16, 22], "seri": [1, 5, 10, 19, 22], "serv": 19, "servic": [8, 9, 11, 12, 15], "set": [5, 8, 12, 24], "set_adjac": [1, 5], "set_aspect": [], "set_devic": [1, 6, 24], "sever": [13, 14, 19], "sfc": [], "shape": [1, 2, 5, 17, 22], "shapefil": [9, 13, 15], "ship": 22, "short": [], "should": [1, 2], "show": 16, "shuffl": [1, 3], "sigmoid": [5, 17, 22], "signal": [1, 5], "simpl": [1, 2, 5, 16, 17], "simplifi": 19, "simul": 11, "singl": [1, 2, 8, 19, 20], "situat": [9, 10], "size": 15, "skin": 12, "skipna": [], "slide": [3, 20], "slidingwindowinfer": [1, 3], "slowli": 11, "smoke": [10, 19], "smooth": 5, "so": [16, 22], "societi": [8, 10], "softwar": 17, "soil": 12, "sort_valu": [], "sourc": [1, 2, 3, 4, 5, 6, 15], "space": 22, "spatial": [5, 8, 9, 10, 11, 12, 13, 14, 15, 22], "spatio": 5, "spatiotempor": [8, 9, 12], "spec": [1, 2, 17, 19], "specif": [1, 2, 9, 22], "spectral": [10, 13], "split": [0, 1, 2, 3, 16, 17, 19, 20, 21, 22, 24], "spread": 11, "ssm": 22, "ssr": 22, "stack": [2, 22], "stamp": 9, "standard": [5, 8, 13], "start": [14, 17], "start_dat": [], "state": [8, 11, 12, 13, 14, 15, 22, 26], "state_dim": 5, "static": [5, 11, 19], "statist": [], "statu": [15, 19], "std": [], "step": [], "stitch": 3, "store": [8, 22], "storm": [14, 19], "str": [1, 2, 3, 4, 5, 16, 22], "strateg": 26, "strategi": [1, 3, 20], "strftime": [], "structur": [8, 9, 10, 11, 12, 13, 14, 15, 19], "studi": [8, 12, 13, 14, 15, 19], "style": [2, 5, 12, 17, 22], "subclass": [1, 2, 16], "submodul": [0, 1], "subpackag": 0, "summarize_da": [], "supervis": [9, 14], "support": [11, 13, 16, 17, 19, 20, 26], "surfac": [8, 9, 10, 12], "survei": 13, "su\u00e1rez": 12, "switch": 22, "system": [8, 9, 10, 11, 12, 13, 14, 15], "t": 10, "t2m": 22, "tab": [], "tabl": [], "tabular": [1, 5, 14, 17, 19, 22], "target": [0, 1, 2, 3, 4, 5, 9, 14, 16, 19, 21, 22], "task": [1, 2, 5, 8, 16, 17, 20, 21, 22, 24], "task_typ": [0, 1, 2, 16, 17, 19, 22, 24], "technic": 26, "temperatur": [8, 10, 12], "tempor": [2, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 19], "temporalencod": [0, 1, 5], "tensor": [1, 2, 3, 5, 9, 14, 17, 22], "term": [12, 13, 19], "test": [1, 2, 3, 16, 17, 19, 20, 24], "test_dai": [], "than": 15, "them": [2, 16, 22], "themat": 11, "thermal": [9, 10, 19], "thi": [1, 5, 14, 16, 22, 24], "through": [9, 10, 13, 15, 19], "throughout": [], "time": [1, 5, 9, 10, 12, 14, 15, 19, 22], "timestamp": 14, "titl": 17, "toi": 22, "too": [], "tool": 11, "topographi": 13, "torch": [16, 17, 18, 19, 20, 22, 24], "toyhazard": [17, 24], "tp": 22, "train": [1, 2, 3, 13, 17, 19, 20, 22, 24], "train_d": 17, "train_split": [1, 3], "trainer": [0, 1, 16, 17, 20, 21, 22, 24], "transform": [0, 1, 17], "treat": 15, "trend": [8, 12, 13], "true": [1, 2, 3, 5, 16, 17, 20, 22, 24], "truth": [10, 15, 19], "tupl": [], "tverski": 5, "tverskyloss": [1, 5], "two": [16, 22], "type": [1, 2, 3, 4, 5, 6, 11, 14, 22], "u": [11, 13, 14, 15, 19], "u10": 22, "under": 8, "unifi": [17, 19], "uniqu": 15, "unit": [11, 13, 14, 15], "univers": 26, "updat": [0, 1, 4, 9, 11, 14, 15, 16, 21], "url": [17, 18], "us": [5, 7, 16, 17, 18, 19, 20, 22, 24], "usag": [17, 22], "usda": [], "user": [16, 19], "usf": 19, "usg": 13, "util": [0, 1, 17, 19, 20, 24], "v10": 22, "val": [1, 2, 16, 17, 19, 22, 24], "val_d": 17, "val_split": [1, 3], "valid": [13, 15], "valu": [], "valueerror": [], "var": [], "vari": 11, "variabl": [19, 24], "vast": 8, "vector": 13, "veget": [11, 19], "version": [11, 12], "vertic": [8, 12], "via": [8, 11, 12, 14, 16, 17, 19, 20, 22], "view": 10, "viir": [9, 19], "visibl": 10, "visual": [], "w": [5, 9, 12], "we": 18, "weather": [8, 10, 12, 14], "western": 10, "wf08088": 11, "wfig": 19, "wheel": 18, "when": [9, 14, 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, 19], "wildfire_aspp_build": [1, 5], "wildfire_mamba": [17, 22], "wildfire_mamba_build": [1, 5], "wildfireaspp": [1, 5], "wildfirecnnaspp": [1, 5], "wildfiremamba": [1, 5], "wildland": [11, 15], "wilei": [], "wind": [8, 12], "window": [2, 3, 16, 17, 20], "window_fn": 3, "with_count_head": [5, 22], "work": [1, 3, 7, 22], "workflow": [12, 19], "wrap": [20, 22], "www": 14, "wxc": 12, "x": [1, 2, 5, 16, 17, 19, 22, 24], "xarrai": [], "xc25": 26, "xml": [], "xr": [], "xueqi": [17, 26], "y": [2, 16, 17, 19, 22, 24], "year": [13, 17], "you": [7, 17, 22, 24], "your": [16, 17, 22], "yushun": 26, "yyyymmdd": [], "z": 13, "zhu": 13, "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", "Wildfire Mamba (spatio-temporal toy)", "Installation", "Datasets", "Engine", "Metrics", "Models", "Utils", "Quick Start", "References", "Core Team"], "titleterms": {"1": [], "2": 12, "3": [], "4": [], "5": [], "6": [], "academ": 25, "access": [8, 9, 10, 11, 12, 13, 14, 15], "backbon": 5, "base": [2, 22], "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": [19, 21], "classif": 24, "common": 6, "compon": 17, "config": [], "content": [1, 2, 3, 5, 6], "contributor": 26, "coord": [], "core": [17, 19, 20, 21, 22, 26], "custom": 22, "data": [8, 9, 10, 11, 12, 13, 14, 15], "dataset": [2, 16, 19], "date": [], "design": 22, "develop": 26, "devic": 20, "dim": [], "distribut": [3, 20], "engin": [3, 20], "era5": 8, "event": 14, "exampl": [19, 24], "filenam": [], "firm": 9, "flood": 14, "goe": 10, "gpu": 24, "guid": 16, "hardwar": 6, "hazard": 2, "head": 5, "helper": [], "how": [7, 17], "implement": 16, "import": [], "indic": 17, "infer": 3, "inspect": 19, "instal": 18, "landfir": 11, "lat": [], "lead": 26, "level": [], "load": [], "lon": [], "maintain": 26, "mamba": [17, 22], "map": [], "merra": 12, "metric": [4, 16, 21], "model": [5, 16, 22], "modul": [1, 2, 3, 5, 6, 20, 22], "mtb": 13, "next": 24, "noaa": 14, "note": 22, "overview": [8, 9, 10, 11, 12, 13, 14, 15], "packag": [1, 2, 3, 4, 5, 6], "path": [], "pattern": [], "plot": [], "princip": 26, "public": 25, "pyhazard": [0, 1, 2, 3, 4, 5, 6, 18], "quick": 24, "r": 10, "refer": [8, 9, 10, 11, 12, 13, 14, 15, 25], "regist": 22, "registri": [2, 5], "requir": 18, "setup": [], "skeleton": 19, "spatio": [17, 22], "start": 24, "stat": [], "step": 24, "submodul": [2, 3, 5, 6, 23], "subpackag": 1, "summari": [19, 20, 21, 22, 23], "support": 24, "tabl": 17, "tabular": 24, "team": 26, "tempor": [17, 22], "toi": [17, 24], "train": 16, "trainer": 3, "transform": [2, 16], "typic": [8, 9, 10, 11, 12, 13, 14, 15, 20], "us": [8, 9, 10, 11, 12, 13, 14, 15], "usag": [20, 21, 24], "util": [6, 23], "variabl": [8, 9, 10, 11, 12, 13, 14, 15], "wfig": 15, "wildfir": [17, 22]}}) \ No newline at end of file diff --git a/docs/source/pyhazards_datasets.rst b/docs/source/pyhazards_datasets.rst index 25a525d..795afd3 100644 --- a/docs/source/pyhazards_datasets.rst +++ b/docs/source/pyhazards_datasets.rst @@ -21,7 +21,7 @@ Datasets - ECMWF ERA5 reanalysis served via the `Copernicus CDS `_, providing hourly single-/pressure-level variables for benchmarks and hazard covariates; see `Hersbach et al. (2020) `_. * - :doc:`noaa_flood ` - - Flood-related event reports from the `NOAA Storm Events Database `_ (time, location, impacts), commonly used for event-level labeling and impact analysis; see `NCEI record `_(C00648). + - Flood-related event reports from the `NOAA Storm Events Database `_ (time, location, impacts), commonly used for event-level labeling and impact analysis. * - :doc:`firms ` - Near-real-time active fire detections from `NASA FIRMS `_ (MODIS/VIIRS), used for operational monitoring and as wildfire occurrence labels; see `Schroeder et al. (2014) `_.