Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 39 additions & 35 deletions docs/Fervo_Project_Cape-4.md

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions docs/templates/layout.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,10 @@
/* Makes tables readable (default max-width of 800px squishes their layout too much on most screens) */
max-width: revert;
}

body > div.badge {
/* Hide goofy-looking "Fork me on GitHub" badge */
display: none;
}
</style>
{% endblock %}
3 changes: 2 additions & 1 deletion src/geophires_x/Reservoir.py
Original file line number Diff line number Diff line change
Expand Up @@ -457,7 +457,8 @@ def __init__(self, model: Model):
value=self.fracarea.value,
UnitType=Units.AREA,
PreferredUnits=AreaUnit.METERS2,
CurrentUnits=AreaUnit.METERS2
CurrentUnits=AreaUnit.METERS2,
ToolTipText='Effective heat transfer area per fracture'
)

self.resvolcalc = self.OutputParameterDict[self.resvolcalc.Name] = floatParameter(
Expand Down
2 changes: 1 addition & 1 deletion src/geophires_x_schema_generator/geophires-result.json
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@
},
"Fracture area": {
"type": "number",
"description": "Calculated Fracture Area",
"description": "Calculated Fracture Area. Effective heat transfer area per fracture",
"units": "m**2"
},
"Number of fractures": {
Expand Down
333 changes: 166 additions & 167 deletions tests/examples/Fervo_Project_Cape-4.out

Large diffs are not rendered by default.

12 changes: 5 additions & 7 deletions tests/examples/Fervo_Project_Cape-4.txt
Original file line number Diff line number Diff line change
Expand Up @@ -52,25 +52,23 @@ Reservoir Porosity, 0.0118
Reservoir Impedance, 0.001565

Reservoir Volume Option, 2, -- RES_VOL_FRAC_SEP (Specify reservoir volume and fracture separation)
Reservoir Volume, 5801599999 m**3
Fracture Shape, 4
Reservoir Volume, 5418039158, -- Based on 102 fractures per well
Fracture Separation, 18, -- Per https://eartharxiv.org/repository/view/7665/, lateral length is 4700 ft = 1432 m. Dividing 1432 by 80 = ~18 m fracture spacing.
Fracture Height, 250, -- Based on average of stimulated volume estimates given for Project Red in https://doi.org/10.31223/X52X0B
Fracture Width, 250, -- Based on average of stimulated volume estimates given for Project Red in https://doi.org/10.31223/X52X0B

Fracture Shape, 3, -- Square
Fracture Height, 165.3, -- Based on total fracture surface area of 30 million ft^2 per well https://pangea.stanford.edu/ERE/pdf/IGAstandard/SGW/2025/Fercho.pdf
Number of Injection Wells, 59
Number of Production Wells, 59

Production Flow Rate per Well, 107, -- Maximum flow rate achieved at Cape Station per https://www.businesswire.com/news/home/20240910997008/en/Fervo-Energys-Record-Breaking-Production-Results-Showcase-Rapid-Scale-Up-of-Enhanced-Geothermal
Production Well Diameter, 9.625, -- Next standard size up from 7", implied by announcement of "increasing casing diameter"
Injection Well Diameter, 9.625
Ramey Production Wellbore Model, 1
Injection Temperature, 60 degC
Injection Temperature, 80, -- https://pangea.stanford.edu/ERE/pdf/IGAstandard/SGW/2025/Fercho.pdf
Injection Wellbore Temperature Gain, 3
Ambient Temperature, 10 degC
Surface Temperature, 10 degC

Maximum Drawdown, 0.017, -- Drawdown value that prevents minimum net electricity generation from going below 500 MWe
Maximum Drawdown, 0.014, -- Drawdown value that prevents minimum net electricity generation from going below 500 MWe
Water Loss Fraction, 0.15, -- Estimated to be between 10 and 20%

Utilization Factor, .9
Expand Down
6 changes: 3 additions & 3 deletions tests/test_geophires_x.py
Original file line number Diff line number Diff line change
Expand Up @@ -953,13 +953,13 @@ def test_fervo_project_cape_4_results_against_reference_values(self):

min_net_gen = r.result['SURFACE EQUIPMENT SIMULATION RESULTS']['Minimum Net Electricity Generation']['value']
self.assertGreater(min_net_gen, 500)
self.assertLess(min_net_gen, 501)
self.assertLess(min_net_gen, 505)

max_total_gen = r.result['SURFACE EQUIPMENT SIMULATION RESULTS']['Maximum Total Electricity Generation'][
'value'
]
self.assertGreater(max_total_gen, 614)
self.assertLess(max_total_gen, 615)
self.assertGreater(max_total_gen, 600)
self.assertLess(max_total_gen, 650)

lcoe = r.result['SUMMARY OF RESULTS']['Electricity breakeven price']['value']
self.assertGreater(lcoe, 7.5)
Expand Down