Skip to content

Dynamic fuel switching #121 - #154

Open
urwahah wants to merge 3 commits into
developmentfrom
fuel-switching-#121
Open

Dynamic fuel switching #121#154
urwahah wants to merge 3 commits into
developmentfrom
fuel-switching-#121

Conversation

@urwahah

@urwahah urwahah commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

For #121:

  • Added a new fuel switching input "Use optimal heating fuel" under the backup heating equipment selection
  • Added new scenarios and scenario group to compare fuel switching
  • Added new columns to the loads_to_site dataframe:
    • FUEL_SWITCHING, HHW_REM_W_NG_MODE, BOILER_HHW_W_NG_MODE, GAS_BOILER_WH_NG_MODE, intermediate columns to store the "natural gas mode" load/energy use that it reverts to if gas emissions < electric emissions
    • BOILER_EQ_CALC, BOILER_CAP_W to store the scenario's boiler sizing information as it's used in the emissions function
  • Added fuel switching calculation in site_to_source
  • Moved the boiler sizing calculation to site_to_source

Here is a link to the change request to update docs for this.

A few minor changes unrelated to the fuel switching:

  • Updated the AWHP sizing logic to use the remaining HHW/CHW loads instead of the original load profile. For heat recovery scenarios this will allow the AWHP to be downsized. (This is the change causing the merge conflicts, I think all the new changes should be accepted but wasn't sure if me doing that would also merge the PR)
  • Added a 60% efficiency boiler

@urwahah urwahah added this to the 02 | Capability expansion milestone Aug 18, 2026
Comment thread src/energy.py
"NG_mode",
],
axis=1,
)

@urwahah urwahah Aug 18, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i don't love this logic of dropping columns afterward (just because i think it's unnecessary info to output), it might be nicer to call the finalize_columns function here instead of in loads_to_site. but this would mean moving the detail parameter and some small restructuring. i actually think this would be good regardless because a lot of the columns needed in site_to_source are not in the base columns defined in finalize_columns so the calculation would break if detail is ever set to False. also it's just a little annoying to have to list every column passed between loads_to_site and site_to_source.. let me know what you think!

@urwahah
urwahah requested a review from t-kramer August 18, 2026 01:36
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