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.5.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.5-cp313-cp313-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.13Windows x86-64

varwg-1.4.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

varwg-1.4.5-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.5-cp313-cp313-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

varwg-1.4.5-cp313-cp313-macosx_10_13_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

File details

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

File metadata

  • Download URL: varwg-1.4.5.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.5.tar.gz
Algorithm Hash digest
SHA256 f5b906704e66eec13a9c0b5db400c4a4870e76dd0183198b5ad2a337492121f3
MD5 0ea413ab05d97a7973ab91581701ab0c
BLAKE2b-256 bbcf4782fb7aa33bafa74b0de4da2dad8802d736f618a7f47b93bfea40687f6f

See more details on using hashes here.

Provenance

The following attestation bundles were made for varwg-1.4.5.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.5-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: varwg-1.4.5-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.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 fa954ebeef02f430f35d54d9c7e4c08fcee6523c001d7d6ed61b9a17d3b28891
MD5 24b4dfe680fb604674842bb9c3f346ee
BLAKE2b-256 c1c1a50956d0199e21edf64bccdf0a144dd2f8731145da3e58aedd96cc2616f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for varwg-1.4.5-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.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for varwg-1.4.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 266f772f634950c75807908ad1dfa8d77d4bfe5ac52cf06afbdb8e5a70a54af2
MD5 2391f79f9c5ef2a832d6a97a58aa063b
BLAKE2b-256 ee266987161bfe16df0553159a40f1eb04e7ee582a2fefe3cc0cb70f8cb50bdd

See more details on using hashes here.

Provenance

The following attestation bundles were made for varwg-1.4.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_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.5-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.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b358cbf8a0bdc4664c88da2c5084794ed7c546f2097cd5b0a9e7157ce361f3c1
MD5 f1bc678cc9cf0deb04e47444b91ab8ad
BLAKE2b-256 2b54f5545b2fab508cdf757a647707b405e39f2bb4edb9903bdb8fc66bb50f45

See more details on using hashes here.

Provenance

The following attestation bundles were made for varwg-1.4.5-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.5-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for varwg-1.4.5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 17cb30e4babba4778590f550ad003b158bdcf2812f7f762812f319b351b150eb
MD5 573e6edd6bc52bf99bdbba9d6de5b0f3
BLAKE2b-256 7cbb4e8042f104abf2c8633417ad66280b455a2493ef91f40534c1246d00a363

See more details on using hashes here.

Provenance

The following attestation bundles were made for varwg-1.4.5-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.5-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for varwg-1.4.5-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 f899a5a78dcee05e11039fc4f066d0f366d4ca8741ba0c7264d4c97d33551048
MD5 4eaab4c5b621428ebfab937f7c5a8801
BLAKE2b-256 43fe996128daa3b8bc6d83231e654633503c81d5302cddf9b1bd5a623a98cba9

See more details on using hashes here.

Provenance

The following attestation bundles were made for varwg-1.4.5-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