@@ -479,7 +479,10 @@ def CalculateLCOELCOHLCOC(self, model: Model) -> tuple:
479
479
NPVcap = np .sum ((1 + self .inflrateconstruction .value ) * self .CCap .value * CRF * discountvector )
480
480
NPVfc = np .sum ((1 + self .inflrateconstruction .value ) * self .CCap .value * self .PTR .value * inflationvector * discountvector )
481
481
NPVit = np .sum (self .CTR .value / (1 - self .CTR .value ) * ((1 + self .inflrateconstruction .value ) * self .CCap .value * CRF - self .CCap .value / model .surfaceplant .plant_lifetime .value ) * discountvector )
482
- NPVitc = (1 + self .inflrateconstruction .value ) * self .CCap .value * self .RITC .value / (1 - self .CTR .value )
482
+
483
+ npv_itc_discount_factor = discountvector [model .surfaceplant .construction_years .value ]
484
+ NPVitc = ((1 + self .inflrateconstruction .value ) * self .CCap .value * self .RITC .value / (1 - self .CTR .value )
485
+ * npv_itc_discount_factor )
483
486
484
487
if model .surfaceplant .enduse_option .value == EndUseOptions .ELECTRICITY :
485
488
NPVoandm = np .sum (self .Coam .value * inflationvector * discountvector )
@@ -502,7 +505,8 @@ def CalculateLCOELCOHLCOC(self, model: Model) -> tuple:
502
505
NPVcap_elec = np .sum ((1 + self .inflrateconstruction .value ) * CCap_elec * CRF * discountvector )
503
506
NPVfc_elec = np .sum ((1 + self .inflrateconstruction .value ) * CCap_elec * self .PTR .value * inflationvector * discountvector )
504
507
NPVit_elec = np .sum (self .CTR .value / (1 - self .CTR .value ) * ((1 + self .inflrateconstruction .value ) * CCap_elec * CRF - CCap_elec / model .surfaceplant .plant_lifetime .value ) * discountvector )
505
- NPVitc_elec = (1 + self .inflrateconstruction .value ) * CCap_elec * self .RITC .value / (1 - self .CTR .value )
508
+ NPVitc_elec = ((1 + self .inflrateconstruction .value ) * CCap_elec * self .RITC .value / (1 - self .CTR .value )
509
+ * npv_itc_discount_factor )
506
510
NPVoandm_elec = np .sum (Coam_elec * inflationvector * discountvector )
507
511
NPVgrt_elec = self .GTR .value / (1 - self .GTR .value ) * (NPVcap_elec + NPVoandm_elec + NPVfc_elec + NPVit_elec - NPVitc_elec )
508
512
@@ -512,7 +516,8 @@ def CalculateLCOELCOHLCOC(self, model: Model) -> tuple:
512
516
NPVcap_heat = np .sum ((1 + self .inflrateconstruction .value ) * CCap_heat * CRF * discountvector )
513
517
NPVfc_heat = np .sum ((1 + self .inflrateconstruction .value ) * (self .CCap .value * (1.0 - self .CAPEX_heat_electricity_plant_ratio .value )) * self .PTR .value * inflationvector * discountvector )
514
518
NPVit_heat = np .sum (self .CTR .value / (1 - self .CTR .value ) * ((1 + self .inflrateconstruction .value ) * CCap_heat * CRF - CCap_heat / model .surfaceplant .plant_lifetime .value ) * discountvector )
515
- NPVitc_heat = (1 + self .inflrateconstruction .value ) * CCap_heat * self .RITC .value / (1 - self .CTR .value )
519
+ NPVitc_heat = ((1 + self .inflrateconstruction .value ) * CCap_heat * self .RITC .value / (1 - self .CTR .value )
520
+ * npv_itc_discount_factor )
516
521
NPVoandm_heat = np .sum ((self .Coam .value * (1.0 - self .CAPEX_heat_electricity_plant_ratio .value )) * inflationvector * discountvector )
517
522
NPVgrt_heat = self .GTR .value / (1 - self .GTR .value ) * (NPVcap_heat + NPVoandm_heat + NPVfc_heat + NPVit_heat - NPVitc_heat )
518
523
0 commit comments