Changelog

0.8.0 (unreleased)

0.7.10 (2024-03-15)

New Features

Bug fixes

Documentation

Internal Changes

Enhancements

  • Stream the wrapped scons command STDOUT from the waves build subcommand (MERGE-745). By Kyle Brindley.

  • Submit all targets simultaneously in the waves build subcommand (MERGE-745). By Kyle Brindley.

  • Build the Conda environment artifact to the build directoy in the modsim template (MERGE-761). By Kyle Brindley.

  • Use pathlib objects in the modsim template and reduce str conversions which are no longer necessary in SCons 4.6.0 (MERGE-762). By Kyle Brindley.

0.7.9 (2024-02-22)

Bug fixes

Documentation

Internal Changes

0.7.8 (2024-01-16)

New Features

Bug fixes

Documentation

0.7.7 (2023-12-18)

Internal Changes

0.7.6 (2023-12-11)

New Features

Bug fixes

Documentation

Internal Changes

Enhancements

  • Default to required task-by-task keyword arguments in the SSH builder to allow tasks to use unique remote directories, e.g. during parameter studies (ISSUE-560, MERGE-694). By Kyle Brindley.

  • More robust user provided stdout file handling and allow multiple targets with the same file stem (ISSUE-556, MERGE-696). By Kyle Brindley.

  • More robust search for Cubit bin for variations on the executable relationship to bin and MacOS installation directory names (ISSUE-569, MERGE-702). By Kyle Brindley.

  • Default to local project help message and an override option in waves.scons_extensions.project_help_message taking advantage of an SCons 4.6.0 env.Help() keyword argument update. Backward compatibility with older versions of SCons is preserved (ISSUE-571, MERGE-703). By Kyle Brindley.

  • Find all INPUT= parameter file dependencies in the Abaqus implicit DEPEndency scanner (ISSUE-577, MERGE-707). By Matthew Fister.

0.7.5 (2023-10-27)

New Features

Documentation

Internal Changes

0.7.4 (2023-10-26)

Bug fixes

Documentation

Internal Changes

  • Reduce code duplication in documentation build configuration (MERGE-671). By Kyle Brindley.

  • The EPUB cover handling requires the imagemagick package, so use a regression alias to exclude the EPUB build from the regression suite until we decide how to handle the unavailability of imagemagick for Windows or accept linux/macos only CI builds (MERGE-672). By Kyle Brindley.

  • Refine a sphinx build prototype builder and interface. By Kyle Brindley.

  • Handle spaces in paths for odb_extract (ISSUE-549, MERGE-674). By Sergio Cordova.

  • Use dictionary unpacking to place parameter sets in task definitions (MERGE-677). By Kyle Brindley.

Enhancements

0.7.3 (2023-10-17)

New Features

  • Add a function for printing build failure STDOUT files. Aids in project system testing the tutorials, but can also be useful for end users to print the failed task’s STDOUT live during workflow execution (ISSUE-546, MERGE-665). By Kyle Brindley and Matthew Fister.

Documentation

Internal Changes

0.7.2 (2023-10-10)

New Features

Documentation

Internal Changes

  • Trial update to run the system test suite in parallel. It’s possible the system tests are not yet thread safe (using a common .sconsign.dblite file but separate build directories), but this wasn’t observed in local testing. It’s also possible that Abaqus token availability will periodically timeout job submissions. If this produces many false negative tests requiring manual intervention, revert commit d2e3c9d1 (ISSUE-519, MERGE-641). By Kyle Brindley.

  • Elevate PDF documentation build warnings to errors to match other sphinx build behaviors (MERGE-642). By Kyle Brindley.

  • Reduce operations required to set the builder post actions (ISSUE-535, MERGE-650). By Kyle Brindley.

  • More complete tests for the ssh builder action wrapper function (ISSUE-533, MERGE-651). By Kyle Brindley.

  • Common function for returning a builder’s actions as a list of string (ISSUE-537, MERGE-652). By Kyle Brindley.

  • Update package build requirements to reflect current working package combinations. Eventually we will need to solve the setuptools_scm>=8 error messages (ISSUE-538, MERGE-655). By Kyle Brindley.

Enhancements

0.7.1 (2023-08-28)

Bug fixes

