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

Query on fixing Natural Gas consumption rate for one region - Russia #403

Open
Nbiswas2 opened this issue Mar 12, 2024 · 3 comments
Open

Comments

@Nbiswas2
Copy link

Nbiswas2 commented Mar 12, 2024

I have a dataset on Natural Gas consumption forecast (in EJ) for Russia up to 2100. I am trying to use those forecast as the consumption rate for Russia. I tried using fixed output for Natural gas in Russia, zip folder contains attached file (NG_feasiblerange - Approach 1.xml)

The runs do complete but do not give the fixed-output results. Any idea how to go about this?
gcam_files_1P5C_contrainedNG.zip

<style> </style>
  1990 2005 2010 2015 2020 2025 2030 2035 2040 2045 2050 2055 2060 2065 2070 2075 2080 2085 2090 2095 2100
desired NG consumption (EJ) 16.2216 14.6371 16.0226 15.3042 16.1887 14.17266 13.26385 11.61206 10.16596 8.899959 8.535494 8.538686 8.368371 8.003196 7.631709 7.337895 7.136155 7.049196 6.88276 6.525374 6.125598
model run NG consumption (EJ) 16.2216 14.6371 16.0226 15.3042 5.602 4.11399 3.66244 2.81586 2.03258 1.67303 1.56294 1.52955 1.5297 1.4892 1.41018 1.31343 1.22908 1.14612 1.02804 0.918846 0.823527
@pkyle
Copy link
Contributor

pkyle commented Mar 13, 2024

The zip attachment didn't load properly, which isn't surprising.
The use of fixedOutput doesn't really work at the commodity (supplysector) level, as the model has no way to compute the price. In the price calculation (weighted average of all technologies within a supplysector), the price of any fixedOutput technology is dropped. So, if you successfully fix the output of all technologies of regional natural gas (which include technologies of pipeline imports, LNG imports, and domestic production; the output of this sector is equal to the region's consumption of natural gas) then the model should crash. My understanding is that fixedOutput can only be used for individual technologies within a sector that has at least one technology that can be used to calculate a price.
There's also an open question of which commodity you want to fix the output of. regional natural gas goes to gas processing which also has technologies of coal-to-gas and biogas, before going to gas pipeline and on to the end-use commodities wholesale gas (industry, energy transformation sectors) and delivered gas (buildings, transportation). Note however that there is a flow from regional natural gas directly to H2 central production and the gas to liquids technology of refining which you may want to shut off. Any of these supplysectors could have constraints assigned, but of course the net result would be different. If you fix the output of regional natural gas then to a first order the model will just substitute gasified coal ("town gas"), which probably isn't the result you're aiming for here.
To set a constraint we usually use input-tax or input-subsidy, and to hard-wire a result (i.e., have the constraint also act as a floor), you just allow the price to go negative (see min-price in the XML snippet below). Here's an example of hard-wiring the gaseous fuels consumption in Russia in the year 2020 (irrespective of feedstocks, which might anyways be 100% natural gas):

<scenario>
   <world>
      <region name="Russia">
         <policy-portfolio-standard name="Gas-Limit">
            <policyType>subsidy</policyType>
            <market>Russia</market>
            <min-price year="2020" fillout="1">-100</min-price>
            <constraint year="2020">16.1887</constraint>
         </policy-portfolio-standard>
         <supplysector name="wholesale gas">
            <subsector name="wholesale gas">
               <technology name="wholesale gas">
                   <period year="2020">
                       <input-subsidy name="Gas-Limit"/>
                   </period>
               </technology>
           </subsector>
         </supplysector>
         <supplysector name="delivered gas">
            <subsector name="delivered gas">
               <technology name="delivered gas">
                   <period year="2020">
                       <input-subsidy name="Gas-Limit"/>
                   </period>
               </technology>
           </subsector>
         </supplysector>
      </region>
   </world>
</scenario>

@pkyle
Copy link
Contributor

pkyle commented Mar 13, 2024

Just as a brief follow-up here, in this approach the model will calculate a price of the floor/constraint, which might be positive and might be negative depending on whether the baseline is higher or lower than the value specified, and that price will be passed forward, which might or might not have desirable effects in your intended study design. For example, the policy's cost/subsidy would be passed forward into electricity prices (because some electricity is produced from wholesale gas) which would in turn affect electricity demand. If you're trying to do this without any distortionary price impacts, then you might just need to use fixedOutput but applied to all technologies in the end-use and energy transformation sectors that consume gas (e.g., resid heating, comm heating, electricity, and so on). Just query the output database for inputs by technology and sort by input to see all of the technologies that use delivered gas and wholesale gas. Of course you couldn't just set the 16.1887 constraint across all sectors; would need to determine off-line how much to allow to each technology. But I don't know that there's any other way to do this without having equilibrium-related price impacts.

@Nbiswas2
Copy link
Author

Nbiswas2 commented Mar 13, 2024

Thank you @pkyle I want to observe the distortionary price impacts and so I appreciate your example with the input-subsidy. I shall try this out. I also like your idea on defining a fixedOutput applied to each end sector, but I am afraid I haven't yet found a way to determine how much to allow each technology.

@Nbiswas2 Nbiswas2 reopened this Mar 13, 2024
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

No branches or pull requests

2 participants