Model Documentation

| Version 2.1.0

created with goxygen 0.29.0

30_biomass

Biomass (30_biomass)

Description

The biomass module calculates the production costs of all types of primary energy biomass.

Interfaces

Interfaces to other modules
Interfaces to other modules

Input

module inputs (A: exogenous | B: magpie_40)
  Description Unit A B
cm_1stgen_phaseout choose if 1st generation biofuels should phase out after 2030 (vm_deltaCap=0) x
cm_bioenergymaxscen choose bound on global pebiolc production excluding residues x
cm_emiscen policy scenario choice x
cm_startyear first optimized modelling time step \(year\) x
pm_costsTradePeFinancial
(all_regi, char, all_enty)
PE tradecosts (financial costs on import, export and use) x
pm_pedem_res
(ttot, all_regi, all_te)
Demand for pebiolc residues, needed for enhancement of residue potential \(TWa\) x
pm_ts
(tall)
(t_n+1 - t_n-1)/2 for a timestep t_n x
sm_EJ_2_TWa multiplicative factor to convert from EJ to TWa x
sm_eps small number: 1e-9 x
sm_GJ_2_TWa multiplicative factor to convert from GJ to TWa x
vm_costFuBio
(ttot, all_regi)
fuel costs from bio energy \(tril\$US\) x x
vm_demPe
(tall, all_regi, all_enty, all_enty, all_te)
pe demand. \(TWa, Uranium: Mt Ur\) x
vm_fuExtr
(ttot, all_regi, all_enty, rlf)
fuel use \(TWa\) x x
vm_pebiolc_price
(ttot, all_regi)
Bioenergy price according to MAgPIE supply curves \(T\$US/TWa\) x
vm_prodSe
(tall, all_regi, all_enty, all_enty, all_te)
se production. \(TWa\) x
vm_Xport
(tall, all_regi, all_enty)
Export of traded commodity. x

Output

Realizations

(A) exogenous

Limitations There are no known limitations.

(B) magpie_40

The costs for purpose grown ligno-cellulosic biomass are the integral under the supplycurve. The supplycurves have been derived from MAgPIE 4.1

Total fuel costs for biomass
The first part, summing over peren2rlf30, represents costs for biomass with fixed prices. The second part that includes v30_pebiolc_costs represents costs for biomass with continous supply curves from MAgPIE. In coupled runs v30_multcost is a cost markup factor improving the convergence by penalizing large jumps in the demand between two coupling iterations. It converges to 1 and therefore does not affect the outcome. The last part, containing pm_costsTradePeFinancial, represents additional tradecosts (only for purpose grown lignocellulosic biomass).


q30_costFuBio(ttot,regi)$(ttot.val ge cm_startyear).. 
         vm_costFuBio(ttot,regi)
         =e= sum(peren2rlf30(enty,rlf), p30_datapebio(regi,enty,rlf,"cost",ttot) * vm_fuExtr(ttot,regi,enty,rlf))
         +
$if %cm_MAgPIE_coupling% == "on"  (v30_pebiolc_costs(ttot,regi) * v30_multcost(ttot,regi))
$if %cm_MAgPIE_coupling% == "off" (v30_pebiolc_costs(ttot,regi))
         - p30_pebiolc_costs_emu_preloop(ttot,regi) !! Need to be substracted since they are also inculded in the total agricultural production costs
         + 
         sum(peren2cont30(enty,rlf), vm_fuExtr(ttot,regi,enty,rlf) * pm_costsTradePeFinancial(regi,"use",enty));

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.

\[\begin{multline*} vm\_pebiolc\_price(ttot,regi) = \left(v30\_priceshift(ttot,regi) + i30\_bioen\_price\_a(ttot,regi) + i30\_bioen\_price\_b(ttot,regi) \cdot \left(vm\_fuExtr(ttot,regi,"pebiolc","1") + sm\_eps\right) \right) \cdot v30\_pricemult(ttot,regi) \end{multline*}\]

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.

\[\begin{multline*} v30\_pebiolc\_costs(ttot,regi) = \left(v30\_priceshift(ttot,regi) + i30\_bioen\_price\_a(ttot,regi) +\frac{ i30\_bioen\_price\_b(ttot,regi) }{ 2 } \cdot \left(vm\_fuExtr(ttot,regi,"pebiolc","1") + sm\_eps\right) \right) \cdot v30\_pricemult(ttot,regi) \cdot vm\_fuExtr(ttot,regi,"pebiolc","1") \end{multline*}\]

Calculate shift factor for bioenergy costs
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.

\[\begin{multline*} v30\_shift\_r2 = \sum_{regi}\left( \sum_{ttot\$\left(ttot.val ge 2005 \& p30\_pebiolc\_pricemag(ttot,regi) gt 0\right)}\left( \left(\left(p30\_pebiolc\_pricemag(ttot,regi) - vm\_pebiolc\_price(ttot,regi)\right) \cdot pm\_ts(ttot)\right)^{2}\right)\right) \end{multline*}\]

Calculate cost markup factor for coupled runs
Improve convergence of the REMIND-MAgPIE coupling by penalizing deviations from last coupling iteration. 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 factor converges to 1, as the difference between vm_fuExtr and p30_pebiolc_demandmag vanishes when the coupling converges over iterations.

\[\begin{multline*} v30\_multcost(ttot,regi) = \left(\frac{\left(vm\_fuExtr(ttot,regi,"pebiolc","1")-p30\_pebiolc\_demandmag(ttot,regi)\right)}{ \left(p30\_pebiolc\_demandmag(ttot,regi) + 0.15\right)}\right)^{2} \cdot 0.4 + 1 \end{multline*}\]

Limit export of biomass
Only purpose grown lignocellulosic biomass may be exported, no residues.

\[\begin{multline*} vm\_Xport(t,regi,"pebiolc") \leq vm\_fuExtr(t,regi,"pebiolc","1") \end{multline*}\]

\[\begin{multline*} \sum_{pe2se(enty,enty2,teBio)\$teCCS(teBio)} vm\_demPe(t,regi,enty,enty2,teBio) \leq 0.5 \cdot p30\_demPe(t,regi) \end{multline*}\]

Limitations There are no known limitations.

Definitions

Objects

module-internal objects (A: exogenous | B: magpie_40)
  Description Unit A B