Breaking changes

  • Deprecate the too-general parameter_study <study type> command line utility name in favor of waves <study type> to avoid utility conflicts with other packages (ISSUE-494, MERGE-612). By Kyle Brindley.

  • Standardize the builder program path keyword from <thing>_program to program for greater consistency in builder APIs. The older keywords are preseved for backward compatibility, but they raise a deprecation warning (ISSUE-495, MERGE-613). By Kyle Brindley.

  • Rename the waves.builders module as waves.scons_extensions to reflect the growing scope of SCons extensions beyond a collection of builders. Backward compatilibity is maintained by duplicating the module under the old name with a deprecation warning (ISSUE-492, MERGE-618, ISSUE-512, MERGE-621, MERGE-627, MERGE-628). By Kyle Brindley.

New Features

Documentation

Internal Changes

0.6.21 (2023-07-21)

New Features

Documentation

Enhancement

Internal Changes

0.6.20 (2023-06-29)

Documentation

Enhancement

Internal Changes

0.6.19 (2023-06-14)

Bug fixes

Internal Changes

0.6.18 (2023-06-09)

Internal Changes

0.6.17 (2023-06-09)

Bug fixes

Documentation

Enhancements

0.6.16 (2023-05-15)

Bug fixes

Documentation

Internal Changes

Enhancements

  • Return executable paths with double quotes around parts containing spaces. Should make executing commands by absolute path in Windows command prompt and powershell more robust (ISSUE-462, MERGE-562). By Kyle Brindley.

0.6.15 (2023-05-04)

Documentation

Internal Changes

Enhancements

0.6.14 (2023-03-23)

Documentation

Internal Changes

0.6.13 (2023-03-07)

New Features

Bug fixes

Documentation

Internal Changes

Enhancements

  • quickstart subcommand will create all non-conflicting destination files instead of exiting with an error when overwrite is False (ISSUE-413, MERGE-520). By Kyle Brindley.

  • quickstart subcommand will avoid unnecessary file I/O when source and destination file contents match and overwrite is True (ISSUE-413, MERGE-520). By Kyle Brindley.

  • Add a pathlib.Path.rglob recursive search to waves fetch to enable pattern matching on relative paths and files (ISSUE-431, MERGE-526). By Kyle Brindley.

0.6.12 (2023-02-21)

New Features

Documentation

Internal Changes

  • Add networkx to WAVES environment for new visualization feature (ISSUE-412, MERGE-501). By Prabhu Khalsa.

  • Fall back to system anaconda shared environment when project CI environment doesn’t exist (ISSUE-417, MERGE-511). By Kyle Brindley.

  • Update the minimum scipy version runtime requirement to support the scipy Sobol generator. This change was already implemented for the conda-forge and GitHub packages. Change affects AEA Conda channel. (ISSUE-278, MERGE-506). By Kyle Brindley.

Enhancements

0.6.11 (2023-01-26)

Documentation

0.6.10 (2023-01-26)

Documentation

Internal Changes

0.6.9 (2023-01-24)

Internal Changes

0.6.8 (2023-01-24)

Internal Changes

0.6.7 (2023-01-23)

Documentation

0.6.6 (2023-01-23)

Documentation

Internal Changes

0.6.5 (2023-01-20)

Documentation

  • Use the GitHub repository URL wherever possible as the officially published repository and documentation. Duplicate URLs where necessary (ISSUE-393, MERGE-463). By Kyle Brindley.

Internal Changes

0.6.4 (2023-01-20)

Documentation

Internal Changes

0.6.3 (2023-01-20)

Documentation

  • Add the BSD-3-Clause license and copyright notice (ISSUE-389, MERGE-452). By Kyle Brindley.

  • Add installation and interim installation (pending conda-forge deployment) instructions. Reduce compute-server-specific language. By Kyle Brindley.

Internal Changes

Enhancements

0.6.2 (2023-01-13)

New Features

Documentation

Internal Changes

0.6.1 (2023-01-06)

New Features

Internal Changes

0.5.11 (2023-01-05)

New Features

Documentation

  • Add the parameter study dictionary method to each parameter generator’s external API and update the CartesianProduct tutorial discussion (ISSUE-382, MERGE-434). By Kyle Brindley.

Internal Changes

Enhancements

0.5.10 (2022-12-19)

New Features

Bug fixes

Documentation

Internal Changes

  • Account for OS path separator differences in the documentation build for WAVES and the quickstart template files (ISSUE-4, MERGE-426). By Kyle Brindley.

