Skip to content
Open
35 changes: 35 additions & 0 deletions docs/source/modules/models_dlwp.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
DLWP
========

Description
-----------

``dlwp`` (Deep Learning Weather Prediction) is a U-Net architecture for
global weather forecasting on cubed-sphere grids. It predicts future atmospheric
states from current observations using a data-driven approach.

Modular
-------

``dlwp``

Example of how to use it
------------------------

.. code-block:: python
from pyhazards.models import build_model
import torch

# Build model
model = build_model(
name="dlwp",
task="regression",
in_channels=7, # 7 atmospheric variables
num_faces=6, # Cubed-sphere grid
face_size=64, # 64×64 per face
)

# Single-step forecast
current_state = torch.randn(1, 7, 6, 64, 64) # Current atmospheric state
future_state = model(current_state) # State 6 hours later
print(future_state.shape) # torch.Size([1, 7, 6, 64, 64])
15 changes: 10 additions & 5 deletions docs/source/modules/models_wavecastnet.rst
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
WaveCastNet
===========

WaveCastNet is a deep learning model for earthquake wavefield forecasting using
sequence-to-sequence learning with Convolutional Long Expressive Memory (ConvLEM) cells.

Overview
Description
--------

WaveCastNet predicts the future evolution of seismic wavefields for earthquake early
``wavecastnet`` is a deep learning model for earthquake wavefield forecasting using
sequence-to-sequence learning with Convolutional Long Expressive Memory (ConvLEM) cells.

It predicts the future evolution of seismic wavefields for earthquake early
warning systems. It uses a sequence-to-sequence architecture with ConvLEM cells to:

- Process past wavefield observations (e.g., 60 timesteps of 3-component particle velocity)
Expand All @@ -17,6 +17,11 @@ warning systems. It uses a sequence-to-sequence architecture with ConvLEM cells
The model operates on dense spatial grids and is designed for real-time forecasting
of ground motions without requiring explicit magnitude or epicenter estimation.

Modular
-------

``wavecastnet``

Example of how to use it
------------------------

Expand Down
4 changes: 3 additions & 1 deletion docs/source/references.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,6 @@ Model Publications

- Marjani et al. (2024). *Application of Explainable Artificial Intelligence in Predicting Wildfire Spread: An ASPP-Enabled CNN Approach*. `[link] <https://ieeexplore.ieee.org/document/10568207>`__.
- Taghizadeh et al. (2025). *Interpretable physics-informed graph neural networks for flood forecasting*. `[link] <https://onlinelibrary.wiley.com/doi/10.1111/mice.13484>`__.
- Lyu et al. (2025). *Rapid wavefield forecasting for earthquake early warning via deep sequence to sequence learning*. `[link] <https://doi.org/10.1038/s41467-025-65435-2>`__.
- Lyu et al. (2025). *Rapid wavefield forecasting for earthquake early warning via deep sequence to sequence learning*. `[link] <https://doi.org/10.1038/s41467-025-65435-2>`__.
- Wyn et al. (2020). *Improving Data-Driven Global Weather Prediction Using Deep Convolutional Neural Networks on a Cubed Sphere*. `[link] https://doi.org/10.1029/2020MS002109`__.
- Wyn et al. (2021). *Sub-Seasonal Forecasting With a Large Ensemble of Deep-Learning Weather Prediction Models*. `[link] https://doi.org/10.1029/2021MS002502`__.
20 changes: 20 additions & 0 deletions pyhazards/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
from .cnn_aspp import WildfireCNNASPP, cnn_aspp_builder
from .hydrographnet import HydroGraphNet, HydroGraphNetLoss, hydrographnet_builder
from .wavecastnet import WaveCastNet, ConvLEMCell, wavecastnet_builder
from .dlwp import DLWP, dlwp_builder, DoubleConv, Down, Up

__all__ = [
# Core API
Expand Down Expand Up @@ -43,6 +44,13 @@
"WaveCastNet",
"ConvLEMCell",
"wavecastnet_builder",

# Weather models
"DLWP",
"dlwp_builder",
"DoubleConv",
"Down",
"Up",
]

# -------------------------------------------------
Expand Down Expand Up @@ -142,3 +150,15 @@
"dropout": 0.1,
},
)

register_model(
"dlwp",
dlwp_builder,
defaults={
"num_levels": 4,
"base_channels": 64,
"kernel_size": 3,
"activation": "relu",
"dropout": 0.1,
},
)
Loading