Recent Releases of PowNet
PowNet - PowNet v2.2 (Feature Release)
This release of PowNet
introduces modeling flexibility and new capabilities, including energy storage systems, detailed hourly prices, must-take obligation, and improved handling of diverse system configurations.
Key features
- Energy storage systems: Model energy storage systems with the ability to connect them to generators or nodes, enabling more realistic simulations of grid operations with storage capabilities. Energy storage units are defined as a CSV input file.
- Hourly generator cost modeling: Define hourly fuel costs for thermal units and hourly costs for non-dispatchable resources (solar, wind, and import) by associating generators with individual contracts. This allows for more accurate economic dispatch and cost analysis.
- Must-take obligation: Generators can be defined as "must-take," requiring the system operator to pay for their curtailed energy. This arrangement effectively gives must-take generators dispatch priority.
- Support diverse system configurations:
PowNet
now supports a wider range of system configurations, including those without thermal units or transmission lines, by removing the requirement for certain CSV input files. - Improved output processing: The
OutputProcessor
object has been optimized to reduce memory usage and includes new calculations for more comprehensive analysis of model results. - Transmission Line Utilization Visualization: Plot the utilization rate of transmission lines to analyze network congestion and identify potential bottlenecks.
Other improvements
- Changes to input files: Some input files have had their names changed or require extra fields. A user is recommended to refer to examples in the
model_library
folder on how to create CSV files. - Flexible Spin Reserve Specification: Specify spin reserve requirements as either an absolute value (MW) or a percentage of demand, providing greater flexibility in defining system operating constraints.
- Improved Generator Naming: Allow digits in generator names for easier identification and management.
- Optimized HiGHS Solver Performance: Explicitly specify the simplex method when using the HiGHS solver to significantly reduce runtime.
- Terminology Update: Renamed "waste_heat" to "solid_waste".
- Type Hint Corrections: Fixed type hints of various functions and class methods.
Energy Systems - Energy System Modeling Frameworks
- Python
Published by phumthep 3 months ago

PowNet - PowNet v2.1 (Refactoring and Feature 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.
Energy Systems - Energy System Modeling Frameworks
- Python
Published by phumthep 6 months ago

PowNet - PowNet v2.0
This is an entirely new version of PowNet that includes the following key features:
- The underlying algebraic modeling language is gurobipy, which replaces Pyomo. gurobipy is faster than Pyomo and has lower memory requirements.
- A model created with PowNet can be solved with Gurobi as well as the free, open-source, solver HiGHS.
- The mathematical formulation of PowNet is based on the 'strong' MILP formulations proposed by Knueven et al. (2020).
- DC power flow is represented through different methods proposed by Hörsch et al. (2018)). These include both voltage angle and cycle flow formulations.
- The implementation of PowNet is modular, so it allows users to include new formulations for a given constraint.
- Models for a given country are built fully from .csv files.
- Visualization of the model output has been standardised w.r.t. previous versions.
Energy Systems - Energy System Modeling Frameworks
- Python
Published by stefano-galelli 12 months ago

PowNet - PowNet v1.3
Changes since v1.2
- Fix: Ramp Rate Constraints at Segment B.9 are modified to fix ramping constraints #7
- Fix: Up/Down Time Constraints at Segment B.9 are modified to fix minUp/minDown constraint violation within the same horizon. Note that the constraint violation across horizon is not fixed, but we checked that the violation is minimal in a run #8
- Enhancement: Derate factors of dispatchable units are now hourly inputs (instead of yearly) and are provided in separate csv files saved as ‘deratef_xxxx’, where ‘xxxx’ denotes the simulation year #9
- Enhancement: Options for applying time limit to optimization is added
- Enhancement: Input and output files are organized into different folders
- Enhancement: Additional hydropower data are provided in input/hydro folder
Release notes
- Third release, date: 15-Apr-2021.
- Archived in Zenodo with doi: 10.5281/zenodo.4688309
- Contributors: Ng Jia Yi, AFM Kamal Chowdhury, Stefano Galelli
Energy Systems - Energy System Modeling Frameworks
- Python
Published by kamal0013 about 4 years ago

PowNet - PowNet v1.2
Changes since v1.1
- Fix: Logical Constraints at Segment B.9 are modified to fix a bug that used to initialize the binary decision variables (on and switch) for each horizon (e.g., 24 hours).
- Enhancement: Derate factors of dispatchable units – the climate-dependent variable which can vary for each year in simulation over multiple years – are now provided in separate csv files with column heading as ‘deratef_xxxx’, where ‘xxxx’ denotes the simulation year (e.g., 2016, 2017 etc.).
- Enhancement: Storing process of outputs in the solver script slightly reduced the computational requirements.
Release notes
- Second release, date: 08-Sep-2020.
- Archived in Zenodo with doi: 10.5281/zenodo.4020167.
- Contributors: Rachel Koh, AFM Kamal Chowdhury, Stefano Galelli
Energy Systems - Energy System Modeling Frameworks
- Python
Published by kamal0013 over 4 years ago

PowNet -
Release notes
- First release, date: 27-Sep-2019.
- Archived in Zenodo with doi: 10.5281/zenodo.3756750.
- Contributors: AFM Kamal Chowdhury, Jordan Kern, Thanh Duc Dang, Stefano Galelli, Arijit Bagchi
Energy Systems - Energy System Modeling Frameworks
- Python
Published by kamal0013 over 5 years ago
