remindmodel / remind

REMIND - REgional Model of INvestments and Development
Other
91 stars 123 forks source link

Merge Relevant Changes done in the Ariadne Project #1644

Open fschreyer opened 3 months ago

fschreyer commented 3 months ago

Purpose of this PR

This is a PR to compare the current Ariadne branch to the REMIND trunk version. We should discuss this in an upcoming REMIND-EU meeting.

I will describe all relevant changes made throughout 2023 below and we will need to decide whether

a) keep the changes, b) make changes scenario-dependent behind a switch or generalize them for all regions c) discard the changes.

If we chose b), note that we have limited capacities for this and we need to find someone to do it if it needs more work. I would therefore suggest to concentrate on option a) and c) and only consider b) if it is quick to implement. I added my suggestions on each change below but please comment if you have other thoughts.

The merge with the trunk was overall a bit messy. To have a more transparent git history, I would cherry-pick / transfer the changes of a) and b) to separate PRs with less commits. Until those PRs are merged, I will continue working with this version for ARIADNE. However, I would afterwards check out a new trunk version such that changes in category c) will be lost. Preferably, the branch should be kept closer to the trunk in the future.

Changes made during Ariadne Project in 2023

Industry Sector

1) Set minimum specific energy consumption ( FE / production ) per industry subsector to NPi trajectory as this is already quite optimistic specifically for the near-term. [...]

2) Added constraint q37_BioLimitSubsec to limit near-term substitution of fossils with bioenergy (mostly relevant for 2030):

3) added constraint to share of solids in primary steel to prevent near-term substitution with gas and liquids (5% / 10% / 25% below 2015 share allowed in 2025 / 2030 / 2035 )

Regarding changes 1)-3), I compiled a few plots to facilitate the discussion: https://cloud.pik-potsdam.de/index.php/apps/onlyoffice/20335781?filePath=%2FShared%2FREMIND-EU_calibration%2FAriadneScenarios%2FAriadne_REMIND_Changes_2023.pptx

I don't think those changes are a perfect solution but they led us to have emissions reductions that are less steep and more cautious in line with the sectoral model FORECAST. I have not managed to understand the differences to FORECAST in detail, though.

Action: I tend to favor generalizing 1.) into a scenario switch that can be activated to have less ambitious energy efficiency assumptions, discarding 2.) and keeping 3.)

4.) removed bounds that limited maximum biomass use of solids in ETS sectors to 25%

Action: Keep or generalize to scenario switch.

Power Sector

5.) Phase-in of flexibility tax for green hydrogen over time (0 before 2025, 25% in 2025, 50% in 2030, 75% 2035, only full electricity price reduction from 2040 on) [discard]

Action: Tend to discard this.

6.) Added q32_elh2VREcapfromTestor again, constraint that requires some minimum electrolysis capacity to be built at increasing VRE shares. We now phase-in this constraint over time so that it is only fully active from 2035.

Action: Tend to keep. But no strong opinion.

7.) Doubled h2turbVREcapratio of p32_storageCap parameter. This doubles the minimum amount of back-up capacity (H2 or gas turbines) needed at certain VRE shares.

Action: Keep.

8.) Reduce offshore wind potential in Germany

Action: Discard.

CES Mark-up Cost

9.) Introduced phase-in of CES mark-up cost changes (relative to default) in buildings and industry: linear phase in from 0 to 100% of the long-term change from 2020 to 2040.

Action: Keep.

Hydrogen / Synfuels

9.) Improved Upscaling: Removed some outdated bounds that prevented synfuel production before 2035 and added adjustment cost to both synfuel technologies

Action: Keep.

11.) Some bounds on hydrogen / synfuel production capacities for EU27 based on Adrian's analysis of IEA project data

Action: Discard

12.) Added cm_elh2_CF scenario switch to change capacity factor of electrolysis

Action: Keep.

Germany-specific Bounds

13.) historical and near-term fixings (2020 and 2025)

Action: Keep.

14.) coal phase-out bounds

Action: Keep

15.) Scenario-specific Germany bounds

Action: Keep (or maybe outdated? I was not there when this was implemented).

Other Switches

16.) cm_regipol_LUC switch, user-defined shift of land-use change emissions from Magpie trajectories when employing cm_emiMktTarget with the Grassi offset (LULUCFGrassi option)

Action: Keep.

17.) cm_run_initialCap, "Switch to entable running the InitialCap module in policy runs"

Action: Discard. But no strong opinion.

Type of change

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

Checklist:

Further information (optional):

Renato-Rodrigues commented 2 months ago

4.) removed bounds that limited maximum biomass use of solids in ETS sectors to 25%

  • I think, these bounds were mostly relevant for global runs and were, I believe, some quick fix to prevent too much cement BECCS in the long-term
  • I removed (outcommented) them as this is not as relevant in our (CCS-constrained) EU/Germany net-zero runs and we would like to explore scenarios with low/zero fossil use

Action: Keep or generalize to scenario switch.

is this the code you are referring to in this point?

https://github.com/remindmodel/remind/blob/f66a27fa2777e67c08227065973b3a75111ae8d4/modules/37_industry/subsectors/bounds.gms#L117-L125

If yes, here is the related issue: https://github.com/remindmodel/development_issues/issues/103 and these related PRs:

If we follow the sentence included in the original issue:

keep a list of "ugly fixes" that we are not happy with and need to get rid off, so that we don't forget about them and they don't come back to haunt us

My suggestion would be to ask somebody from RSE to run the current model version with this code disabled to see if we can remove this entirely from the code if possible. If this is not the case, an issue should be opened to follow future developments about it, and we should check if we change the formulation to potentially disable it for German and EU specific behavior.

Renato-Rodrigues commented 2 months ago

Power Sector

5.) Phase-in of flexibility tax for green hydrogen over time (0 before 2025, 25% in 2025, 50% in 2030, 75% 2035, only full electricity price reduction from 2040 on) [discard]

  • This was used to have more plausible (higher) hydrogen prices in the near-term and not let the model see the full flexibility benefit from early on. It is based on the assumption that power market design is not fully prepared yet to allow for flexible operation. However, as discussed with Falko it is probably better to steer the upscaling via adjustment cost / CAPEX changes of electrolysis as at least for Ger / EU renewable purchase agreements and Day-Ahead Market start to get used for that. Part of these adjustment cost changes implemented already below (see section 9).
  • Note: this would come on top of my recent changes of the hydrogen modeling which increased hydrogen prices a bit

Action: Tend to discard this.

I am in favor of discarding this in favor of adjustment costs changes.

Renato-Rodrigues commented 2 months ago

6.) Added q32_elh2VREcapfromTestor again, constraint that requires some minimum electrolysis capacity to be built at increasing VRE shares. We now phase-in this constraint over time so that it is only fully active from 2035.

  • We had removed this equation as we thought that the model should handle electrolysis fully endogenously. Usually it works, but we had some scenarios in ariadne with high (exogenuous) H2/E-fuel imports where domestic green hydrogen production was very low. This does not make sense as some electrolysis will always be built for VRE grid balancing.

Action: Tend to keep. But no strong opinion.

I find this reasonable to assume, but I would connect the minimum electrolysis capacity with the renewables share instead of a hard coded period of time to make it more geenralized.

Renato-Rodrigues commented 2 months ago

7.) Doubled h2turbVREcapratio of p32_storageCap parameter. This doubles the minimum amount of back-up capacity (H2 or gas turbines) needed at certain VRE shares.

  • This is the main constraint determining back-up capacity (q32_h2turbVREcapfromTestor), usually binding, in current runs in 2045 at 54 GW (H2+Gas Turbines), see /p/tmp/schreyer/Modeling/remind/ariadne/output/Bal_2024-01-29_16.43.31>. This is about the level that also the Enertile model reaches in the German Langfristszenarien (https://langfristszenarien.de/enertile-explorer-de/szenario-explorer/angebot.php). Others see more like 100 GW needed. I don't have deep knowledge in this field, but I'd think we should not be overly optimistic here without good reason.

Could we check if we can parametrize this for other regions based on PYPSA? maybe @aodenweller

Renato-Rodrigues commented 2 months ago

8.) Reduce offshore wind potential in Germany

  • reduced offshore wind potential in grade 6 (CF 0.28) from 0.018 EJ/yr to 0.015 EJ/yr
  • not sure when/why this change was made to be honest; maybe I was in parental leave
  • overall it does not change the offshore potential much and our offshore potential seems to be within the reasonable ranges, even a bit lower than the potential from Frauenhofer IEW

Action: Discard.

Maybe you could check git blame to see whom changed this code while you were away, and get the reasoning behind that change.

Renato-Rodrigues commented 2 months ago

9.) Introduced phase-in of CES mark-up cost changes (relative to default) in buildings and industry: linear phase in from 0 to 100% of the long-term change from 2020 to 2040.

  • Makes sense, I think, as we interpret the mark-up cost changes in policy scenarios as specific technology policies. These will not much have immediate effect on costs but mostly foster innovation over time. It also led us to have more plausible useful energy trajectories in buildings when we placed mark-up cost on enhb to keep total useful energy at similar levels as today in the long-term as this effect does not reduce much the UE in the near-term.

Action: Keep.

I agree.

Renato-Rodrigues commented 2 months ago

9.) Improved Upscaling: Removed some outdated bounds that prevented synfuel production before 2035 and added adjustment cost to both synfuel technologies

  • electrolysis triple adjustment cost to default, synfuels double adjustment cost to default: electrolysis now gets p_adj_coeff of 24, synthetic liquids/gas get 16, electrolysis gets seed 0.33, synthetic liquids/gas get 0.5
  • the upscaling is still work in progress but better than it used to be

Action: Keep.

I am not able to give an opinion about this.

Renato-Rodrigues commented 2 months ago

11.) Some bounds on hydrogen / synfuel production capacities for EU27 based on Adrian's analysis of IEA project data

  • just added this for my paper for now and also merged it to Ariadne branch
  • should probably be generalized properly at some later stage

