Skip to content

PowNet v2.1 (Refactoring and Feature Release)

Choose a tag to compare

@phumthep phumthep released this 26 Oct 03:57
· 147 commits to master since this release

This release of PowNet introduces major refactoring for improved code organization and maintainability, along with several new features to enhance functionality and user experience.

**Key changes: **

  • **Simplified Modeling Workflow: ** All modules have been refactored to streamline the modeling process and make the codebase easier to understand and extend. This includes:
    • Reduce the number of function calls required by a user
    • Streamlined solver selection
    • Simplified user inputs by switching from config files to direct arguments in functions and classes
  • **Enhanced Modeling/Solver Capabilities: **
    • Enabled model updating at every simulation step instead of building an instance from scratch
    • Added rounding heuristics to improve the optimization problem-solving process
  • **New Analysis Features: **
    • Fixed modeling in a rolling horizon fashion
    • Allowed aggregation of generators at a node
    • Added the stochastic module for generating synthetic time series
    • Added locational marginal price (LMP) calculation and plotting functionality
    • Separated shortfall and curtailment penalty factors for more granular control over penalties
  • **Improved User Experience: **
    • Increased flexibility in selecting input and output folders. This allows users to install PowNet as a package and work within their own project directories
    • Added input checking to help users identify and correct potential errors in their input data

**Other improvements: **

  • **Increased Code Reliability: ** Added unit tests to ensure code quality
  • **Bug Fixes: ** Fixed the handling of line loss calculations.
  • **Improved Codebase: ** Revised folder structure for better organization.
  • **Enhanced Documentation: **
    • Revised CSV field descriptions for clarity
    • Added API documentation
  • **Code Cleanup: ** Deleted unused files to reduce clutter.