Skip to content

Commit

Permalink
Add lcoe_floored_reinforcement as sorting option
Browse files Browse the repository at this point in the history
  • Loading branch information
ppinchuk committed May 26, 2024
1 parent 5c05c47 commit a50736c
Showing 1 changed file with 23 additions and 10 deletions.
33 changes: 23 additions & 10 deletions reV/supply_curve/supply_curve.py
Original file line number Diff line number Diff line change
Expand Up @@ -929,30 +929,43 @@ def compute_total_lcoe(

cost *= self._trans_table[self._sc_capacity_col]
cost /= self._trans_table[MetaKeyName.CAPACITY] # align with "mean_cf"
cf_mean_arr = self._trans_table[MetaKeyName.MEAN_CF].values
resource_lcoe = self._trans_table[MetaKeyName.MEAN_LCOE]

if 'reinforcement_cost_floored_per_mw' in self._trans_table:
logger.info("'reinforcement_cost_floored_per_mw' column found in "
"transmission table. Adding floored reinforcement "
"cost LCOE as sorting option.")
fr_cost = (self._trans_table['reinforcement_cost_floored_per_mw']
.values.copy())
fr_cost *= self._trans_table[self._sc_capacity_col]
# align with "mean_cf"
fr_cost /= self._trans_table[MetaKeyName.CAPACITY]

lcot_fr = ((cost + fr_cost) * fcr) / (cf_mean_arr * 8760)
lcoe_fr = lcot + resource_lcoe
self._trans_table['lcot_floored_reinforcement'] = lcot_fr
self._trans_table['lcoe_floored_reinforcement'] = lcoe_fr

if 'reinforcement_cost_per_mw' in self._trans_table:
logger.info("'reinforcement_cost_per_mw' column found in "
"transmission table. Adding reinforcement costs "
"to total LCOE.")
cf_mean_arr = self._trans_table[MetaKeyName.MEAN_CF].values
lcot = (cost * fcr) / (cf_mean_arr * 8760)
lcoe = lcot + self._trans_table[MetaKeyName.MEAN_LCOE]
self._trans_table['lcot_no_reinforcement'] = lcot
self._trans_table['lcoe_no_reinforcement'] = lcoe
lcot_nr = (cost * fcr) / (cf_mean_arr * 8760)
lcoe_nr = lcot + resource_lcoe
self._trans_table['lcot_no_reinforcement'] = lcot_nr
self._trans_table['lcoe_no_reinforcement'] = lcoe_nr
r_cost = (self._trans_table['reinforcement_cost_per_mw']
.values.copy())
r_cost *= self._trans_table[self._sc_capacity_col]
# align with "mean_cf"
r_cost /= self._trans_table[MetaKeyName.CAPACITY]
cost += r_cost # $/MW

cf_mean_arr = self._trans_table[MetaKeyName.MEAN_CF].values
lcot = (cost * fcr) / (cf_mean_arr * 8760)

self._trans_table['lcot'] = lcot
self._trans_table['total_lcoe'] = (
self._trans_table['lcot']
+ self._trans_table[MetaKeyName.MEAN_LCOE])
self._trans_table['total_lcoe'] = (self._trans_table['lcot']
+ resource_lcoe)

if consider_friction:
self._calculate_total_lcoe_friction()
Expand Down

0 comments on commit a50736c

Please sign in to comment.