Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add 45/NPi realization to calibrate on #1342

Merged
merged 34 commits into from
Jul 3, 2023

Conversation

orichters
Copy link
Contributor

@orichters orichters commented Jun 22, 2023

Purpose of this PR

Switch to NPi calibration instead of baseline calibration. Therefore, the new realization NPi of the module carbonprice is developed. Use cm_startyear instead of cm_emiscen for if-conditions where needed. New input data version 6.542 include historic carbon tax info also for 2020 and REMIND is calibrated to the NPi scenario (new CES parameters for SSP2EU, SSP2EU-EU21, SSP1, SSP5, SDP_MC, SDP_EI, SDP_RC). Git managed scenario_config*.csv files are adjusted accordingly. In future, first a NPi scenario is run and based on this NDC, pkBudg* scenarios are generated.

Type of change

  • Bug fix
  • New feature

Checklist:

  • My code follows the coding etiquette
  • I performed a self-review of my own code
  • I explained my changes within the PR, particularly in hard-to-understand areas
  • All automated model tests pass (FAIL 0 in the output of make test), except for scenario_config_GCS.csv and scenario_config_coupled_GCS.csv, which need to be updated by @gabriel-abrahao

Further information (optional):

  • Test runs are here:
  • Comparison of results (what changes by this PR?):

@robertpietzcker
Copy link
Contributor

Just to understand, as I was to busy in the last week to follow it closely: is this already the step "making this default"?

if yes, could you add the path to the results and compScens for old/new calibration and policy results (also for EU21) so I can have a deeper look?

also, were there already any tests if this also works with differentiated ETS/ESR targets for the follow-up runs?

@LaviniaBaumstark
Copy link
Member

LaviniaBaumstark commented Jun 26, 2023

yes, we want to have it our new default. Calibration run for EU21: /p/tmp/lavinia/MO/test_NPicalibration_2023_06_22/remind/output/SSP2EU-EU21-NPi-calibrate_2023-06-23_08.14.35, comparison only exists for SSP2EU (/p/tmp/lavinia/MO/test_NPicalibration_2023_06_09/remind/compScen-SSP2EU_default_calibNPi_RP-2023-06-15_17.20.08-H12.pdf). We will continue validation for all scenarios.

@LaviniaBaumstark LaviniaBaumstark marked this pull request as ready for review June 26, 2023 13:30
if (1 eq cm_emiscen,
if (cm_startyear eq 2005,

Choose a reason for hiding this comment

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

These changes are not equivalent. Not all policy scenarios have to start later then 2005. Not all scenarios that are fixed after 2005 are baseline scenarios.

Copy link
Contributor

Choose a reason for hiding this comment

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

I think the reason for this replacement was that in many places in the code, the "emiscen = 1" was used to say "the first REMIND run in a cascade", so it was widely replaced throughout the code.
so just to make sure: this is an actual instance that should only be turned on in runs without climate policy (which from now on will almost never happen)?

Copy link
Member

Choose a reason for hiding this comment

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

right @robertpietzcker, it is more the other way around: from now on the first scenarios of a cascade will not be baselines anymore but can be a NPi scenario

Copy link
Contributor

Choose a reason for hiding this comment

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

right, my question was meant to be addressed to @0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q to make sure this is a piece of code he doesn't want executed in REMIND anymore (or only for very specific "how would a baseline look like" experiments)

Copy link
Member

Choose a reason for hiding this comment

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

emiscen - formulation was only adjusted if the code asks for a reference gdx file which is only available if start_year > 2005 and not in an NPi scenario

Copy link
Contributor

Choose a reason for hiding this comment

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

"cm_calibrationRun"? "cm_firstRunInCascade"? "cm_takesFEpathsFromMrremind"? @LaviniaBaumstark

Copy link
Member

Choose a reason for hiding this comment

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

"cm_firstRunInCascade" fits best what we mean with it as it is not only relevant for calibration scenarios

Copy link
Member

Choose a reason for hiding this comment

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

but isn't this also the same as start_year = 2005 ?

Copy link
Contributor

Choose a reason for hiding this comment

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

It might be that these are different things (although I am not sure about it), and while they may coincide often it would be less error-prone to separate them out.

so if the point is "this is the first run, and does not need any previous run for fixings etc", then I think a switch with that information does make sense. it may be that this is always the same as "start_year = 2005" (I am thinking of counterexamples, but I haven't found any until now), but it isn't as clear from the name.

(...)
hm, actually from the text in the code (https://github.com/remindmodel/remind/pull/1342/files/ff69ded49841a2a54b5439318740c0243e6b4a17#diff-98abd5327b254ff754635b29cd4a23b6b064fbb43378117b57e0f22b1ef854d4), this bound should be active in weak or no policy scenarios. which is again a different dimension. so now I don't have a good idea anymore

Copy link
Member

Choose a reason for hiding this comment

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

regarding adding a new switch called "cm_firstRunInCascade": if really necessary, sure; if not I would like to avoid adding a new switch would need to be added to each scenario_config file

@gabriel-abrahao
Copy link
Contributor

Just fixed the outdated switches in the GCS configs, test_01-gms_readSettings.R passes now.

…or SSP2EU, SSP2EU-EU21, SSP1, SSP5, SDP_MC, SDP_EI, SDP_RC, SSP2EU_lowEn; calibration runs: /p/tmp/lavinia/REMIND/REMIND_forkOlli_calibration_2023_07_01/remind;
Copy link
Contributor

@robertpietzcker robertpietzcker left a comment

Choose a reason for hiding this comment

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

looks good

@LaviniaBaumstark LaviniaBaumstark merged commit ac50de0 into remindmodel:develop Jul 3, 2023
1 check passed
@orichters orichters deleted the npi branch December 6, 2023 14:06
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.

7 participants