0.5.9 (2022-12-14)

New Features

  • Add an SCons build function to wrap the parameter generator write method. Removes the need for a user-defined build function (ISSUE-373, MERGE-418). By Kyle Brindley.

Internal Changes

0.5.8 (2022-12-08)

New Features

Bug fixes

  • Fix issue in abaqus_file_parser where coordinates and dimensions didn’t match due to history output appearing in second step, but not in first (ISSUE-372, MERGE-415). By Prabhu Khalsa.

Documentation

  • Clarify tutorial instructions, edit for grammar and typos, and remove deprecated instructions based on user feedback and review (MERGE-412). By Kyle Brindley.

  • Reduce common project configuration boilerplate code in the tutorials and quickstart template files (ISSUE-370, MERGE-414). By Kyle Brindley.

Internal Changes

0.5.7 (2022-12-01)

New Features

Bug fixes

  • Update the plot_scatter.py tutorial and quickstart post-processing script to account for the new dimension in odb_extract output (ISSUE-365, MERGE-405). By Kyle Brindley.

Internal Changes

0.5.6 (2022-11-29)

New Features

Bug fixes

  • Cast the documentation index file Pathlib object to a string to comply with the webbrowser.open() required input variable type (ISSUE-362, MERGE-399). By Thomas Roberts.

Internal Changes

  • Remove LD_LIBRARY_PATH modification from Gitlab-CI modulefile. Modification is used in the AEA shared compute environments for c++ user subroutines, but is not necessary for WAVES and interferes with RHEL 7 system libraries (ISSUE-227, MERGE-397). By Kyle Brindley.

0.5.5 (2022-11-23)

Bug fixes

Documentation

Internal Changes

0.5.4 (2022-11-07)

Internal Changes

  • Revert the “short” paper title for external publication. Entire paper build may be removed after final draft submission (ISSUE-352:, MERGE-380). By Kyle Brindley.

0.5.3 (2022-11-02)

New Features

  • Add the preferred WAVES citation bibtex file to the waves quickstart template files (ISSUE-342, MERGE-367). By Kyle Brindley.

  • Fixed the Sphinx usage of the preferred project citation. Sphinx uses BibTeX, which doesn’t have the @software style. Added project citations to the quickstart template files (ISSUE-343, MERGE-368). By Kyle Brindley.

Documentation

Internal Changes

0.5.2 (2022-10-17)

Bug fixes

Documentation

Internal Changes

0.5.1 (2022-09-30)

Breaking changes

New Features

Internal Changes

Enhancements

0.4.7 (2022-09-29)

New Features

Bug fixes

Documentation

Internal Changes

Enhancements

0.4.6 (2022-09-21)

Internal Changes

0.4.5 (2022-09-21)

Documentation

Internal Changes

  • Fix the WAVES-EABM Gitlab-CI pages job. The quickstart WAVES-EABM removed the logic to help find WAVES in the repository instead of the Conda environment, so the build commands must modify PYTHONPATH (ISSUE-307, MERGE-317, MERGE-318). By Kyle Brindley.

  • Add Conda managed Git package to the development environment (ISSUE-285, MERGE-322). By Kyle Brindley.

  • Remove unused packages from quickstart template environemnt file (ISSUE-309, MERGE-325). By Kyle Brindley.

  • Remove the duplicate tutorial suite regression tests. WAVES-EABM documentation test build now lives in the quickstart template and individual tutorial configuration are tested directly (ISSUE-310, MERGE-326). By Kyle Brindley.

Enhancements

0.4.4 (2022-09-19)

New Features

  • Add a waves quickstart subcommand to copy the rectangle compression project as a template for a new project. Currently limited to the “SCons-WAVES quickstart” tutorial files. (ISSUE-284, MERGE-300). By Kyle Brindley.

  • Add a documentation template to the waves quickstart subcommand (ISSUE-291, MERGE-314). By Kyle Brindley.

Documentation

Internal Changes

Enhancements

0.4.3 (2022-09-13)

Bug fixes

  • Match the CSV file name to the H5 target name in the Abaqus extract builder. Will allow multiple tasks to extract separate output from the same ODB file (ISSUE-287, MERGE-296). By Kyle Brindley.

  • Match the job name to the output file name instead of the input file name in odb_extract (ISSUE-287, MERGE-296). By Kyle Brindley.

