⚠ This page is served via a proxy. Original site: https://github.com
This service does not collect credentials or authentication data.
Skip to content

[v3.11.11] SAM-EM MCY Levelized Metrics Update#132

Merged
softwareengineerprogrammer merged 33 commits intomainfrom
sam-em-mcy-levelized-metrics_2026-01-26-3
Jan 28, 2026
Merged

[v3.11.11] SAM-EM MCY Levelized Metrics Update#132
softwareengineerprogrammer merged 33 commits intomainfrom
sam-em-mcy-levelized-metrics_2026-01-26-3

Conversation

@softwareengineerprogrammer
Copy link
Owner

@softwareengineerprogrammer softwareengineerprogrammer commented Jan 27, 2026

Description

  1. Addresses SAM-EM Multiple Construction Years: SAM SME Design Review NatLabRockies/GEOPHIRES-X#444 (comment)
  2. Adds full cash flow CSV link to SAM-EM MCY documentation per SAM-EM Multiple Construction Years: SAM SME Design Review NatLabRockies/GEOPHIRES-X#444 (comment)
image image

SME Review

Questions

  1. Why does SAM report LCOE in Year 0 instead of Year -1? Should GEOPHIRES follow the same convention (even for long construction periods where Year -N vs. Year 0 LCOE is significantly different)?
    1. A: Basis for question was incorrect, SAM does not have Year -1
  2. What other rows (if any) should be considered for backfilling? (e.g. pre/after-tax returns)
    1. A: Heuristic: backfill rows directly related to levelized metrics.
    2. Implementation decision: Backfilling AFTER-TAX LCOE AND PPA PRICE rows; not backfilling pre-/post-tax return rows

Demonstrations of backfill calculations

Generated at d69798b:

  1. https://gist.github.com/softwareengineerprogrammer/64bffe886046ccf70b2871369dcb14e9#file-sam-em-mcy-levelized-metrics_2026-01-26-2_separate-backfilled-rows-csv-L112: image

  2. https://gist.github.com/softwareengineerprogrammer/6e54cdf9cc9456790b01695027353855#file-sam-em-mcy-levelized-metrics_2026-01-26-2_native-backfilled-rows-csv-L112

TODO

  1. CHANGELOG entry
  2. 🚧 Sync web interface examples/schema
  3. Regenerate FPC5 sensitivity analysis once web interface backend has been updated (otherwise shared result LCOEs will be out of sync/incorrect): https://github.com/softwareengineerprogrammer/GEOPHIRES/pull/132/commits/fbe041cdca79aedd939003780475b85dae9c6fa7a
  4. Update LCOE tooltip text (if necessary/applicable - pending review of current content): Not necessary for now, "For SAM economic models, this is the nominal LCOE value (as opposed to real)." remains accurate. Created tangentially-relevant tracking issue: SAM-EM LCOE/Electricity breakeven price field name discrepancy NatLabRockies/GEOPHIRES-X#459
  5. Add sanity-check-level unit tests: a99b942
  6. Sync SAM-EM MCY documentation: 7956432, 1648289, 3e68325
  7. Update examples: 4431a0d
  8. LPPA: 43bc438
  9. Update LCOE extraction logic: 1ce5e73
  10. Backfill pre/after-tax returns (?) (See Questions section above)

Testing & Verification

  1. Unit tests added: test_post_processed_levelized_metrics
  2. Unit tests updated: Regenerated affected examples (https://github.com/softwareengineerprogrammer/GEOPHIRES/pull/132/changes#diff-afd6405a1fe39334a3befccfb8e1c2a6de10076dcef2731c48a7f0cf11aca3ac). Note that example LCOE/metrics are unaffected and some cash flows are only negligibly different due to trivial differences in rounding conventions for backfilled line items (per relevant commit messages).
  3. Manual testing: Manually tested locally and with web interface

Change Checklist:

Observe the following checklist items if your change includes a new version (see versioning notes and version management docs).

Before merging:

  1. Add a CHANGELOG entry (example). RST Template:
M.m.P: `TITLE <https://github.com/NREL/GEOPHIRES-X/pull/PR-NUMBER>`__ | `release <https://github.com/NREL/GEOPHIRES-X/releases/tag/vM.m.P>`__

After merging:

  1. Push tag(s) to GitHub: git push origin refs/tags/vM.m.P
  2. Post a change announcement to the GEOPHIRES Change Announcements Discussion (example). Markdown template:
M.m.p: [TITLE](https://github.com/NREL/GEOPHIRES-X/pull/PR-NUMBER) | [release](https://github.com/NREL/GEOPHIRES-X/releases/tag/vM.m.P)

Additional metadata such as TODO items or link to your initial self-review (PR into your own fork created prior to submission)

…ODO to deploy to local web interface for screenshot
…roject_Cape-{5,6}. Note that non-MCY examples LCOE/metrics are unaffected and cash flows are only negligibly different due to trivial differences in rounding conventions for backfilled line items
…applicable (supercedes note re: marginal rounding differences in 4431a0d commit message, with possible partial exception for Fervo_Project_Cape-4 - TBD if persisting trivial discrepancy is due to rounding convention in question, or unidentified upstream difference in convention, such as in npf.npv impl)
…, where applicable (supercedes note re: marginal rounding differences in 4431a0d commit message, with possible partial exception for Fervo_Project_Cape-4 - TBD if persisting trivial discrepancy is due to rounding convention in question, or unidentified upstream difference in convention, such as in npf.npv impl)"

Reversion note/reason: Trivial rounding discrepancies exist either way, so we will prefer the more-correct rounding convention after all.

This reverts commit a551546.
@softwareengineerprogrammer softwareengineerprogrammer changed the title [WIP] SAM-EM MCY Levelized Metrics Update SAM-EM MCY Levelized Metrics Update Jan 28, 2026
@softwareengineerprogrammer softwareengineerprogrammer added bug Something isn't working documentation Improvements or additions to documentation labels Jan 28, 2026
@softwareengineerprogrammer softwareengineerprogrammer changed the title SAM-EM MCY Levelized Metrics Update [v3.11.11] SAM-EM MCY Levelized Metrics Update Jan 28, 2026
@softwareengineerprogrammer softwareengineerprogrammer merged commit fb3f0d0 into main Jan 28, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working documentation Improvements or additions to documentation question Further information is requested

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant