3.15.3: Acre unit support (HIP-RA-X Reservoir Area) | release
3.15: Calculate S-DAC carbon revenue (BICYCLE); Reservoir Stimulation Capital Cost per Fracture Surface Area | release | Changed: S-DAC carbon revenue is now calculated. See the tracking issue for details.
3.14: Well integrity parameterization to trigger redrilling; Drawdown Parameter Schedule; Input params CSV unit and comment parsing; State ITC Amount; SAM-EM Other Incentives and One-time Grants fix; Stimulation costs per well outputs | release | Changed: SAM Economic Models inputs with Other Incentives and One-time Grants Etc parameters now calculate Overnight Capital Cost and Total CAPEX correctly. See the tracking issue for details.
3.13.9: Add hip-ra-x-result.json schema and HipRaXResult | release
3.13.8: Fix drilling cost types output unit conversion issue; Project Location (Latitude & Longitude); SHR Example 3 update | release
3.13.5: Fix CHP Electrical Plant Cost Allocation Ratio check for non-cogen end-use option with fixed Surface Plant Capital Cost. Add example_SHR-3. | release
3.13: SAM-EM: Support all End-Use Options (Direct-Use Heat and CHP/Cogeneration) and Absorption Chiller Surface Application; documentation | Project Red 2026 Update; documentation | release
3.12: SAM Economic Models Carbon Credit Support | release | documentation | Changed: Note that inputs with SAM Economic Models and carbon price/credit parameters will now calculate carbon revenue instead of ignoring carbon parameters. See documentation for details.
3.11.27: Data Center example; Output additional CAPEX modifiers | release
3.11.25: Royalty Rate Schedule & Royalty Supplemental Payments | release | documentation | Changed: The calculation for Royalty Holder Average Annual Revenue now averages over the entire project timeline (construction + operations) rather than just the operational phase. For projects with multi-year construction periods, this will result in a lower average value than in previous versions. See documentation for further details.
3.11.17: Add Total CAPEX ($/kW) output for SAM-EM in Summary of Results category | release
3.11.15: SBT fixes + ULoop support | release
3.11.13: Fervo_Project_Cape-5: 500 MW EGS Modeled on Fervo Cape Station (2026 Update Public Release) | documentation | release
3.11: Fervo_Project_Cape-5: Multi-Year Construction & Reservoir Engineering (2026 Update Preview); SAM-EM Payback Period; SAM-EM ITC; User-Provided Reservoir Profile updates; SAM-EM MCY Levelized Metrics update | release
3.10.25: Add Number of Injection Wells per Production Well parameter
3.10: SAM Economic Models: Multiple Construction Years; Number of Fractures per Stimulated Well parameter; Royalty Rate Escalation Start Year parameter | release
3.9.65: GEOPHIRES v3 User Manual, GEOPHIRES Project Tenets, example_SAM-Single-Owner-PPA PI/II pumping power | release
3.9.64: Update tooltip texts from theoretical basis | release
3.9.62: Change notifications, typo fixes, royalties example PI/II | release
3.9.54: List parameter read fix | release
3.9.53: Gringarten-Stehfest Precision | release
3.9.50: HIP-RA-X Print Output to Console parameter | release
3.9.49: Fervo_Project_Cape-4 Stimulation Costs Update | release
3.9.48: Well diameter outputs, surface plant cost, non-SAM-EM Inflation costs during construction | release
3.9.47: Add-Ons support for SAM Economic Models | release
3.9.43: Inflation costs | release
3.9.40: Redrilling costs fixup; Don't display incorrect SAM-EM ITC | release
3.9.36: Increase max exploration cost | release
3.39.35: Parameterize contingency | release
3.9.34: Parameterize indirect costs | release
3.9.33: Parameterize Reservoir Stimulation Capital Cost per well, Allow input parameters in CSV | release
3.9.31: Fix client cwd stashing regression | release
3.9.29: Move Getting Started to separate documentation page; MPF Gringarten name | release
3.9.28: Peaking Boiler Cost per kW; Increase allowed fractures; Honor Capital Cost for Power Plant; Client caching fix; Cape-4 laterals & res. vol.; Doublets parameter | release
3.9.16: Fervo Cape Station 500 MWe Update + 50 MWe SAM Example | release
3.9.8: Missing percent unit fixes | release
3.9: SAM Single Owner PPA Economic Model | release
Revenue & Cashflow Profile period output aligned with NREL convention used to calculate NPV. See NatLabRockies#344
3.8.6: Baseline well drilling cost curves updated to NREL's 2025 cost curve update: Akindipe, D. and Witter. E. 2025. "2025 Geothermal Drilling Cost Curves Update". https://pangea.stanford.edu/ERE/db/GeoConf/papers/SGW/2025/Akindipe.pdf?t=1740084555.
Intermediate and ideal correlations retain existing values from GeoVision: DOE 2019. "GeoVision" p. 163. https://www.energy.gov/sites/prod/files/2019/06/f63/GeoVision-full-report-opt.pdf.
"Well depth (or total length, if not vertical)" output field renamed to "Well depth" per NatLabRockies#321
3.7.3: Heat to Power Conversion Efficiency output added.
3.7.5: Injection Well Drilling and Completion Capital Cost Adjustment Factor, if not provided, is now automatically set to the provided value of Well Drilling and Completion Capital Cost Adjustment Factor.
3.7.6: Fixes bugs pertaining to specifying non-CLGS laterals and display of per-lateral costs.
3.7.21:
- Carbon Revenue Profile (CCUS Profile replacement) added to client result.
- Electricity annual revenue profile data issue resolved.
3.7.23: Surface Plant time series integration fix: production and revenue in the final year of project lifetime are now fully accounted for in results.
Changes default output file path to the original working directory instead of the the GEOPHIRES module source directory (usually geophires-x or src/geophires_x, depending on package installation type).
This affects:
- Users who call GEOPHIRES as a script from a working directory outside of the module source directory and pass no output file argument or a non-absolute output file argument e.g.
python ./geophires-x/GEOPHIRESv3.py my-input.txt. In prior versions, the output file would have been generated at./geophires_x/HDR.out; in v.3.6 it is generated at./HDR.outinstead. (Users who call GEOPHIRES as a module –python -m geophires_x my-input.txt– will see no change since the module has always output relative to the working directory.) - Inputs with
HTML Output Fileand/orImproved Text Output Fileparameters specified as non-absolute paths. The associated output files will now be generated relative to the working directory instead of the GEOPHIRES module source directory.
Affected users who do not want the new behavior can specify absolute output paths instead of relative ones e.g. python ./geophires-x/GEOPHIRESv3.py my-input.txt /home/user/my-geophires-project/geophires-x/HDR.out
(Most users are expected to be unaffected.)
3.6.1: Fixed Internal Rate default value changed to 7% from 6.25% per NatLabRockies#301
3.6.3: Discount Rate and Fixed Internal Rate are now synonymous. If one is provided, the other's value will be automatically set to the same value.
Milestone version for case studies, SHR temperatures, and other changes since 3.0. An overview is given in the July 2024 NREL GEOPHIRES Workshop Version 3.5 Announcement session recording.
3.5.3: SBT Reservoir Model (Slender Body Theory)
Monte Carlo moved to dedicated module
- Surface plant objectification. Note: some input values of
End-Use Optionwill need to be updated toPlant Type, see SUTRAExample1.txt update for example - Introduction of HIP-RA-X
Bug fixes
Internal changes to support unit testing
- New repository: https://github.com/NREL/GEOPHIRES-X (Originally https://github.com/NREL/python-geophires-x, renamed to GEOPHIRES-X 2023-12-15 per NatLabRockies#48.)
- Ported from malcolm-dsider/GEOPHIRES-X and softwareengineerprogrammer/python-geophires-x using ionelmc/cookiecutter-pylibrary.
- Releases now marked with tags/version metadata generated with
bumpversion
GEOPHIRES 3.0 (GEOPHIRES-X) and subsequent releases use semantic versioning. Major, minor, and notable patch versions are documented above. You may also be interested in viewing the list of all PRs merged into the repository here.
Each semantic version has a corresponding tag, the full list of which can be viewed here. The patch version displayed on the package badge in the README and patch versions explicitly mentioned in this changelog are always suitable for public consumption; but note that not all patch version tags in the list are meant for public consumption as intermediate internal-only patch versions are sometimes introduced during the development process. (Improved designation and distribution of releases for public consumption may eventually be addressed by publishing to PyPI and/or use of GitHub releases.)
To receive email notifications of changes:
- Create or log in to your GitHub account.
- Go to the GEOPHIRES Change Announcements Discussion.
- Click the Subscribe button in the Notifications section in the right panel.