pik-piam / gms

Other
1 stars 15 forks source link

codeCheck() considers main.gms part of core #38

Open 0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q opened 1 year ago

0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q commented 1 year ago

If one defines a parameter/variable in main.gms to configure the behaviour of a specific module, it has to be named cm_ instead of c123_ for codeCheck() to succeed. That is counter-intuitive and reduces lucidity, as elements used only in one module look as if they were relevant to core as well. As an example, check cm_indst_H2costAddH2Inv in REMIND, which could be renamed c37_indst_H2costAddH2Inv if codeCheck() would get this right.

tscheypidi commented 1 year ago

This is the intended behavior as everything which is not part of a module is part of core. If you want to use c37_... instead of cm_..... you can declare the parameter/variable directly in the corresponding module. See for instance here

0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q commented 1 year ago

If you want to use c37_... instead of cm_..... you can declare the parameter/variable directly in the corresponding module. See for instance here

And there are facilities to configure those variables without changing version-controlled files?

mikapfl commented 1 year ago

This is a case of different use cases in REMIND and MAgPIE, I'll look into it.