geophires-x
GEOPHIRES is NREL's free and open-source geothermal techno-economic simulator.
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.6%) to scientific vocabulary
Last synced: 10 months ago
·
JSON representation
Repository
GEOPHIRES is NREL's free and open-source geothermal techno-economic simulator.
Basic Info
Statistics
- Stars: 43
- Watchers: 6
- Forks: 34
- Open Issues: 68
- Releases: 0
Created almost 3 years ago
· Last pushed 10 months ago
Metadata Files
Readme
Changelog
Contributing
License
Authors
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 to 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.9.50.svg
:alt: Commits since latest release
:target: https://github.com/softwareengineerprogrammer/GEOPHIRES-X/compare/v3.9.50...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_2024-11-20.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
`GEOPHIRES v2.0: updated geothermal techno‐economic simulation tool (Beckers & McCabe, 2019) `__
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
- `Beckers_et_al_2023_Tabulated_Database_Coaxial_sCO2_heat.txt `__
- `.out `__
- `link `__
* - CLGS: Coaxial Water: Heat
- `Beckers_et_al_2023_Tabulated_Database_Coaxial_water_heat.txt `__
- `.out `__
- `link `__
* - CLGS: Uloop sCO2: Electricity
- `Beckers_et_al_2023_Tabulated_Database_Uloop_sCO2_elec.txt `__
- `.out `__
- `link `__
* - CLGS: Uloop sCO2: Heat
- `Beckers_et_al_2023_Tabulated_Database_Uloop_sCO2_heat.txt `__
- `.out `__
- `link `__
* - CLGS: Uloop Water: Electricity
- `Beckers_et_al_2023_Tabulated_Database_Uloop_water_elec.txt `__
- `.out `__
- `link `__
* - CLGS: Uloop Water: Heat
- `Beckers_et_al_2023_Tabulated_Database_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-on
- `example_SAM-single-owner-PPA-3.txt `__
- `.out `__
- `link `__
.. raw:: html
Videos
------
`NREL GEOPHIRES Workshop: Features Overview & Examples `__
`NREL GEOPHIRES Workshop: Case Studies `__
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 `__
Additional Documentation
------------------------
Additional materials can be found in `/References `__.
Development
===========
If you are interested in sharing your extensions with others, or even 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
- Name: National Renewable Energy Laboratory
- Login: NREL
- Kind: organization
- Location: Golden, CO
- Website: http://www.nrel.gov
- Repositories: 599
- Profile: https://github.com/NREL
GitHub Events
Total
- Create event: 27
- Commit comment event: 2
- Issues event: 72
- Watch event: 9
- Delete event: 1
- Member event: 2
- Issue comment event: 60
- Push event: 39
- Pull request review comment event: 46
- Pull request event: 79
- Pull request review event: 90
- Fork event: 12
Last Year
- Create event: 27
- Commit comment event: 2
- Issues event: 72
- Watch event: 9
- Delete event: 1
- Member event: 2
- Issue comment event: 60
- Push event: 39
- Pull request review comment event: 46
- Pull request event: 79
- Pull request review event: 90
- Fork event: 12
Committers
Last synced: 11 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| softwareengineerprogrammer | 4****r | 1,828 |
| Malcolm Ross | m****i@g****m | 115 |
| kfbeckers | k****s@g****m | 28 |
| Jeff Bourdier | j****r@g****m | 15 |
| 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 (Top 20 + Academic)
aueb.gr: 2
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 182
- Total pull requests: 228
- Average time to close issues: about 2 months
- Average time to close pull requests: 3 days
- Total issue authors: 11
- Total pull request authors: 8
- Average comments per issue: 0.86
- Average comments per pull request: 0.55
- Merged pull requests: 170
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 56
- Pull requests: 97
- Average time to close issues: 22 days
- Average time to close pull requests: 3 days
- Issue authors: 5
- Pull request authors: 2
- Average comments per issue: 0.45
- Average comments per pull request: 0.29
- Merged pull requests: 72
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- softwareengineerprogrammer (151)
- malcolm-dsider (13)
- kfbeckers (9)
- geo-curious (2)
- huhanyu (1)
- scotthess (1)
- natakokota (1)
- NicholasFry (1)
- gimibei (1)
- sws-jonathan (1)
- tb831637 (1)
Pull Request Authors
- softwareengineerprogrammer (163)
- malcolm-dsider (26)
- kfbeckers (15)
- jeffbourdier (13)
- natakokota (4)
- aimiktena (4)
- bpulluta (2)
- huhanyu (1)
Top Labels
Issue Labels
bug (56)
enhancement (54)
question (11)
documentation (11)
feature request (8)
good first issue (6)
wontfix (3)
invalid (2)
help wanted (1)
Pull Request Labels
bug (37)
enhancement (33)
documentation (18)
feature request (6)
Packages
- Total packages: 2
- Total downloads: unknown
-
Total dependent packages: 0
(may contain duplicates) -
Total dependent repositories: 0
(may contain duplicates) - Total versions: 302
proxy.golang.org: github.com/NREL/GEOPHIRES-X
- Documentation: https://pkg.go.dev/github.com/NREL/GEOPHIRES-X#section-documentation
- License: mit
-
Latest release: v3.9.53+incompatible
published 10 months ago
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced:
10 months ago
proxy.golang.org: github.com/nrel/geophires-x
- Documentation: https://pkg.go.dev/github.com/nrel/geophires-x#section-documentation
- License: mit
-
Latest release: v3.9.53+incompatible
published 10 months ago
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced:
10 months ago