Skip to main content

Computational science and engineering parameteric study workflows

Project description

github-pages github-release conda-forge version conda-forge downloads pypi version pypi downloads zenodo

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

Developer Notes

The full developer manual can be found at:

Clone the project

  • GitHub

    $ git clone git@github.com:lanl-aea/waves.git
  • LANL

    $ 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.

  1. Create the environment if it doesn’t exist

    $ pwd
    path/to/local/git/clone/waves
    $ conda env create --name waves-env --file environment.yml
  2. Activate 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

waves_workflows-0.13.13-py3-none-any.whl (10.5 MB view details)

Uploaded Python 3

File details

Details for the file waves_workflows-0.13.13-py3-none-any.whl.

File metadata

File hashes

Hashes for waves_workflows-0.13.13-py3-none-any.whl
Algorithm Hash digest
SHA256 e4811eb3624aac27c7a136c6f461d7b97504fad51f0c8bc72000316365a88e27
MD5 2c039fdd13d4b8953840100824777b82
BLAKE2b-256 e4fc6c25bf5f466d289ef66eccce3471280b41f34131d5f5a681f3a478903af8

See more details on using hashes here.

Provenance

The following attestation bundles were made for waves_workflows-0.13.13-py3-none-any.whl:

Publisher: release.yml on lanl-aea/waves

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