Skip to content

Conversation

softwareengineerprogrammer
Copy link
Owner

@softwareengineerprogrammer softwareengineerprogrammer commented Apr 7, 2025

Description

This change applies ITC credit as revenue after construction rather than deduction of capital costs.

GEOPHIRES's existing ITC implementation is incorrect. It treats ITC credit as a negative capital expenditure in year 0 that is ultimately subtracted from total capital costs. For example Fervo_Project_Cape-3 actual total capital costs are $1532.78M, but are displayed/used in underlying calculations as $1072.95M via subtraction of the $459.83M ITC:

However, according to the convention used by SAM (which is presumably correct), ITC is treated as income the year after capital expenditure. This seems to make sense because taxes in general are filed and refunds received after the fiscal year in question, not during. Note the selected Federal ITC income box in year 1 in this screenshot from SAM:

Screenshot 2025-04-03 at 10 02 06

This change raises LCOE for cases with ITC because the value of the credit is now discounted (like other future cash flows). For example Fervo_Project_Cape-3 LCOE increases by 35.7% from 2.77¢/kWh to 3.76¢/kWh. Other economic metrics are also negative affected: Project NPV (0.6%), IRR (10.3%), VIR=PI=PIR (24.7%), and MOIC (22%).

Testing & Validation

  1. Regenerated example_ITC and Fervo_Project_Cape-3
  2. Manual verification of SAM ITC discount convention based on after-tax NPV:
    1. Screenshot:
    2. Year 0 NPV = capex =-1,586,465,536.
    3. Year 1 total after-tax returns = 808,724,672
    4. Year 1 after-tax NPV = -845,467,968 ≅ -1,586,465,536 + 808,724,672 * {Year 1 discount factor ≅ 0.91628}
  3. Fervo 400 MWe sensitivity: image

@softwareengineerprogrammer softwareengineerprogrammer added the bug Something isn't working label Apr 7, 2025
@softwareengineerprogrammer
Copy link
Owner Author

As of today, I'm thinking I'll cancel this PR and implement SAM financial models as separate economic models in GEOPHIRES, rather than alter BICYCLE to differ from the established behavior/literature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant