Skip to content

Inflation costs during construction [v3.9.42] #89

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 30 commits into from
Jul 27, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
c3d6390
format test_geophires_examples files list filter to make it easier to…
softwareengineerprogrammer Jul 26, 2025
ef9a11c
Support multiple construction years for SAM-EM. WIP - TODO to update/…
softwareengineerprogrammer Jul 26, 2025
c30999b
Update Fervo_Project_Cape-4 Inflation Rate During Construction docume…
softwareengineerprogrammer Jul 26, 2025
a7fcad2
Update SAM-EM accrued financing during construction to account for co…
softwareengineerprogrammer Jul 26, 2025
78be6cb
Document Fervo_Project_Cape-4 construction time = 3 years
softwareengineerprogrammer Jul 26, 2025
e6b9fe8
Move capex ITC subtraction note from total installed costs to ITC row
softwareengineerprogrammer Jul 26, 2025
e6765f5
ignore local regenerate-schemas.sh script (for now)
softwareengineerprogrammer Jul 26, 2025
6e16fae
Specify Total CAPEX before inflation in Inflation Rate During Constru…
softwareengineerprogrammer Jul 26, 2025
5679e5f
Remove now-incorrect documentation of construction years limitation
softwareengineerprogrammer Jul 26, 2025
2c78ae9
Revert Inflation Rate During Construction to previous behavior of bei…
softwareengineerprogrammer Jul 26, 2025
2e7bbf6
Accrued financing during construction tooltip text
softwareengineerprogrammer Jul 26, 2025
48a6d5e
Add Inflation Cost During Construction output parameter for SAM econ …
softwareengineerprogrammer Jul 26, 2025
0b78318
revert accidental inclusion of temporary local override in test_geoph…
softwareengineerprogrammer Jul 26, 2025
a982c17
Fix partially-incorrect fix in previous commit (filter list needs to …
softwareengineerprogrammer Jul 26, 2025
212eec8
Rename to 'Inflation costs during construction' for better consistenc…
softwareengineerprogrammer Jul 26, 2025
41d26a8
Break out Economics.calculate_total_capital_costs (no functional change)
softwareengineerprogrammer Jul 26, 2025
b48cfc5
TODO to parameterize Surface Piping Length Costs $/km
softwareengineerprogrammer Jul 26, 2025
72474b1
remove commented code
softwareengineerprogrammer Jul 26, 2025
20c5607
Don't subtract ITC from capex for SAM Economic Models (as opposed to …
softwareengineerprogrammer Jul 26, 2025
922be29
Define dedicated Total CAPEX output parameter, with tooltip text, for…
softwareengineerprogrammer Jul 26, 2025
75c4f6c
regenerate schema with Total CAPEX
softwareengineerprogrammer Jul 26, 2025
7e64e1d
Update/synchronize Fervo_Project_Cape-4 Inflation Rate During Constru…
softwareengineerprogrammer Jul 26, 2025
81396f8
Update Inflation Rate During Construction tooltip text
softwareengineerprogrammer Jul 26, 2025
de18867
Bump version: 3.9.40 → 3.9.41
softwareengineerprogrammer Jul 26, 2025
e1d3c51
Fix incorrect tooltip text for 'Drilling and completion costs per wel…
softwareengineerprogrammer Jul 27, 2025
1a3db88
Address TODOs to use parameterized contingency in tooltip text (https…
softwareengineerprogrammer Jul 27, 2025
afee41d
Fix Construction Years tooltip text typo ('constructions')
softwareengineerprogrammer Jul 27, 2025
76f9b18
Rollback support for multiple construction years for SAM-EM for now. …
softwareengineerprogrammer Jul 27, 2025
770054c
Tweak Fervo_Project_Cape-4 stimulation cost adjustment factor documen…
softwareengineerprogrammer Jul 27, 2025
d75cd3c
Bump version: 3.9.41 → 3.9.42
softwareengineerprogrammer Jul 27, 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.40
current_version = 3.9.42
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.40
version: 3.9.42
version_manager: "bump2version"
website: "https://github.com/NREL"
year_from: "2023"
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ Geothermal_district_heating_system_with_peaking_boilers.png
*.html
!docs/*.html

# TODO may want to add this to source
regenerate-schemas.sh

# C extensions
*.so

Expand Down
4 changes: 2 additions & 2 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,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.40.svg
.. |commits-since| image:: https://img.shields.io/github/commits-since/softwareengineerprogrammer/GEOPHIRES-X/v3.9.42.svg
:alt: Commits since latest release
:target: https://github.com/softwareengineerprogrammer/GEOPHIRES-X/compare/v3.9.40...main
:target: https://github.com/softwareengineerprogrammer/GEOPHIRES-X/compare/v3.9.42...main

.. |docs| image:: https://readthedocs.org/projects/GEOPHIRES-X/badge/?style=flat
:target: https://nrel.github.io/GEOPHIRES-X
Expand Down
32 changes: 18 additions & 14 deletions docs/Fervo_Project_Cape-4.md

Large diffs are not rendered by default.

5 changes: 2 additions & 3 deletions 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 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 CAPEX` before inflation} × (1 + `Accrued financing during construction (%)`/100); | Installation Costs | `Total Installed Cost` | `Singleowner` | `total_installed_cost` | `Accrued financing during construction (%)` = (1+`Inflation Rate During Construction`) × 100 if `Inflation Rate During Construction` is provided or ((1+`Inflation Rate`) ^ `Construction Years`) × 100 if not. |
| `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 All @@ -30,7 +30,7 @@ The following table describes how GEOPHIRES parameters are transformed into SAM
| `Fraction of Investment in Bonds` | Financial Parameters → Project Term Debt | `Debt percent` | `Singleowner` | `debt_percent` | .. N/A |
| `Inflated Bond Interest Rate` | Financial Parameters → Project Term Debt | `Annual interest rate` | `Singleowner` | `term_int_rate` | .. N/A |
| `Starting Electricity Sale Price`, `Ending Electricity Sale Price`, `Electricity Escalation Rate Per Year`, `Electricity Escalation Start Year` | Revenue | `PPA price` | `Singleowner` | `ppa_price_input` | GEOPHIRES's pricing model is used to create a PPA price schedule that is passed to SAM. |
| `Investment Tax Credit Rate` | Incentives → Investment Tax Credit (ITC) | `Federal` → `Percentage (%)` | `Singleowner` | `itc_fed_percent` | .. N/A |
| `Investment Tax Credit Rate` | Incentives → Investment Tax Credit (ITC) | `Federal` → `Percentage (%)` | `Singleowner` | `itc_fed_percent` | 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). |
| `Production Tax Credit Electricity` | Incentives → Production Tax Credit (PTC) | `Federal` → `Amount ($/kWh)` | `Singleowner` | `ptc_fed_amount` | .. N/A |
| `Production Tax Credit Duration` | Incentives → Production Tax Credit (PTC) | `Federal` → `Term (years)` | `Singleowner` | `ptc_fed_term` | .. N/A |
| `Production Tax Credit Inflation Adjusted`, `Inflation Rate` | Incentives → Production Tax Credit (PTC) | `Federal` → `Escalation (%/yr)` | `Singleowner` | `ptc_fed_escal` | If `Production Tax Credit Inflation Adjusted` = True, GEOPHIRES set's SAM's PTC escalation rate to the inflation rate. SAM applies the escalation rate to years 2 and later of the project cash flow. Note that this produces escalation rates that are similar to inflation-adjusted equivalents, but not exactly equal. |
Expand Down Expand Up @@ -135,7 +135,6 @@ You can then manually enter the parameters from the logged mapping into the SAM

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


## Examples

### SAM Single Owner PPA: 50 MWe
Expand Down
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.40'
version = release = '3.9.42'

pygments_style = 'trac'
templates_path = ['./templates']
Expand Down
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.40',
version='3.9.42',
license='MIT',
description='GEOPHIRES is a free and open-source geothermal techno-economic simulator.',
long_description='{}\n{}'.format(
Expand Down
Loading
Loading