Skip to content

OpenDSSDirect.py v0.8.3

Choose a tag to compare

@PMeira PMeira released this 13 Jun 04:54
· 66 commits to master since this release

Version 0.8.3 is being released to include recent bugfixes to the DSS engine (some present for several years, read below), porting the updates from OpenDSS v9.6.1.2.

There was also incremental progress in the plotting system, which is shared with DSS-Python.

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.

❓ 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.2...v0.8.3

🐍 DSS-Python 0.14.3 changes

  • Upgrade the backend to DSS C-API 0.13.3. Includes important fixes to some OpenDSS components affected by bugs for several years. This matches the changes in OpenDSS v9.6.1.2, plus our custom changes as usual.
  • Add DSS.Error.UseExceptions to allow disabling the automatic mapping of error numbers to Python exceptions. When disabling, users take full responsibility to actually check for errors through the DSS.Error interface.
  • Add DSSCompatFlags.SaveCalcVoltageBases.
  • Transformers: add a warning in the docstrings of WdgCurrents, WdgVoltages (these don't work well when the transformer has open terminals).
  • Plotting: handle GICLines in circuit plots.

⚙️ DSS C-API 0.13.4 changes

check its repo for more info

Bugfix release for some components. No other major changes.

Fixes ported from the official OpenDSS v9.6.1.2 (SVN r3619) released on 2023-06-06, plus our custom changes (including new tests). Test circuits cross-validated as usual.

  • LoadShape: check if there's any allocated pointer before normalizing. Since we provide more ways to fill the LoadShape data besides the official alternatives, we needed to add a few more checks in case of misuse to avoid using invalid pointers. Includes a minor fix to how manual values (set by the user) for mean and stddev are handled.

  • show command: adjust formatting for show variables, show isolated, show loops, show faults.

  • GICTransformer: clean-up the code and add a minor fix for BusX.

  • Editor: tweak how the process is started; works better on Linux for terminal-based editors (GUI editors are recommended for a better experience though).

  • Obj/API and headers: new functions and add a few warnings in the docs.

  • New compatibility flag in DSSCompatFlags: add SaveCalcVoltageBases. On recent versions, running a save circuit doesn't include a CalcVoltageBases anymore since that causes issues for some users. We added the new flag SaveCalcVoltageBases to restore the old/original behavior. More options are planned for a future version in a dedicated function in the API.

  • Ported (and complemented) from the official OpenDSS SVN code:

    • UPFC, r3610: "Fixing losses in UPFC model, there was a bug introduced several years ago when trying to redefine losses based on residual currents (bad idea)." (by davismont)
    • CapControl, r3615: "Fixing property requirement (element) for capcontrol in Time and Follow control modes", by davismont
    • Capacitor/Reactor: fixes related to 1- or 2-phase LL objects and Yprim; NormAmps/EmergAmps.
      • r3613: "Fixing bug in Yprim formation for 1-ph and 2-ph delta-connected capacitors. Fix to user-specified NormAmps and EmergAmps for capacitors, which were always being overridden with default values. Pending to check for same issues on Reactors." (by celsorocha)
      • r3616: "Fixing bug in Yprim formation for 1-ph and 2-ph delta-connected reactors. Fix to user-specified NormAmps and EmergAmps for reactors, which were always being overridden with default values." (by celsorocha)
      • Also includes an extra fix for a corner-case issue detected with our tests on DSS-Extensions.
    • PVSystem/Storage/InvControl, r3597/r3598: "Adding current limiting capabilities to IBR in QSTS and dynamics modes. Examples also available." (by davismont). Also refactored more common code to InvBasedPCE on the DSS-Extensions version.