Computational science and engineering parameteric study workflows
Project description
Description
WAVES (LANL code C23004) is a computational science and engineering workflow tool that integrates parametric studies with traditional software build systems.
In addition to the parametric study Python package and command line utilities, WAVES also includes SCons builders for common engineering software used by model simulation (modsim) repositories. The tutorial simulations in this project use SCons as the automated build system and translate software build system concepts in the language of engineering simulation and analysis. The SCons documentation should be consulted as a reference for additional build system concepts, command line options, and project configuration.
This project includes a MODSIM-TEMPLATE which is used for the tutorials and for integration and regression testing of the WAVES extensions to SCons. The template modsim project can be duplicated from the command line as waves fetch modsim_template after installation.
Installation
Conda
WAVES can be installed in a Conda environment with the Conda package manager. See the Conda installation and Conda environment management documentation for more details about using Conda.
$ conda install --channel conda-forge waves
pip
WAVES may also be installed from PyPI with pip under the distribution name waves-workflows: https://pypi.org/project/waves-workflows/. The package installs and imports as waves, so care must be taken to avoid name clashes with similarly named PyPI packages.
$ pip install waves-workflows
Spack
WAVES may be installed with the Spack package manager under the distribution name py-waves: https://packages.spack.io/package.html?name=py-waves. The package installs and imports as waves.
$ spack install py-waves
Documentation
The documentation is bundled with the Conda package and can be accessed locally without a network connection after installation from the command line as waves docs. The documentation is also web-hosted:
The MODSIM-TEMPLATE documentation is hosted as a separate webpage as a demonstration for what modsim project documentation can look like.
Developers
Copyright Notice
Copyright (c) 2022-2025, Triad National Security, LLC. All rights reserved.
This program was produced under U.S. Government contract 89233218CNA000001 for Los Alamos National Laboratory (LANL), which is operated by Triad National Security, LLC for the U.S. Department of Energy/National Nuclear Security Administration. All rights in the program are reserved by Triad National Security, LLC, and the U.S. Department of Energy/National Nuclear Security Administration. The Government is granted for itself and others acting on its behalf a nonexclusive, paid-up, irrevocable worldwide license in this material to reproduce, prepare derivative works, distribute copies to the public, perform publicly and display publicly, and to permit others to do so.
Developer Notes
The full developer manual can be found at:
Clone the project
GitHub
$ git clone git@github.com:lanl-aea/waves.gitLANL
$ git clone ssh://git@re-git.lanl.gov:10022/aea/python-projects/waves.git
Local development environments
SCons can be installed in a Conda environment with the Conda package manager. See the Conda installation and Conda environment management documentation for more details about using Conda.
Create the environment if it doesn’t exist
$ pwd path/to/local/git/clone/waves $ conda env create --name waves-env --file environment.ymlActivate the environment
$ conda activate waves-env
In addition to the primary development environment file environment.yml, several other environment files are maintained for CI jobs. For Windows developers, environment-win.yml removes packages that are not available for Windows and packages that are only necessary for deployment jobs. The conda-build.yml and pip-build.yml are stripped down to the bare essentials for building Conda and pip packages, respectively.
Documentation
The documentation build is automated with SCons as the documentation target. The HTML documentation builds to waves/build/docs/html/index.html
Build the WAVES documentation
$ pwd path/to/local/git/clone/waves/ $ scons documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file waves_workflows-0.13.12.tar.gz.
File metadata
- Download URL: waves_workflows-0.13.12.tar.gz
- Upload date:
- Size: 10.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7461ddd774f6ebfdb26505093dc0d7d6579151e710007a050b16d70701c157e
|
|
| MD5 |
69f4a75752fa11a314581ff40f3bae31
|
|
| BLAKE2b-256 |
860fcd11e624a1416fad7921b69998e6ce75b0d94196f0b7f8898d6843fb4694
|
Provenance
The following attestation bundles were made for waves_workflows-0.13.12.tar.gz:
Publisher:
release.yml on lanl-aea/waves
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
waves_workflows-0.13.12.tar.gz -
Subject digest:
f7461ddd774f6ebfdb26505093dc0d7d6579151e710007a050b16d70701c157e - Sigstore transparency entry: 407464313
- Sigstore integration time:
-
Permalink:
lanl-aea/waves@3b4efeac8af26dbb8eaf2e37a68f07a45ed77a7e -
Branch / Tag:
refs/tags/0.13.12 - Owner: https://github.com/lanl-aea
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3b4efeac8af26dbb8eaf2e37a68f07a45ed77a7e -
Trigger Event:
push
-
Statement type:
File details
Details for the file waves_workflows-0.13.12-py3-none-any.whl.
File metadata
- Download URL: waves_workflows-0.13.12-py3-none-any.whl
- Upload date:
- Size: 10.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db9f4e07d934eb022e3e1dba9c2b88e23d98d2ee3d6eb33dd57d85953525f122
|
|
| MD5 |
4d7c932c5325a62771b62cc4c413590d
|
|
| BLAKE2b-256 |
7f7499ecefe1a8e452bd4caab855b1a79e8693660bbf28c1c416817b99039915
|
Provenance
The following attestation bundles were made for waves_workflows-0.13.12-py3-none-any.whl:
Publisher:
release.yml on lanl-aea/waves
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
waves_workflows-0.13.12-py3-none-any.whl -
Subject digest:
db9f4e07d934eb022e3e1dba9c2b88e23d98d2ee3d6eb33dd57d85953525f122 - Sigstore transparency entry: 407464340
- Sigstore integration time:
-
Permalink:
lanl-aea/waves@3b4efeac8af26dbb8eaf2e37a68f07a45ed77a7e -
Branch / Tag:
refs/tags/0.13.12 - Owner: https://github.com/lanl-aea
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3b4efeac8af26dbb8eaf2e37a68f07a45ed77a7e -
Trigger Event:
push
-
Statement type: