Skip to content

Conversation

softwareengineerprogrammer
Copy link
Owner

@softwareengineerprogrammer softwareengineerprogrammer commented Mar 12, 2025

Description

This change enables GEOPHIRES to use Excel-style NPV calculation per user feature request as discussed in NREL#344. This is achieved through the addition of a boolean input parameter Discount Initial Year Cashflow (final name/documentation open to discussion/suggestion) with default value = False (existing NPV calculation behavior) and the option to provide value = True to use Excel-style NPV calculation.

The change also includes testing to establish/confirm parity between GEOPHIRES NPV calculation and the NREL manual's NPV calculation convention per NREL#344 (comment): https://github.com/softwareengineerprogrammer/GEOPHIRES/pull/55/files#diff-780d3d576fea7650243d4fdf0272c5ca5ed2d3751cd09fe0cca69fc1a59b21c8R61-R68

Discount Initial Year Cashflow in web interface parameter browser:

image

Testing & Verification

  1. Added unit tests for NPV calculation with and without discounting the initial year, for both regular and extended (add-on) economics: https://github.com/softwareengineerprogrammer/GEOPHIRES/pull/55/files#diff-01c5adc6b171191b928e59a6206cad4a36e9f2cec9c939e60b4819d518e36664R593-R630
  2. Added unit tests that establish parity between this method and Excel documentation's NPV example.
  3. Manually verified Fervo 400 MWe with Excel-style NPV (Discount Initial Year Cashflow = True)*: confirmed that the GEOPHIRES result NPV value of $4280.71M matches the value when calculated using a spreadsheet software NPV function from the result's revenue profile: Screenshot 2025-03-12 at 12 21 56 Screenshot 2025-03-12 at 12 24 23

TODO:

  1. any provided value except false/False e.g. abc is treated as true, should validate that provided values are boolean-y: created tracking issue Arbitrary strings treated as True for boolean parameters NREL/GEOPHIRES-X#362
  2. Make description less wordy: b206bb5
  3. Integration with AddOn/extended economics NPV: https://github.com/softwareengineerprogrammer/GEOPHIRES/pull/55/files#diff-17dd22bf389685af0db24572703fe3984846f0b3495f937a2bbb0f6aa5964a4dR350-R354
  4. IRR cashflow series - should it use the NPV version? - implementing with assumption that it should not for now unless information to the contrary is discovered

*Input:

Discount Initial Year Cashflow, True

Reservoir Model, 1
Reservoir Volume Option, 1
Reservoir Density, 2800
Reservoir Depth, 8500 feet, -- https://pangea.stanford.edu/ERE/db/GeoConf/papers/SGW/2024/Fercho.pdf
Reservoir Heat Capacity, 790
Reservoir Thermal Conductivity, 3.05
Reservoir Porosity, 0.0118
Reservoir Impedance, 0.001
Number of Fractures, 149
Fracture Shape, 4
Fracture Height, 2000
Fracture Width, 10000
Fracture Separation, 30
Number of Segments, 1
Gradient 1, 74, -- temperature at 8500 ft: 200 degC (https://pangea.stanford.edu/ERE/db/GeoConf/papers/SGW/2024/Fercho.pdf); 228.89 degC @ 9824 ft (https://doi.org/10.31223/X5VH8C)
Number of Injection Wells, 39
Number of Production Wells, 39
Production Flow Rate per Well, 120, -- peak flow reported in paper
Production Well Diameter, 7
Injection Well Diameter, 7
Well Separation, 365 feet
Injection Temperature, 60 degC
Injection Wellbore Temperature Gain, 3
Plant Outlet Pressure, 1000 psi
Production Wellhead Pressure, 325 psi
Ramey Production Wellbore Model, 1
Utilization Factor, .9
Water Loss Fraction, 0.05
Maximum Drawdown, 1
Ambient Temperature, 10 degC
Surface Temperature, 10 degC
End-Use Option, 1
Plant Lifetime, 20
Power Plant Type, 2
Circulation Pump Efficiency, 0.80
Surface Plant Capital Cost Adjustment Factor, 0.71, -- $1900/kW (peak production)
Exploration Capital Cost, 30
Well Drilling and Completion Capital Cost, 3.84, -- Assume cost continues to decrease from $4.8M/well (https://houston.innovationmap.com/fervo-energy-drilling-utah-project-2667300142.html)
Reservoir Stimulation Capital Cost, 234, -- 78 wells @ $3M/well
Economic Model, 3
Starting Electricity Sale Price, 0.15
Ending Electricity Sale Price, 1.00
Electricity Escalation Rate Per Year, 0.004053223
Electricity Escalation Start Year, 1
Fraction of Investment in Bonds, .5
Combined Income Tax Rate, .3
Gross Revenue Tax Rate, 0
Inflated Bond Interest Rate, .05
Inflated Equity Interest Rate, .08
Inflation Rate, .02
Investment Tax Credit Rate, .3
Inflation Rate During Construction, 0.05
Property Tax Rate, 0
Time steps per year, 10
Maximum Temperature, 500
Well Geometry Configuration, 4
Has Nonvertical Section, True
Multilaterals Cased, True
Number of Multilateral Sections, 3
Nonvertical Length per Multilateral Section, 4700 feet

@softwareengineerprogrammer softwareengineerprogrammer changed the title NPV cashflow Add 'Discount Initial Year Cashflow' parameter for Excel-style NPV calculation Mar 12, 2025
@softwareengineerprogrammer softwareengineerprogrammer changed the title Add 'Discount Initial Year Cashflow' parameter for Excel-style NPV calculation Add 'Discount Initial Year Cashflow' parameter for Excel-style NPV calculation [v3.8.1] Mar 12, 2025
@softwareengineerprogrammer softwareengineerprogrammer changed the title Add 'Discount Initial Year Cashflow' parameter for Excel-style NPV calculation [v3.8.1] Add 'Discount Initial Year Cashflow' parameter for Excel-style NPV calculation [v3.8.2] Mar 13, 2025
@softwareengineerprogrammer softwareengineerprogrammer changed the title Add 'Discount Initial Year Cashflow' parameter for Excel-style NPV calculation [v3.8.2] Add 'Discount Initial Year Cashflow' parameter for Excel-style NPV calculation [v3.8.4] Mar 14, 2025
@softwareengineerprogrammer softwareengineerprogrammer merged commit d551a4b into main Mar 19, 2025
36 checks passed
@softwareengineerprogrammer softwareengineerprogrammer deleted the npv-cashflow branch March 31, 2025 15:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant