🌐 Other SWG Packages

Many other SWG packages, Git repositories, and codebases exist — though detailed documentation is often lacking. Below is a far from exhaustive list[1] that we (the authors and contributors) will aim to complete over time.

Note

If you know of a useful model with code not listed here, feel free to suggest it or contribute via Pull Request.

Logo Name Language Type Description Paper Comments
MSTWeatherGenLogo MSTWeatherGen R Package
Spatial, multivariate
Obakrim et al. (2024)
Documentation
GWEX R C++ Package
Multisite Precipitation and Temperature
Evin et al. (2018)
GWGEN Python Fortran Package
Globally applicable weather generator inspired by the original Richardson model (1981).
Sommer et al. (2017)
Sort of Documentation. Not sure what "globally applicable" means.
WeaGETS WeaGETS Matlab Package
Multivariate Markov/AR based SWG for `RR`, `TX` and `TN`
Feng et al. (2012)
awegen2d AWE-GEN-2d Matlab Code
AWE-GEN-2d is an advanced stochastic weather generator that combines physical and stochastic approaches to simulate multiple variables like precipitation, temperature, radiation, and cloud cover at high spatial (2 km) and temporal (5 min) resolution. It has been developed to support complex hydrological simulations under changing climate scenarios.
Peleg et al. (2024)
Other models available from the author Nadav Peleg.
Two Languages Problem

Having two languages inside a software makes it difficult to read, maintain, and compose with other packages. Some of the packages listed here use a "friendly" but slower language for most of the program (e.g. Matlab, R, Python), along with a "less-friendly" but faster language (e.g. C++, Fortran) for the core functions. This is known (mostly in the Julia world) as the Two Languages Problem, which Julia is designed to solve. One advantage of this approach is that the source code is "easy" to read and write while still being very fast. Moreover, it can integrate with state-of-the-art DataFrame libraries, optimization solvers, and statistical packages. All of this makes writing a Stochastic Weather Generator in Julia highly relevant.

  • 1Focusing on open source code only.