JGCRI / gcam-core

GCAM -- The Global Change Analysis Model
http://jgcri.github.io/gcam-doc/
Other
288 stars 168 forks source link

How do I create an RPS policy in GCAM #4

Closed pralitp closed 8 years ago

pralitp commented 8 years ago

I've attached an example on how to do so: RES_policy_example.zip

In the attached example I have created an RPS for % constraints of wind+solar generation of total electricity. There are two types:

Tax: You want to ensure wind+solar never exceeds X% of total electricity. A tax will be applied to wind+solar until they do not. Subsidy: You want to ensure wind+solar make up at least X% of total electricity. A subsidy will be applied to wind+solar until they do not. For Tax markets in order to calculate a percentage market you need to calculate the total electricity multiply that by the % constraint (by year) and store that into the supply of our market. We use an RES-secondary-output to do so as seen in L226.StubTechRESSecondaryOutput_10p.csv. We then need to add a new input into the wind+solar technologies to add to the demand side of our market the total wind+solar generation (L223.GlobalTechInputTax_wind_solar_RES_policy.csv). In this way as the price of the RPS market goes up the demand will go down.

For Subsidy markets it is the opposite. We need to calculate the total electricity multiply that by the % constraint (by year) and store that into the demand side of our market. We can use a regular input object to do so as seen in L226.StubTechEnergyInput_10p.csv. We then need to add a new RES-secondary-output into the wind+solar technologies to add to the supply side of our market the total wind+solar generation (L223.GlobalTechRESSecondaryOutput_wind_solar_RES_policy.csv). In this way as the price of the RPS market goes up the supply will go up.

I have included an example batch_subsidy.xml and batch_tax.xml which references the appropriate CSV files to create the tax and subsidy XML input files for these markets as appropriate. Note that I left the LNNN numbering on some of these CSV files on purpose. This is because for instance in order to create L226.StubTechEnergyInput_10p.csv I started with energy-data/level2/L226.StubTechCoef_elecownuse.csv. While these input files may be appropriate for GCAM 4.2 these own use coefficients or technology names may be different in previous/future versions of GCAM. You can always use these LNNN numbering to go check the energy-data level 2 data from which the files were generated to update them accordingly. RPS policies, which in the current GCAM master are applied to all generation, can result in prices decreasing, which leads to counter-intuitive results.

For an RES that applies only to new vintages (this option is not yet in the GCAM master), hydro is not counted as part of each year's new vintage. So a RES for 40% new renewable generation will be 40% of new vintaged generation excluding hydro.

robbieorvis commented 5 years ago

Has this process changed for the newer build of GCAM? It looks like it might have. Any additional help would be much appreciated.