Release notes#
The APIs before v3.0.0 are in beta and may change without prior notice.
v1.0#
v1.0.8 (2024-04-20)#
Run workflow "Publish" only on push tag event
Include Hawaii synthetic case from Hawaii Synthetic Grid
Remove matrices calculation functions in model
LineInclude
gentypeandgenfuelwhen parsing MATPOWER casesFix logging level in
ACOPF.run
v1.0.7 (2024-04-14)#
Address several wording issues in the documentation
Switch to
AreafromZonefor zonal calculationExtend common parameters in groups
StaticGenandStaticLoadwithareaSet case
pjm5bus_demo.xlsxas a all-inclusive caseInclude module
MatProcessorin the API documentationImprove Line parameters correction in
System.setup()Make func
interface._to_andes_pflowpublicDiscard
sync_adsysstep in functo_andes_pflowto fix mistake in parameters conversionUpdate case files
v1.0.6 (2024-04-10)#
Enhance handling of Type 1 gencost: Automatically fallback to Type 2 gencost
Add parameter correction for zero line angle difference
v1.0.5 (2024-04-09)#
Include sensitivity matrices calculation demo in documentation
Add
DCOPF2, a PTDF-based DCOPF routineFix bug when update routine parameters before it is initialized
v1.0.4 (2024-04-05)#
Fix format in release notes
Add badges of GitHub relesase and commits in README
Add a demo to show sensitivity matrices calculation
v1.0.3 (2024-03-17)#
Bug fix in function
ams.interface.parse_addfile, released in v1.0.3a1
v1.0.2 (2024-02-01)#
Enhance the GitHub Actions workflow file
Deprecate andes logger configuration in
config_loggerDeprecate solver specification in
demo_ESD1
v1.0.1 (2024-01-26)#
Hotfix: removed dependencies on SCIP and pyscipopt to resolve installation issues
v1.0.0 (2024-01-24)#
Breaking Change: rename model
RegiontoZonefor clarity. Prior case files without modification can run into error.Fix bugs in
RTED.dc2acMinor refacotr
OptzBase.get_idxto reduce duplicationRename module
OptBasetoOptzBasefor clarityUpdate benchamrk figure in README
Set ANDES requirement to v1.9.3
Deprecate method
get_idxand suggest usingget_all_idxesinsteadRemove module
benchmarks.pyand its tests for simplicity
Pre-v1.0#
v0.9.13 (2024-12-05)#
Add a step to report in
RoutineBase.runAdd more tests to cover DG and ES related routines
Improve formulation for DG and ESD involved routines
Improve module
Reportand methodRoutineBase.export_csvSupport
TimedEventin ANDES case conversionAdd Var
vBusinDCOPFfor placeholder
v0.9.12 (2024-11-23)#
Refactor
OModel.initializedas a property methodAdd a demo to show using
Constraint.efor debuggingFix
ams.opt.omodel.Param.evaluatewhen its value is a numberImprove
ams.opt.omodel.ExpressionCalcfor better performanceRefactor module
ams.optAdd class
ams.opt.ExpressionSwitch from PYPOWER to ANDES in routine
PFlowSwitch from PYPOWER to regular formulation in routine
DCPFRefactor routines
DCPFandDCOPFIn
RDocumenter, set Srouce to be owner if there is no srcSpecify
multiprocess<=0.70.16in requirements as 0.70.17 does not support Linux
RC1#
Reset setup.py to ensure compatibility
v0.9.11 (2024-11-14)#
Add pyproject.toml for PEP 517 and PEP 518 compliance
Add model
JumperFix deprecation warning related to
pandas.fillnaandnewshapein NumPyMinor refactor on solvers information in the module
sharedChange default values of minimum ON/OFF duration time of generators to be 1 and 0.5 hours
Add parameter
uffor enforced generator on/off statusIn servicee
LoadScale, consider load online statusConsider line online status in routine
EDAdd methods
evaluateandfinalizein the classOModelto handle optimization elements generation and assemblingRefactor
OModel.initandRoutine.initAdd ANDES paper as the citation file for now
Add more routine tests for generator trip, line trip, and load trip
Add a README to overview built-in cases
Rename methods
v2asefor classesConstraintandObjectiveAdd benchmark functions
Improve the usage of
evalin moduleomodelRefactor module
interop.andesas moduleinterfacefor simplicity
v0.9.10 (2024-09-03)#
Hotfix of import issue in v0.9.9.
In module
MatProcessor, add two parameterspermc_specanduse_umfpackin functionbuild_ptdfFollow RTD's deprecation of Sphinx context injection at build time
In MATPOWER conversion, set devices name as None
Skip macOS tests in azure-pipelines due to failure in fixing its configuration
Prepare to support NumPy v2.0.0, but solvers have unexpected behavior
Improve the logic of setting
OptzvalueSupport NumPy v2.0.0
v0.9.9 (2024-09-02)#
NOTICE: This version has known issues and has been yanked on PyPI.
v0.9.8 (2024-06-18)#
Assign
MParam.ownerwhen declaringIn
MatProcessor, improvebuild_ptdfandbuild_lodfto allow partial building and incremental buildingAdd file
cases/matpower/Benchmark.jsonfor benchmark with MATPOWERImprove known good results test
Minor fix in
main.pyselftest partSet dependency NumPy version to be <2.0.0 to avoid CVXPY compatibility issues
v0.9.7 (2024-05-24)#
This patch release add the Roadmap section in the release notes, to list out some potential features. It also drafts the EV Aggregation model based on the state space modelg, but the finish date remains unknown.
References:
[1] J. Wang et al., "Electric Vehicles Charging Time Constrained Deliverable Provision of Secondary Frequency Regulation," in IEEE Transactions on Smart Grid, doi: 10.1109/TSG.2024.3356948.
Fix OTDF calculation
Add parameter
dtype='float64'andno_store=FalseinMatProcessorPTDF, LODF, and OTDF calculation, to save memoryAdd placeholder parameter
Bus.type
v0.9.6 (2024-04-21)#
This patch release refactor and improve MatProcessor, where it support PTDF, LODF,
and OTDF for static analysis.
The reference can be found online "PowerWorld > Web Help > Sensitivities > Line Outage Distribution Factors".
Refactor DCPF, PFlow, and ACOPF
Add a loss factor in
RTED.dc2acAdd
DCOPF.dc2acFix OModel parse status to ensure no_parsed params can be updated
Fix and rerun
ex2Format
Routine.getreturn type to be consistent with input idx typeRemove unused
Routine.prepareRefactor
MatProcessorto separate matrix buildingAdd Var
plfinDCPF,PFlow, andACOPFto store the line flowAdd
build_ptdf,build_lodf, andbuild_otdfFix
Routine.getto support pd.Series type idx inputReserve
exec_timeafterdc2acAdjust kloss to fix
ex2
v0.9.5 (2024-03-25)#
Add more plots in
demo_AGCImprove line rating adjustment
Adjust static import sequence in
models.__init__.pyAdjust pjm5bus case line rate_a
Fix formulation of constraint line angle diff
Align slack bus angle to zero in
DCOPFAlign StaticGen idx sequence with converted MATPOWER case
Fix several issues in MATPOWER converter
v0.9.4 (2024-03-16)#
Add Var
piand ExpressionCalcpicto store the dual of constraint power balanceAdd Param
MandDto modelREGCV1Add CPS1 score calculation in
demo_AGC
v0.9.3 (2024-03-06)#
Major improvemets on
demo_AGCBug fix in
RTED.dc2ac
v0.9.2 (2024-03-04)#
Add
demo_AGCto demonstrate detailed secondary frequency regulation studyAdd
ExpressionCalcto handle post-solving calculationRename
type='eq'tois_eq=FalseinConstraintto avoid overriding built-in attributeSeveral formatting improvements
v0.9.1 (2024-03-02)#
Change sphinx extension myst_nb to nbsphinx for math rendering in
ex8Improve
symprocessorto include routine configAdd config to Routine reference
Fix symbol processor issue with power operator
v0.9.0 (2024-02-27)#
Add
ex8for formulation customization via APIImprove Development documentation
Fix
addService,addVarsRename
RoutineModeltoRoutineBasefor better namingFix ANDES file converter issue
Initial release on conda-forge
v0.8.5 (2024-01-31)#
Improve quality of coverage and format
Fix dependency issue
v0.8.4 (2024-01-30)#
Version cleanup
v0.8.3 (2024-01-30)#
Initial release on PyPI
v0.8.2 (2024-01-30)#
Improve examples
Add module
reportand funcRoutineBase.export_csvfor results export
v0.8.1 (2024-01-20)#
Improve
MatProcessorAdd more examples
Improve ANDES interface
v0.8.0 (2024-01-09)#
Refactor
DCEDroutines to improve performance
v0.7.5 (2023-12-28)#
Refactor
MatProcessorandDCEDroutines to improve performanceIntegrate sparsity pattern in
RParamRename energy storage routines
RTED2,ED2andUC2toRTEDES,EDESandUCES
v0.7.4 (2023-11-29)#
Refactor routins and optimization models to improve performance
Fix routines modeling
Add examples
Fix built-in cases
v0.7.3 (2023-11-03)#
Add tests
v0.7.2 (2023-10-26)#
Add routines
ED2andUC2Minor fix on
SymProcessorandDocumenter
v0.7.1 (2023-10-12)#
Add function
_initial_guessto routineUCRefactor PYPOWER
v0.7.0 (2023-09-22)#
Add interfaces for customizing optimization
Add models
REGCV1andREGCV1Costfor virtual inertia schedulingAdd cost models:
SRCost,NSRCost,DCostAdd reserve models:
SR,NSRAdd routine
UCAdd routine
RTED2to include energy storage model
v0.6.7 (2023-08-02)#
Version cleanup
v0.6.6 (2023-07-27)#
Improve routine reference
Add routine ED, LDOPF
v0.6.5 (2023-06-27)#
Update documentation with auto-generated model and routine reference
Add interface with ANDES
ams.interop.andesAdd routine RTED and example of RTED-TDS co-simulation
Draft development documentation
v0.6.4 (2023-05-23)#
Setup PFlow and DCPF using PYPOWER
v0.6.3 (2023-05-22)#
Using CVXPY for draft implementation
Improve
model,group,paramandvarincoreRefactor
routinesandoptImprove PYPOWER interface
io.pypower.system2ppcFix PYPOWER function
solver.pypower.makePTDF
v0.6.2 (2023-04-23)#
Enhance docstring
Remove unused module
utils.LazyImportRemove unused module
shared
v0.6.1 (2023-03-05)#
Fix incompatiability of NumPy attribute
objectinio.matpower._get_bus_id_callerAdd file parser
io.pypowerfor PYPOWER case fileDeprecate PYPOWER interface
solvers.ipp
v0.6.0 (2023-03-04)#
Set up PYPOWER for power flow calculation
Add PYPOWER interface
solvers.ippDevelop module
routinesfor routine analysisRevise module
system,core.var,core.modelfor routine analysisSet up routine
PFlowfor power flow calculationAdd file parser
io.matpowerandio.rawfor MATPOWER file and RAW fileDocumentation of APIs
v0.5 (2023-02-17)#
Develop module
system,main,cliDevelopment preparation: versioneer, documentation, etc.
v0.4 (2023-01)#
This release outlines the package.
Known Limitations#
For builit-in PYPOWER-based ACOPF, the known largest solvable case is "pglib_opf_case1354_pegase.m"
Batch processing is not supported yet
Routine
DCOPFhas been extensively benchmarked with pandapower and MATPOWER.Routines besides above mentioned are not fully benchmarked yet.
Roadmap#
This section lists out some potential features that may be added in the future. Note that the proposed features are not guaranteed to be implemented and subject to change.
Electric Vehicle for Grid Service#
A charging-time-constrained EV aggregation based on the state-space model
References:
[1] J. Wang et al., "Electric Vehicles Charging Time Constrained Deliverable Provision of Secondary Frequency Regulation," in IEEE Transactions on Smart Grid, doi: 10.1109/TSG.2024.3356948.
[2] M. Wang et al., "State Space Model of Aggregated Electric Vehicles for Frequency Regulation," in IEEE Transactions on Smart Grid, vol. 11, no. 2, pp. 981-994, March 2020, doi: 10.1109/TSG.2019.2929052.
Distribution OPF#
Distribution networks OPF and its LMP
DG siting and sizing considering energy equity
References:
[1] H. Yuan, F. Li, Y. Wei and J. Zhu, "Novel Linearized Power Flow and Linearized OPF Models for Active Distribution Networks With Application in Distribution LMP," in IEEE Transactions on Smart Grid, vol. 9, no. 1, pp. 438-448, Jan. 2018, doi: 10.1109/TSG.2016.2594814.
[2] C. Li, F. Li, S. Jiang, X. Wang and J. Wang, "Siting and Sizing of DG Units Considering Energy Equity: Model, Solution, and Guidelines," in IEEE Transactions on Smart Grid, doi: 10.1109/TSG.2024.3350914.
Planning#
Transmission expansion planning