Skip to content

[WIP] SAM-EM support all end use options and surface applications#143

Open
softwareengineerprogrammer wants to merge 64 commits intomainfrom
sam-em-all-end-uses
Open

[WIP] SAM-EM support all end use options and surface applications#143
softwareengineerprogrammer wants to merge 64 commits intomainfrom
sam-em-all-end-uses

Conversation

@softwareengineerprogrammer
Copy link
Copy Markdown
Owner

@softwareengineerprogrammer softwareengineerprogrammer commented Mar 27, 2026

Description

  1. Implements SAM-EM support for all End-Use Options (Direct-Use Head, CHP) and Surface Applications/Power Plant Types (AC, HP, DH) NatLabRockies/GEOPHIRES-X#475
  2. Addresses SAM-EM Carbon Credits Enhancements NatLabRockies/GEOPHIRES-X#476

TODO

  1. Document/clarify and/or bug fix: Lowering injection temperature for cogen topping cycle increases heat production but does not affect electricity production (current behavior allegedly might be correct despite being counterintuitive...)
  2. 🚧 Support Direct-Use Heat per FIXME: e47a9c5, 797f00c, 6df5a63
  3. LCOH & LCOC SAM cash flow #144
    1. Cooling provided should be in kWh, not kWh/yr
    2. Assess overall correctness/accuracy of CAPEX_heat_electricity_plant_ratio approach - can we get away with just applying the fraction to PV of costs?
  4. Cash flow:
    1. Heat price: a1fc61e
    2. Heat price should not be shown for pre-revenue years: 9b39280
    3. Heat produced: a1fc61e
    4. Render price line items as $/ (not USD/): cb3a41d
    5. Electricity to/from grid for heat/CHP end-uses
    6. Electricity purchase ($) where applicable (Electricity Rate for cooling, maybe others)
    7. Fuel expense ($) where applicable
    8. (maybe/tentative) plus: delineators to indicate summation to capacity payment revenue line item
  5. Validate CHP options correctness
  6. 🚧 End Use- & Surface Application-specific case report outputs: 2f203ed, bf21060
    1. LCOH
    2. LCOC
    3. Total CAPEX ($/kW)
      1. audit applicability
      2. tooltip text update
  7. 🚧 Update data center example to be CHP: 57f04d2
    1. account for $562M AC CAPEX (shifted from AddOn capex): a06d8b6
  8. Carbon price should be in USD/tonne, not USD/lb: moved to SAM-EM Carbon Credits Enhancements NatLabRockies/GEOPHIRES-X#476
  9. Consider addressing:
    1. Deduplicate calls to calculate_pre_revenue_costs_and_cashflow NatLabRockies/GEOPHIRES-X#452
    2. Ignore default Ending {End-Use} Sale Price if not provided NatLabRockies/GEOPHIRES-X#449
    3. Remove Injection Temperature parameter for electricity end-use examples
    4. clean up EXTRA_{HEAT, ELECTRICITY} redundancy
    5. (maybe/optional) add cooling cogen end-uses equivalent to existing heat options (and switch data center example to cogen cooling)

Testing & Verification

  1. Unit tests added:
    1. example_SAM-single-owner-PPA-7_chp
    2. example_SAM-single-owner-PPA-8_heat
    3. example_SAM-single-owner-PPA-9_cooling
  2. Unit tests updated:
    1. test_only_electricity_end_use_supported → [test_direct_use_heat_end_use_supported]([WIP] SAM-EM support all end use options and surface applications #143
      changes#diff-894b10b737d88bd3c08bc3eaf69146781055586f575a582c09b5911feb891b38R307)
    2. example_SAM-single-owner-PPA-6_carbon-revenue
    3. example14_data-center
  3. 🚧 Manual testing:
    1. geophires?shared-geophires-result-id=9eac470a-547e-40b7-8f7a-473e6332c52b

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)

Self-reviewed in #143

@softwareengineerprogrammer softwareengineerprogrammer added the enhancement New feature or request label Mar 27, 2026
@softwareengineerprogrammer softwareengineerprogrammer changed the title SAM-EM support all end use options [WIP] SAM-EM support all end use options Mar 27, 2026
@softwareengineerprogrammer softwareengineerprogrammer changed the title [WIP] SAM-EM support all end use options [WIP] SAM-EM support all end use options and surface applications Mar 28, 2026
…apping definition removed from SUTRAWellbores for correct schema generation)
@softwareengineerprogrammer softwareengineerprogrammer added bug Something isn't working documentation Improvements or additions to documentation and removed bug Something isn't working labels Apr 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant