OSeMOSYS / osemosys_global

A global power system model generator for OSeMOSYS
https://osemosys-global.readthedocs.io/
GNU Affero General Public License v3.0
27 stars 17 forks source link

Add variable costs for fuels #14

Closed tniet closed 1 week ago

tniet commented 4 years ago

Add variable costs for the model in a new jupyter notebook. Base costs on World Bank Commodity Outlook.

Fuel production technology names will need to come from the powerplant_data notebook or from the output.csv.

Include small variable cost for international trading hubs for the commodities.

maartenbrinkerink commented 3 years ago

@tniet has this been included? I see variable costs for a number of technologies e.g. MINCOAIND which I assumes represents fuel costs for COA in IND? But what about other technologies like URN and BIO?

maartenbrinkerink commented 2 months ago

@tniet Was this ever included/updated?

tniet commented 2 months ago

@maartenbrinkerink I do believe this is in the variablecosts.py script (just did a quick read through). I don't see the commit where it's addressing these specific pieces on that file, though - I think the full history has gotten lost somehow.

The script uses the World Bank Commodity Market Outlooks to provide variable costs for fuels, which is what was originally the issue here, so that's solved.

A few questions/notes:

  1. International markets are given a 50% higher variable cost. However this is maybe incorrect because this ends up being 1.5x PLUS the cost of extraction in the country where it is extracted, I think. The flow of commodities is through MINCOA (original var cost) within a country through the INTCOA tech. So INTCOA shouldn't have a 1.5x price, but just the 0.5 piece. Lines 119-126. @trevorb1 - can you confirm that the RES is correct and that we're double counting the INTCOA var cost?
  2. The factor of cost for the INT market is likely something we should allow to be a config as well (lines 119-126)
  3. Fixed cost for URN on line 116-117. Likely want to pull that to the top of the script.
  4. Transmission cost ($4/MWh) is hardcoded - again, add to config/pull to top of script.
maartenbrinkerink commented 3 weeks ago

@trevorb1 I merged the var costs PR into master but that might have been a bit presumptuous as I forgot to check the first point that @tniet raised regarding the international markets. They way it is setup now;

-Takes the fuel_prices.csv as basis. -If INT fuel prices are not determined within fuel_prices.csv the INT fuel prices are extracted and calculated based on CMO. -Constant fuel prices are added to the constants file (for nuclear, biomass, waste). -International fuel price multiplier added to the constants file. -If country level fuel prices are not determined in fuel_prices.csv the INT fuel prices are used as benchmark for the country level prices.

When you have time, could you have a look at the first point that Taco mentioned and see if we need to make changes to the way INT and MIN costs are applied?