Skip to main content

A Vector Autoregressive Weather Generator

Project description

VARWG: Vector Autoregressive Weather Generator

Python Version License Documentation Status Managed with uv Last Commit

What is VARWG?

VARWG is a single-site Vector-Autoregressive weather generator that was developed for hydrodynamic and ecologic modelling of lakes. It includes a number of possibilities to define climate scenarios. For example, changes in mean or in the variability of air temperature can be set. Correlations during simulations are preserved, so that these changes propagate from the air temperature to the other simulated variables.

About the Name Change

The project was renamed from VG to VARWG because there is already a different package named vg on PyPI. To avoid conflicts and ensure the package is properly discoverable on PyPI, we adopted the more descriptive name VARWG (Vector-Autoregressive Weather Generator). For backward compatibility, the old VG class name is still available as an alias, so existing code will continue to work without modifications.

Installation

From PyPI (Recommended)

pip install varwg

Pre-built wheels are available for:

  • Linux: x86_64
  • Windows: AMD64
  • macOS: x86_64 (Intel), arm64 (Apple Silicon)

No compiler needed! If a wheel isn't available for your platform, pip will automatically build from source (requires C compiler and Cython).

From Source

git clone https://github.com/iskur/varwg.git
cd varwg
pip install -e .

Building from source requires:

  • C compiler (gcc/clang/MSVC)
  • Cython >= 3.1.1
  • NumPy >= 1.26.0

Quick Start

After installation, you can use VARWG to generate synthetic weather data:

import varwg

# Configure VARWG with default settings
varwg.set_conf(varwg.config_template)

# Define meteorological variables to simulate
var_names = ("theta", "Qsw", "rh")  # Temperature, solar radiation, humidity

# Initialize the weather generator with sample data
met_varwg = varwg.VarWG(var_names, met_file=varwg.sample_met, refit=True, verbose=True)

# Fit the seasonal VAR model
met_varwg.fit(p=3, seasonal=True)

# Simulate 10 years of daily weather data
sim_times, sim_data = met_varwg.simulate(T=10*365)

# Visualize results
met_varwg.plot_meteogram_daily()

Daily Meteogram

See the scripts/ directory for more advanced examples.

Running Tests

To run the test suite:

uv run pytest

Or install test dependencies and run:

uv sync --group test
uv run pytest

Documentation

The documentation can be accessed online at https://vg-doc.readthedocs.io.

Release notes

See CHANGELOG.md for detailed release notes, or view releases on GitHub.

Current version: 1.4.0 - Python ≥ 3.13 required

Web sites

Code is hosted at: https://github.com/iskur/varwg/

Citation

If you use VARWG in your research, please cite:

Schlabing, D., Frassl, M. A., Eder, M., Rinke, K., & Bárdossy, A. (2014). Use of a weather generator for simulating climate change effects on ecosystems: A case study on Lake Constance. Environmental Modelling & Software, 61, 326-338. https://doi.org/10.1016/j.envsoft.2014.06.028

BibTeX

@article{schlabing2014vg,
  author = {Schlabing, Dirk and Frassl, Marieke A. and Eder, Magdalena and Rinke, Karsten and B{\'a}rdossy, Andr{\'a}s},
  title = {Use of a weather generator for simulating climate change effects on ecosystems: A case study on {Lake Constance}},
  journal = {Environmental Modelling \& Software},
  volume = {61},
  pages = {326--338},
  year = {2014},
  doi = {10.1016/j.envsoft.2014.02.028},
  url = {https://doi.org/10.1016/j.envsoft.2014.06.028}
}

Publications Using VARWG

The following publications have used VARWG for weather generation:

  • Kobler, U. G., Wüest, A., & Schmid, M. (2018). Effects of Lake–Reservoir Pumped-Storage Operations on Temperature and Water Quality. Sustainability, 10(6), 1968. https://doi.org/10.3390/su10061968

  • Fenocchi, A., Petaccia, G., Sibilla, S., & Dresti, C. (2018). Forecasting the evolution in the mixing regime of a deep subalpine lake under climate change scenarios through numerical modelling (Lake Maggiore, Northern Italy/Southern Switzerland). Climate Dynamics, 51, 3521-3536. https://doi.org/10.1007/s00382-018-4094-6

  • Gal, G., Gilboa, Y., Schachar, N., Estroti, M., & Schlabing, D. (2020). Ensemble Modeling of the Impact of Climate Warming and Increased Frequency of Extreme Climatic Events on the Thermal Characteristics of a Sub-Tropical Lake. Water, 12(7), 1982. https://doi.org/10.3390/w12071982

  • Eder, M. (2013). Climate sensitivity of a large lake. PhD Thesis, University of Stuttgart, http://dx.doi.org/10.18419/opus-509.

If you've published work using VARWG, please let us know by opening an issue so we can add it to this list!

License information

See the file "LICENSE" for information on the history of this software, terms & conditions for usage, and a DISCLAIMER OF ALL WARRANTIES.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

varwg-1.4.6.tar.gz (2.4 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

varwg-1.4.6-cp313-cp313-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.13Windows x86-64

varwg-1.4.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

varwg-1.4.6-cp313-cp313-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

varwg-1.4.6-cp313-cp313-macosx_10_13_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

File details

Details for the file varwg-1.4.6.tar.gz.

File metadata

  • Download URL: varwg-1.4.6.tar.gz
  • Upload date:
  • Size: 2.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for varwg-1.4.6.tar.gz
Algorithm Hash digest
SHA256 3a603bc0a53e7949ecf4413aac20da92a689c9fb8ff528499ad62655671b2f40
MD5 6aa74e9c400ddbd2fe5f8b8d94f2b4a3
BLAKE2b-256 e97c7c2fded2250eb4eb9d2292ea7def99a76342a242d2e834e97fd84d07c450

See more details on using hashes here.

Provenance

The following attestation bundles were made for varwg-1.4.6.tar.gz:

Publisher: build-wheels.yml on iskur/varwg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file varwg-1.4.6-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: varwg-1.4.6-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for varwg-1.4.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d7080427856812d45d8ab0b16650753ab425ccdd8c53105eaa385f33a64fd8e7
MD5 65dad3a81bebf76139a31a78deee26a6
BLAKE2b-256 2f6c3b036b4d90187f911d3712d06f0287d3d4d64a273d638c4f3922a78b7e3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for varwg-1.4.6-cp313-cp313-win_amd64.whl:

Publisher: build-wheels.yml on iskur/varwg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file varwg-1.4.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for varwg-1.4.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a6522c5315b311468360aa1fb12ee808a600a4a3350f5265bfe22390f05b145c
MD5 74aec4c913b17ff33930741429457e1c
BLAKE2b-256 3c1d16e6c0b8403e39292e55360aeae34a9bb8c89800150163483015c0c22b08

See more details on using hashes here.

Provenance

The following attestation bundles were made for varwg-1.4.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheels.yml on iskur/varwg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file varwg-1.4.6-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for varwg-1.4.6-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8890e46aba2433d56521f184dea8a3d565594c4bf79fb96c8d5abeea46e9da90
MD5 cf44d01fd442060d825eee4b59d97cec
BLAKE2b-256 5bbdf271e423748f5bd6174341f8a54f099ea8e14c251601d258480e38538b61

See more details on using hashes here.

Provenance

The following attestation bundles were made for varwg-1.4.6-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: build-wheels.yml on iskur/varwg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file varwg-1.4.6-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for varwg-1.4.6-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 cc9cdf476933d99fbf103bed7dd275cbe4a1ccb8ca67b153ad872af9635ce12e
MD5 bc4e2f22fed321076552096b1f8fd9ce
BLAKE2b-256 dbd5598e4db29c6e08114258ddeb8fff8156024c93cec7bff83168fb6d2cab54

See more details on using hashes here.

Provenance

The following attestation bundles were made for varwg-1.4.6-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: build-wheels.yml on iskur/varwg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page