@@ -941,3 +941,36 @@ def test_sbt_coaxial_raises_error(self):
941
941
)
942
942
client .get_geophires_result (params )
943
943
self .assertIn ('SBT with coaxial configuration is not implemented' , str (e .exception ))
944
+
945
+ def test_fervo_project_cape_4_results_against_reference_values (self ):
946
+ """
947
+ Asserts that results conform to some of the key reference values claimed in docs/Fervo_Project_Cape-4.md.
948
+ """
949
+
950
+ r = GeophiresXClient ().get_geophires_result (
951
+ GeophiresInputParameters (from_file_path = self ._get_test_file_path ('examples/Fervo_Project_Cape-4.txt' ))
952
+ )
953
+
954
+ min_net_gen = r .result ['SURFACE EQUIPMENT SIMULATION RESULTS' ]['Minimum Net Electricity Generation' ]['value' ]
955
+ self .assertGreater (min_net_gen , 500 )
956
+ self .assertLess (min_net_gen , 501 )
957
+
958
+ max_total_gen = r .result ['SURFACE EQUIPMENT SIMULATION RESULTS' ]['Maximum Total Electricity Generation' ][
959
+ 'value'
960
+ ]
961
+ self .assertGreater (max_total_gen , 614 )
962
+ self .assertLess (max_total_gen , 615 )
963
+
964
+ lcoe = r .result ['SUMMARY OF RESULTS' ]['Electricity breakeven price' ]['value' ]
965
+ self .assertGreater (lcoe , 7.5 )
966
+ self .assertLess (lcoe , 8.5 )
967
+
968
+ redrills = r .result ['ENGINEERING PARAMETERS' ]['Number of times redrilling' ]['value' ]
969
+ self .assertGreater (redrills , 2 )
970
+ self .assertLess (redrills , 7 )
971
+
972
+ well_cost = r .result ['CAPITAL COSTS (M$)' ]['Drilling and completion costs per vertical production well' ][
973
+ 'value'
974
+ ]
975
+ self .assertLess (well_cost , 4.0 )
976
+ self .assertGreater (well_cost , 3.0 )
0 commit comments