Skip to content

OpenDSSDirect.py v0.8.4

Compare
Choose a tag to compare
@PMeira PMeira released this 28 Jun 03:33
· 63 commits to master since this release

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

check its repo for more info

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 of DSSEvents 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 to CktElement_Get_Powers.