Recent Releases of weac
weac - v3.0.1
Packaging structure refactor
- Moved the
weac/tosrc/weac/ - Fixed subpackage discovery
License update
- Switched from CC4.0 to MIT license
Changes
- Removed unused static assets and coverage files from the repository by @zacczakk in https://github.com/2phi/weac/pull/28
- Packaging hotfix by @pillowbeast in https://github.com/2phi/weac/pull/29
- License update by @pillowbeast in https://github.com/2phi/weac/pull/30
Full Changelog: https://github.com/2phi/weac/compare/v3.0.0...v3.0.1
- Python
Published by pillowbeast 6 months ago
weac - v3.0.0
WEAC v3.0
WEAC v3.0 represents a major architectural upgrade that completely restructures the codebase into a modern, modular package. This release significantly improves code organization, performance, and maintainability while adding comprehensive testing and enhanced documentation.
Highlights
Core refactor to a modular architecture under
weac/:- New packages:
analysis/,components/,core/,utils/ - Introduces
analysis.Analyzer,analysis.criteria_evaluator, andanalysis.plotter - New Pydantic-backed configuration and data models in
components/ - Adds
core.system_model,core.eigensystem,core.slab,core.scenario,core.slab_touchdown,core.unknown_constants_solver - Utility modules for data handling and conversions (e.g.,
utils.snowpilot_parser,utils.geldsetzer)
- New packages:
Performance improvements:
- Property caching for improved efficiency
- Input validation with Pydantic models
Comprehensive test suite:
- Tests across
tests/analysis,tests/components,tests/core, andtests/utils - Integration and regression tests, including comparison to reference WEAC version
- Test materials and consolidated test structure
- Tests across
Documentation improvements:
- Enhanced Sphinx project with fixed builds for Sphinx 8.x compatibility
- README improvements for usage, roadmap, and links
- Removed deprecated
sphinxawesome_theme.highlightingextension
CI and tooling enhancements:
- Updated GitHub Actions workflows for formatting, linting, testing, and docs deployment
- Standardized configuration in
pyproject.toml - Dependency caching and streamlined setup
- Cleaned
.gitignore/.cursorignoreand added.gitmodules
BREAKING CHANGES
- Legacy modules removed:
weac/layered.py,weac/mixins.py,weac/plot.py,weac/tools.py,weac/inverse.py,weac/eigensystem.py - API restructuring: imports move under
weac/analysis,weac/components,weac/core,weac/utils - Renaming:
crack_lengthβcut_lengthacross scenario-related APIs - Constants alignment and internal behavior changes consistent with new architecture
- Scripts removed:
main.pyandvalidation_cc.pyare no longer available
Migration Guide
Update your imports to the new package layout:
```python
New imports
from weac.components import ScenarioConfig, Segment, Layer, Config, ModelInput from weac.core.system_model import SystemModel from weac.analysis.analyzer import Analyzer from weac.analysis.plotter import Plotter ```
API Changes:
- Replace crack_length with cut_length in your scenario/config usage
- Use analysis.Plotter and analysis.Analyzer for plotting and analysis APIs
- Migrate from removed legacy modules to their new equivalents listed above
Documentation and CI
Docs build now succeeds with Sphinx 8.x:
docs/sphinx/conf.pyderives version viaimportlib.metadata.version("weac")- Deprecated extensions removed for better compatibility
CI improvements use
pyproject.tomlfor lint settings, add caching, and streamline setup
How to Verify
- Run the full test suite:
python -m pytest -q - Build docs locally:
bash sphinx-apidoc -o docs/sphinx/ weac --force --separate cd docs/sphinx && make clean html
This major release maintains WEAC's core functionality while providing a significantly improved foundation for future development. The modular architecture, comprehensive testing, and enhanced documentation make WEAC more maintainable and extensible than ever before.
- Python
Published by zacczakk 6 months ago
weac - v2.6.4
LAYERED SLABS ON COMPLIANT WEAK LAYERS
WEAC v2.6 provides Python π implementations of closed-form analytical models for the mechanical analysis of stratified snow covers on compliant weak layers.
BUG FIXES
- Store touchdown parameters
Full Changelog: https://github.com/2phi/weac/commits/v2.6.4
- Python
Published by zacczakk 6 months ago
weac - v2.6.3
LAYERED SLABS ON COMPLIANT WEAK LAYERS
WEAC v2.6 provides Python π implementations of closed-form analytical models for the mechanical analysis of stratified snow covers on compliant weak layers.
BUG FIXES
- Set slope angle before the calculation of the collapse height
Full Changelog: https://github.com/2phi/weac/commits/v2.6.3
- Python
Published by zacczakk 6 months ago
weac - v2.6.2
LAYERED SLABS ON COMPLIANT WEAK LAYERS
WEAC v2.6 provides Python π implementations of closed-form analytical models for the mechanical analysis of stratified snow covers on compliant weak layers.
FEATURES
- Improved parameter precision of Bergfeld's Young-modulus calculation
- Implemented parametrized collapse heights
Full Changelog: https://github.com/2phi/weac/commits/v2.6.2
- Python
Published by zacczakk 6 months ago
weac - v2.6.1
LAYERED SLABS ON COMPLIANT WEAK LAYERS
WEAC v2.6 provides Python π implementations of closed-form analytical models for the mechanical analysis of stratified snow covers on compliant weak layers.
FEATURES
- Migrated
setup.cfgtopyproject.toml - Migrated
.bumpversion.cfgtopyproject.toml
Full Changelog: https://github.com/2phi/weac/commits/v2.6.1
- Python
Published by zacczakk 12 months ago
weac - v2.6.0
LAYERED SLABS ON COMPLIANT WEAK LAYERS
WEAC v2.6 provides Python π implementations of closed-form analytical models for the mechanical analysis of stratified snow covers on compliant weak layers.
FEATURES
- Introduces unit tests
- Fixes #1
Full Changelog: https://github.com/2phi/weac/commits/v2.6.0
- Python
Published by zacczakk 12 months ago
weac -
LAYERED SLABS ON COMPLIANT WEAK LAYERS
WEAC v2.5 provides Python π implementations of closed-form analytical models for the mechanical analysis of stratified snow covers on compliant weak layers.
FEATURES
- Adds the computation of the cut length where the slab comes into full contact (more than a singular point) with the base layer in a propagation saw test to
weac.tools.touchdown_distance()
Full Changelog: https://github.com/2phi/weac/commits/v2.5.2
- Python
Published by zacczakk almost 2 years ago
weac - v2.5.1
LAYERED SLABS ON COMPLIANT WEAK LAYERS
WEAC v2.5 provides Python π implementations of closed-form analytical models for the mechanical analysis of stratified snow covers on compliant weak layers.
BUG FIXES
- Fixed typos
- Removed inconsistencies
FEATURES
- Improved documentation π
Full Changelog: https://github.com/2phi/weac/commits/v2.5.1
- Python
Published by zacczakk almost 2 years ago
weac - v2.5.0
LAYERED SLABS ON COMPLIANT WEAK LAYERS
WEAC v2.5 provides Python π implementations of closed-form analytical models for the mechanical analysis of stratified snow covers on compliant weak layers.
FEATURES
- Analyze slab touchdown π after weak-layer collapse in propagation saw tests (PSTs) by setting
touchdown=Trueat model setup - Use
weal.tools.touchdown_distance()to calculate the PST cut length at initial contact between slab and base layer after weak-layer collapse and the steady-state touchdown distance during unstable crack propagation.
Full Changelog: https://github.com/2phi/weac/commits/v2.5.0
- Python
Published by zacczakk almost 2 years ago
weac -
LAYERED SLABS ON COMPLIANT WEAK LAYERS
WEAC v2.4 provides Python π implementations of closed-form analytical models for the mechanical analysis of stratified snow covers on compliant weak layers.
BUG FIXES
- Fixed Zenodo indexing
FEATURES
- Choose between slope-normal or vertical PST boundary conditions (
'-pst','pst-'or'-vpst','vpst-', respectively)
Full Changelog: https://github.com/2phi/weac/commits/v2.4.1
- Python
Published by zacczakk about 2 years ago
weac - v2.4.0
LAYERED SLABS ON COMPLIANT WEAK LAYERS
WEAC v2.4 provides Python π implementations of closed-form analytical models for the mechanical analysis of stratified snow covers on compliant weak layers.
BUG FIXES
- Fixed data format of energy release rates
- Added switch for touchdown computations
FEATURES
- Choose between slope-normal or vertical PST boundary conditions (
'-pst','pst-'or'-vpst','vpst-', respectively)
Full Changelog: https://github.com/2phi/weac/commits/v2.4.0
- Python
Published by zacczakk about 2 years ago
weac - v2.3.2
LAYERED SLABS ON COMPLIANT WEAK LAYERS
WEAC v2.3 provides Python π implementations of closed-form analytical models for the mechanical analysis of stratified snow covers on compliant weak layers.
BUG FIXES
- Makes nondimensional density parametrization according to Bergfeld et al. (2023) the default
FEATURES
- Contour plots of stress and displacement fields on deformed geometries
- Now accounts for slab touchdown in propagation saw tests
Full Changelog: https://github.com/2phi/weac/commits/v2.3.1
- Python
Published by zacczakk almost 3 years ago
weac - v2.3.1
LAYERED SLABS ON COMPLIANT WEAK LAYERS
WEAC v2.3 provides Python π implementations of closed-form analytical models for the mechanical analysis of stratified snow covers on compliant weak layers.
BUG FIXES
- Fixes contour plot axis labels
- Installing
weacnow requires Python π 3.10 or newer
FEATURES
- Contour plots of stress and displacement fields on deformed geometries
- Now accounts for slab touchdown in propagation saw tests
Full Changelog: https://github.com/2phi/weac/commits/v2.3.1
- Python
Published by zacczakk over 3 years ago
weac - v2.3.0
LAYERED SLABS ON COMPLIANT WEAK LAYERS
WEAC v2.3 provides Python π implementations of closed-form analytical models for the mechanical analysis of stratified snow covers on compliant weak layers.
FEATURES
- Contour plots of stress and displacement fields on deformed geometries
- Now accounts for slab touchdown in propagation saw tests
Full Changelog: https://github.com/2phi/weac/commits/v2.3.0
- Python
Published by zacczakk over 3 years ago
weac - v2.2.1
LAYERED SLABS ON COMPLIANT WEAK LAYERS
WEAC v2.2 provides Python π implementations of closed-form analytical models for the mechanical analysis of stratified snow covers on compliant weak layers.
BUG FIXES
v2.2.1
- Fixed a bug where end coordinates could mistakenly be identified as unsupported when they were actually supported
- Fixed a bug where edge cracks could mistakenly be identified as center cracks
FEATURES
- Sign of inclination
phiconsistent with the coordinate system (positive counterclockwise) - Dimension arguments to field-quantity methods added
- Improved aspect ratio of profile views and contour plots
- Improved plot labels
- Convenience methods for the export of weak-layer stresses and slab deformations
- Wrapper for (re)calculation of the fundamental system
- Now allows for distributed surface loads
Full Changelog: https://github.com/2phi/weac/commits/v2.2.1
- Python
Published by 2phi almost 4 years ago
weac - v2.2.0
LAYERED SLABS ON COMPLIANT WEAK LAYERS
WEAC v2.2 provides Python π implementations of closed-form analytical models for the mechanical analysis of stratified snow covers on compliant weak layers.
FEATURES
- Sign of inclination
phiconsistent with the coordinate system (positive counterclockwise) - Dimension arguments to field-quantity methods added
- Improved aspect ratio of profile views and contour plots
- Improved plot labels
- Convenience methods for the export of weak-layer stresses and slab deformations
- Wrapper for (re)calculation of the fundamental system
- Now allows for distributed surface loads
Full Changelog: https://github.com/2phi/weac/commits/v2.2.0
- Python
Published by zacczakk about 4 years ago
weac - v2.1.2
LAYERED SLABS ON COMPLIANT WEAK LAYERS
WEAC v2.1 provides Python π implementations of closed-form analytical models for the mechanical analysis of stratified snow covers on compliant weak layers.
BUG FIXES
v2.1.2
- Add wrapper for the (re)calculation of the fundamental system
v2.1.1
- Make sign of inclination phi consistent with the coordinate system (positive counterclockwise)
- Add dimension arguments to field-quantity methods
- Improved aspect ratio of profile views and contour plots
- Improved plot labels
- Provide convenience methods for the export of weak-layer stresses and slab deformations
FEATURES
- Consistent use of coordinate system with downward pointing z-axis
- Consitent top-to-bottom numbering of slab layers
- Implementation of PSTs cut from either left or right side
Full Changelog: https://github.com/2phi/weac/commits/v2.1.2
- Python
Published by zacczakk about 4 years ago
weac - v2.1.1
LAYERED SLABS ON COMPLIANT WEAK LAYERS
WEAC v2.1 provides Python π implementations of closed-form analytical models for the mechanical analysis of stratified snow covers on compliant weak layers.
BUG FIXES
v2.1.1
- Make sign of inclination phi consistent with the coordinate system (positive counterclockwise)
- Add dimension arguments to field-quantity methods
- Improved aspect ratio of profile views and contour plots
- Improved plot labels
- Provide convenience methods for the export of weak-layer stresses and slab deformations
FEATURES
- Consistent use of coordinate system with downward pointing z-axis
- Consitent top-to-bottom numbering of slab layers
- Implementation of PSTs cut from either left or right side
Full Changelog: https://github.com/2phi/weac/commits/v2.1.1
- Python
Published by 2phi about 4 years ago
weac - v2.1.0
LAYERED SLABS ON COMPLIANT WEAK LAYERS
WEAC v2.1 provides Python π implementations of closed-form analytical models for the mechanical analysis of stratified snow covers on compliant weak layers.
FEATURES
- Consistent use of coordinate system with downward pointing z-axis
- Consitent top-to-bottom numbering of slab layers
- Implementation of PSTs cut from either left or right side
Full Changelog: https://github.com/2phi/weac/commits/v2.1.0
- Python
Published by 2phi about 4 years ago
weac - v2.0.3
LAYERED SLABS ON COMPLIANT WEAK LAYERS
WEAC v2.0 provides Python π implementations of closed-form analytical models for the mechanical analysis of stratified snow covers on compliant weak layers.
BUG FIXES
v2.0.3
- Added automatic version bumping
v2.0.2
- Fixed PyPI version error
v2.0.1
- Fixed PyPI publish workflow
FEATURES
- Completely rewritten in Python
- Coupled bending-extension ODE solver implemented
- Stress analysis of arbitrarily layered snow slabs
- FEM validated
- displacements
- weak-layer stresses
- energy release rates in weak layers
- Documentation
- Demo and examples
Full Changelog: https://github.com/2phi/weac/commits/v2.0.3
- Python
Published by 2phi about 4 years ago
weac - v2.0.2
LAYERED SLABS ON COMPLIANT WEAK LAYERS
WEAC v2.0 provides Python π implementations of closed-form analytical models for the mechanical analysis of stratified snow covers on compliant weak layers.
BUG FIXES
v2.0.2
- Fixed PyPI version error
v2.0.1
- Fixed PyPI publish workflow
FEATURES
- Completely rewritten in Python
- Coupled bending-extension ODE solver implemented
- Stress analysis of arbitrarily layered snow slabs
- FEM validated
- displacements
- weak-layer stresses
- energy release rates in weak layers
- Documentation
- Demo and examples
Full Changelog: https://github.com/2phi/weac/commits/v2.0.2
- Python
Published by 2phi about 4 years ago
weac - v2.0.1
LAYERED SLABS ON COMPLIANT WEAK LAYERS
WEAC v2.0 provides Python π implementations of closed-form analytical models for the mechanical analysis of stratified snow covers on compliant weak layers.
BUG FIXES
v2.0.1
- Fixed PyPI publish workflow
FEATURES
- Completely rewritten in Python
- Coupled bending-extension ODE solver implemented
- Stress analysis of arbitrarily layered snow slabs
- FEM validated
- displacements
- weak-layer stresses
- energy release rates in weak layers
- Documentation
- Demo and examples
Full Changelog: https://github.com/2phi/weac/commits/v2.0.1
- Python
Published by 2phi about 4 years ago
weac - v2.0.0
LAYERED SLABS ON COMPLIANT WEAK LAYERS
WEAC v2.0 provides Python π implementations of closed-form analytical models for the mechanical analysis of stratified snow covers on compliant weak layers.
FEATURES
- Completely rewritten in Python
- Coupled bending-extension ODE solver implemented
- Stress analysis of arbitrarily layered snow slabs
- FEM validated
- displacements
- weak-layer stresses
- energy release rates in weak layers
- Documentation
- Demo and examples
Full Changelog: https://github.com/2phi/weac/commits/v2.0.0
- Python
Published by 2phi about 4 years ago
weac - v1.0.0
SNOW SLAB AVALANCHE RELEASE
WEAC v1.0.0 provides MATLAB implementations of closed-form analytical models for the mechanical analysis of homogeneous dry-snow slabs on compliant weak layers and the prediction of anticrack onset. Please refer to the companion papers for a full documentation of the model derivation:
- Rosendahl, P. L., & WeiΓgraeber, P. (2020). Modeling snow slab avalanches caused by weak-layer failure β Part 1: Slabs on compliant and collapsible weak layers. The Cryosphere, 14(1), 115β130. https://doi.org/10.5194/tc-14-115-2020
- Rosendahl, P. L., & WeiΓgraeber, P. (2020). Modeling snow slab avalanches caused by weak-layer failure β Part 2: Coupled mixed-mode criterion for skier-triggered anticracks. The Cryosphere, 14(1), 131β145. https://doi.org/10.5194/tc-14-131-2020
FEATURES
- Slab deformation analysis
- Weak-layer stress prediction
- Finite fracture mechanics implementation
- Anticrack nucleation
Full Changelog: https://github.com/2phi/weac/commits/v1.0.0
- Python
Published by 2phi about 4 years ago