OpenDSSDirect.py v0.8.4
Version 0.8.4 upgrades the DSS engine to address a bug fixed in OpenDSS v9.6.1.3, plus a couple minor improvements in our implementation.
There were also incremental changes in the internals of the plotting system, which is shared with DSS-Python. The backend for equivalent to DSSEvents in the COM API has been implemented, but not exposed nicely in Python yet.
❓ What's this?
This package provides a multi-platform, function-style, direct interface to the OpenDSS engine implementation from the DSS-Extensions project.
OpenDSSDirect.py can be installed using pip. For more: http://dss-extensions.org/OpenDSSDirect.py/notebooks/Installation.html
As OpenDSSDirect.py accumulates changes from DSS-Python, DSS C-API and the official OpenDSS, read below for other important changes including bugfixes, new features, and changes in behavior.
Full Git Changelog: v0.8.3...v0.8.4
🐍 DSS-Python 0.14.4 changes
- Upgrade the backend to DSS C-API 0.13.4. Includes a bugfix to CapControl, some more error handling, DSSEvents backend functions. This matches the changes in OpenDSS v9.6.1.3, plus our custom changes as usual.
- Use better DSSContext pointer to IDSS mapping.
- Plotting: handle empty monitors better, ignore invalid channels.
- Documentation updated.
⚙️ DSS C-API 0.13.4 changes
Bugfix release for CapControl
, couple with some incremental improvements.
This version should match OpenDSS v9.6.1.3 (SVN r3623).
-
Ported from the official OpenDSS SVN code:
CapControl
, port SVN 3622: "Solves a bug introduced in version 9.6.1.2 when using CapControl in time or follow control modes." (by davismont).
-
Added
DSSEvents
: Implement an initial set of functions analog to the COM interface. This was added for historical compatibility since use ofDSSEvents
is rarely seen. This document from EPRI (2011) presents the equivalent in the COM interface. Examples will be added in our downstream projects when time allows (feel free to request one to signal interest in this feature). -
Handle better how the internal
SolutionAbort
is used. Some invalid states were not being handled on absence of float-point exceptions, leading to potential useless results (NaN) and even crashes. -
VSource
: Abort the solution if Z1 is zero. -
API/ArrayDimensions: fix
CktElement_Get_NodeOrder
; add toCktElement_Get_Powers
.