Skip to content

Commit b56a6f4

Browse files
Add missing S-DAC result fields
1 parent bb947c6 commit b56a6f4

File tree

3 files changed

+55
-37
lines changed

3 files changed

+55
-37
lines changed

src/geophires_x/OutputsS_DAC_GT.py

Lines changed: 31 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -27,35 +27,41 @@ def PrintOutputs(self, model) -> tuple:
2727
sdac_results: list[OutputTableItem] = []
2828
f.write(NL)
2929
f.write(NL)
30-
f.write(" ***S_DAC_GT ECONOMICS***" + NL)
30+
f.write(" ***S_DAC_GT ECONOMICS***\n")
3131
f.write(NL)
3232
f.write(NL)
33-
f.write(f" S-DAC-GT Report: Levelized Cost of Direct Air Capture (LCOD)" + NL)
33+
34+
msdac = model.sdacgteconomics
35+
36+
f.write(f" S-DAC-GT Report: Levelized Cost of Direct Air Capture (LCOD)\n")
3437
sdac_results.append(OutputTableItem('S-DAC-GT Report: Levelized Cost of Direct Air Capture (LCOD)'))
35-
f.write(f" Using grid-based electricity only: {model.sdacgteconomics.LCOD_elec.value:10.2f} " + model.sdacgteconomics.LCOD_elec.PreferredUnits.value + NL)
36-
sdac_results.append(OutputTableItem('Using grid-based electricity only', '{0:10.2f}'.format(model.sdacgteconomics.LCOD_elec.value), model.sdacgteconomics.LCOD_elec.PreferredUnits.value))
37-
f.write(f" Using natural gas only: {model.sdacgteconomics.LCOD_ng.value:10.2f} " + model.sdacgteconomics.LCOD_ng.PreferredUnits.value + NL)
38-
sdac_results.append(OutputTableItem('Using natural gas only', '{0:10.2f}'.format(model.sdacgteconomics.LCOD_ng.value), model.sdacgteconomics.LCOD_ng.PreferredUnits.value))
39-
f.write(f" Using geothermal energy only: {model.sdacgteconomics.LCOD_geo.value:10.2f} " + model.sdacgteconomics.LCOD_geo.PreferredUnits.value + NL + NL)
40-
sdac_results.append(OutputTableItem('Using geothermal energy only', '{0:10.2f}'.format(model.sdacgteconomics.LCOD_geo.value), model.sdacgteconomics.LCOD_geo.PreferredUnits.value))
41-
f.write(f" S-DAC-GT Report: CO2 Intensity of process (percent of CO2 mitigated that is emitted by S-DAC process)" + NL)
38+
lcod_prefix = 'LCOD'
39+
f.write(f" {lcod_prefix} Using grid-based electricity only: {model.sdacgteconomics.LCOD_elec.value:10.2f} {msdac.LCOD_elec.PreferredUnits.value}\n")
40+
sdac_results.append(OutputTableItem(f'Using grid-based electricity only', '{0:10.2f}'.format(msdac.LCOD_elec.value), msdac.LCOD_elec.PreferredUnits.value))
41+
f.write(f" {lcod_prefix} Using natural gas only: {model.sdacgteconomics.LCOD_ng.value:10.2f} {msdac.LCOD_ng.PreferredUnits.value}\n")
42+
sdac_results.append(OutputTableItem('Using natural gas only', '{0:10.2f}'.format(model.sdacgteconomics.LCOD_ng.value), msdac.LCOD_ng.PreferredUnits.value))
43+
f.write(f" {lcod_prefix} Using geothermal energy only: {model.sdacgteconomics.LCOD_geo.value:10.2f} {msdac.LCOD_geo.PreferredUnits.value}\n\n")
44+
sdac_results.append(OutputTableItem(f'Using geothermal energy only', '{0:10.2f}'.format(msdac.LCOD_geo.value), msdac.LCOD_geo.PreferredUnits.value))
45+
46+
f.write(f" S-DAC-GT Report: CO2 Intensity of process (percent of CO2 mitigated that is emitted by S-DAC process)\n")
4247
sdac_results.append(OutputTableItem('S-DAC-GT Report: CO2 Intensity of process (percent of CO2 mitigated that is emitted by S-DAC process)'))
43-
f.write(f" Using grid-based electricity only: {model.sdacgteconomics.CO2total_elec.value*100.0:10.2f}%" + NL)
44-
sdac_results.append(OutputTableItem('Using grid-based electricity only', '{0:10.2f}'.format(model.sdacgteconomics.CO2total_elec.value*100.0), '%'))
45-
f.write(f" Using natural gas only: {model.sdacgteconomics.CO2total_ng.value*100:10.2f}%" + NL)
46-
sdac_results.append(OutputTableItem('Using natural gas only', '{0:10.2f}'.format(model.sdacgteconomics.CO2total_ng.value*100.0), '%'))
47-
f.write(f" Using geothermal energy only: {model.sdacgteconomics.CO2total_geo.value*100:10.2f}%" + NL + NL)
48-
sdac_results.append(OutputTableItem('Using geothermal energy only', '{0:10.2f}'.format(model.sdacgteconomics.CO2total_geo.value*100.0), '%'))
49-
f.write(f" Geothermal LCOH: {model.sdacgteconomics.LCOH.value:10.4f} " + model.sdacgteconomics.LCOH.PreferredUnits.value + NL)
50-
sdac_results.append(OutputTableItem('Geothermal LCOH', '{0:10.4f}'.format(model.sdacgteconomics.LCOH.value), model.sdacgteconomics.LCOH.PreferredUnits.value))
51-
f.write(f" Geothermal Ratio (electricity vs heat):{model.sdacgteconomics.percent_thermal_energy_going_to_heat.value*100:10.4f}%" + NL)
52-
sdac_results.append(OutputTableItem('Geothermal Ratio (electricity vs heat)', '{0:10.4f}'.format(model.sdacgteconomics.percent_thermal_energy_going_to_heat.value*100.0), '%'))
53-
f.write(f" Percent Energy Devoted To Process: {model.sdacgteconomics.EnergySplit.value*100:10.4f}%" + NL + NL)
54-
sdac_results.append(OutputTableItem('Percent Energy Devoted To Process', '{0:10.4f}'.format(model.sdacgteconomics.EnergySplit.value*100.0), '%'))
55-
f.write(f" Total Tonnes of CO2 Captured: {model.sdacgteconomics.CarbonExtractedTotal.value:,.2f} " + model.sdacgteconomics.CarbonExtractedTotal.PreferredUnits.value + NL)
56-
sdac_results.append(OutputTableItem('Total Tonnes of CO2 Captured', '{0:,.2f}'.format(model.sdacgteconomics.CarbonExtractedTotal.value), model.sdacgteconomics.CarbonExtractedTotal.PreferredUnits.value))
57-
f.write(f" Total Cost of Capture: {model.sdacgteconomics.S_DAC_GTCummCashFlow.value[len(model.sdacgteconomics.S_DAC_GTCummCashFlow.value)-1]:,.2f} " + model.sdacgteconomics.S_DAC_GTCummCashFlow.PreferredUnits.value + NL)
58-
sdac_results.append(OutputTableItem('Total Cost of Capture', '{0:,.2f}'.format(model.sdacgteconomics.S_DAC_GTCummCashFlow.value[len(model.sdacgteconomics.S_DAC_GTCummCashFlow.value)-1]), model.sdacgteconomics.S_DAC_GTCummCashFlow.PreferredUnits.value))
48+
co2i_prefix = 'CO2 Intensity'
49+
f.write(f" {co2i_prefix} Using grid-based electricity only: {msdac.CO2total_elec.value*100.0:10.2f} %\n") # TODO CurrentUnits
50+
sdac_results.append(OutputTableItem('Using grid-based electricity only', '{0:10.2f}'.format(msdac.CO2total_elec.value*100.0), '%'))
51+
f.write(f" {co2i_prefix} Using natural gas only: {msdac.CO2total_ng.value*100:10.2f} %\n") # TODO CurrentUnits
52+
sdac_results.append(OutputTableItem('Using natural gas only', '{0:10.2f}'.format(msdac.CO2total_ng.value*100.0), '%'))
53+
f.write(f" {co2i_prefix} Using geothermal energy only: {msdac.CO2total_geo.value*100:10.2f} %\n\n") # TODO CurrentUnits
54+
sdac_results.append(OutputTableItem('Using geothermal energy only', '{0:10.2f}'.format(msdac.CO2total_geo.value*100.0), '%'))
55+
f.write(f" Geothermal LCOH: {msdac.LCOH.value:10.4f} {msdac.LCOH.PreferredUnits.value}\n")
56+
sdac_results.append(OutputTableItem('Geothermal LCOH', '{0:10.4f}'.format(msdac.LCOH.value), msdac.LCOH.PreferredUnits.value))
57+
f.write(f" Geothermal Ratio (electricity vs heat):{msdac.percent_thermal_energy_going_to_heat.value*100:10.4f} %\n") # TODO CurrentUnits
58+
sdac_results.append(OutputTableItem('Geothermal Ratio (electricity vs heat)', '{0:10.4f}'.format(msdac.percent_thermal_energy_going_to_heat.value*100.0), '%'))
59+
f.write(f" Percent Energy Devoted To Process: {msdac.EnergySplit.value*100:10.4f} %\n\n") # TODO CurrentUnits
60+
sdac_results.append(OutputTableItem('Percent Energy Devoted To Process', '{0:10.4f}'.format(msdac.EnergySplit.value*100.0), '%'))
61+
f.write(f" Total Tonnes of CO2 Captured: {msdac.CarbonExtractedTotal.value:,.2f} {msdac.CarbonExtractedTotal.PreferredUnits.value}\n")
62+
sdac_results.append(OutputTableItem('Total Tonnes of CO2 Captured', '{0:,.2f}'.format(msdac.CarbonExtractedTotal.value), msdac.CarbonExtractedTotal.PreferredUnits.value))
63+
f.write(f" Total Cost of Capture: {msdac.S_DAC_GTCummCashFlow.value[len(msdac.S_DAC_GTCummCashFlow.value)-1]:,.2f} {msdac.S_DAC_GTCummCashFlow.PreferredUnits.value}\n")
64+
sdac_results.append(OutputTableItem('Total Cost of Capture', '{0:,.2f}'.format(msdac.S_DAC_GTCummCashFlow.value[len(msdac.S_DAC_GTCummCashFlow.value)-1]), msdac.S_DAC_GTCummCashFlow.PreferredUnits.value))
5965
f.write(NL)
6066

6167
# Build the data frame to hold the SDAC result profile

src/geophires_x_client/geophires_x_result.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,18 @@ class GeophiresXResult:
9898
'Project MOIC (including carbon credit)',
9999
'Project Payback Period (including carbon credit)',
100100
],
101+
'S_DAC_GT ECONOMICS': [
102+
'LCOD Using grid-based electricity only',
103+
'LCOD Using natural gas only',
104+
'LCOD Using geothermal energy only',
105+
'CO2 Intensity Using grid-based electricity only',
106+
'CO2 Intensity Using natural gas only',
107+
'CO2 Intensity Using geothermal energy only',
108+
'Geothermal LCOH',
109+
'Geothermal Ratio (electricity vs heat)',
110+
'Percent Energy Devoted To Process',
111+
'Total Cost of Capture',
112+
],
101113
'ENGINEERING PARAMETERS': [
102114
'Number of Production Wells',
103115
'Number of Injection Wells',

tests/examples/S-DAC-GT.out

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44

55
Simulation Metadata
66
----------------------
7-
GEOPHIRES Version: 3.7.1
8-
Simulation Date: 2025-01-22
9-
Simulation Time: 10:48
10-
Calculation Time: 0.107 sec
7+
GEOPHIRES Version: 3.7.13
8+
Simulation Date: 2025-02-27
9+
Simulation Time: 09:29
10+
Calculation Time: 0.099 sec
1111

1212
***SUMMARY OF RESULTS***
1313

@@ -250,18 +250,18 @@ ________________________________________________________________________________
250250

251251

252252
S-DAC-GT Report: Levelized Cost of Direct Air Capture (LCOD)
253-
Using grid-based electricity only: 387.69 USD/tonne
254-
Using natural gas only: 312.00 USD/tonne
255-
Using geothermal energy only: 288.87 USD/tonne
253+
LCOD Using grid-based electricity only: 387.69 USD/tonne
254+
LCOD Using natural gas only: 312.00 USD/tonne
255+
LCOD Using geothermal energy only: 288.87 USD/tonne
256256

257257
S-DAC-GT Report: CO2 Intensity of process (percent of CO2 mitigated that is emitted by S-DAC process)
258-
Using grid-based electricity only: 94.52%
259-
Using natural gas only: 64.85%
260-
Using geothermal energy only: 36.91%
258+
CO2 Intensity Using grid-based electricity only: 94.52 %
259+
CO2 Intensity Using natural gas only: 64.85 %
260+
CO2 Intensity Using geothermal energy only: 36.91 %
261261

262262
Geothermal LCOH: 0.0017 USD/kWh
263-
Geothermal Ratio (electricity vs heat): 20.7259%
264-
Percent Energy Devoted To Process: 50.0000%
263+
Geothermal Ratio (electricity vs heat): 20.7259 %
264+
Percent Energy Devoted To Process: 50.0000 %
265265

266266
Total Tonnes of CO2 Captured: 2,246,284.10 tonne
267267
Total Cost of Capture: 499,311,405.59 USD

0 commit comments

Comments
 (0)