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 as vg

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

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

# Initialize the weather generator with sample data
met_vg = vg.VG(var_names, met_file=vg.sample_met, refit=True, verbose=True)

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

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

# Visualize results
met_vg.plot_meteogram_daily()
met_vg.plot_autocorr()

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://varwg.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.0.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.0-cp313-cp313-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.13Windows x86-64

varwg-1.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

varwg-1.4.0-cp313-cp313-macosx_11_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

varwg-1.4.0-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.0.tar.gz.

File metadata

  • Download URL: varwg-1.4.0.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.0.tar.gz
Algorithm Hash digest
SHA256 4aaa713a022463843431c8b444be731f19e7311724210e334e09e6f1d61870d9
MD5 8d4c4402d8ec9c95fe95cd2408098369
BLAKE2b-256 c3ca133e85349ed27e7d4fc437f20c09b7eb7fa4ebfc1221c072877b9b026a36

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: varwg-1.4.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.7 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.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 7725ef5955b8f03363c9e040952eceeb38b186a35676dba8d30efe59e45bff93
MD5 66d490746ba731511ed6ec9d8b83f453
BLAKE2b-256 137c13ed37b02d1d545aa27b3d61c408676f3f1b735a0f500a95234c8814a15e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for varwg-1.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cb13050e10ca1bdbe344f4e78768281f78cddb088de75d4eee22dd68ca497d03
MD5 f65c43b9cbeea2af7a320c60bfa9a0ae
BLAKE2b-256 f3927a30417ed2124788e37bd950aae3fa748a0d1a1feb1f01e165c1e8790737

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for varwg-1.4.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0670f7bef179bfb4ecd323d807adc4fa18669f98d7e30b5ea31d65faf0184604
MD5 209e24655c80d2927b327fe1ec0f52c3
BLAKE2b-256 fe86d7ee10ec0284353d609ffb6fbd2479c7899a6895a7b42776ffc751ce197f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for varwg-1.4.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 a276050afbeafe221fa0fb9bfb0ff518b073cb2bb32335a5be5c46bce3224c5c
MD5 fb09266700439621da0638bc5858cf95
BLAKE2b-256 a27dd995fc32e48a34503a4b52752b57858ed9ff3673ff4fde890c24211e9427

See more details on using hashes here.

Provenance

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