exauq-toolbox
The EXAUQ-Toolbox supports advanced emulator development for complex simulations, featuring methods for training multi-level Gaussian Process emulators across model hierarchies, from low-fidelity approximations to high-fidelity exascale simulations.
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 8 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.9%) to scientific vocabulary
Keywords
Repository
The EXAUQ-Toolbox supports advanced emulator development for complex simulations, featuring methods for training multi-level Gaussian Process emulators across model hierarchies, from low-fidelity approximations to high-fidelity exascale simulations.
Basic Info
- Host: GitHub
- Owner: EXA-UQ
- License: bsd-3-clause
- Language: Python
- Default Branch: main
- Homepage: https://exa-uq.github.io/EXAUQ-Toolbox/
- Size: 7.33 MB
Statistics
- Stars: 6
- Watchers: 2
- Forks: 1
- Open Issues: 43
- Releases: 7
Topics
Metadata Files
README.md
EXAscale Uncertainty Quantification Toolbox (EXAUQ-Toolbox)
The EXAUQ-Toolbox is a collection of packages and utilities that supports the development of emulators of complex computer simulations. A key feature is support for fitting multi-level Gaussian Process emulators for hierarchies of simulation models. Simulations in the hierarchy are arranged according to differing levels of model fidelity, with the simulation at the top of the hierarchy potentially requiring exascale computing to complete. As well as implementing statistical methods for training multi-level emulators, the EXAUQ-Toolbox takes care of managing the use of multiple computing resources, which would typically be required when running simulations in the multi-fidelity hierarchy. For example, runs of the highest-fidelity simulation may be run on an exascale computer, whereas a lower-fidelity, but cheaper, simulation may be run on a more conventional HPC, or a departmental server.
The EXAUQ-Toolbox welcomes contributors and users to raise issues/ideas. Please do take a look through our support page to see how you can help and how we can help you in the most efficient way!
Software developed by the RSE team at the University of Exeter, UK and funded by the EPRSC (2021-2025) as part of project ExCALIBUR, grant number EP/W007886/1.
Many thanks to the code developers of the toolbox:
Alongside the research team for the algorithms:
Citation
If you use the EXAUQ-Toolbox in your work, please cite the appropriate version via Zenodo:
Hawes, T., Johns, M., White, H., Salter, J., Olivier, E., Kimpton, L., Xiong, X., & Challenor, P. (2025).
EXAUQ-Toolbox [Computer software]. https://doi.org/10.5281/zenodo.15005642
Installing the latest release version
We strongly recommend using virtual environments (e.g. Conda environments) to manage packages when using the EXAUQ-Toolbox in your work.
To install the exauq package from the toolbox, run the following command (after
activating the virtual environment, if necessary):
bash
python -m pip install "exauq @ git+https://github.com/EXA-UQ/EXAUQ-Toolbox.git"
This will install the latest version of exauq currently on the Git repository.
If you already have exauq installed and wish to update it to the latest version, run
bash
python -m pip install --force-reinstall "exauq @ git+https://github.com/EXA-UQ/EXAUQ-Toolbox.git"
If you wish to use a specific version of exauq, then simply alter the version at the end of the command.
bash
python -m pip install "exauq @ git+https://github.com/EXA-UQ/EXAUQ-Toolbox.git@v0.1.0"
Viewing documentation
Documentation for the EXAUQ-Toolbox is available online at https://exa-uq.github.io/EXAUQ-Toolbox/. To view it, you can run the following command within a terminal (after activating the environment where you installed the toolbox, if relevant):
bash
exauq --docs
Developing the package
Installation
EXAUQ-Toolbox is written in Python and uses Poetry for package development and dependency management.
Assuming you have Python and Poetry installed, install Python package dependencies by running the following from the root project folder:
bash
poetry install --with=dev
This will install packages into a dedicated virtual environment, according
to the versions specified in the poetry.lock file. The exauq
package is installed in editable mode.
To run Python scripts / tooling within this virtual environment, either use
bash
poetry run <command-to-run> # e.g. poetry run python foo.py
# e.g. poetry run black
or activate the virtual environment e.g. by creating a nested shell:
bash
poetry shell
Note: As of Poetry 2.0,
the poetry shell command has been removed. If you are using Poetry 2.0 or newer, please refer to the official documentation
for guidance on managing virtual environments.
Finally, to use the automatic pre-commit hooks designed for linting, run:
bash
pre-commit install
this will be required to pass the linting checks for PRs.
Updating dependencies
To update Python package dependencies to the latest versions that are consistent
with the versioning constraints specified in pyproject.toml, run
bash
poetry update
This will update the poetry.lock file.
Owner
- Name: EXA-UQ
- Login: EXA-UQ
- Kind: organization
- Repositories: 1
- Profile: https://github.com/EXA-UQ
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this toolbox, please cite it as below."
title: "EXAUQ-Toolbox"
version: "v0.3.2"
doi: 10.5281/zenodo.15005642
date-released: 2025-04-01
repository-code: https://github.com/EXA-UQ/EXAUQ-Toolbox
license: BSD 3-Clause
type: software
authors:
- family-names: Hawes
given-names: Thomas
- family-names: Johns
given-names: Matthew
- family-names: White
given-names: Harrison
- family-names: Salter
given-names: James
- family-names: Olivier
given-names: Enrico
- family-names: Kimpton
given-names: Louise
- family-names: Xiong
given-names: Xiaoyu
- family-names: Challenor
given-names: Peter
GitHub Events
Total
- Fork event: 2
- Create event: 37
- Issues event: 37
- Release event: 6
- Watch event: 5
- Delete event: 38
- Issue comment event: 18
- Push event: 132
- Public event: 1
- Gollum event: 5
- Pull request review comment event: 27
- Pull request review event: 100
- Pull request event: 71
Last Year
- Fork event: 2
- Create event: 37
- Issues event: 37
- Release event: 6
- Watch event: 5
- Delete event: 38
- Issue comment event: 18
- Push event: 132
- Public event: 1
- Gollum event: 5
- Pull request review comment event: 27
- Pull request review event: 100
- Pull request event: 71
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 20
- Total pull requests: 29
- Average time to close issues: 4 months
- Average time to close pull requests: 14 days
- Total issue authors: 4
- Total pull request authors: 6
- Average comments per issue: 0.6
- Average comments per pull request: 0.03
- Merged pull requests: 17
- Bot issues: 0
- Bot pull requests: 11
Past Year
- Issues: 19
- Pull requests: 29
- Average time to close issues: 3 months
- Average time to close pull requests: 14 days
- Issue authors: 4
- Pull request authors: 6
- Average comments per issue: 0.63
- Average comments per pull request: 0.03
- Merged pull requests: 17
- Bot issues: 0
- Bot pull requests: 11
Top Authors
Issue Authors
- mbjohns (10)
- HarryTWhite (5)
- HarryWhiteRSE (4)
- thawes-rse (4)
- JSalter90 (1)
- HWTest-coder (1)
Pull Request Authors
- mbjohns (14)
- HarryWhiteRSE (10)
- github-actions[bot] (6)
- dependabot[bot] (6)
- JSalter90 (3)
- thawes-rse (1)
- HWTest-coder (1)
- HarryTWhite (1)
- roman-zvir (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- 150 dependencies
- black ^24.10.0 develop
- isort ^5.13.2 develop
- mkapi ^2.1.0 develop
- mkdocs ^1.5.3 develop
- mkdocs-gen-files ^0.5.0 develop
- mkdocs-literate-nav ^0.6.1 develop
- mkdocs-material ^9.5.18 develop
- mkdocs-section-index ^0.3.9 develop
- mkdocstrings ^0.25.2 develop
- notebook ^7.2.2 develop
- pre-commit ^4.0.1 develop
- pygments ^2.17.2 develop
- cmd2 >=2.4.0
- fabric >=3.2.0
- mogp-emulator >=0.7.0
- numpy >=1.24.0
- python >=3.10,<3.14
- scipy >=1.10.0
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- abatilo/actions-poetry v2 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- peter-evans/create-pull-request v4 composite
- actions/cache v3 composite
- actions/checkout v4 composite
- actions/setup-python v4 composite