Skip to content

Commit 4782308

Browse files
add missing capex fields to client result
1 parent 10a8d07 commit 4782308

File tree

5 files changed

+23
-1
lines changed

5 files changed

+23
-1
lines changed

src/geophires_x/Outputs.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1822,7 +1822,7 @@ def PrintOutputs(self, model: Model):
18221822
f.write(f' of which Peaking Boiler Cost: {model.economics.peakingboilercost.value:10.2f} ' + model.economics.peakingboilercost.CurrentUnits.value + NL)
18231823
f.write(f' Field gathering system costs: {model.economics.Cgath.value:10.2f} ' + model.economics.Cgath.CurrentUnits.value + NL)
18241824
if model.surfaceplant.piping_length.value > 0:
1825-
f.write(f' Transmission pipeline cost {model.economics.Cpiping.value:10.2f} ' + model.economics.Cpiping.CurrentUnits.value + NL)
1825+
f.write(f' Transmission pipeline cost: {model.economics.Cpiping.value:10.2f} ' + model.economics.Cpiping.CurrentUnits.value + NL)
18261826
if model.surfaceplant.plant_type.value == PlantType.DISTRICT_HEATING:
18271827
f.write(f' District Heating System Cost: {model.economics.dhdistrictcost.value:10.2f} ' + model.economics.dhdistrictcost.CurrentUnits.value + NL)
18281828
f.write(f' Total surface equipment costs: {(model.economics.Cplant.value+model.economics.Cgath.value):10.2f} ' + model.economics.Cplant.CurrentUnits.value + NL)

src/geophires_x_client/geophires_x_result.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,17 +196,22 @@ class GeophiresXResult:
196196
'Drilling and completion costs per vertical production well',
197197
'Drilling and completion costs per vertical injection well',
198198
'Drilling and completion costs per non-vertical section',
199+
'Drilling and completion costs (for redrilling)',
200+
'Drilling and completion costs per redrilled well',
199201
'Stimulation costs',
202+
'Stimulation costs (for redrilling)',
200203
'Surface power plant costs',
201204
'of which Absorption Chiller Cost',
202205
'of which Heat Pump Cost',
203206
'of which Peaking Boiler Cost',
207+
'Transmission pipeline cost',
204208
'District Heating System Cost',
205209
'Field gathering system costs',
206210
'Total surface equipment costs',
207211
'Exploration costs',
208212
'Investment Tax Credit',
209213
'Total capital costs',
214+
'Annualized capital costs',
210215
# AGS/CLGS
211216
'Total CAPEX',
212217
'Drilling Cost',

tests/example1_addons.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ CAPITAL COSTS (M$),Field gathering system costs,,2.3,MUSD
8080
CAPITAL COSTS (M$),Total surface equipment costs,,23.1,MUSD
8181
CAPITAL COSTS (M$),Exploration costs,,5.33,MUSD
8282
CAPITAL COSTS (M$),Total capital costs,,31.07,MUSD
83+
CAPITAL COSTS (M$),Annualized capital costs,,1.55,MUSD
8384
OPERATING AND MAINTENANCE COSTS (M$/yr),Wellfield maintenance costs,,0.44,MUSD/yr
8485
OPERATING AND MAINTENANCE COSTS (M$/yr),Power plant maintenance costs,,0.9,MUSD/yr
8586
OPERATING AND MAINTENANCE COSTS (M$/yr),Water costs,,0.06,MUSD/yr

tests/test_geophires_x.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -583,3 +583,15 @@ def assertHasLogRecordWithMessage(logs_, message):
583583
assertHasLogRecordWithMessage(
584584
logs2, 'Set Discount Rate to 0.042 because Fixed Internal Rate was provided (4.2 percent)'
585585
)
586+
587+
def test_transmission_pipeline_cost(self):
588+
result = GeophiresXClient().get_geophires_result(
589+
GeophiresInputParameters(
590+
from_file_path=self._get_test_file_path(Path('examples/Fervo_Norbeck_Latimer_2023.txt')),
591+
params={'Surface Piping Length': 5},
592+
)
593+
)
594+
595+
self.assertAlmostEqual(
596+
result.result['CAPITAL COSTS (M$)']['Transmission pipeline cost']['value'], 3.75, delta=0.5
597+
)

tests/test_geophires_x_client.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -518,3 +518,7 @@ def test_parse_chp_percent_cost_allocation(self):
518518
self.assertEqual(
519519
result.result['ECONOMIC PARAMETERS']['CHP: Percent cost allocation for electrical plant']['value'], 93.48
520520
)
521+
522+
def test_parse_annualized_capital_costs(self):
523+
result = GeophiresXResult(self._get_test_file_path('examples/example1_addons.out'))
524+
self.assertIsNotNone(result.result['CAPITAL COSTS (M$)']['Annualized capital costs']['value'])

0 commit comments

Comments
 (0)