f30_bioen_price
(tall, all_regi, all_LU_emi_scen, all_rcp_scen, all_charScen)
time dependent fit coefficients for bioenergy price formula x
i30_bioen_price_a
(ttot, all_regi)
Time dependent intercept in bioenergy price formula \(T\$US/TWa\) x
i30_bioen_price_b
(ttot, all_regi)
Time dependent slope in bioenergy price formula \(T\$US/TWa/TWa\) x
p30_bio1stgen
(tall, all_regi, all_enty)
regional maximal production potential for 1st generation crops only (pebioil, pebios) x
p30_biolcProductionLookup
(tall, all_regi, all_LU_emi_scen, all_rcp_scen)
regional production of pebiolc purpose grown x
p30_biolcResidues
(tall, all_regi, all_LU_emi_scen)
regional potential for pebiolc residues x
p30_datapebio
(all_regi, all_enty, rlf, charPeRe, ttot)
Global bioenergy potential for lignocellulosic residues and 1st generation crops \(TWa\) x
p30_demPe
(ttot, all_regi)
Primary energy demand imported from gdx or previous iteration \(TWa\) x
p30_fix_costfu_bio
(tall, all_regi)
exogenous data for _costFuBio x x
p30_fix_fuelex
(tall, all_regi, all_enty, rlf)
exogenous data for _fuExtr x x
p30_fuelex_dummy
(all_regi)
Dummy for bio-energy supply per region x
p30_max_pebiolc_dummy Dummy for bio energy supply at p30_pebiolc_price_dummy x
p30_max_pebiolc_path
(all_regi, tall)
Time path of regional maximal pebiolc production \(TWa\) x
p30_max_pebiolc_path_glob
(tall)
Time path of global maximal pebiolc production \(TWa\) x
p30_max200_path
(tall)
Time path of global maximal pebiolc production containing values for 200 EJ case \(TWa\) x
p30_maxprod_residue
(ttot, all_regi)
Maximal potential of residues enhanced by demand of biotr \(TWa\) x
p30_pebiolc_costs_emu_preloop
(ttot, all_regi)
Bioenergy costs calculated with emulator using MAgPIE demand. For shift factor calculation \(T\$US\) x
p30_pebiolc_demandmag
(tall, all_regi)
Production of lignocellulosic purpose grown bioenergy from MAgPIE \(TWa\) x
p30_pebiolc_price_dummy Dummy for the bio-energy price to match the bioenergy bound s30_max_pebiolc x
p30_pebiolc_price_emu_preloop
(ttot, all_regi)
Bioenergy price calculated with emulator using MAgPIE demand. For shift factor calculation \(T\$US/TWa\) x
p30_pebiolc_price_emu_preloop_shifted
(ttot, all_regi)
Bioenergy price calculated with emulator using MAgPIE demand after shift factor calculation \(T\$US/TWa\) x
p30_pebiolc_pricemag
(tall, all_regi)
Prices for lignocellulosic purpose grown bioenergy from MAgPIE \(T\$US/TWa\) x
p30_pebiolc_pricmult
(ttot, all_regi)
Regional multiplication factor that sclaes emulator prices to better fit actual MAgPIE prices \(-\) x
p30_pebiolc_pricshift
(ttot, all_regi)
Regional translation factor that shifts emulator prices to better fit actual MAgPIE prices \(-\) x
q30_costAdj
(ttot, all_regi)
Improve convergence penalizing deviations from last coupling iteration x
q30_costFuBio
(ttot, all_regi)
Total costs of bioenergy production x
q30_limitTeBio
(ttot, all_regi)
Limit BECCS in policy runs relative to reference scenario x
q30_limitXpBio
(ttot, all_regi)
Only purpose grown bioenergy may be exported, no residues x
q30_pebiolc_costs
(ttot, all_regi)
MAgPIE emulator: calculates the costs of pebiolc according to MAgPIE supply curves x
q30_pebiolc_price
(ttot, all_regi)
MAgPIE emulator: calculates the price of pebiolc according to MAgPIE supply curves x
q30_priceshift Calculates shift factor by minimizing least squares of price differences between MAgPIE output and MAgPIE emulator x
s30_D2TD Multiplicative factor to convert from Dollar to TeraDollar x
s30_max_pebiolc Absolute end value of bound on global pebiolc production \(TWa\) x
s30_switch_shiftcalc Switch to activate equation for shift calculation before main solve and to deactivate it during main solve x
v30_multcost
(ttot, all_regi)
Cost markup factor for deviations from demand of last coupling iteration \(-\) x
v30_pebiolc_costs
(ttot, all_regi)
Bioenergy costs according to MAgPIE supply curves \(T\$US\) x
v30_pricemult
(ttot, all_regi)
Regional multiplication factor that sclaes emulator prices to better fit actual MAgPIE prices \(-\) x
v30_priceshift
(ttot, all_regi)
Regional translation factor that shifts emulator prices to better fit actual MAgPIE prices \(-\) x
v30_shift_r2 Least square to minimize during shift calculation x

Sets

sets in use
  description
all_charScen coefficients of the emulator formulas
all_enty all types of quantities
all_LU_emi_scen all emission baselines for CH4 and N2O land use emissions from MAgPIE
all_rcp_scen all possible RCP scenarios
all_regi all regions
all_te all energy technologies, including from modules
char characteristics of technologies
charPeRe(char) characteristics of renewables
enty(all_enty) all types of quantities
entySe(all_enty) secondary energy types
in(all_in) All inputs and outputs of the CES function
iteration iterator for main (Negishi/Nash) iterations
modules all the available modules
pe2se(all_enty, all_enty, all_te) map primary energy carriers to secondary
peBio(all_enty) biomass primary energy types
peren2cont30(all_enty, rlf) map biomass energy to grades with continous supplycurve
peren2rlf30(all_enty, rlf) map biomass energy to grades
regi(all_regi) all regions used in the solution process
rlf cost levels of fossil fuels
t(ttot) modeling time, usually starting in 2005, but later for fixed delay runs
tall time index
te(all_te) energy technologies
teBio(all_te) biomass energy systems technologies
teBioPebiolc(all_te) biomass technologies using pebiolc
teCCS(all_te) Technologies with CCS
ttot(tall) time index with spin up

Authors

David Klein

See Also

24_trade, core

References