iiasa / iiasa/message_ix

introduce scenario specific names for .log and .lst GAMS files

Open
#716 4 comments 0 reactions 0 assignees View on GitHub
enh
Dominant language
Jupyter Notebook
Stars
150
Forks
178
Avg merge
17h 32m
Merged PRs (30d)
2

Description

At present, `.log` and `.lst` files of MESSAGEix model runs overwrite each other, since the files are generically called `MESSAGE_run.log` and `MESSAGE-MACRO_run.log` when running `MESSAGE` and `MESSAGE-MACRO`, respectively (and similarly for the `.lst` files). It is often useful to keep these files after the scenarios have been completed, e.g., to compare with scenarios run as part of the same batch.

I would therefore suggest to introduce scenario specific names to the `.log` and `.lst` files, using the same naming convention as for the `GDX` input and output files. This can either be achieved by renaming the files after completing the scenarios or using GAMS native command line options `-lf` for `.log` files and `-o` for `.lst` files that allows naming those files. For example, the following code snippet would something along those lines: `gams MESSAGE_run.gms -o=Msg_model_scenario.lst -lf=Msg_model_scenario.log` (see [GAMS documentation](https://www.gams.com/latest/docs/UG_GamsCall.html#UG_GamsCall_SpecifyingOptionsThroughTheCommandLine)).

With many files potentially accumulating, it would probably make sense to move them to a separate folder.

Contributor guide

Open the contributing guide

Research direction

Start by tracing how MESSAGE_run.gms invokes MESSAGE and MESSAGE-MACRO and how the existing GDX input and output files are named. Check the GAMS command-line options for -o and -lf, then determine where scenario-specific .log and .lst files should be placed. Done means runs no longer overwrite these files and the chosen naming convention is consistent across scenarios.

Written by the indexing model from the issue text.

Assessment

Domain
tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.