Version 3.5.0 (February 4, 2025)
Added
Power Network Infrastructure Support: Added comprehensive support for power network assessments including:
Power Fragility Models: New fragility models for power substations, circuits, and generation facilities
Power Auto-population: Extended auto-population scripts to recognize power network assets and map them to appropriate archetypes
Power Units: Added support for power-related units including ‘kW’ and ‘MW’ with proper unit conversions
Wind Demand Recognition: Added wind demands to the list of recognized Engineering Demand Parameters (EDPs), expanding multi-hazard assessment capabilities.
Line Force Units: Added support for line forces in the default units configuration, enabling proper conversion and handling of forces distributed along a line (e.g., N/m, kN/m). This enhancement improves the modeling of structural components where distributed loads are relevant.
Submodule Integration: Transitioned to using submodule resource files for better resource management and version control of damage and loss model libraries.
Enhanced Loss Processing: Improved loss aggregation and processing capabilities:
Comprehensive Loss Results: Enhanced DL_calculation to save additional information about component-level losses, making it easier to trace the contribution of individual components to the total loss.
Grouped Loss Statistics: Added capability to save grouped loss statistics when running regional simulations
Changed
Input Validation Flexibility: Added more flexibility in input validation by allowing Distribution
and Theta_1
to be missing for CollapseFragility and Replacement consequences, with sensible defaults applied automatically.
GitHub Workflows: Updated GitHub Actions workflows to:
Initialize submodules at checkout for proper resource file handling
Use trusted publisher approach for PyPI deployment
Improve documentation build and deployment processes
Code Quality Improvements: Enhanced code quality through:
Comprehensive type annotations and checking throughout the codebase
Enhanced random variable parameter handling when sampling from distributions.
DLML Resource Management: Updated Damage and Loss Model Library (DLML) resource paths and submodule pointers to the most recent version.
Fixed
Bug Fixes: Resolved several critical issues:
Irreparable Damage Handling: Fixed bug ensuring no component losses are counted on top of replacement when damage is irreparable
Exponentiation Operator: Fixed incorrect exponentiation operator usage in power network damage model autopopulation script
Anchor Property Validation: Improved anchor property parser to throw appropriate errors for invalid inputs
Bridge Modeling: Fixed marginal case handling for single span bridges longer than 150m
Water Network Fragility Database Updates: Updated water network damage databases with corrected fragility parameters
Custom Model Directory Handling: Improved
custom_model_dir
functionality to only check for custom model directories when the path actually contains the placeholder CustomDLDataFolder.Archetype ID Corrections: Fixed typos in archetype IDs, including correcting “EP.C” to “EP.G” and ensuring proper capitalization in base ID strings for power network assets.
Input Validation: Replaced checking for falsy values with explicit checks for None
to prevent unexpected behavior with zero values.
Documentation and Formatting: Fixed various documentation issues, indentation bugs in YAML files, and applied consistent code formatting using ruff.
Unit Test Fixes: Resolved unit test issues and formatting problems to ensure reliable testing.