GEOPHIRES-X
Combines reservoir, wellbore, surface plant, and economic models to estimate the capital and operation and maintenance costs, instantaneous and lifetime energy production, and overall levelized cost of energy of a geothermal plant.
https://github.com/nrel/geophires-x
Category: Renewable Energy
Sub Category: Geothermal Energy
Last synced: about 20 hours ago
JSON representation
Repository metadata
GEOPHIRES is NREL's free and open-source geothermal techno-economic simulator.
- Host: GitHub
- URL: https://github.com/nrel/geophires-x
- Owner: NREL
- License: mit
- Created: 2023-09-14T17:20:53.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-12-21T19:40:52.000Z (28 days ago)
- Last Synced: 2026-01-02T13:57:09.261Z (16 days ago)
- Language: Python
- Homepage:
- Size: 153 MB
- Stars: 46
- Watchers: 5
- Forks: 37
- Open Issues: 76
- Releases: 0
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- Contributing: CONTRIBUTING.rst
- License: LICENSE
- Authors: AUTHORS.rst
README.rst
========
Overview
========
|GEOPHIRES Logo|
.. |GEOPHIRES Logo| image:: geophires-logo.png
:alt: GEOPHIRES Logo
GEOPHIRES is a free and open-source geothermal techno-economic simulator.
GEOPHIRES combines reservoir, wellbore, surface plant, and economic models to estimate the capital and operation and maintenance costs,
instantaneous and lifetime energy production, and overall levelized cost of energy of a geothermal plant.
Various reservoir conditions (EGS, doublets, etc.) and end-use options (electricity, direct-use heat, cogeneration) can be modeled.
Users are encouraged to build upon the GEOPHIRES framework to implement their own correlations and models.
See the `Documentation`_ section below for more information.
This repository is the canonical source for the modern GEOPHIRES simulator, which succeeds the legacy `GEOPHIRES v2.0 `__.
The name GEOPHIRES-X refers to the initial modernized (v3) framework.
See the `CHANGELOG `__ for a detailed history of changes and release notes.
Free software: `MIT license `__
.. start-badges
.. list-table::
:stub-columns: 1
* - tests
- | |github-actions|
| |coverage|
* - package
- | |commits-since|
| |code-style|
| |license|
.. TODO add the following to package badge list once PyPy distribution enabled: |version| |wheel| |supported-versions| |supported-implementations|
.. * - docs
.. - | |docs|
.. |github-actions| image:: https://github.com/NREL/GEOPHIRES-X/actions/workflows/github-actions.yml/badge.svg
:alt: GitHub Actions Build Status
:target: https://github.com/NREL/GEOPHIRES-X/actions
.. |version| image:: https://img.shields.io/pypi/v/geophires-x.svg
:alt: PyPI Package latest release
:target: https://pypi.org/project/geophires-x
.. |wheel| image:: https://img.shields.io/pypi/wheel/geophires-x.svg
:alt: PyPI Wheel
:target: https://pypi.org/project/geophires-x
.. |supported-versions| image:: https://img.shields.io/pypi/pyversions/geophires-x.svg
:alt: Supported versions
:target: https://pypi.org/project/geophires-x
.. |supported-implementations| image:: https://img.shields.io/pypi/implementation/geophires-x.svg
:alt: Supported implementations
:target: https://pypi.org/project/geophires-x
.. |commits-since| image:: https://img.shields.io/github/commits-since/softwareengineerprogrammer/GEOPHIRES-X/v3.10.24.svg
:alt: Commits since latest release
:target: https://github.com/softwareengineerprogrammer/GEOPHIRES-X/compare/v3.10.24...main
.. |docs| image:: https://readthedocs.org/projects/GEOPHIRES-X/badge/?style=flat
:target: https://nrel.github.io/GEOPHIRES-X
:alt: Documentation Status
.. |coverage| image:: https://coveralls.io/repos/github/NREL/GEOPHIRES-X/badge.svg?branch=main
:target: https://coveralls.io/github/NREL/GEOPHIRES-X?branch=main
:alt: Coverage Status
.. |code-style| image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/NREL/GEOPHIRES-X/blob/main/.pre-commit-config.yaml
:alt: Code Style: black
.. |license| image:: https://img.shields.io/badge/license-MIT-green.svg
:target: https://github.com/NREL/GEOPHIRES-X/blob/main/LICENSE
:alt: MIT license
.. end-badges
Getting Started
===============
A web interface is available at `gtp.scientificwebservices.com/geophires `__.
To run GEOPHIRES locally or to modify the source code, see the `Getting Started Guide `__.
Documentation
=============
GEOPHIRES combines reservoir, wellbore, surface plant, and economic and cost models
and correlations to estimate the capital and operation and maintenance costs,
instantaneous and lifetime energy production, and overall levelized cost of energy of a
geothermal plant.
The high-level software architecture is illustrated in the diagram below. Green, orange and blue rectangles
refer to internal GEOPHIRES components, external user-interface components, and
external reservoir simulators (TOUGH2), respectively. Rectangles with solid outline are
always executed during a simulation run; rectangles with dashed outline refer to optional
or user-provided components.
|GEOPHIRES Architecture Diagram|
.. |GEOPHIRES Architecture Diagram| image:: References/geophires-architecture-diagram_2025-10-17.png
:alt: GEOPHIRES Architecture Diagram
GEOPHIRES has a variety of different reservoir models including
(1) Multiple parallel fractures model (Gringarten);
(2) 1-Dimensional linear heat sweep model;
(3) M/A thermal drawdown parameter model;
(4) Percentage temperature drawdown model;
(5) User-provided reservoir temperature production data;
(6) Coupling to TOUGH2 external reservoir simulator;
(7) SUTRA: Reservoir Thermal Energy Storage (RTES; also known as Underground Thermal Energy Storage - UTES);
(8) Slender Body Theory (SBT);
(9) Cylindrical.
GEOPHIRES can simulate three different end-uses of the geothermal heat: (1)
direct-use heat (e.g. for industrial processing heating or residential space heating);
(2) electricity (with subcritical ORC, supercritical ORC, single-flash, or double-flash plant);
(3) co-generation of heat and electricity. The co-generation option considers bottoming
cycle, topping cycle, and parallel cycle.
GEOPHIRES has 5 economic models to calculate the levelized cost of heat or
electricity: (1) fixed charge rate (FCR) model;
(2) standard discounting levelized cost model;
(3) BICYCLE model;
(4) CLGS;
(5) `SAM Single-owner PPA `__.
The capital and O&M costs for the different geothermal system components (exploration,
well drilling, surface plant, etc.) are either provided by the user or calculated with built-in
correlations.
For more information on the theoretical basis for GEOPHIRES see the
`Theoretical Basis for GEOPHIRES `__
and `GEOPHIRES Reference Materials `__.
Parameters
----------
Available parameters are documented in the `Parameters Reference `__.
Note that many parameters are interrelated and/or conditionally dependent on one another;
reviewing the GEOPHIRES example(s) relevant to your use case in the following section
is strongly recommended to gain a working understanding of how to construct valid sets of input parameters.
Examples
--------
GEOPHIRES includes a variety of example input files demonstrating its features for different types of geothermal systems
and case studies of real-world geothermal projects.
Starting with an existing GEOPHIRES example that is similar to your intended use/application can be an easier approach to using GEOPHIRES than constructing your own inputs from scratch.
Example input ``.txt`` files and corresponding case report ``.out`` files are available in the `tests/examples directory `__ of the repository.
Example-specific web interface deeplinks are listed in the Link column.
.. list-table::
:widths: 50 40 5 5
:header-rows: 1
* - Example
- Input file
- Case report file
- Link
* - Example 1: EGS Electricity
- `example1.txt `__
- `.out `__
- `link `__
* - Example 1 with Add-Ons
- `example1_addons.txt `__
- `.out `__
- `link `__
* - Example 2: EGS Direct-Use Heat
- `example2.txt `__
- `.out `__
- `link `__
* - Example 3: EGS Co-generation
- `example3.txt `__
- `.out `__
- `link `__
* - Example 4: Hydrothermal Electricity
- `example4.txt `__
- `.out `__
- `link `__
* - Example 5: User-Provided Reservoir Data
- `example5.txt `__
- `.out `__
- `link `__
* - Example 6: TOUGH2 (Multiple Gradients)
- `example6.txt `__
- `.out `__
- \*
* - Example 7: TOUGH2 (Single Gradient)
- `example7.txt `__
- `.out `__
- \*
* - Example 8: Cornell Direct-Use Heat
- `example8.txt `__
- `.out `__
- `link `__
* - Example 9: Cornell Electricity
- `example9.txt `__
- `.out `__
- `link `__
* - Example 10: Heat Pump
- `example10_HP.txt `__
- `.out `__
- `link `__
* - Example 11: Absorption Chiller
- `example11_AC.txt `__
- `.out `__
- `link `__
* - Example 12: District Heating
- `example12_DH.txt `__
- `.out `__
- `link `__
* - Example 13: Redrilling due to Drawdown
- `example13.txt `__
- `.out `__
- `link `__
* - CLGS: Coaxial sCO2: Heat
- `[...]Coaxial_sCO2_heat.txt `__
- `.out `__
- `link `__
* - CLGS: Coaxial Water: Heat
- `[...]Coaxial_water_heat.txt `__
- `.out `__
- `link `__
* - CLGS: Uloop sCO2: Electricity
- `[...]Uloop_sCO2_elec.txt `__
- `.out `__
- `link `__
* - CLGS: Uloop sCO2: Heat
- `[...]Uloop_sCO2_heat.txt `__
- `.out `__
- `link `__
* - CLGS: Uloop Water: Electricity
- `[...]Uloop_water_elec.txt `__
- `.out `__
- `link `__
* - CLGS: Uloop Water: Heat
- `[...]Uloop_water_heat.txt `__
- `.out `__
- `link `__
* - CLGS: SBT High Temperature
- `example_SBT_Hi_T.txt `__
- `.out `__
- `link `__
* - CLGS: SBT Low Temperature
- `example_SBT_Lo_T.txt `__
- `.out `__
- `link `__
* - SUTRA Example 1
- `SUTRAExample1.txt `__
- `.out `__
- `link `__
* - Multiple Gradients
- `example_multiple_gradients.txt `__
- `.out `__
- `link `__
* - Investment Tax Credit
- `example_ITC.txt `__
- `.out `__
- `link `__
* - Production Tax Credit
- `example_PTC.txt `__
- `.out `__
- `link `__
* - Fervo Project Red (2023)
- `Fervo_Norbeck_Latimer_2023.txt `__
- `.out `__
- `link `__
* - Fervo Cape Station 1: 2023 Results
- `Fervo_Project_Cape.txt `__
- `.out `__
- `link `__
* - Fervo Cape Station 2: 2024 Results
- `Fervo_Project_Cape-2.txt `__
- `.out `__
- `link `__
* - Fervo Cape Station 3: 400 MWe Production
- `Fervo_Project_Cape-3.txt `__
- `.out `__
- `link `__
* - Case Study: 500 MWe EGS Project Modeled on Fervo Cape Station (`documentation `__)
- `Fervo_Project_Cape-4.txt `__
- `.out `__
- `link `__
* - Superhot Rock (SHR) Example 1
- `example_SHR-1.txt `__
- `.out `__
- `link `__
* - Superhot Rock (SHR) Example 2
- `example_SHR-2.txt `__
- `.out `__
- `link `__
* - SAM Single Owner PPA: 50 MWe
- `example_SAM-single-owner-PPA.txt `__
- `.out `__
- `link `__
* - SAM Single Owner PPA: 400 MWe BICYCLE Comparison
- `example_SAM-single-owner-PPA-2.txt `__
- `.out `__
- `link `__
* - SAM Single Owner PPA: 50 MWe with Add-ons
- `example_SAM-single-owner-PPA-3.txt `__
- `.out `__
- `link `__
* - SAM Single Owner PPA: 50 MWe with Royalties
- `example_SAM-single-owner-PPA-4.txt `__
- `.out `__
- `link `__
* - SAM Single Owner PPA: Multiple Construction Years
- `example_SAM-single-owner-PPA-5.txt `__
- `.out `__
- `link `__
.. raw:: html
HIP-RA: Heat in Place - Resource Assessment
-------------------------------------------
`HIP-RA-X README `__
`HIP-RA-X Parameters Reference `__
A HIP-RA web interface is available at `gtp.scientificwebservices.com/hip-ra `__.
Monte Carlo
-----------
`Monte Carlo User Guide `__
A Monte Carlo web interface is available at `gtp.scientificwebservices.com/monte-carlo `__.
Extending GEOPHIRES-X
---------------------
`How to extend GEOPHIRES-X `__ user guide
`Extension example: SUTRA `__
Resources
---------
`GEOPHIRES v3 User Manual `__: A comprehensive, point-in-time snapshot of the software in PDF format, covering installation, usage, example problems, and parameter lists in detail.
`GEOPHIRES Reference Manual `__: A living document with the most current, authoritative information on frequently updated topics like the GEOPHIRES Parameters.
Additional materials can be found in `/References `__.
Videos
------
`NREL GEOPHIRES Workshop: Features Overview & Examples `__
`NREL GEOPHIRES Workshop: Case Studies `__
Development
===========
If you are interested in sharing your extensions with others, or contributing them back to this repository,
you may want to follow `the Development instructions `__.
(You can also create a fork after doing an editable install so don't worry about picking this method if you're unsure.)
.. TODO feedback section - why user feedback is important/valuable, how to file issues/contact authors
.. TODO FAQ/trivia section - "HDR" naming (HDR.out, HDR.json) is for Hot Dry Rock
Owner metadata
- Name: National Renewable Energy Laboratory
- Login: NREL
- Email:
- Kind: organization
- Description:
- Website: http://www.nrel.gov
- Location: Golden, CO
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/1906800?v=4
- Repositories: 599
- Last ynced at: 2024-12-18T09:41:07.898Z
- Profile URL: https://github.com/NREL
GitHub Events
Total
- Create event: 28
- Commit comment event: 2
- Issues event: 92
- Watch event: 11
- Delete event: 1
- Member event: 2
- Issue comment event: 63
- Push event: 43
- Pull request review comment event: 46
- Pull request event: 92
- Pull request review event: 94
- Fork event: 13
Last Year
- Create event: 22
- Commit comment event: 2
- Issues event: 74
- Watch event: 8
- Delete event: 1
- Member event: 2
- Issue comment event: 47
- Push event: 33
- Pull request review event: 76
- Pull request review comment event: 40
- Pull request event: 70
- Fork event: 11
Committers metadata
Last synced: 8 days ago
Total Commits: 2,357
Total Committers: 8
Avg Commits per committer: 294.625
Development Distribution Score (DDS): 0.072
Commits in past year: 1,196
Committers in past year: 2
Avg Commits per committer in past year: 598.0
Development Distribution Score (DDS) in past year: 0.013
| Name | Commits | |
|---|---|---|
| softwareengineerprogrammer | 4****r | 2187 |
| Malcolm Ross | m****i@g****m | 115 |
| kfbeckers | k****s@g****m | 28 |
| Jeff Bourdier | j****r@g****m | 20 |
| Byron Pullutasig | 1****a | 3 |
| Aimilia Dimitra Ktena | t****3@a****r | 2 |
| natakokota | t****0@a****r | 1 |
| mclarknrel | 1****l | 1 |
Committer domains:
- aueb.gr: 2
Issue and Pull Request metadata
Last synced: 4 days ago
Total issues: 194
Total pull requests: 238
Average time to close issues: 2 months
Average time to close pull requests: 3 days
Total issue authors: 11
Total pull request authors: 8
Average comments per issue: 0.94
Average comments per pull request: 0.53
Merged pull request: 175
Bot issues: 0
Bot pull requests: 0
Past year issues: 54
Past year pull requests: 68
Past year average time to close issues: 23 days
Past year average time to close pull requests: 3 days
Past year issue authors: 1
Past year pull request authors: 2
Past year average comments per issue: 0.44
Past year average comments per pull request: 0.29
Past year merged pull request: 48
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- softwareengineerprogrammer (163)
- malcolm-dsider (13)
- kfbeckers (9)
- geo-curious (2)
- huhanyu (1)
- scotthess (1)
- natakokota (1)
- NicholasFry (1)
- gimibei (1)
- sws-jonathan (1)
- tb831637 (1)
Top Pull Request Authors
- softwareengineerprogrammer (171)
- malcolm-dsider (26)
- jeffbourdier (15)
- kfbeckers (15)
- natakokota (4)
- aimiktena (4)
- bpulluta (2)
- huhanyu (1)
Top Issue Labels
- enhancement (62)
- bug (57)
- feature request (17)
- documentation (16)
- question (11)
- good first issue (6)
- wontfix (3)
- invalid (2)
- help wanted (1)
Top Pull Request Labels
- bug (38)
- enhancement (36)
- documentation (23)
- feature request (6)
Package metadata
- Total packages: 2
- Total downloads: unknown
- Total dependent packages: 0 (may contain duplicates)
- Total dependent repositories: 0 (may contain duplicates)
- Total versions: 314
proxy.golang.org: github.com/nrel/geophires-x
- Homepage:
- Documentation: https://pkg.go.dev/github.com/nrel/geophires-x#section-documentation
- Licenses: mit
- Latest release: v3.10.24+incompatible (published 28 days ago)
- Last Synced: 2026-01-10T04:42:10.629Z (8 days ago)
- Versions: 157
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 5.395%
- Average: 5.576%
- Dependent repos count: 5.758%
proxy.golang.org: github.com/NREL/GEOPHIRES-X
- Homepage:
- Documentation: https://pkg.go.dev/github.com/NREL/GEOPHIRES-X#section-documentation
- Licenses: mit
- Latest release: v3.10.24+incompatible (published 28 days ago)
- Last Synced: 2026-01-10T04:42:11.093Z (8 days ago)
- Versions: 157
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 5.395%
- Average: 5.576%
- Dependent repos count: 5.758%
Score: -Infinity