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

Remove alternative 32_power realizations that are not used anymore #1769

Merged
merged 6 commits into from
Aug 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 9 additions & 8 deletions core/bounds.gms
Original file line number Diff line number Diff line change
Expand Up @@ -43,16 +43,16 @@ loop(se2se(enty,enty2,te),
loop(regi,
loop(teRe2rlfDetail(te,rlf),
if( (pm_dataren(regi,"maxprod",rlf,te) gt 0),
vm_capDistr.lo(t,regi,te,rlf)$(t.val gt 2011) = 1e-8;
v_capDistr.lo(t,regi,te,rlf)$(t.val gt 2011) = 1e-8;
*cb* make sure that grade distribution in early time steps with capacity fixing is close to optimal one assumed for vm_capFac calibration, divide by p_aux_capacityFactorHistOverREMIND to correct for deviation of REMIND capacity factors from historic capacity factors
vm_capDistr.lo("2015",regi,te,rlf) = 0.90 / max(1, p_aux_capacityFactorHistOverREMIND(regi,te)) * p_aux_capThisGrade(regi,te,rlf);
vm_capDistr.lo("2020",regi,te,rlf) = 0.90 / max(1, p_aux_capacityFactorHistOverREMIND(regi,te)) * p_aux_capThisGrade(regi,te,rlf);
v_capDistr.lo("2015",regi,te,rlf) = 0.90 / max(1, p_aux_capacityFactorHistOverREMIND(regi,te)) * p_aux_capThisGrade(regi,te,rlf);
v_capDistr.lo("2020",regi,te,rlf) = 0.90 / max(1, p_aux_capacityFactorHistOverREMIND(regi,te)) * p_aux_capThisGrade(regi,te,rlf);
);
);
);

*' Make sure no grades > 9 are used. Only cosmetic to avoid entries in lst file
vm_capDistr.fx(t,regi,te,rlf)$(rlf.val gt 9) = 0;
v_capDistr.fx(t,regi,te,rlf)$(rlf.val gt 9) = 0;

*' No battery storage in 2010:
vm_cap.up("2010",regi,teStor,"1") = 0;
Expand Down Expand Up @@ -406,13 +406,13 @@ $endif
*** -------------------------------------------------------------------------------------------------------------

if ( (c_ccsinjecratescen gt 0) AND (NOT cm_emiscen eq 1),
vm_co2CCS.lo(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = pm_boundCapCCS(t,regi,"low")$(t.val le 2030) * s_MtCO2_2_GtC;
vm_co2CCS.up(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = (pm_boundCapCCS(t,regi,"low")$(t.val le 2030) + (pm_boundCapCCS(t,regi,"up")$(t.val le 2030) - pm_boundCapCCS(t,regi,"low")$(t.val le 2030)) * c_fracRealfromAnnouncedCCScap2030) * s_MtCO2_2_GtC;
vm_co2CCS.lo(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = p_boundCapCCS(t,regi,"low")$(t.val le 2030) * s_MtCO2_2_GtC;
vm_co2CCS.up(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = (p_boundCapCCS(t,regi,"low")$(t.val le 2030) + (p_boundCapCCS(t,regi,"up")$(t.val le 2030) - p_boundCapCCS(t,regi,"low")$(t.val le 2030)) * c_fracRealfromAnnouncedCCScap2030) * s_MtCO2_2_GtC;
);

loop(regi,
loop(t$(t.val le 2030),
if( ( pm_boundCapCCS(t,regi,"up") eq 0),
if( ( p_boundCapCCS(t,regi,"up") eq 0),
vm_cap.fx(t,regi,teCCS,rlf) = 0;
);
);
Expand Down Expand Up @@ -445,10 +445,11 @@ $if %c_SSP_forcing_adjust% == "forcing_SSP1" vm_deltaCap.up(t,regi,"coalgas"
*** -------------------------------------------------------------
*** H2 Curtailment
*** -------------------------------------------------------------
*** RLDC removal
***Fixing h2curt value to zero to avoid the model to generate SE out of nothing.
***Models that have additional se production channels should release this variable (eg. RLDC power module).
loop(prodSeOth2te(enty,te),
vm_prodSeOth.fx(t,regi,"seh2","h2curt") = 0;
v_prodSeOth.fx(t,regi,"seh2","h2curt") = 0;
);


Expand Down
33 changes: 17 additions & 16 deletions core/datainput.gms
Original file line number Diff line number Diff line change
Expand Up @@ -243,23 +243,23 @@ $if not "%cm_learnRate%" == "off" parameter p_new_learnRate(all_te) / %cm_learnR
$if not "%cm_learnRate%" == "off" fm_dataglob("learn",te)$p_new_learnRate(te)=p_new_learnRate(te);

*RP* the new cost data in generisdata_tech is now in $2015. As long as the model runs in $2005, these values have first to be converted to D2005 by dividing by 1.2 downwards
fm_dataglob("inco0",te) = s_D2015_2_D2005 * fm_dataglob("inco0",te);
fm_dataglob("incolearn",te) = s_D2015_2_D2005 * fm_dataglob("incolearn",te);
fm_dataglob("omv",te) = s_D2015_2_D2005 * fm_dataglob("omv",te);
p_inco0(ttot,regi,te) = s_D2015_2_D2005 * p_inco0(ttot,regi,te);
fm_dataglob("inco0",te) = s_D2015_2_D2005 * fm_dataglob("inco0",te);
fm_dataglob("incolearn",te) = s_D2015_2_D2005 * fm_dataglob("incolearn",te);
fm_dataglob("omv",te) = s_D2015_2_D2005 * fm_dataglob("omv",te);
p_inco0(ttot,regi,te) = s_D2015_2_D2005 * p_inco0(ttot,regi,te);

*** inco0 (and incolearn) are given in $/kW (or $/(tC/a) for ccs-related tech or $/(t/a) for process-based industry)
*** convert to REMIND units, i.e., T$/TW (or T$/(GtC/a) for ccs-related tech or T$/(Gt/a) for process-based industry)
*** note that factor for $/kW -> T$/TW is the same as for $/(tC/a) -> T$/(GtC/a)
fm_dataglob("inco0",te) = s_DpKW_2_TDpTW * fm_dataglob("inco0",te);
fm_dataglob("incolearn",te) = s_DpKW_2_TDpTW * fm_dataglob("incolearn",te);
fm_dataglob("omv",te) = s_DpKWa_2_TDpTWa * fm_dataglob("omv",te);
p_inco0(ttot,regi,te) = s_DpKW_2_TDpTW * p_inco0(ttot,regi,te);
fm_dataglob("inco0",te) = s_DpKW_2_TDpTW * fm_dataglob("inco0",te);
fm_dataglob("incolearn",te) = s_DpKW_2_TDpTW * fm_dataglob("incolearn",te);
fm_dataglob("omv",te) = s_DpKWa_2_TDpTWa * fm_dataglob("omv",te);
p_inco0(ttot,regi,te) = s_DpKW_2_TDpTW * p_inco0(ttot,regi,te);

*RP* rescale the global CSP investment costs in REMIND: Originally we assume a SM3/12h setup, while the cost data from IEA for the short term seems rather based on a SM2/6h setup (with 40% average CF)
*** Accordingly, also decrease long-term costs in REMIND to 0.7 of the current values
fm_dataglob("inco0","csp") = 0.7 * fm_dataglob("inco0","csp");
fm_dataglob("incolearn","csp") = 0.7 * fm_dataglob("incolearn","csp");
fm_dataglob("inco0","csp") = 0.7 * fm_dataglob("inco0","csp");
fm_dataglob("incolearn","csp") = 0.7 * fm_dataglob("incolearn","csp");


*** --------------------------------------------------------------------------------
Expand Down Expand Up @@ -367,16 +367,17 @@ $endif.REG_techcosts

*** global exponent
*** parameter calculation for global level, that regional values can gradually converge to
fm_dataglob("learnExp_wFC",teLearn(te)) = fm_dataglob("inco0",te)/fm_dataglob("incolearn",te) * log(1-fm_dataglob("learn", te))/log(2);
fm_dataglob("learnExp_woFC",teLearn(te)) = log(1 - fm_dataglob("learn",te)) / log(2);
*RP* adjust exponent parameter learnExp_woFC to take floor costs into account
fm_dataglob("learnExp_wFC",teLearn(te)) = fm_dataglob("inco0",te) / fm_dataglob("incolearn",te) * fm_dataglob("learnExp_woFC",te);

*** regional exponent
pm_data(regi,"learnExp_woFC",teLearn(te)) = log(1-pm_data(regi,"learn", te))/log(2);
*RP* adjust exponent parameter learnExp_woFC to take floor costs into account
pm_data(regi,"learnExp_wFC",teLearn(te)) = pm_data(regi,"inco0",te) / pm_data(regi,"incolearn",te) * log(1-pm_data(regi,"learn", te))/log(2);
pm_data(regi,"learnExp_woFC",teLearn(te)) = log(1 - pm_data(regi,"learn",te)) / log(2);
pm_data(regi,"learnExp_wFC",teLearn(te)) = pm_data(regi,"inco0",te) / pm_data(regi,"incolearn",te) * pm_data(regi,"learnExp_woFC",te);

*** global factor
*** parameter calculation for global level, that regional values can gradually converge to
fm_dataglob("learnMult_wFC",teLearn(te)) = fm_dataglob("incolearn",te) / (fm_dataglob("ccap0",te) ** fm_dataglob("learnExp_wFC", te));
fm_dataglob("learnMult_wFC",teLearn(te)) = fm_dataglob("incolearn",te) / (fm_dataglob("ccap0",te) ** fm_dataglob("learnExp_wFC", te));

*** regional factor
*NB* read in vm_capCum(t0,regi,teLearn) from input.gdx to have info available for the recalibration of 2005 investment costs
Expand Down Expand Up @@ -887,7 +888,7 @@ if(pm_NuclearConstraint("2020",regi,"tnrs")<0,
);

*** read in data on CCS capacities and announced projects used as upper and lower bound on vm_co2CCS in 2025 and 2030
parameter pm_boundCapCCS(ttot,all_regi,bounds) "installed and planned capacity of CCS"
parameter p_boundCapCCS(ttot,all_regi,bounds) "installed and planned capacity of CCS"
/
$ondelim
$include "./core/input/p_boundCapCCS.cs4r"
Expand Down
7 changes: 4 additions & 3 deletions core/declarations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -379,7 +379,7 @@ vm_esCapInv(ttot,all_regi,all_teEs) "investment for energy end
vm_costEnergySys(ttot,all_regi) "energy system costs"

vm_cap(tall,all_regi,all_te,rlf) "net total capacities"
vm_capDistr(tall,all_regi,all_te,rlf) "net capacities, distributed to the different grades for renewables"
v_capDistr(tall,all_regi,all_te,rlf) "net capacities, distributed to the different grades for renewables"
vm_capTotal(ttot,all_regi,all_enty,all_enty) "total capacity without technology differentation for technologies where there exists differentation [TW]"
vm_capFac(ttot,all_regi,all_te) "capacity factor of conversion technologies"
vm_deltaCap(tall,all_regi,all_te,rlf) "capacity additions"
Expand Down Expand Up @@ -412,8 +412,9 @@ v_prodUe (ttot,all_regi,all_enty,all_enty,all_te) "Useful energy production [

vm_capEarlyReti(tall,all_regi,all_te) "fraction of early retired capital"

vm_demSeOth(ttot,all_regi,all_enty,all_te) "other sety demand from certain technologies, have to calculated in additional equations [TWa]"
vm_prodSeOth(ttot,all_regi,all_enty,all_te) "other sety production from certain technologies, have to be calculated in additional equations [TWa]"
*** RLDC removal
v_demSeOth(ttot,all_regi,all_enty,all_te) "other sety demand from certain technologies, have to calculated in additional equations [TWa]"
v_prodSeOth(ttot,all_regi,all_enty,all_te) "other sety production from certain technologies, have to be calculated in additional equations [TWa]"

v_shGreenH2(ttot,all_regi) "share of green hydrogen in all hydrogen by 2030 [0..1]"
v_shBioTrans(ttot,all_regi) "Share of biofuels in transport liquids from 2025 onwards. Value between 0 and 1."
Expand Down
89 changes: 44 additions & 45 deletions core/equations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -156,12 +156,12 @@ q_balSe(t,regi,enty2)$( entySe(enty2) AND (NOT (sameas(enty2,"seel"))) )..
- vm_emiMacSector(t,regi,"ch4wstl")
)
)$( sameas(enty2,"segabio") AND t.val gt 2005 )
+ sum(prodSeOth2te(enty2,te), vm_prodSeOth(t,regi,enty2,te) )
+ sum(prodSeOth2te(enty2,te), v_prodSeOth(t,regi,enty2,te) ) !! *** RLDC removal
+ vm_Mport(t,regi,enty2)
=e=
sum(se2fe(enty2,enty3,te), vm_demSe(t,regi,enty2,enty3,te))
+ sum(se2se(enty2,enty3,te), vm_demSe(t,regi,enty2,enty3,te))
+ sum(demSeOth2te(enty2,te), vm_demSeOth(t,regi,enty2,te) )
+ sum(demSeOth2te(enty2,te), v_demSeOth(t,regi,enty2,te) ) !! *** RLDC removal
Comment on lines -159 to +164

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is !! *** RLDC removal intended to conway any information?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no, they are anchors for remaining todos (related to this SeOth issue with which you helped me today)

+ vm_Xport(t,regi,enty2)
;

Expand Down Expand Up @@ -259,37 +259,34 @@ q_shFeCes(t,regi,entyFe,in,teEs)$feViaEs2ppfen(entyFe,in,teEs)..
*' Definition of capacity constraints for primary energy to secondary energy transformation:
***--------------------------------------------------------------------------
q_limitCapSe(t,regi,pe2se(enty,enty2,te))..
vm_prodSe(t,regi,enty,enty2,te)
=e=
sum(teSe2rlf(te,rlf),
vm_capFac(t,regi,te) * pm_dataren(regi,"nur",rlf,te)
* vm_cap(t,regi,te,rlf)
)$(NOT teReNoBio(te))
+
sum(teRe2rlfDetail(te,rlf),
( 1$teRLDCDisp(te) + pm_dataren(regi,"nur",rlf,te)$(NOT teRLDCDisp(te)) ) * vm_capFac(t,regi,te)
* vm_capDistr(t,regi,te,rlf)
)$(teReNoBio(te))
vm_prodSe(t,regi,enty,enty2,te)
=e=
sum(teSe2rlf(te,rlf),
vm_capFac(t,regi,te) * pm_dataren(regi,"nur",rlf,te) * vm_cap(t,regi,te,rlf)
)$(NOT teReNoBio(te))
+
sum(teRe2rlfDetail(te,rlf),
pm_dataren(regi,"nur",rlf,te) * vm_capFac(t,regi,te) * v_capDistr(t,regi,te,rlf)
)$(teReNoBio(te))
;

***----------------------------------------------------------------------------
*' Definition of capacity constraints for secondary energy to secondary energy transformation:
***---------------------------------------------------------------------------
q_limitCapSe2se(t,regi,se2se(enty,enty2,te))..
vm_prodSe(t,regi,enty,enty2,te)
=e=
sum(teSe2rlf(te,rlf),
vm_capFac(t,regi,te) * pm_dataren(regi,"nur",rlf,te)
* vm_cap(t,regi,te,rlf)
);
vm_prodSe(t,regi,enty,enty2,te)
=e=
sum(teSe2rlf(te,rlf),
vm_capFac(t,regi,te) * pm_dataren(regi,"nur",rlf,te) * vm_cap(t,regi,te,rlf)
);

***---------------------------------------------------------------------------
*' Definition of capacity constraints for secondary energy to final energy transformation:
***---------------------------------------------------------------------------
q_limitCapFe(t,regi,te)..
sum((entySe,entyFe)$(se2fe(entySe,entyFe,te)), vm_prodFe(t,regi,entySe,entyFe,te))
=l=
sum(teFe2rlf(te,rlf), vm_capFac(t,regi,te) * vm_cap(t,regi,te,rlf));
sum((entySe,entyFe)$(se2fe(entySe,entyFe,te)), vm_prodFe(t,regi,entySe,entyFe,te))
=l=
sum(teFe2rlf(te,rlf), vm_capFac(t,regi,te) * vm_cap(t,regi,te,rlf));

***---------------------------------------------------------------------------
*' Definition of capacity constraints for CCS technologies:
Expand Down Expand Up @@ -327,7 +324,7 @@ q_cap(ttot,regi,te2rlf(te,rlf))$(ttot.val ge cm_startyear)..


q_capDistr(t,regi,teReNoBio(te))..
sum(teRe2rlfDetail(te,rlf), vm_capDistr(t,regi,te,rlf) )
sum(teRe2rlfDetail(te,rlf), v_capDistr(t,regi,te,rlf) )
=e=
vm_cap(t,regi,te,"1")
;
Expand Down Expand Up @@ -398,17 +395,20 @@ q_capCumNet(t0,regi,teLearn)$(NOT (pm_data(regi,"tech_stat",teLearn) eq 4))..
qm_fuel2pe(t,regi,peRicardian(enty))..
vm_prodPe(t,regi,enty)
=e=
sum(pe2rlf(enty,rlf2),vm_fuExtr(t,regi,enty,rlf2))-(vm_Xport(t,regi,enty)-(1-pm_costsPEtradeMp(regi,enty))*vm_Mport(t,regi,enty))$(tradePe(enty)) -
sum(pe2rlf(enty2,rlf2), (pm_fuExtrOwnCons(regi, enty, enty2) * vm_fuExtr(t,regi,enty2,rlf2))$(pm_fuExtrOwnCons(regi, enty, enty2) gt 0));

sum(pe2rlf(enty,rlf2), vm_fuExtr(t,regi,enty,rlf2))
- (vm_Xport(t,regi,enty) - (1-pm_costsPEtradeMp(regi,enty)) * vm_Mport(t,regi,enty))$(tradePe(enty))
- sum(pe2rlf(enty2,rlf2),
(pm_fuExtrOwnCons(regi, enty, enty2) * vm_fuExtr(t,regi,enty2,rlf2))$(pm_fuExtrOwnCons(regi, enty, enty2) gt 0)
)
;
***---------------------------------------------------------------------------
*' Definition of resource constraints for renewable energy types:
***---------------------------------------------------------------------------
*ml* assuming maxprod to be technical potential
q_limitProd(t,regi,teRe2rlfDetail(teReNoBio(te),rlf))..
pm_dataren(regi,"maxprod",rlf,te)
=g=
( 1$teRLDCDisp(te) + pm_dataren(regi,"nur",rlf,te)$(NOT teRLDCDisp(te)) ) * vm_capFac(t,regi,te) * vm_capDistr(t,regi,te,rlf);
pm_dataren(regi,"nur",rlf,te) * vm_capFac(t,regi,te) * v_capDistr(t,regi,te,rlf);

***-----------------------------------------------------------------------------
*' Definition of competition for geographical potential for renewable energy types:
Expand All @@ -417,47 +417,49 @@ q_limitProd(t,regi,teRe2rlfDetail(teReNoBio(te),rlf))..
q_limitGeopot(t,regi,peReComp(enty),rlf)..
p_datapot(regi,"limitGeopot",rlf,enty)
=g=
sum(te$teReComp2pe(enty,te,rlf), (vm_capDistr(t,regi,te,rlf) / (pm_data(regi,"luse",te)/1000)));
sum(te$teReComp2pe(enty,te,rlf), (v_capDistr(t,regi,te,rlf) / (pm_data(regi,"luse",te)/1000)));

*** learning curve for investment costs
*** deactivate learning for tech_stat 4 technologies before 2025 as they are not built before
***---------------------------------------------------------------------------
*' Learning curve for investment costs:
*' (deactivate learning for tech_stat 4 technologies before 2025 as they are not built before)
***---------------------------------------------------------------------------
q_costTeCapital(t,regi,teLearn)$(NOT (pm_data(regi,"tech_stat",teLearn) eq 4 AND t.val le 2020)) ..
vm_costTeCapital(t,regi,teLearn)
=e=
*** special treatment for first time steps: using global estimates better
*** matches historic values
( fm_dataglob("learnMult_wFC",teLearn)
*** floor costs defined regionally
pm_data(regi,"floorcost",teLearn)
*** until 2005: using global estimates better matches historic values
+ ( fm_dataglob("learnMult_wFC",teLearn)
* ( ( sum(regi2, vm_capCum(t,regi2,teLearn))
+ pm_capCumForeign(t,regi,teLearn)
)
** fm_dataglob("learnExp_wFC",teLearn)
)
)$( t.val le 2005 )
*** special treatment for 2010, 2015: start divergence of regional values by using a
*** t-split of global 2005 to regional 2020 in order to phase-in the observed 2020 regional
*** variation from input-data
+ ( (2020 - t.val)/15 * fm_dataglob("learnMult_wFC",teLearn)
*** 2005 to 2020: linear transition from global 2005 to regional 2020
*** to phase-in the observed 2020 regional variation from input-data
+ ( (2020 - t.val) / (2020-2005) * fm_dataglob("learnMult_wFC",teLearn)
* ( sum(regi2, vm_capCum(t,regi2,teLearn))
+ pm_capCumForeign(t,regi,teLearn)
)
** fm_dataglob("learnExp_wFC",teLearn)

+ (t.val - 2005)/15 * pm_data(regi,"learnMult_wFC",teLearn)
+ (t.val - 2005) / (2020-2005) * pm_data(regi,"learnMult_wFC",teLearn)
* ( sum(regi2, vm_capCum(t,regi2,teLearn))
+ pm_capCumForeign(t,regi,teLearn)
)
** pm_data(regi,"learnExp_wFC",teLearn)
)$( (t.val gt 2005) AND (t.val lt 2020) )

$ifthen.floorscen %cm_floorCostScen% == "default"
*** assuming linear convergence of regional learning curves to global values until 2050
+ ( (pm_ttot_val(t) - 2020) / 30 * fm_dataglob("learnMult_wFC",teLearn)
*** 2020 to 2050: assuming linear convergence of regional learning curves to global values
+ ( (pm_ttot_val(t) - 2020) / (2050-2020) * fm_dataglob("learnMult_wFC",teLearn)
* ( sum(regi2, vm_capCum(t,regi2,teLearn))
+ pm_capCumForeign(t,regi,teLearn)
)
** fm_dataglob("learnExp_wFC",teLearn)

+ (2050 - pm_ttot_val(t)) / 30 * pm_data(regi,"learnMult_wFC",teLearn)
+ (2050 - pm_ttot_val(t)) / (2050-2020) * pm_data(regi,"learnMult_wFC",teLearn)
* ( sum(regi2, vm_capCum(t,regi2,teLearn))
+ pm_capCumForeign(t,regi,teLearn)
)
Expand All @@ -484,15 +486,12 @@ $ifthen.floorscen %cm_floorCostScen% == "techtrans"
$endif.floorscen

$ifthen.floorscen %cm_floorCostScen% == "default"
*** globally harmonized costs after 2050
*** after 2050: globally harmonized costs
+ ( fm_dataglob("learnMult_wFC",teLearn)
* (sum(regi2, vm_capCum(t,regi2,teLearn)) + pm_capCumForeign(t,regi,teLearn) )
**(fm_dataglob("learnExp_wFC",teLearn))
)$(t.val gt 2050)
$endif.floorscen

*** floor costs
+ pm_data(regi,"floorcost",teLearn)
;


Expand Down
2 changes: 1 addition & 1 deletion core/preloop.gms
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ vm_prodFe.l(ttot,regi,entyFe2,entyFe2,te) = 0;
vm_prodSe.l(ttot,regi,enty,enty2,te) = 0;
vm_demSe.l(ttot,regi,enty,enty2,te) = 0;
vm_Xport.l(ttot,regi,tradePe) = 0;
vm_capDistr.l(t,regi,te,rlf) = 0;
v_capDistr.l(t,regi,te,rlf) = 0;
vm_cap.l(t,regi,te,rlf) = 0;
vm_fuExtr.l(ttot,regi,"pebiolc","1")$(ttot.val ge 2005) = 0;
vm_pebiolc_price.l(ttot,regi)$(ttot.val ge 2005) = 0;
Expand Down
Loading
Loading