Action: Discard

Maybe create an issue so the advantages and the way to generalize this can be discussed further?

Renato-Rodrigues commented 2 months ago

12.) Added cm_elh2_CF scenario switch to change capacity factor of electrolysis

  • does not change default, just gives more options for hydrogen modeling, currently used in H2 scenario.

Action: Keep.

I would add this as a generalized option, and not an option specific only for this tech. I could help on the code change if this is the intention.

Renato-Rodrigues commented 2 months ago

13.) historical and near-term fixings (2020 and 2025)

  • fixings/upper bounds for 2020/2025 for wind/solar/gas/coal power
  • chp shares: coal around 20%, gas around 50% in 2020
  • no industry carbon capture before 2030

I agree with 2020 bounds and lower bounds in future years, but in principle I disagree with upper bounds for future years like 2025, if the upper bounds do not reflect physical limits or active legislation.

So I agree with a 2025 coal upper bound, but I would not add a 2025 wind, solar and gas upper bound as there is still things happening in the World that could affect those.

If you need those for an specific scenario, these should be only added behind a switch.

Renato-Rodrigues commented 2 months ago

14.) coal phase-out bounds

  • upper bounds on total coal power capacity following coal phase-out policy in Germany: 25 GW 2025, 17 GW 2030, 6 GW 2035, 1 GW 2040

Action: Keep

These are already part of the remind trunk, no?

https://github.com/remindmodel/remind/blob/f66a27fa2777e67c08227065973b3a75111ae8d4/modules/47_regipol/regiCarbonPrice/bounds.gms#L139-L148

Renato-Rodrigues commented 2 months ago

15.) Scenario-specific Germany bounds

  • switch cm_VREminCap, sets lower bounds on capacities for wind, solar and H2 as specified in the ampel coalition agreement and KSG.

Action: Keep (or maybe outdated? I was not there when this was implemented).

I have no strong opinion about this. Maybe this is a valid way to handle my suggestion on point 13 regarding upper bounds.

Renato-Rodrigues commented 2 months ago

16.) cm_regipol_LUC switch, user-defined shift of land-use change emissions from Magpie trajectories when employing cm_emiMktTarget with the Grassi offset (LULUCFGrassi option)

  • would be off by default but can be useful to just shift our LULUCF Grassi emissions as desired for certain scenarios

Action: Keep.

I think this is already better implemented in the trunk.

https://github.com/remindmodel/remind/blob/f66a27fa2777e67c08227065973b3a75111ae8d4/modules/47_regipol/regiCarbonPrice/datainput.gms#L241-L263

Renato-Rodrigues commented 2 months ago

17.) cm_run_initialCap, "Switch to entable running the InitialCap module in policy runs"

  • I guess this was a quick fix at some point due to these intialCap overwriting technology cost issues

Action: Discard. But no strong opinion.

I have no strong opinion regarding this, but if there is an issue somewhere explaining the reasons behind quick fix it would be nice to give a second look.

robertpietzcker commented 2 months ago

11.) Some bounds on hydrogen / synfuel production capacities for EU27 based on Adrian's analysis of IEA project data

  • just added this for my paper for now and also merged it to Ariadne branch
  • should probably be generalized properly at some later stage

Action: Discard

Maybe create an issue so the advantages and the way to generalize this can be discussed further?

why do you propose to discard this, Felix?

If it makes EU upscaling more realistic, I think it is good to have as default

robertpietzcker commented 2 months ago

@fschreyer actually I think this format (github PR) doesn't work for this type of discussion, as too many different questions arise and there is no branching so that replies on one topic are shown below earlier comments on this topic.

I would propose copying the high-level discussion to a googledoc, and then for those where the high-level discussion comes to the conclusion "keep/implement", have separate PRs like you proposed yesterday?

robertpietzcker commented 2 months ago

googledoc for discussions here: https://docs.google.com/document/d/1NXNY-LEK03GvCi-wnzd_iADNE8HsqdsnjwmZZ0V3K68/edit

aodenweller commented 2 months ago

7.) Doubled h2turbVREcapratio of p32_storageCap parameter. This doubles the minimum amount of back-up capacity (H2 or gas turbines) needed at certain VRE shares.

  • This is the main constraint determining back-up capacity (q32_h2turbVREcapfromTestor), usually binding, in current runs in 2045 at 54 GW (H2+Gas Turbines), see /p/tmp/schreyer/Modeling/remind/ariadne/output/Bal_2024-01-29_16.43.31>. This is about the level that also the Enertile model reaches in the German Langfristszenarien (https://langfristszenarien.de/enertile-explorer-de/szenario-explorer/angebot.php). Others see more like 100 GW needed. I don't have deep knowledge in this field, but I'd think we should not be overly optimistic here without good reason.

Could we check if we can parametrize this for other regions based on PYPSA? maybe @aodenweller

Unfortunately not yet, but in the future hopefully yes. Bear in mind that PyPSA will solve for a highly integrated European power grid, which might not be entirely plausible given national concerns around security of supply and so on.