@@ -371,6 +371,10 @@ def __init__(self, output_file_path, logger_name=None):
371
371
if ccus_profile is not None :
372
372
self .result ['CCUS PROFILE' ] = ccus_profile
373
373
374
+ sdacgt_profile = self ._get_sdacgt_profile ()
375
+ if sdacgt_profile is not None :
376
+ self .result ['S_DAC_GT PROFILE' ] = sdacgt_profile
377
+
374
378
self .result ['metadata' ] = {'output_file_path' : self .output_file_path }
375
379
for metadata_field in GeophiresXResult ._METADATA_FIELDS :
376
380
self .result ['metadata' ][metadata_field ] = self ._get_equal_sign_delimited_field (metadata_field )
@@ -595,6 +599,27 @@ def extract_table_header(lines: list) -> list:
595
599
self ._logger .debug (f'Failed to get extended economic profile: { e } ' )
596
600
return None
597
601
602
+ def _get_sdacgt_profile (self ):
603
+ def extract_table_header (lines : list ) -> list :
604
+ # Tried various regexy approaches to extract this programmatically but landed on hard-coding.
605
+ return [
606
+ 'Year Since Start' ,
607
+ 'Carbon Captured (tonne/yr)' ,
608
+ 'Cumm. Carbon Captured (tonne)' ,
609
+ 'S_DAC_GT Annual Cost (USD/yr)' ,
610
+ 'S_DAC_GT Cumm. Cash Flow (USD)' ,
611
+ 'Cumm. Cost Per Tonne (USD/tonne)' ,
612
+ ]
613
+
614
+ try :
615
+ lines = self ._get_profile_lines ('S_DAC_GT PROFILE' )
616
+ profile = [extract_table_header (lines )]
617
+ profile .extend (self ._extract_addons_style_table_data (lines ))
618
+ return profile
619
+ except BaseException as e :
620
+ self ._logger .debug (f'Failed to get S-DAC-GT profile: { e } ' )
621
+ return None
622
+
598
623
def _get_ccus_profile (self ):
599
624
"""
600
625
FIXME TODO - transform from revenue & cashflow if present (CCUS profile replaced by revenue & cashflow
0 commit comments