0.4.2 (2022-09-08)

Breaking changes

  • Add ‘_Assembly’ to name of assembly instance in hdf5 output of odb_extract. Added to differentiate it from part instance of the same name (ISSUE-260, MERGE-263). By Prabhu Khalsa.

Internal Changes

  • Use scipy for latin hypercube sampling instead of pyDOE2. Reduces package dependency count and standardizes the current parameter generators on a single package (ISSUE-286, MERGE-293). By Kyle Brindley.

0.4.1 (2022-09-07)

Breaking changes

  • Use the same parameter distribution schema as Latin Hypercube in the Sobol Sequence generator (ISSUE-282, MERGE-288). By Kyle Brindley.

  • Change the keyword arguments variable name to the more general kwargs in Latin Hypercube and Sobol Sequence for consistency between classes (ISSUE-282, MERGE-288). By Kyle Brindley.

  • Remove the Linux wrapper shell script in favor of merging the git clone feature with the OS-agnostic waves build subcommand (ISSUE-283, MERGE-291). By Kyle Brindley.

New Features

Bug fixes

Documentation

Enhancements

Internal Changes

0.3.6 (2022-08-31)

New Features

  • Add a Sobol sequence parameter generator. Requires scipy>=1.7.0 but this is not yet enforced in the Conda package runtime requirements. See ISSUE-278 for the timeline on the minimum scipy requirement update (ISSUE-274, MERGE-278). By Kyle Brindley.

Bug fixes

  • Use the parameter set name as the parameter study’s set index dimension. Fixes unintentional breaking change in the parameter study coordinates from MERGE-266 that required users to swap dimensions when merging parameter studies with the associated results (ISSUE-270, MERGE-277). By Kyle Brindley.

  • Merge quantiles attribute correctly when provided with a previous parameter study (ISSUE-275, MERGE-280). By Kyle Brindley.

Documentation

Internal Changes

0.3.5 (2022-08-24)

Documentation

Enhancements

Internal Changes

  • Use pyDOE2 instead of smt for Latin Hypercube sampling. Implement more rigorous Latin Hypercube parameter study unit tests (ISSUE-261, MERGE-272). By Kyle Brindley.

0.3.4 (2022-08-23)

Breaking changes

Bug fixes

New Features

  • Add set name template option to the parameter generators and parameter study interfaces. Allow the set name template to be changed when writing parameter sets to STDOUT or a single file. (ISSUE-253, MERGE-264). By Kyle Brindley.

  • Add the ability to merge or expand parameter studies without re-building all previously executed SCons parameter sets. Feature functions for all parameter generators and the CLI (ISSUE-224, MERGE-266). By Kyle Brindley.

Documentation

Internal Changes

0.3.3 (2022-08-09)

Bug fixes

New Features

Documentation

Internal Changes

Enhancements

0.3.2 (2022-08-04)

Bug fixes

New Features

  • Create a waves command line utility with a version argument and a subparser for opening the packaged HTML documentation in the system default web browser (ISSUE-172, MERGE-233). By Thomas Roberts.

  • Add a Conda environment builder to aid in Python software stack documentation for reproducibility (ISSUE-212, MERGE-239). By Kyle Brindley.

  • Add a substitution syntax helper to prepend and append special characters on dictionary key strings (ISSUE-235, MERGE-240). By Kyle Brindley.

Documentation

Internal Changes

0.3.1 (2022-08-02)

Breaking changes

  • Change the parameter study data key from ‘values’ to ‘samples’ to avoid name clash with the ‘values’ method and attribute of dictionaries and datasets. (ISSUE-234, MERGE-229). By Kyle Brindley.

  • Re-organize the parameter study coordinates to allow mixed types, e.g. one parameter that uses strings and another that uses floats (ISSUE-239, MERGE-234). By Kyle Brindley.

Bug fixes

  • Add construction environment variables to the Abaqus extract builder signature. Builder now re-executes when the keyword arguments change (ISSUE-230, MERGE-232). By Kyle Brindley.

  • Re-organize the parameter study coordinates to allow mixed types, e.g. one parameter that uses strings and another that uses floats. Fixes the parameter study read/write to h5 files to avoid unexpected type conversions (ISSUE-239, MERGE-234). By Kyle Brindley.

Documentation

Internal Changes

0.2.2 (2022-07-28)

