Skip to content

Wrap large includes in offlisting - #2490

Merged
simonkrogmann merged 1 commit into
remindmodel:developfrom
simonkrogmann:small-lst
Oct 6, 2026
Merged

simonkrogmann merged 1 commit into
remindmodel:developfrom
simonkrogmann:small-lst

Conversation

@simonkrogmann

@simonkrogmann simonkrogmann commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Purpose of this PR

Wrap every include above 100 KB in $offlisting/$onlisting. This reduces the main.lst file from ~300 MB to ~10MB. Neither full.gms nor full.lst will change through this PR.

This will help us produce less data in the future to mitigate storage issues and make it easier to work with main.lst in text editors/IDEs. (I got some out-of-memory errors on my system)

Type of change

Indicate the items relevant for your PR by replacing ◻️ with ☑️.
Do not delete any lines. This makes it easier to understand which areas are affected by your changes and which are not.

Parts concerned

  • ☑️ GAMS Code
  • ◻️ R-scripts
  • ◻️ Documentation (GAMS incode documentation, comments, tutorials)
  • ◻️ Input data / CES parameters
  • ◻️ Tests, CI/CD (continuous integration/deployment)
  • ◻️ Configuration (switches in main.gms, default.cfg, and scenario_config*.csv files)
  • ◻️ Other (please give a description)

Impact

  • ◻️ Bug fix
  • ☑️ Refactoring
  • ◻️ New feature
  • ◻️ Change of parameter values or input data (including CES parameters)
  • ◻️ Minor change (default scenarios show only small differences)
  • ◻️ Fundamental change of results of default scenarios

Checklist

Do not delete any line. Leave unfinished elements unchecked so others know how far along you are.
In the end all checkboxes must be ticked before you can merge
.

  • I executed the automated model tests (make test) after my final commit and all tests pass (FAIL 0)
  • I adjusted the reporting in remind2 if and where it was needed
  • I adjusted the madrat packages (mrremind and other packages involved) for input data generation if and where it was needed
  • My code follows the coding etiquette
  • I explained my changes within the PR, particularly in hard-to-understand areas
  • I checked that the in-code documentation is up-to-date
  • I adjusted forbiddenColumnNames in readCheckScenarioConfig.R in case the PR leads to deprecated switches
  • I updated the CHANGELOG.md correctly (added, changed, fixed, removed, input data/calibration)

Further information (optional)

@LaviniaBaumstark LaviniaBaumstark left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice, did you add this for all *.cs4r files?

@simonkrogmann

Copy link
Copy Markdown
Contributor Author

No, just the largest ones. I also tried using a macro, but GAMS macros are not flexible enough. If desirable, I can add it for all cs4r/cs3r includes.

@LaviniaBaumstark

Copy link
Copy Markdown
Member

No, just the largest ones. I also tried using a macro, but GAMS macros are not flexible enough. If desirable, I can add it for all cs4r/cs3r includes.

no, fine to start with teh largest ones

@simonkrogmann
simonkrogmann merged commit 7b10fcf into remindmodel:develop Oct 6, 2026
4 of 12 checks passed
@simonkrogmann
simonkrogmann deleted the small-lst branch October 6, 2026 13:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants