@@ -41,7 +41,7 @@ def __init__(self, model: Model):
41
41
:type model: :class:`~geophires_x.Model.Model`
42
42
:return: Nothing, and is used to initialize the class
43
43
"""
44
- model .logger .info ("Init " + str (__class__ ) + ": " + sys ._getframe ().f_code .co_name )
44
+ model .logger .info (f "Init { str (__class__ )} : { sys ._getframe ().f_code .co_name } " )
45
45
46
46
# These dictionaries contains a list of all the parameters set in this object, stored as "Parameter" and
47
47
# OutputParameter Objects. This will allow us later to access them in a user interface and get that list,
@@ -335,7 +335,7 @@ def __init__(self, model: Model):
335
335
CurrentUnits = CostPerMassUnit .DOLLARSPERTONNE
336
336
)
337
337
338
- model .logger .info ("Complete " + str (__class__ ) + ": " + sys ._getframe ().f_code .co_name )
338
+ model .logger .info (f "Complete { str (__class__ )} : { sys ._getframe ().f_code .co_name } " )
339
339
340
340
def __str__ (self ):
341
341
return "EconomicsS_DAC_GT"
@@ -349,7 +349,7 @@ def read_parameters(self, model: Model) -> None:
349
349
:type model: :class:`~geophires_x.Model.Model`
350
350
:return: None
351
351
"""
352
- model .logger .info ("Init " + str (__class__ ) + ": " + sys ._getframe ().f_code .co_name )
352
+ model .logger .info (f "Init { str (__class__ )} : { sys ._getframe ().f_code .co_name } " )
353
353
354
354
# Deal with all the parameter values that the user has provided. They should really only provide values
355
355
# that they want to change from the default values, but they can provide a value that is already set because it
@@ -374,7 +374,7 @@ def read_parameters(self, model: Model) -> None:
374
374
# none in this case so far
375
375
else :
376
376
model .logger .info ("No parameters read becuase no content provided" )
377
- model .logger .info ("read parameters complete " + str (__class__ ) + ": " + sys ._getframe ().f_code .co_name )
377
+ model .logger .info (f "read parameters complete { str (__class__ )} : { sys ._getframe ().f_code .co_name } " )
378
378
379
379
def calculate_CRF (self , wacc : float , num_years : float ) -> float :
380
380
"""
@@ -579,9 +579,10 @@ def Calculate(self, model: Model) -> None:
579
579
# Ensure parameters are within range. If not, exit function without completing calculation or generating charts
580
580
err_state , err_message = self .range_check ()
581
581
if err_state :
582
- model .logger .fatal (err_message + " Exiting...." )
583
- print (err_message + " Exiting...." )
584
- sys .exit ()
582
+ msg = f'{ err_message } . Exiting...'
583
+ model .logger .fatal (msg )
584
+ print (msg )
585
+ raise RuntimeError (err_message )
585
586
586
587
# Calculate initial CRF value based on default inputs
587
588
self .CRF = self .calculate_CRF (self .wacc .value , model .surfaceplant .plant_lifetime .value )
@@ -666,6 +667,7 @@ def Calculate(self, model: Model) -> None:
666
667
model .surfaceplant .HeatkWhProduced .value [i ] = (model .surfaceplant .HeatkWhProduced .value [i ] -
667
668
(self .CarbonExtractedAnnually .value [i ] * self .therm .value ))
668
669
670
+ # FIXME TODO https://github.com/NREL/GEOPHIRES-X/issues/341?title=S-DAC+does+not+calculate+carbon+revenue
669
671
# Build a revenue generation model for the carbon capture, assuming the capture is being sequestered and that
670
672
# there is some sort of credit involved for doing that sequestering
671
673
# note that there may already be values in the CarbonRevenue array, so we need to
@@ -674,8 +676,8 @@ def Calculate(self, model: Model) -> None:
674
676
#for i in range(0, total_duration, 1):
675
677
# model.sdacgteconomics.CarbonRevenue.value[i] = (model.sdacgteconomics.CarbonRevenue.value[i] +
676
678
# (self.CarbonExtractedAnnually.value[i] * model.economics.CarbonPrice.value[i]))
677
- # if i > 0:
678
- # model.economics.CarbonCummCashFlow.value[i] = model.economics.CarbonCummCashFlow.value[i - 1] + model.economics.CarbonRevenue.value[i]
679
+ # if i > 0:
680
+ # model.economics.CarbonCummCashFlow.value[i] = model.economics.CarbonCummCashFlow.value[i - 1] + model.economics.CarbonRevenue.value[i]
679
681
680
682
self ._calculate_derived_outputs (model )
681
683
model .logger .info (f'Complete { str (__class__ )} : { sys ._getframe ().f_code .co_name } ' )
0 commit comments