Skip to content

runreeds.py: int and win solve calls point to pre-restructure GAMS paths #20

Description

@ty-fi

Summary

In runreeds.py, the GAMS solve calls for the int (intertemporal / all-years) and win (window) timetypes point to pre-restructure paths that no longer exist. The upstream restructure moved the solve .gms files into reeds/core/solve/, but only the seq (sequential) path was updated to match. The int and win calls still build reeds/core/<file> (missing the solve/ subfolder), and the window filename is also misspelled.

This means seq runs work, but int and win runs will fail when GAMS tries to open a non-existent model file.

Details

1. All-years (int) solve — missing solve/ subfolder

runreeds.py:694:

f"gams {Path('reeds','core','3_solve_allyears.gms')} o="

Builds reeds/core/3_solve_allyears.gms. Actual file: reeds/core/solve/3_solve_allyears.gms.

2. Window (win) solve — missing solve/ subfolder AND misspelled filename

runreeds.py:751:

f"gams {Path('reeds','core','3_solvewindow.gms')} o="

Builds reeds/core/3_solvewindow.gms. Actual file: reeds/core/solve/3_solve_window.gms (note the underscore in solve_window).

Why seq is unaffected: the sequential one-year call is assembled by reeds.inputs.solvestring_sequential (reeds/inputs.py), which was updated to the new reeds/core/solve/3_solve_oneyear.gms path during the restructure. The int/win string-building sites in runreeds.py were missed.

Suggested fix

Point both calls at the correct files under reeds/core/solve/:

  • Path('reeds','core','solve','3_solve_allyears.gms')
  • Path('reeds','core','solve','3_solve_window.gms')

Repro

Launch any case with timetype=int or timetype=win and inspect the generated call_<case>.{bat,sh} — the gams line references a path that isn't present in the tree, and the run fails at that solve step.

Notes

Likely originated with the upstream restructure on ReEDS-Model/ReEDS; may be worth reporting upstream as well. Filed here first for tracking. Discovered during a documentation-accuracy pass; not fixed in that change to keep it scoped to docs.

Activity

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

    written by AIThe original issue description was written by AI -- use caution!

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions