WAVES (LANL code C23004) is a computational 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 template 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.
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
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:
- GitHub: https://lanl-aea.github.io/waves/index.html
- LANL: https://aea.re-pages.lanl.gov/python-projects/waves/
The MODSIM-TEMPLATE documentation is hosted as a separate webpage as a demonstration for what modsim project documentation can look like.
- GitHub: https://lanl-aea.github.io/waves/modsim-template/index.html
- LANL: https://aea.re-pages.lanl.gov/python-projects/waves/modsim-template/
Copyright (c) 2022-2024, 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.
The full developer manual can be found at:
- GitHub: https://lanl-aea.github.io/waves/devops.html
- LANL: https://aea.re-pages.lanl.gov/python-projects/waves/devops.html
GitHub
$ git clone [email protected]:lanl-aea/waves.git
LANL
$ git clone ssh://[email protected]:10022/aea/python-projects/waves.git
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.yml
Activate the environment
$ conda activate waves-env
The documentation build is automated with SCons as the documentation
target.
Build the WAVES documentation
$ pwd path/to/local/git/clone/waves/ $ scons documentation