Open
Conversation
..as it risks replacing the symbol data entirely, use `execute_load` only iff you want a clean slate for all attributes of a variable. In all other cases use `execute_loadpoint` to merge new data from a GDX into existing symbols while preserving it's attributes (i.e. bounds, levels, ..). - Switch from `execute_load` to `execute_loadpoint` except for - Usage in `core/datainput.gms` (lines 1627-1632) since there are no pre-existing values to preserve
0a4a513 to
2d70f55
Compare
Member
LaviniaBaumstark
left a comment
There was a problem hiding this comment.
looks good. Did I get it right, that not all testruns did work? Could you provide a link to a compareScenarios for before and after your changes?
Contributor
Author
Please find attached the compareScenario summary. Some observations
|
Member
|
sorry, where is the compareScenario.pdf file? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose of this PR
Using
execute_loadto load values from GDX risks replacing symbol data entirely. Useexecute_loadonly iff you want a clean slate for all attributes of a variable. In all other cases useexecute_loadpointto merge new data from a GDX into existing symbols while preserving it's attributes (i.e. bounds, levels, ..).execute_loadtoexecute_loadpointexcept forcore/datainput.gms(lines 1627-1632) since there are no pre-existing values to preserveOverview of the changes made:
core/datainput.gmsexecute_loadp_prodSeReference,pm_prodFEReference,p_prodUeReference,p_co2CCSReference,pm_macCost) from scratch for comparison purposes. No pre-existing values to preserve.core/preloop.gmsExecute_Loadpointpm_PEPrice,pm_SEPrice,pm_FEPrice. Future prices may already exist and should be preserved.modules/21_tax/on/datainput.gmsExecute_Loadpointpm_taxrevCO2LUC0,pm_taxrevGHG0). Should merge with existing baseline data.modules/24_trade/se_trade/datainput.gmsExecute_Loadpointp24_demFeForEsReference,p24_demFeIndSubReference). Should merge with existing reference data.modules/29_CES_parameters/calibrate/datainput.gmsExecute_Loadpointp29_cesdata_loadfrominput.gdx. Should merge with existing calibration data.modules/29_CES_parameters/calibrate/preloop.gmsExecute_Loadpointces2_29,regi_29_load) frominput.gdx. Should merge with existing sets.modules/30_biomass/magpie_40/datainput.gmsExecute_Loadpointpm_pebiolc_costs_emu_preloop. Should merge with existing data.modules/36_buildings/simple/datainput.gmsExecute_Loadpointp36_uedemand_build. Likely partial data that should be merged with existing data.modules/37_industry/subsectors/datainput.gmsExecute_Loadpointvm_demFeSector_afterTax. Variable bounds (.lo,.hi) should be preserved.modules/37_industry/subsectors/datainput.gmsExecute_Loadpoint.lattribute ofv37_plasticWaste. Variable bounds should be preserved.Please note that this might affect scenario results in unforeseen ways. Preliminary test runs:
/p/tmp/tonnru/clean_remind/output/SMIPv08-M-SSP2-NPi2025-def_2025-11-04_14.37.55execute_load, ✨ converged ✨:/p/tmp/tonnru/clean_remind/output/SMIPv08-M-SSP2-NPi2025-def_2025-11-04_18.02.35/p/tmp/tonnru/clean_remind/output/SMIPv08-M-SSP2-NPi2025-def_2025-11-05_17.57.57/p/tmp/tonnru/clean_remind/output/SMIPv08-ML-SSP2-EcPrice300-def_2025-11-05_22.51.01Please suggest further scenarios to be tested!
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
Impact
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.
make test) after my final commit and all tests pass (FAIL 0)remind2if and where it was neededforbiddenColumnNamesin readCheckScenarioConfig.R in case the PR leads to deprecated switchesCHANGELOG.mdcorrectly (added, changed, fixed, removed, input data/calibration)Further information (optional)