Skip to content
Snippets Groups Projects
Commit 0935e7ee authored by David Klein's avatar David Klein
Browse files

Document biomass module.

parent 8225de7f
No related branches found
No related tags found
1 merge request!24Completed documentation for 30_biomass/magpie_40 and 26_agcost/cost
......@@ -332,7 +332,7 @@ $include "./core/input/p_costsPEtradeMp.cs4r"
$offdelim
/
;
table pm_costsTradePeFinancial(all_regi,char,all_enty) "PE tradecosts (financial costs on import, export and use)"
table pm_costsTradePeFinancial(all_regi,char,all_enty) "Financial costs on import, export and use of primary energy"
$ondelim
$include "./core/input/pm_costsTradePeFinancial.cs3r"
$offdelim
......
......@@ -58,7 +58,7 @@
*
* Input data revision: 5.936
*
* Last modification (input data): Thu Dec 12 14:55:25 2019
* Last modification (input data): Fri Dec 20 09:59:38 2019
*
*###################### R SECTION END (VERSION INFO) ###########################
......@@ -198,15 +198,15 @@ cm_CCS_chemicals "CCS for chemicals sub-sector"
cm_CCS_steel "CCS for steel sub-sector"
c_solscen "solar option choice"
cm_bioenergy_tax "level of bioenergy tax in fraction of bioenergy price"
cm_bioenergymaxscen "bound on global pebiolc production excluding residues"
cm_bioenergymaxscen "choose bound on global pebiolc production excluding residues"
c_tradecost_bio "choose financal tradecosts for biomass (purpose grown pebiolc)"
cm_1stgen_phaseout "choose if 1st generation biofuels should phase out after 2020 (delatcap=0)"
cm_cprice_red_factor "reduction factor for price on co2luc when calculating the revenues. Replicates the reduction applied in MAgPIE"
cm_1stgen_phaseout "choose if 1st generation biofuels should phase out after 2030 (vm_deltaCap=0)"
cm_cprice_red_factor "reduction factor for price on co2luc when calculating the revenues. Replicates the reduction applied in MAgPIE"
cm_startyear "first optimized modelling time step"
cm_stagestart "start of staged accession for delay runs"
cm_stageend "end of staged accession for delay runs"
cm_stagestart "start of staged accession for delay runs"
cm_stageend "end of staged accession for delay runs"
c_start_budget "start of GHG budget limit"
cm_prtpScen "pure rate of time preference standard values"
cm_prtpScen "pure rate of time preference standard values"
cm_fetaxscen "choice of final energy tax path, subsidy path and inconvenience cost path, values other than 0 make setting module 21_tax on"
cm_multigasscen "scenario on GHG portfolio to be included in permit trading scheme"
cm_permittradescen "scenario on permit trade"
......@@ -293,7 +293,7 @@ cm_CCS_steel = 1; !! def = 1
cm_bioenergy_tax = 1.5; !! def = 1.5
cm_bioenergymaxscen = 0; !! def = 3
cm_bioenergymaxscen = 0; !! def = 0
c_tradecost_bio = 2; !! def = 2
$setglobal cm_LU_emi_scen SSP2 !! def = SSP2
cm_1stgen_phaseout = 0; !! def = 0
......@@ -370,8 +370,8 @@ cm_noReboundEffect = 0;
$setGlobal cm_EsubGrowth low !! def = low
$setGlobal c_regi_nucscen all !! def = all
$setGlobal c_regi_capturescen all !! def = all
$setGlobal c_regi_nucscen all !! def = all
$setGlobal c_regi_capturescen all !! def = all
*** --------------------------------------------------------------------------------------------------------------------------------------------------------------------
*** YOU ARE IN THE WARNING ZONE (DON'T DO CHANGES HERE)
......
......@@ -19,18 +19,13 @@
*** Bounds on 1st generation biomass annual production
*** -------------------------------------------------------------
*** Prescribe upper limit for first generation biomass from 2030 on only, so REMIND has freedom before
*** To avoid infeasibilities it was necessary to modify the initial vintage structure for bioeths
*** Prescribe upper and lower limit for first generation biomass from 2030/45 on, so REMIND has freedom before.
*** To avoid infeasibilities it was necessary to modify the initial vintage structure for bioeths.
vm_fuExtr.up(t,regi,"pebios","5")$(t.val ge 2045) = p30_datapebio(regi,"pebios","5","maxprod",t);
vm_fuExtr.up(t,regi,"pebioil","5")$(t.val ge 2030) = p30_datapebio(regi,"pebioil","5","maxprod",t);
if(cm_1stgen_phaseout=0,
vm_fuExtr.lo(t,regi,"pebios","5")$(t.val ge 2030) = p30_datapebio(regi,"pebios","5","maxprod",t)*0.9;
vm_fuExtr.lo(t,regi,"pebioil","5")$(t.val ge 2030) = p30_datapebio(regi,"pebioil","5","maxprod",t)*0.9;
else
vm_fuExtr.lo(t,regi,"pebios","5")$(t.val eq 2030) = p30_datapebio(regi,"pebios","5","maxprod",t)*0.9;
vm_fuExtr.lo(t,regi,"pebioil","5")$(t.val eq 2030) = p30_datapebio(regi,"pebioil","5","maxprod",t)*0.9;
);
vm_fuExtr.lo(t,regi,"pebios","5")$(t.val ge 2030) = p30_datapebio(regi,"pebios","5","maxprod",t)*0.9;
vm_fuExtr.lo(t,regi,"pebioil","5")$(t.val ge 2030) = p30_datapebio(regi,"pebioil","5","maxprod",t)*0.9;
*** -------------------------------------------------------------
*** Bounds on 2nd generation biomass annual production
......
......@@ -33,9 +33,10 @@ $if %cm_MAgPIE_coupling% == "off" (v30_pebiolc_costs(ttot,regi))
*** MAgPIE EMULATOR
***---------------------------------------------------------------------------
*' **Caclulate bioenergy prices according to MAgPIE supply curves**
*' The equation is used by shift factor calculation in the preloop stage. In the main solve stage the price is only used to apply
*' the bioenergy tax.
*' **MAgPIE EMULATOR: PRICE**
*' This equation calculates the price for purpose grown lignocellulosic biomass as a (linear) function of demand according to the supplycurve as it was derived
*' from MAgPIE. The equation is used by the shift factor calculation in the preloop stage. In the main solve stage the price is only
*' used to apply the bioenergy tax. It contains optional shift and scaling of supply curves in coupled runs.
q30_pebiolc_price(ttot,regi)$(ttot.val ge cm_startyear)..
vm_pebiolc_price(ttot,regi)
......@@ -43,10 +44,11 @@ q30_pebiolc_price(ttot,regi)$(ttot.val ge cm_startyear)..
(v30_priceshift(ttot,regi)
+ i30_bioen_price_a(ttot,regi)
+ i30_bioen_price_b(ttot,regi) * (vm_fuExtr(ttot,regi,"pebiolc","1") + sm_eps) )
* v30_pricemult(ttot,regi);
* v30_pricemult(ttot,regi)
;
*' **MAgPIE EMULATOR**
*' Calculates bioenergy costs of purpose grown lignocellulosic biomass by integrating the linear price supply curve.
*' **MAgPIE EMULATOR: COST**
*' Calculates bioenergy costs of purpose grown lignocellulosic biomass by integrating the linear price supply curve (see above).
*' It contains optional shift and scaling of supply curves in coupled runs.
*' The equation is used both in preloop and main solve.
......@@ -58,7 +60,6 @@ q30_pebiolc_costs(ttot,regi)$(ttot.val ge cm_startyear)..
+ i30_bioen_price_b(ttot,regi) / 2 * (vm_fuExtr(ttot,regi,"pebiolc","1") + sm_eps) )
* v30_pricemult(ttot,regi)
* vm_fuExtr(ttot,regi,"pebiolc","1")
;
***---------------------------------------------------------------------------
......@@ -66,7 +67,9 @@ q30_pebiolc_costs(ttot,regi)$(ttot.val ge cm_startyear)..
***---------------------------------------------------------------------------
*' **Calculate shift factor for bioenergy costs**
*' The factor is computed by minimizing least squares (*v30_shift_r2*) of cost differences between MAgPIE output and MAgPIE emulator.
*' This applies in coupled runs only to shift the supplycurve according to the price response of MAgPIE. The factor is computed
*' by minimizing least squares (*v30_shift_r2*) of price differences between actual MAgPIE output (from coupled runs) and the
*' supply curve (aka MAgPIE emulator).
*' It is solved in presolve (*s30_switch_shiftcalc* = 1) and deactivated in main solve (*s30_switch_shiftcalc* = 0).
*' *pm_ts* is used as a weight factor, representing the time step length.
......@@ -84,10 +87,12 @@ q30_priceshift$(s30_switch_shiftcalc eq 1)..
***---------------------------------------------------------------------------
*' **Calculate cost markup factor for coupled runs**
*' This applies in coupled runs only to prevent large jumps in bioenergy demand between coupling iterations.
*' It penalizes deviations in the demand for purpose grown bioenergy from the previous coupling iteration
*' by increasing the costs proportional to the deviation. The scaling factor converges to 1, as the
*' by increasing the costs proportional to the deviation. The factor converges to 1, as the
*' difference between *vm_fuExtr* and *p30_pebiolc_demandmag* vanishes when the coupling converges over
*' iterations.
q30_costAdj(ttot,regi)$(ttot.val ge cm_startyear)..
v30_multcost(ttot,regi)
=e=
......
......@@ -133,7 +133,7 @@ c_solscen "solar option choice"
cm_bioenergy_tax "level of bioenergy tax in fraction of bioenergy price"
cm_bioenergymaxscen "bound on global pebiolc production excluding residues"
c_tradecost_bio "choose financal tradecosts for biomass (purpose grown pebiolc)"
cm_1stgen_phaseout "choose if 1st generation biofuels should phase out after 2020 (delatcap=0)"
cm_1stgen_phaseout "choose if 1st generation biofuels should phase out after 2030 (vm_deltaCap=0)"
cm_startyear "first optimized modelling time step"
cm_stagestart "start of staged accession for delay runs"
cm_stageend "end of staged accession for delay runs"
......@@ -220,7 +220,7 @@ cm_CCS_steel = 1; !! def = 1
cm_bioenergy_tax = 1.5; !! def = 1.5
cm_bioenergymaxscen = 0; !! def = 3
cm_bioenergymaxscen = 0; !! def = 0
c_tradecost_bio = 2; !! def = 2
$setglobal cm_LU_emi_scen SSP2 !! def = SSP2
cm_1stgen_phaseout = 0; !! def = 0
......
......@@ -141,7 +141,7 @@ c_solscen "solar option choice"
cm_bioenergy_tax "level of bioenergy tax in fraction of bioenergy price"
cm_bioenergymaxscen "bound on global pebiolc production excluding residues"
c_tradecost_bio "choose financal tradecosts for biomass (purpose grown pebiolc)"
cm_1stgen_phaseout "choose if 1st generation biofuels should phase out after 2020 (delatcap=0)"
cm_1stgen_phaseout "choose if 1st generation biofuels should phase out after 2030 (vm_deltaCap=0)"
cm_startyear "first optimized modelling time step"
cm_stagestart "start of staged accession for delay runs"
cm_stageend "end of staged accession for delay runs"
......@@ -228,7 +228,7 @@ cm_CCS_steel = 1; !! def = 1
cm_bioenergy_tax = 1.5; !! def = 1.5
cm_bioenergymaxscen = 0; !! def = 3
cm_bioenergymaxscen = 0; !! def = 0
c_tradecost_bio = 2; !! def = 2
$setglobal cm_LU_emi_scen SSP2 !! def = SSP2
cm_1stgen_phaseout = 0; !! def = 0
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment