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.