StormR R package
June 24, 2026 ยท View on GitHub
Overview
StormR is an R package allowing to easily extract storm track data for given locations or areas of interests, to generate wind speed and direction fields, and to compute summary statistics characterising the behaviour of winds generated by tropical storms and cyclones: maximum sustained wind speed, power dissipation index, and duration of exposure to winds reaching defined speed thresholds.
Usage
Installing StormR
StormR is available on CRAN.
You can install it as follows:
install.packages("StormR")
The latest development version can be installed from GitHub as follows,
#install.packages("devtools")
devtools::install_github("umr-amap/StormR")
Alternatively, you can install StormR using conda / mamba. Check here for more info.
conda config --add channels conda-forge # make sure you add conda-forge to your channel list
conda config --set channel_priority strict
conda install r-stormr # or mamba install r-stormr
Loading StormR package
library(StormR)
Main functions
| Name | Description | Inputs | Outputs |
|---|---|---|---|
defStormsDataset() | Creates a stormsDataset object (1) | ".nc" (NetCDF) file | stormsDataset object |
defStormsList() | Extracts storms (2) | stormsDataset object | stormsList object |
plotStorms() | Plots storms track data | stormsList object | |
temporalBehaviour() | Computes wind speed, direction time series, and summary statistics for a given set of point coordinates (3) | stormsList object | list of data.frame objects |
spatialBehaviour() | Computes 2D wind fields and summary statistics over a given location of interest (3) | stormsList object | SpatRaster object |
plotBehaviour() | Plots 2D wind fields and summary statistics (4) | stormsList + SpatRaster objects | |
plotTemporal() | Computes wind speed, direction time series, and summary statistics for a given set of point coordinates | stormsList & data.frame objects | |
computeTEW() | Computes Topographic Exposure to Wind (TEW) for a given set of storms and a given location of interest (5) | stormsList + "Digital Terrain Model" + SpatRaster or data.frame objects | SpatRaster object |
plotTEW() | Plots TEW fields (6) | stormsList + SpatRaster | |
plotTemporalTEW() | Plots TEW time series for a given set of point coordinates (6) | data.frame coordinates + list of data.frame TEW | |
writeRast() | Exports wind fields, TEW and summary statistics to file (4, 6) | SpatRaster object | .tiff or .nc file |
Workflow
Contributing
You are welcome to contribute to the StormR package. Just fork the project and create a pull request with your changes and we will review it as soon as possible.
Reporting issues
Issues can be reported here. Simply choose the appropriate template and fill in the requested information.
Seeking help
If you need help with the StormR package, please open a new discussion on the Q&A section on github. We will do our best to answer your questions. Other users are also welcome to help you.
Funding
This work was supported by Hermon Slade Foundation, grant HSF 19105.