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

Fix h2 peak in buildings #1654

Draft
wants to merge 4 commits into
base: develop
Choose a base branch
from

Conversation

ricardarosemann
Copy link
Contributor

@ricardarosemann ricardarosemann commented Apr 4, 2024

Purpose of this PR

Remind has displayed unusual behavior for hydrogen in buildings, using quite significant amounts of hydrogen for a very limited time period only:
H2-Fe-Line
Heat-Fe-area-H2

This has been addressed in PR #1303 by ruling out hydrogen in buildings completely. The current PR solves the issue of H2-spikes in buildings by a more comprehensive approach:

  • Sets default year until which H2 is prohibited to 2025 (again).
  • Modifies feh2b offset path: Now follows a quadratic instead of a linear path, reaching 50% of fegab quantity only in 2080 instead of 2050.
  • Removes additional constraint on H2 demand in calibration runs.
  • Computes phase-In costs from averaged H2 share of the current and the previous time period. H2 share is now the share of all FE carriers.
  • Applies H2-Phase-In costs only in scenario computations, not in calibration runs.

The final item on this list can be argued for as follows:
In the calibration, we aim to set the balance between fossil gas and hydrogen in the standard state, not the state during Phase-In. The Phase-In costs serve to make usage of hydrogen more difficult. If we already include the Phase-In costs during calibration, this barrier is already overcome by higher efficiencies determined in the calibration. Hence Remind is calibrated to be at the point where it only just does not use hydrogen, even with the barrier costs.

The previous behavior can be obtained by setting c_H2InBuildOnlyAfter to 2025 again.

I still need to merge the trunk and delete some superfluous files etc., therefore this is still a draft.

Type of change

(Make sure to delete from the Type-of-change list the items not relevant to your PR)

  • Bug fix
  • Minor change (default scenarios show only small differences)

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
  • I checked that the in-code documentation is up-to-date
  • I adjusted the reporting in remind2 where it was needed
  • I adjusted forbiddenColumnNames in readCheckScenarioConfig.R in case the PR leads to deprecated switches
  • All automated model tests pass (FAIL 0 in the output of make test)
  • The changelog CHANGELOG.md has been updated correctly

Further information (optional):

  • Test runs are here:
    /p/tmp/ricardar/remind/adjH2-for-merge/remind/output

  • CompScens are here:
    /p/tmp/ricardar/remind/adjH2-for-merge/remind/compScen-2024-03-13_15.59.31-H12.pdf
    /p/tmp/ricardar/remind/adjH2-for-merge/remind/compScen-EU21-noBase-2024-04-02_10.30.16-EU27.pdf
    /p/tmp/ricardar/remind/adjH2-for-merge/remind/compScen-_PBS-2024-03-17_21.18.28-H12.pdf

  • Comparison of results (what changes by this PR?):
    (to be added)

@ricardarosemann ricardarosemann changed the title Fix h2 peak Fix h2 peak in buildings Apr 4, 2024
@ricardarosemann
Copy link
Contributor Author

@Renato-Rodrigues @0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q @robertpietzcker @LaviniaBaumstark : This PR covers the change we discussed in Mattermost some weeks ago. I am very happy to hear your comments and remarks here now.

@@ -30,7 +30,7 @@ cfg$extramappings_historic <- ""
cfg$inputRevision <- "6.70"

#### Current CES parameter and GDX revision (commit hash) ####
cfg$CESandGDXversion <- "cdddb54b54a8586b4fef00eb60a3be6cfa23ca55"
Copy link
Member

Choose a reason for hiding this comment

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

for which scenarios did you run the calibration?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I ran the calibration for H12, EU21 and PBS and I'm planning to redo this once I've merged the trunk. Should I test the calibration with further scenarios?

Copy link
Member

Choose a reason for hiding this comment

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

hopefully, we will have pbs as default soon and then I will anyway run new calibrations for all other scenarios. I think, for now SSP2EU is enough

@@ -9,5 +9,6 @@ indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SDP_EI-GDP_gdp_SDP_EI-En_gdp_S
indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP5-GDP_gdp_SSP5-En_gdp_SSP5-Kap_debt_limit-Reg_62eff8f7.gdx
indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2EU-GDP_gdp_SSP2EU-En_gdp_SSP2EU-Kap_debt_limit-Reg_2b1450bc.gdx
indu_subsectorspbs-buil_simple-tran_edge_esm-POP_pop_SSP2EU-GDP_gdp_SSP2EU-En_gdp_SSP2EU-Kap_debt_limit-Reg_62eff8f7.gdx
indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2EU-GDP_gdp_SSP2EU-En_gdp_SSP2EU-Kap_debt_limit-H2zero-Reg_62eff8f7.gdx
Copy link
Member

Choose a reason for hiding this comment

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

why are you adding a new calibration file? The aim is that this will be the new default, right? This is only a temporal solution?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, this will be deleted. I already took a note (somewhere) that I should remember to delete all this. Thanks for reminding me again.

$ifthen.CES_calibration "%CES_parameters%" == "calibrate"
v36_H2share.up(t,regi) = cm_build_H2costDecayStart;
v36_costAddH2LowPen.fx(t,regi) = 0;
Copy link
Member

Choose a reason for hiding this comment

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

is v36_costAddH2LowPen still needed or coud it be deleted?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It is still needed for non-calibration runs. And in the current implementation it needs to be set to zero for a calibration run to make sure that no Phase-In costs are included.

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