Breaking changes

  • Parmeter study writes to YAML syntax by default to provide syntactically correct STDOUT default behavior. Note that the write() feature isn’t used in the WAVES-EABM tutorials, so the user manual documentation is unchanged. (ISSUE-218, MERGE-212). By Kyle Brindley.

  • Remove the parameter study python syntax output. Recommend using YAML syntax and the PyYAML package if parameter study output files must use a text based serialization format. (ISSUE-223, MERGE-217). By Kyle Brindley.

New Features

Bug fixes

Documentation

Internal Changes

Enhancements

0.2.1 (2022-07-22)

Breaking changes

New Features

Documentation

Internal Changes

Enhancements

0.1.17 (2022-07-18)

Documentation

0.1.16 (2022-07-14)

Documentation

Internal Changes

0.1.15 (2022-07-14)

Breaking changes

  • Require at least one target for the AbaqusJournal and PythonScript builders (ISSUE-188, MERGE-166). By Kyle Brindley.

  • Return parameter study as an xarray dataset instead of a text YAML dictionary. Necessary for future output type options and multi-index tables, e.g. Latin Hypercube value and quantile information (ISSUE-70, MERGE-170). By Kyle Brindley.

  • Convert project command line variables to command line options (ISSUE-179, MERGE-169). By Kyle Brindley.

New Features

Bug fixes

Documentation

Internal Changes

0.1.14 (2022-06-30)

Documentation

0.1.13 (2022-06-29)

Bug fixes

Documentation

Internal Changes

0.1.12 (2022-06-17)

Documentation

Internal Changes

0.1.11 (2022-06-17)

New Features

Documentation

Internal Changes

  • Added three new documentation aliases to match the sphinx-build builders: html, latexpdf, man. “documentation” alias now collects all three documentation build types (ISSUE-167, MERGE-140). By Kyle Brindley.

0.1.10 (2022-06-09)

Breaking changes

Documentation

Internal Changes

Enhancements

0.1.9 (2022-06-03)

Documentation

0.1.8 (2022-06-02)

New Features

Bug fixes

Documentation

Internal Changes

0.1.7 (2022-05-27)

Breaking changes

  • Re-arrange the EABM stub source files to allow identically named Abaqus and Cubit journal files when those files perform a nominally identical task (ISSUE-109, MERGE-77). By Kyle Brindley.

New Features

Documentation

Internal Changes

Enhancements

0.1.6 (2022-05-17)

Breaking changes

New Features

  • Re-work the parameter generators for direct use in an SCons builder: validate schema on instantiation, provide argument defaults on instantiation, output list of pathlib.Path file objects that will be written (ISSUE-60, MERGE-60). By Kyle Brindley.

Documentation

Internal Changes

0.1.5 (2022-05-12)

New Features

Bug fixes

  • Limit automatically appended target extensions for the AbaqusSolver builder to avoid inadvertent AlwaysBuild behavior introduced by expected, but missing, file extensions that are never created (ISSUE-41, MERGE-28). By Kyle Brindley.

Documentation

Internal Changes

Enhancements

0.1.4 (2022-05-06)

New Features

Documentation

0.1.3 (2022-05-05)

New Features

Bug fixes

Documentation

Internal Changes

  • Remove the dummy {job_name}.touch file from the Abaqus wrapper. SCons does not automatically delete target file(s) when the build fails like GNU Make or CMake does (ISSUE-24, MERGE-14). By Kyle Brindley.

0.1.2 (2022-05-04)

New Features

  • Add the SCons target definition equivalent to the ECMF and CMake-simulation “Tutorial 01: geometry” (ISSUE-10, MERGE-3). By Kyle Brindley.

  • Add the SCons target definition equivalent to the ECMF and CMake-simulation “Tutorial 02: partition and mesh” (ISSUE-11, MERGE-4). By Kyle Brindley.

  • Add the SCons target definition equivalent to the ECMF and CMake-simulation “Tutorial 03: solverprep” (ISSUE-14, MERGE-6). By Kyle Brindley.

  • Link the SCons man pages to the expected man page directory of the Conda environment (ISSUE-15, MERGE-7). By Kyle Brindley.

Bug fixes

Documentation

0.1.1 (2022-05-03)

New Features

0.1.0 (2022-04-20)

Breaking changes

New Features

Bug fixes

Documentation

Internal Changes

Enhancements