Skip to content

OpenDSS 13Bus example fails to compile on Linux (IEEELineCodes.DSS vs .dss) #129

Open

Description

@ibrahim-siali

The bundled OpenDSS/13Bus/IEEE13Nodeckt.dss redirects to IEEELineCodes.dss (line 46), but the file in the folder is named IEEELineCodes.DSS. On a case-sensitive filesystem the redirect fails and the circuit loads with no buses.

Steps (powermcp 0.4.0, Linux):

  1. compile_opendss_file on 13Bus/IEEE13Nodeckt.dss returns success.
  2. solve_snapshot returns converged: false, and get_results_summary_records shows all zeros (0 buses, 9 elements).
  3. Running the same file through py-dss-interface directly prints Redirect File: ".../IEEELineCodes.dss" Not Found.

Renaming IEEELineCodes.DSS to IEEELineCodes.dss fixes it: the feeder converges in 3 control iterations with min/max voltages of 0.961 and 1.056 pu.

Two small improvements would help: rename the file in the repo, and have compile_opendss_file report failed redirects instead of returning success: true.

Activity

  1. qian-harvard commented on Oct 22, 2026

    @qian-harvard
    Contributor

    Thanks for the report. The casing part is fixed in #136 (merged): both 13-bus masters now redirect IEEELineCodes.DSS, matching the file. A new test checks every redirect/compile/BusCoords target in the shipped .dss files by exact name, so a mismatch like this fails CI on any platform.

    The second suggestion is still open: compile_opendss_file should report a failed Redirect instead of returning success: true. @PauloRadatz @samtalki, could you help with this one? We can't run OpenDSS on Linux here, and I'd rather not guess at the engine's error channel.

    1. After dss_tools.configuration.compile_dss(...), where does a failed Redirect show up reliably? Is it in the string dss.text("Compile [...]") returns (the Redirect File: ... Not Found. message), or in an error code/description on py_dss_interface? Or is it better to check a property after compiling, such as the bus or element count?
    2. Does circuit_readiness() already capture this, or could it?
    3. Which py_dss_toolkit version added configuration.circuit_readiness()? On an arm64 Mac, uv resolves the opendss extra (py_dss_toolkit, unpinned) to 0.7.0, which doesn't have it. The extra probably needs a version floor.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions