@@ -941,3 +941,36 @@ def test_sbt_coaxial_raises_error(self):
941941 )
942942 client .get_geophires_result (params )
943943 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