Skip to main content

aXqua

Automated setup, persistent execution and calibration of models of free-surface water bodies: rivers, lakes, reservoirs and hydraulic structures.

aXqua builds a TELEMAC-2D/3D case (optionally with GAIA) or an OpenFOAM free-surface case from geodata, runs it as a job that outlives the shell or QGIS that started it, and calibrates it with HydroBayesCal (surrogate-assisted Bayesian calibration with quantified uncertainty). A QGIS plugin drives the whole workflow; everything also works from a terminal.

Documentation: axqua.eu (English), axqua.eu/de (Deutsch), axqua.eu/fr (Français), and axqua.readthedocs.io (English).

Install

pip install axqua                        # Python 3.10 or newer, best in an environment of its own
axqua profile init                       # find TELEMAC, OpenFOAM, ParaView, VisIt on this computer

pip install "axqua[calibration]" adds HydroBayesCal for the Bayesian calibration. For development, install from a clone of this repository:

mamba env create -f environment.yml      # the environment axqua-env
mamba activate axqua-env
pip install -e .

The QGIS plugin (QGIS 3.44 or newer) is qgis_plugin/axqua/; for development link it into a QGIS profile, or start scripts/qgis_dev.sh, which uses a QGIS of its own. The installation of the plugin and of the simulation software is described in the documentation.

Quick start

axqua example get --folder ~/aXqua-examples    # a small Isar case with its data (6 MB)
axqua submit <case-file> --kind preprocessing  # build the TELEMAC model, as a job
axqua submit <case-file> --kind steady         # the steady 2D run (waits for the build)
axqua list                                     # the jobs, with state and progress
axqua cleanup <case-file>                      # what the case could do without (frees disk space)

The example case and its guide are in cases/example-isar/. Every command is listed in the terminal syntax.

Repository

Folder Content
src/axqua/ the library and the command axqua
qgis_plugin/axqua/ the QGIS plugin (GPL-2.0-or-later; it talks to axqua only through the command line)
cases/ the example cases and the template of a case; case data (user-sources/) and results (axqua-case/) are not tracked
docs/ the documentation (Sphinx); docs/locale/ holds its German and French translations
tests/, qgis_plugin/tests/ the tests (pytest tests qgis_plugin/tests)
scripts/ tools: plugin archive, screenshots and UML diagrams of the documentation, data of the example case, backup of case data to Google Drive (backup_cases_to_drive.sh, rclone)
deploy.sh publishes the documentation (below)

Documentation: build and publish

Build the English pages alone (Sphinx and the theme suffice; heavy dependencies are mocked):

pip install -r docs/requirements-docs.txt
sphinx-build -W -b html docs docs/_build/html

Build and publish all three languages on GitHub Pages:

mamba env create -f docs/i18n/environment.yml   # once: the environment axqua-docs (Sphinx + Argos Translate)
bash deploy.sh                                  # build into docs/_build/site and copy it into the gh-pages worktree
bash deploy.sh --push                           # ... then push main and gh-pages: the site is live within a minute

deploy.sh translates only the paragraphs that are new or changed since the last deploy (seconds; --retranslate translates everything again, about 4 minutes), commits the updated catalogs docs/locale/**.po on main, pushes main and then the branch gh-pages, which GitHub Pages serves at https://axqua.eu. It refuses to run with uncommitted changes. Read the Docs builds the English pages from main by itself. The glossaries of technical terms, corrections of a translation by hand and the other settings are described in docs/i18n/README.md.

License

aXqua is BSD-3-Clause; the QGIS plugin is GPL-2.0-or-later. The data of the example case are CC BY 4.0 (cases/example-isar/LICENSE.md). Coordinates are EPSG:25832 throughout; see CLAUDE.md for the notes of the developers.

Metadata

Release files for aXqua 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aXqua 1.0.1
File Size Uploaded
axqua-1.0.1.tar.gz 1.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for aXqua 1.0.1
File Interpreter ABI Platform
axqua-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 2.1 MB

Release files / axqua-1.0.1.tar.gz

Download URL axqua-1.0.1.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
696c5780a3889acd148d7b05b8c48b8e9be24a816e2dbe75a89f82ee24d42ae6
BLAKE2b-256 checksum
How to use checksums
6c10181ed672798446105b479dd2bcb90874fcd66ac8215fff2b2fc099716564
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.13

Release files / axqua-1.0.1-py3-none-any.whl

Download URL axqua-1.0.1-py3-none-any.whl
Size 962.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c451a1e21699b2bb281baed19feaeb27328bd818d28a37b5bbd40051f5192c09
BLAKE2b-256 checksum
How to use checksums
2510b4c4c5d20eff24ff8fd19afc1b0c26daee7a7559167fcdcda2c02d8b69fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.13

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page