This repository contains code and resources for estimating hurricane intensity using FourCastNet, a deep learning model trained on atmospheric reanalysis data. The project supports both ERA5 and MERRA reanalysis datasets.
.
├── example/ # Example code and notebooks
│ ├── run_inference.ipynb # Jupyter notebook for running inference
│ └── src.py # Source code for the model
├── files/ # Sample data files
│ ├── ERA_*.nc # ERA5 reanalysis data
│ ├── MERRA_*.nc # MERRA reanalysis data
│ ├── *_ERA.csv # ERA5 intensity data
│ ├── *_MERRA.csv # MERRA intensity data
│ └── *_HURDAT.csv # HURDAT2 intensity data
├── ERA_scaling/ # ERA5 data scaling parameters
├── MERRA_scaling/ # MERRA data scaling parameters
├── bias_correction_checkpoints_ERA/ # ERA5 model checkpoints
└── bias_correction_checkpoints_MERRA/ # MERRA model checkpoints
- Hurricane intensity estimation using FourCastNet
- Support for both ERA5 and MERRA reanalysis datasets
- Bias correction for improved accuracy
- Example notebooks for running inference
- Pre-trained model checkpoints
The project requires Python 3.8+ and the following key dependencies:
- NumPy (>=1.21.0): For numerical computations and array operations
- SciPy (>=1.7.0): For scientific computing and signal processing
- Pandas (>=1.3.0): For data manipulation and analysis
- PyTorch (>=1.9.0): Deep learning framework
- PyTorch Geometric (>=2.0.0): For graph neural networks
- Xarray (>=0.19.0): For handling labeled multi-dimensional arrays
- netCDF4 (>=1.5.7): For reading/writing NetCDF files
- scikit-learn (>=0.24.0): For machine learning utilities and metrics
- Matplotlib (>=3.4.0): For plotting and visualization
- tqdm (>=4.62.0): For progress bars
- glob2 (>=0.7): For file path operations
- Jupyter (>=1.0.0): For interactive development
- Notebook (>=6.4.0): For running Jupyter notebooks
- ipykernel (>=6.0.0): For Jupyter kernel support
You can install all dependencies using:
pip install -r requirements.txt- Clone the repository:
git clone [repository-url]
cd FourCastNet_Hurricane_Intensity_Estimation-
Install dependencies (requirements.txt to be added)
-
Run the example notebook:
jupyter notebook example/run_inference.ipynbThe project uses two main reanalysis datasets:
- ERA5: European Centre for Medium-Range Weather Forecasts (ECMWF) reanalysis
- MERRA: Modern-Era Retrospective Analysis for Research and Applications
Sample data files are provided in the files/ directory for testing and demonstration purposes.
Pre-trained model checkpoints are available in:
bias_correction_checkpoints_ERA/for ERA5 modelsbias_correction_checkpoints_MERRA/for MERRA models
This project is licensed under the terms of the included LICENSE file.
If you use this code in your research, please cite:
Ankur, K. (2025). FourCastNet Hurricane Intensity Estimation (v1.0) [Software]. Zenodo. https://doi.org/10.5281/zenodo.12345678
Ankur Kumar ankurk017@gmail.com ankur.lumar@nasa.gov