Skip to content

Commit 2c78ae9

Browse files
Revert Inflation Rate During Construction to previous behavior of being equivalent to Accrued financing during construction. Calculate Accrued financing during construction based on inflation rate and construction years if inflation rate during construction is not provided. (WIP - TODO to update tooltip texts for accrued financing and inflation rates.)
1 parent 5679e5f commit 2c78ae9

File tree

8 files changed

+148
-61
lines changed

8 files changed

+148
-61
lines changed

docs/Fervo_Project_Cape-4.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ in source code for the full set of inputs.
6161
| Parameter | Input Value(s) | Source |
6262
|-------------------------------|----------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
6363
| Plant Lifetime | 30 years | 30-year well life per Fervo Energy, 2025 (Geothermal Mythbusting: Water Use and Impacts). |
64-
| Construction time | 3 years | Based on 2-6 year construction time for a 1 GW plant (Yusifov & Enriquez, 2025). |
64+
| Construction time | 3 years | Calibrated to a 2-6 year construction time for a 1 GW plant (Yusifov & Enriquez, 2025). |
6565
| Well diameter | 9⅝ inches | Next standard size up from 7", implied by announcement of "increasing casing diameter" |
6666
| Flow Rate per Production Well | 107 kg/s | Fercho et al, 2025 models reservoir performance using 100 kg/s per well. The announced increased casing diameter implies higher flow rates, so the case study uses the maximum flow rate achieved at Cape Station of 107 kg/s per Fervo Energy, 2024. |
6767
| Number of Doublets | 59 | Estimate based on extrapolation from previous case studies including [Project Red](https://gtp.scientificwebservices.com/geophires/?geophires-example-id=Fervo_Norbeck_Latimer_2023) and [Fervo_Project_Cape-3](https://gtp.scientificwebservices.com/geophires/?geophires-example-id=Fervo_Project_Cape-3) |

docs/SAM-Economic-Models.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ The following table describes how GEOPHIRES parameters are transformed into SAM
2020
| `Maximum Total Electricity Generation` | Generation Profile | `Nameplate capacity` | `Singleowner` | `system_capacity` | .. N/A |
2121
| `Utilization Factor` | Generation Profile | `Nominal capacity factor` | `Singleowner` | `user_capacity_factor` | .. N/A |
2222
| `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 |
23-
| {`Total CAPEX` before inflation} × (1 + `Inflation Rate During Construction`) ^ `Construction Years` | Installation Costs | `Total Installed Cost` | `Singleowner` | `total_installed_cost` | |
23+
| {`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. |
2424
| `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 |
2525
| `Plant Lifetime` | Financial Parameters → Analysis Parameters | `Analysis period` | `CustomGeneration`, `Singleowner` | `CustomGeneration.analysis_period`, `Singleowner.term_tenor` | .. N/A |
2626
| `Inflation Rate` | Financial Parameters → Analysis Parameters | `Inflation rate` | `Utilityrate5` | `inflation_rate` | .. N/A |

src/geophires_x/Economics.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2337,7 +2337,8 @@ def _warn(_msg: str) -> None:
23372337
self.sync_interest_rate(model)
23382338
self.sync_well_drilling_and_completion_capital_cost_adjustment_factor(model)
23392339

2340-
# SAM Economic Models recalculate accrued financing value based on construction years.
2340+
# SAM Economic Models recalculate accrued financing value based on construction years and inflation rate if
2341+
# inflation rate during construction is not provided.
23412342
# TODO to determine whether the same logic should be applied for other economic models.
23422343
self.accrued_financing_during_construction_percentage.value = self.inflrateconstruction.quantity().to(
23432344
convertible_unit(self.accrued_financing_during_construction_percentage.CurrentUnits)

src/geophires_x/EconomicsSam.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -358,9 +358,12 @@ def _get_single_owner_parameters(model: Model) -> dict[str, Any]:
358358
itc = econ.RITCValue.quantity()
359359
total_capex = econ.CCap.quantity() + itc
360360

361-
inflation_during_construction_factor = math.pow(
362-
1 + econ.inflrateconstruction.value, model.surfaceplant.construction_years.value
363-
)
361+
if econ.inflrateconstruction.Provided:
362+
inflation_during_construction_factor = 1.0 + econ.inflrateconstruction.quantity().to('dimensionless').magnitude
363+
else:
364+
inflation_during_construction_factor = math.pow(
365+
1.0 + econ.RINFL.value, model.surfaceplant.construction_years.value
366+
)
364367
econ.accrued_financing_during_construction_percentage.value = (
365368
quantity(inflation_during_construction_factor - 1, 'dimensionless')
366369
.to(convertible_unit(econ.accrued_financing_during_construction_percentage.CurrentUnits))

0 commit comments

Comments
 (0)