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

Uploaded CPython 3.13Windows x86-64

varwg-1.4.2-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.2-cp313-cp313-macosx_11_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

varwg-1.4.2-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.2.tar.gz.

File metadata

  • Download URL: varwg-1.4.2.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.2.tar.gz
Algorithm Hash digest
SHA256 8a20ccc2a9c91469f2bd6330e03286d0b10dd2706bd18ad80954193f7060947d
MD5 7a9895c792abb34abafb632d323ca77b
BLAKE2b-256 a11cb0a888852cb9c7c5ae7577c0b12a3e153937197b78c59c2f4741e37526fa

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: varwg-1.4.2-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.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 26e84906d7b1b516fe6e02e6c721d0876b4ba3a4270954799e9a94eeada83abd
MD5 2d49a2dd405d14d1887cc82f04addf2a
BLAKE2b-256 8f0e8aa587c69325bda6ba0d43efa6e3a9f3993f9ad893a5ff544c20bd1d7746

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for varwg-1.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 038f4e16a6e27a0cadea0f2be1c28815d6cebf6df36c32c7c37c50c0510bad70
MD5 4f72b9376f18d3ce3571249234226e7c
BLAKE2b-256 564ac6ea2c39caa41491e5cd262ce04194d57009d73c766a1cdc1f6dc570153f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for varwg-1.4.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ccf82eef0ef2cbf739379004e6d1c65e11fcdb251997389a3337a686faa73d9a
MD5 21f90f17b3197c17533fee68ad7e82af
BLAKE2b-256 23fe9754fdc2a1bf6e75be7ad78bf6d367e442b24f6af69be5d643972b458d0b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for varwg-1.4.2-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 a55f24518abb58e6d973ac038c794c937dbebc9a2a3575ef24c9a0ef5c417bbc
MD5 de3c5daa425eee44faff7eac5a86ca23
BLAKE2b-256 6b94bf56e42fc0236f5fc4aa633693f5abf674de2ec20bb32bb41cf650d0fff8

See more details on using hashes here.

Provenance

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