Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
5132e66
WIP - Fervo_Project_Cape-4 example. TODO drawdown
softwareengineerprogrammer May 15, 2025
013a57c
Drawdown WIP
softwareengineerprogrammer May 15, 2025
24b232a
drawdown tuned for Minimum Net Electricity Generation = 500.16 MW
softwareengineerprogrammer May 15, 2025
11c4749
No ITC, capacity-based surface plant cost instead of surface plant ad…
softwareengineerprogrammer May 15, 2025
a29a047
WIP stash - handle SAM-EM NaN
softwareengineerprogrammer May 16, 2025
5ce09cf
Clarify fraction of investment in bonds = debt in tooltip text
softwareengineerprogrammer May 16, 2025
a6713db
PySAM JSON default term_tenor sync (does not affect results because t…
softwareengineerprogrammer May 19, 2025
f4f42f9
Re-enable ITC for now. Tune doublets/drawdown such that redrilling on…
softwareengineerprogrammer May 19, 2025
412bcb0
Workaround for float('nan') != float('nan')
softwareengineerprogrammer May 19, 2025
a053c49
Debt:equity 20:80
softwareengineerprogrammer May 20, 2025
4a3066f
TODO to cite exploration cost
softwareengineerprogrammer May 20, 2025
7cd6918
Exploration cost documentation
softwareengineerprogrammer May 21, 2025
193b5d3
Output SAM IRR as 'After-Tax IRR' to avoid potential mixup with 'Proj…
softwareengineerprogrammer May 21, 2025
01158b6
Bump version: 3.9.8 → 3.9.9
softwareengineerprogrammer May 21, 2025
6a3c06e
After-Tax IRR result field
softwareengineerprogrammer May 21, 2025
163131d
Bump version: 3.9.9 → 3.9.10
softwareengineerprogrammer May 21, 2025
7967646
Pivot SAM example from attempt to compare with Fervo 400 MWe BICYCLE …
softwareengineerprogrammer May 21, 2025
8b5ae19
SAM example description + minor input parameter tweaks
softwareengineerprogrammer May 21, 2025
ec8c1e8
Add original SAM example back as example_SAM-single-owner-PPA-2 - goo…
softwareengineerprogrammer May 22, 2025
2d195af
Stimulation costs tooltip text
softwareengineerprogrammer May 22, 2025
dcbfc33
Fix Reservoir Impedance tooltip whitespace
softwareengineerprogrammer May 22, 2025
1468115
SAM example 2 README entry
softwareengineerprogrammer May 22, 2025
ed7bb6e
Link to SAM-EM docs from README description of economic models
softwareengineerprogrammer May 22, 2025
5e68ad0
SAM example descriptions - clarify BICYCLE comparison context
softwareengineerprogrammer May 22, 2025
9f3c303
fix description typo
softwareengineerprogrammer May 22, 2025
703236a
use full-width commas in SAM example description as workaround for we…
softwareengineerprogrammer May 23, 2025
994a6da
'Using SAM Economic Models with Existing GEOPHIRES Inputs' documentation
softwareengineerprogrammer May 23, 2025
575f6e0
Documentation: Recreating SAM Economic Model Results in the SAM Deskt…
softwareengineerprogrammer May 23, 2025
4e78e11
Adjust PPA: start at /MWh and remaining </MWh for first 10 years of p…
softwareengineerprogrammer May 23, 2025
96c858d
Tweak name to 'After-tax IRR' for consistency with SAM name and exist…
softwareengineerprogrammer May 23, 2025
a7e6cc7
Bump version: 3.9.10 → 3.9.11
softwareengineerprogrammer May 23, 2025
0a25eb6
Fervo_Project_Cape-4 parameters organization, documentation
softwareengineerprogrammer May 27, 2025
83be8d1
Switch from hardcoded .84M/well cost to VERTICAL_LARGE correlation
softwareengineerprogrammer May 27, 2025
0baf38f
tweak debt percent, stimulation cost adjustment factor (.5M/well esti…
softwareengineerprogrammer May 27, 2025
e6030a7
Output SAM-EM capex as 'Total CAPEX' instead of 'Total capital costs'…
softwareengineerprogrammer May 27, 2025
3369acf
Bump version: 3.9.11 → 3.9.12
softwareengineerprogrammer May 27, 2025
f1c928b
Inflation Rate, .023, -- US inflation as of April 2025
softwareengineerprogrammer May 27, 2025
8c8d50b
lower flow rate to 115 kg/s. Adjust discount rate & inflation rate
softwareengineerprogrammer May 27, 2025
ef20743
Set water loss fraction = 15%
softwareengineerprogrammer May 27, 2025
c813dee
Fervo_Project_Cape-4.md - documenting input assumptions and result co…
softwareengineerprogrammer May 27, 2025
4d7ac2f
More work on Fervo_Project_Cape-4.md, citations in Fervo_Project_Cape…
softwareengineerprogrammer May 27, 2025
20a99a7
Document ATB PPA reference, typical levered returns
softwareengineerprogrammer May 28, 2025
bb86058
Document stimulation cost is per injection well
softwareengineerprogrammer May 28, 2025
4e19462
Set flow rate to 107 kg/s per max rate achieved in test
softwareengineerprogrammer May 28, 2025
46e49ae
Switch to RES_VOL_FRAC_SEP for realistic fracture size/count
softwareengineerprogrammer May 28, 2025
67fb2f3
Switch example_SAM-single-owner-PPA to RES_VOL_FRAC_SEP (like Fervo_P…
softwareengineerprogrammer May 28, 2025
57783e1
description, comment tweaks
softwareengineerprogrammer May 29, 2025
e59d4e5
Incorporate Fervo_Project_Cape-4 into documentation
softwareengineerprogrammer May 29, 2025
480614e
Display fracture count rounded up to nearest whole number
softwareengineerprogrammer May 29, 2025
bea93af
Include CAPEX in SUMMARY OF RESULTS for SAM econ models. (Could possi…
softwareengineerprogrammer May 29, 2025
94a5c5f
update example2 - calculated fracture output affected by change to di…
softwareengineerprogrammer May 29, 2025
28079c4
Parse reservoir volume calculation note in GeophiresXResult
softwareengineerprogrammer May 29, 2025
a761205
update csv test affected by addition of Reservoir volume calculation …
softwareengineerprogrammer May 29, 2025
7f2a5b4
Parse Total CAPEX in result summary (introduced into case file in bea…
softwareengineerprogrammer May 29, 2025
c5fb5f2
Unit test Total CAPEX in SAM-EM result summary
softwareengineerprogrammer May 29, 2025
bec539f
Bump version: 3.9.12 → 3.9.13
softwareengineerprogrammer May 29, 2025
b32fcb3
Update drilling cost to <M/well per Tim Latimer on Volts podcast
softwareengineerprogrammer May 30, 2025
30b716b
Approach & Methodology, additional inputs/results documentation
softwareengineerprogrammer May 30, 2025
9b20d37
Citation for /kW surface plant cost
softwareengineerprogrammer May 30, 2025
a2cb51b
Max total electricity generation result note re: modularity
softwareengineerprogrammer May 30, 2025
15df631
Link to Fervo_Project_Cape-4 documentation in description (TODO to up…
softwareengineerprogrammer May 30, 2025
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
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 3.9.8
current_version = 3.9.13
commit = True
tag = True

Expand Down
2 changes: 1 addition & 1 deletion .cookiecutterrc
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ default_context:
sphinx_doctest: "no"
sphinx_theme: "sphinx-py3doc-enhanced-theme"
test_matrix_separate_coverage: "no"
version: 3.9.8
version: 3.9.13
version_manager: "bump2version"
website: "https://github.com/NREL"
year_from: "2023"
Expand Down
12 changes: 8 additions & 4 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,9 @@ Free software: `MIT license <LICENSE>`__
: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.8.svg
.. |commits-since| image:: https://img.shields.io/github/commits-since/softwareengineerprogrammer/GEOPHIRES-X/v3.9.13.svg
:alt: Commits since latest release
:target: https://github.com/softwareengineerprogrammer/GEOPHIRES-X/compare/v3.9.8...main
:target: https://github.com/softwareengineerprogrammer/GEOPHIRES-X/compare/v3.9.13...main

.. |docs| image:: https://readthedocs.org/projects/GEOPHIRES-X/badge/?style=flat
:target: https://nrel.github.io/GEOPHIRES-X
Expand Down Expand Up @@ -293,7 +293,7 @@ electricity: (1) fixed charge rate (FCR) model;
(2) standard discounting levelized cost model;
(3) BICYCLE model;
(4) CLGS;
(5) SAM Single-owner PPA.
(5) `SAM Single-owner PPA <https://nrel.github.io/GEOPHIRES-X/SAM-Economic-Models.html>`__.

.. TODO link to SAM Economic Model docs

Expand Down Expand Up @@ -462,10 +462,14 @@ Example-specific web interface deeplinks are listed in the Link column.
- `example_SHR-2.txt <tests/examples/example_SHR-2.txt>`__
- `.out <tests/examples/example_SHR-2.out>`__
- `link <https://gtp.scientificwebservices.com/geophires?geophires-example-id=example_SHR-2>`__
* - SAM Single Owner PPA
* - SAM Single Owner PPA: 50 MWe
- `example_SAM-single-owner-PPA.txt <tests/examples/example_SAM-single-owner-PPA.txt>`__
- `.out <tests/examples/example_SAM-single-owner-PPA.out>`__
- `link <https://gtp.scientificwebservices.com/geophires?geophires-example-id=example_SAM-single-owner-PPA>`__
* - SAM Single Owner PPA: 400 MWe BICYCLE Comparison
- `example_SAM-single-owner-PPA-2.txt <tests/examples/example_SAM-single-owner-PPA-2.txt>`__
- `.out <tests/examples/example_SAM-single-owner-PPA-2.out>`__
- `link <https://gtp.scientificwebservices.com/geophires?geophires-example-id=example_SAM-single-owner-PPA-2>`__

.. raw:: html

Expand Down
69 changes: 69 additions & 0 deletions docs/Fervo_Project_Cape-4.md

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions docs/GEOPHIRES-Examples.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# GEOPHIRES Examples

## Examples List

View the list of all GEOPHIRES examples in the [README](https://github.com/NREL/GEOPHIRES-X?tab=readme-ov-file#examples)
or in the [web interface](https://gtp.scientificwebservices.com/geophires) under the Examples tab.

## Case Study: 500 MWe EGS Project Modeled on Fervo Cape Station

See [Case Study: 500 MWe EGS Project Modeled on Fervo Cape Station](Fervo_Project_Cape-4.html).
102 changes: 101 additions & 1 deletion docs/SAM-Economic-Models.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ The following table describes how GEOPHIRES parameters are transformed into SAM
| `Maximum Total Electricity Generation` | Generation Profile | `Nameplate capacity` | `Singleowner` | `system_capacity` | .. N/A |
| `Utilization Factor` | Generation Profile | `Nominal capacity factor` | `Singleowner` | `user_capacity_factor` | .. N/A |
| `Net Electricity Generation` | AC Degradation | `Annual AC degradation rate` schedule | `Utilityrate5` | `degradation` | Percentage difference of each year's `Net Electricity Generation` from `Maximum Total Electricity Generation` is input as SAM as the degradation rate schedule in order to match SAM's generation profile to GEOPHIRES |
| `Total Capital Cost` + `Investment Tax Credit Value` + (`Inflation Rate During Construction` × `Total Capital Cost`) | Installation Costs | `Total Installed Cost` | `Singleowner` | `total_installed_cost` | ITC, if present, is added to GEOPHIRES total capital cost since SAM handles ITC credits in cash flow analysis. Inflation during construction is treated as an indirect EPC capital cost percentage. |
| `Total CAPEX` × (1 + `Inflation Rate During Construction`) | Installation Costs | `Total Installed Cost` | `Singleowner` | `total_installed_cost` | Inflation during construction is treated as an indirect EPC capital cost percentage. Note that unlike the BICYCLE Economic Model's `Total capital costs`, SAM Economic Model's `Total CAPEX` is the total installed cost and does not subtract ITC value (if present). |
| `Total O&M Cost`, `Inflation Rate` | Operating Costs | `Fixed operating cost`, `Escalation rate` set to `Inflation Rate` × -1 | `Singleowner` | `om_fixed`, `om_fixed_escal` | .. N/A |
| `Plant Lifetime` | Financial Parameters → Analysis Parameters | `Analysis period` | `CustomGeneration`, `Singleowner` | `CustomGeneration.analysis_period`, `Singleowner.term_tenor` | .. N/A |
| `Inflation Rate` | Financial Parameters → Analysis Parameters | `Inflation rate` | `Utilityrate5` | `inflation_rate` | .. N/A |
Expand Down Expand Up @@ -53,3 +53,103 @@ The following table describes how GEOPHIRES parameters are transformed into SAM
1. Project VIR=PI=PIR
2. Project MOIC
3. Project Payback Period

## Using SAM Economic Models with Existing GEOPHIRES Inputs

In many cases, all you need to do to use SAM Economic Models for your existing GEOPHIRES inputs is to change the
`Economic Model` parameter value.
For example, if your GEOPHIRES `.txt` file contained the following:

```
# *** Financial Parameters ***
Economic Model, 2, -- Standard Levelized Cost Model
Discount Rate, .05
Inflation Rate During Construction, 0
Plant Lifetime, 25
```

You would change it to:

```
# *** Financial Parameters ***
Economic Model, 5, -- SAM Single Owner PPA Economic Model
Discount Rate, .05
Inflation Rate During Construction, 0
Plant Lifetime, 25
```

For inputs with the BICYCLE economic model, such as the following:

```
# *** Financial Parameters ***
Economic Model, 3, -- BICYCLE
Inflated Equity Interest Rate, .08
Plant Lifetime, 30
```

Change `Economic Model` and replace `Inflated Equity Interest Rate` with a suitable `Discount Rate` and
`Inflation Rate`:

```
# *** Financial Parameters ***
Economic Model, 5, -- SAM Single Owner PPA Economic Model
Discount Rate, .08
Inflation Rate, .03
Plant Lifetime, 30
```

## Recreating SAM Economic Model Results in the SAM Desktop Application

First, open `src/geophires_sam_economics/Generic_400_MWe.sam`
in the SAM desktop application.

Next, run GEOPHIRES for your input, e.g.:

```
python -mgeophires_x my-geophires-input.txt
```

Then check `src/geophires_x/all_messages_conf.log` for the SAM Economics Parameter Mapping entry:

```
23-05-2025 10:09:35 : INFO : EconomicsSam : calculate_sam_economics : 151 : (Process Details : (1378, MainProcess), Thread Details : (8589068352, MainThread)): SAM Economics Parameter Mapping:
----------------- -------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SAM Module Parameter Value
Custom Generation analysis_period 20
Custom Generation user_capacity_factor 90.0
Utility Rate inflation_rate 2.0
Utility Rate degradation [1.2734946600673935, 0.7001040275842613, 0.5267634676194525, 0.4244824247238818, 0.3529717582311231, 0.29852256883429373, 0.2548483024454293, 0.21855974702202877, 0.18762922644042462, 0.1607514026827296, 0.13703877682895466, 0.11586181507372084, 0.09675857340703789, 0.07938054662917803, 0.06345865490418974, 0.0487810281945756, 0.03517801101748528, 0.02251175220012943, 0.010668799824934945, 0.0]
Single Owner analysis_period 20
Single Owner total_installed_cost 264606243.76608825
Single Owner om_fixed [7193902.821741002]
Single Owner om_fixed_escal -2.0
Single Owner system_capacity 59020.69007804236
Single Owner federal_tax_rate [21.0]
Single Owner state_tax_rate [7.0]
Single Owner itc_fed_percent [30.0]
Single Owner property_tax_rate 0.0
Single Owner ppa_price_input [0.08, 0.08, 0.08322, 0.08644, 0.08966, 0.09288, 0.0961, 0.09932, 0.10254, 0.10576, 0.10898000000000001, 0.1122, 0.11542, 0.11864, 0.12186, 0.12508, 0.1283, 0.13152, 0.13474, 0.13796]
Single Owner debt_percent 40.0
Single Owner real_discount_rate 8.0
Single Owner term_tenor 20
Single Owner term_int_rate 5.0
Single Owner ibi_oth_amount 0.0
----------------- -------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
```

You can then manually enter the parameters from the logged mapping into the SAM desktop app.

![](sam-desktop-app-manually-enter-system-capacity-from-geophires-log.png)


## Examples

### SAM Single Owner PPA: 50 MWe

[Web interface link](https://gtp.scientificwebservices.com/geophires/?geophires-example-id=example_SAM-single-owner-PPA)

### Case Study: 500 MWe EGS Project Modeled on Fervo Cape Station

[Web interface link](https://gtp.scientificwebservices.com/geophires/?geophires-example-id=Fervo_Project_Cape-4)

See [Case Study: 500 MWe EGS Project Modeled on Fervo Cape Station](Fervo_Project_Cape-4.html).
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
year = '2025'
author = 'NREL'
copyright = f'{year}, {author}'
version = release = '3.9.8'
version = release = '3.9.13'

pygments_style = 'trac'
templates_path = ['./templates']
Expand Down
1 change: 1 addition & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ Contents
hip_ra_x_parameters
Monte-Carlo-User-Guide
SAM-Economic-Models
GEOPHIRES-Examples
.. reference/index

Indices and tables
Expand Down
7 changes: 2 additions & 5 deletions docs/overview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,5 @@
GEOPHIRES-X Reference Manual
============================

This reference manual is a supplement to the README in the GitHub repository.

+ :doc:`parameters`

+ :doc:`How-to-extend-GEOPHIRES-X`
This reference manual is a supplement to the `Documentation section of the README <https://github.com/NREL/GEOPHIRES-X?tab=readme-ov-file#documentation>`__ in the GitHub repository.
Click a topic in the Table of Contents on the left to view its documentation.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ def read(*names, **kwargs):

setup(
name='geophires-x',
version='3.9.8',
version='3.9.13',
license='MIT',
description='GEOPHIRES is a free and open-source geothermal techno-economic simulator.',
long_description='{}\n{}'.format(
Expand Down
Binary file modified src/geophires_sam_economics/Generic_400_MWe.sam
Binary file not shown.
Loading