Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
0fe2e76
add fuel switching calculation
urwahah Aug 12, 2026
a21248b
add new input, equip scenario
urwahah Aug 13, 2026
466e65e
update scen, add boiler, fix awhp sizing
urwahah Aug 18, 2026
707d0fd
add york YVWH HRC
urwahah Aug 26, 2026
fb06481
add flow CO2 AWHP
urwahah Aug 31, 2026
778069c
fix: move download data button
t-kramer Sep 2, 2026
45c80ff
fix: show Scenario legend by default
t-kramer Sep 2, 2026
fe3c8fd
add scenarios & groups
urwahah Sep 2, 2026
89b4356
address review comments
urwahah Sep 3, 2026
70d8e58
update eq_scen ids
urwahah Sep 3, 2026
f2f9f11
status: resolve PR #154 conflicts
t-kramer Sep 4, 2026
47b81c3
Merge pull request #154 from CenterForTheBuiltEnvironment/fuel-switch…
t-kramer Sep 4, 2026
b7453b7
fix: address minor callback error after merging #154
t-kramer Sep 4, 2026
99efd93
average emissions factor calculation
urwahah Sep 7, 2026
bd81e22
add emissions source and avg factor inputs
urwahah Sep 7, 2026
3490220
add scenario group
urwahah Sep 7, 2026
82fe775
expose emission scenario name
urwahah Sep 7, 2026
ca32833
fix: change default eq_scenario label
t-kramer Sep 8, 2026
35eebbe
fix: disable download button if no results yet
t-kramer Sep 8, 2026
b6600b3
fix: rename eq + em scenario tbl view labels + defaults
t-kramer Sep 8, 2026
8f3aa9e
Merge pull request #175 from CenterForTheBuiltEnvironment/small-ui-up…
t-kramer Sep 8, 2026
fbcee81
fix: autocalculate results v1
t-kramer Sep 8, 2026
0df32e2
fix: adjust location selection UI
t-kramer Sep 8, 2026
80b7ecd
fix: adjust auto calc workflow
t-kramer Sep 8, 2026
a140658
Merge pull request #177 from CenterForTheBuiltEnvironment/load-select…
t-kramer Sep 8, 2026
a80d657
feat: add metadata export v1
t-kramer Sep 8, 2026
a672026
Merge pull request #178 from CenterForTheBuiltEnvironment/metadata-ex…
t-kramer Sep 8, 2026
eb7d6e5
feat: add free text search + sorting to load selection table
t-kramer Sep 8, 2026
8d2603c
Merge pull request #179 from CenterForTheBuiltEnvironment/load-select…
t-kramer Sep 8, 2026
2793c95
revise emission source options, remove shortrun weighting input
urwahah Sep 9, 2026
6c145a0
add cambium average emissions calculation
urwahah Sep 9, 2026
0d09d15
GITBOOK-15: Fuel switching
urwahah Sep 9, 2026
c74b2b7
add 4th emission scenario to chart
urwahah Sep 9, 2026
6fca317
revise constant source name, add check for positive rate
urwahah Sep 9, 2026
34b083d
remove timezone input from emissions data/scenarios
urwahah Sep 9, 2026
669fea9
blank cambium grid inputs when set to constant emissions
urwahah Sep 9, 2026
494c2cd
Merge branch 'development' of https://github.com/CenterForTheBuiltEnv…
urwahah Sep 9, 2026
483da4f
add "constant" to fixed emission factor name
urwahah Sep 9, 2026
9020a8d
resolve merge conflicts
urwahah Sep 10, 2026
c4e5971
Merge branch 'development' of https://github.com/CenterForTheBuiltEnv…
urwahah Sep 10, 2026
a9eda27
add icon with tooltip function and page tooltips
urwahah Sep 13, 2026
6149b81
Merge pull request #180 from CenterForTheBuiltEnvironment/average-emi…
t-kramer Sep 14, 2026
d27eb2d
fix: minor adjustments to PR #180
t-kramer Sep 14, 2026
db0a8c3
Merge pull request #181 from CenterForTheBuiltEnvironment/minor-fixes…
t-kramer Sep 14, 2026
2825578
Revert "fix: minor adjustments to PR #180"
t-kramer Sep 14, 2026
a64d46f
Merge pull request #182 from CenterForTheBuiltEnvironment/revert-181-…
t-kramer Sep 14, 2026
78800ba
Revert "Average emissions factors #52"
t-kramer Sep 14, 2026
1d61310
Merge pull request #183 from CenterForTheBuiltEnvironment/revert-180-…
t-kramer Sep 14, 2026
338fe9f
Revert "Revert "Average emissions factors #52""
t-kramer Sep 14, 2026
06bb6c0
Merge pull request #184 from CenterForTheBuiltEnvironment/revert-183-…
t-kramer Sep 14, 2026
c2cc61b
fix: first pass
t-kramer Sep 14, 2026
ddc0858
fix: clean up results loading behavior
t-kramer Sep 15, 2026
60b77df
fix: adjust auto calc behavior
t-kramer Sep 15, 2026
acb9c4d
fix: adjust trigger to fire correctly
t-kramer Sep 15, 2026
a88c2b5
Merge pull request #186 from CenterForTheBuiltEnvironment/update-calc…
t-kramer Sep 15, 2026
bbf2d7a
fix: move up Docs link in sidebar
t-kramer Sep 15, 2026
579bd04
Merge pull request #187 from CenterForTheBuiltEnvironment/move-docume…
t-kramer Sep 15, 2026
70c5389
move docs link references to config.py
urwahah Sep 16, 2026
6d1b9fd
Merge branch 'development' into tooltips-#167
t-kramer Sep 16, 2026
c46c446
Merge pull request #185 from CenterForTheBuiltEnvironment/tooltips-#167
t-kramer Sep 16, 2026
b819985
fix: re-add repo link after merge
t-kramer Sep 16, 2026
0760011
update AWHP scenario group name, correct HHWST to be consistent
urwahah Sep 16, 2026
ba0d642
removed or defined undefined acronyms
praftery Sep 16, 2026
c982279
Merge pull request #173 from CenterForTheBuiltEnvironment/additional-…
t-kramer Sep 17, 2026
5eece99
fix: address #188, adjust scen ordering
t-kramer Sep 17, 2026
4bad6a2
Merge pull request #189 from CenterForTheBuiltEnvironment/fix-default…
t-kramer Sep 17, 2026
eb9928d
fix: pin loads library table header while scrolling
praftery Sep 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
748 changes: 374 additions & 374 deletions data/input/building_metadata.csv

Large diffs are not rendered by default.

386 changes: 385 additions & 1 deletion data/input/equipment_data.JSON

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions data/input/metadata_index.json
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,12 @@
]
},
"emissions": {
"elec_emission_source" : [
"Marginal (Cambium, Long-run)",
"Marginal (Cambium, Short-run)",
"Average (Cambium)",
"Constant (User-provided)"
],
"year": [
2025,
2030,
Expand Down
16 changes: 10 additions & 6 deletions docs/documentation/calculations.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,12 @@ The second step is to convert the electricity and gas site energy, and any refri

* The electricity emissions data is taken from Cambium (see further information in [Emissions](emissions.md)) in month-hour average format (data is provided for each hour of a representative day for every month). This is expanded to match with the full 8,760-hour resolution of the site energy data.

**Step 3: Calculate emissions**
**Step 3: Calculate fuel switching (**[**if enabled**](equipment.md#backup-equipment)**)**

* The hourly carbon emissions intensity for electric and gas heating is calculated using the corresponding emissions factor and equipment operating efficiency.
* For hours where electricity carbon intensity is higher than gas, the HHW load served by the AWHP is switched to the gas boiler.

**Step 4: Calculate emissions**

* The total emissions for each fuel is calculated using the total usage and fuel emissions rate.
* The total emissions associated with refrigerant leakage is calculated using the type, weight, and annual leakage rate for the the refrigerant in each equipment. Leakage is assumed to be spread evenly over the year.
Expand All @@ -110,8 +115,7 @@ The second step is to convert the electricity and gas site energy, and any refri
3. Add functionality for water cooled chillers.
4. Add cooling tower water use calculations.
5. Add functionality for chiller performance tables and/or curves instead of fixed COP.
6. Add fuel switching evaluation (based on grid emissions and equipment COP).
7. Add load shifting evaluation (thermal energy storage).
8. Add exhaust air heat recovery as an optional heat source for WWHPs.
9. Add functionality for AWHP models with heat recovery.
10. Add utility cost calculations.
6. Add load shifting evaluation (thermal energy storage).
7. Add exhaust air heat recovery as an optional heat source for WWHPs.
8. Add functionality for AWHP models with heat recovery.
9. Add utility cost calculations.
4 changes: 2 additions & 2 deletions docs/documentation/emissions.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ The grid scenarios project the possible evolution of the US electricity sector t
6. **High Natural Gas Prices**: The same set of base assumptions as the first scenario but where natural gas prices are assumed to be higher.
7. **Low Renewable Energy and Battery Costs With High Natural Gas Prices**: The same set of base assumptions as the first scenario but with higher natural gas prices and where renewable energy and battery costs are assumed to be lower and performance improvements greater.

#### GEA Grid Region
#### Generation and Emission Assessment Grid Region

The Generation and Emission Assessment grid region. GEA regions are based on data from the [EPA's eGRID subregions](https://www.epa.gov/green-power-markets/us-grid-regions). This input is automatically populated based on the specified building location, but can be edited by the user.
The Generation and Emission Assessment (GEA) grid region. GEA grid regions are based on data from the [EPA's eGRID subregions](https://www.epa.gov/green-power-markets/us-grid-regions). This input is automatically populated based on the specified building location, but can be edited by the user.

#### Emission Type

Expand Down
16 changes: 12 additions & 4 deletions docs/documentation/equipment.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Equipment scenarios are defined on this page. An explanation for each input and

### Inputs

For each category of equipment noted below, the tool's equipment library defines a number of equipment models with energy and emissions characteristics, including capacity, efficiency, operating temperatures, and refrigerant type and weight. The library can be viewed in full [here](../../data/input/equipment_data.JSON).
For each category of equipment noted below, the tool's equipment library defines a number of equipment models with energy and emissions characteristics, including capacity, efficiency, operating temperatures, and refrigerant type and weight. The library can be viewed in full [here](https://github.com/CenterForTheBuiltEnvironment/decarb-tool/blob/development/data/input/equipment_data.JSON).

<details>

Expand Down Expand Up @@ -70,13 +70,13 @@ These two inputs determine how the total number of AWHP units, not including red

An integer number of additional units for redundancy. The default value is 1, i.e., N+1 redundancy. The total number of AWHP units, including redundancy, is used in refrigerant leakage calculations.

**AWHP Use Cooling**
**Use AWHP for Cooling**

This input determines if the AWHPs serve cooling loads. The tool prioritizes heating loads, so the cooling capacity in a given hour is calculated using the number of units not used to serve heating load.

**AWHP Sizing Priority**

This input determines which load profile (heating, cooling, or both) is used to calculate the number of units per the sizing mode and value inputs. The default is heating load. Not editable if AWHP Use Cooling is unchecked.
This input determines which load profile (heating, cooling, or both) is used to calculate the number of units per the sizing mode and value inputs. The default is heating load. Not editable if Use AWHP for Cooling is unchecked.

</details>

Expand All @@ -95,6 +95,10 @@ The default equipment types are all specific equipment models.

Two types of backup heating equipment are defined: gas boilers and electric resistance heaters. Both are assumed to have fixed efficiency over all operating conditions. A range of typical gas boiler efficiencies are provided; the default is 80% efficiency.

**Use Optimal Heating Fuel**

Dynamically switch between electric and gas heating based on emissions (see [Calculations](calculations.md#calculation-1) for further detail). Only selectable if the scenario contains both AWHP and gas boiler backup heating.

**Backup Cooling**

The backup cooling equipment is assumed to be an air-cooled chiller with fixed efficiency over all operating conditions. Generic units are defined with efficiency values per the IECC.
Expand All @@ -103,7 +107,7 @@ The backup cooling equipment is assumed to be an air-cooled chiller with fixed e

### Default Scenario Groups

A summary of the significant inputs in each scenario group is provided below. The full list of inputs for each default scenario can be viewed in the tool or [here](../../data/input/equipment_data.JSON#L729).
A summary of the significant inputs in each scenario group is provided below. The full list of inputs for each default scenario can be viewed in the tool or [here](https://github.com/CenterForTheBuiltEnvironment/decarb-tool/blob/development/data/input/equipment_data.JSON#L729).

#### Default

Expand All @@ -121,6 +125,10 @@ This scenario group evaluates the impact of heat recovery with different configu

This scenario group varies the WWHP and AWHP heating hot water supply temperature and performance calculation model (fixed vs OAT-based reset), holding all other inputs constant.

#### Dynamic Fuel Switching

This scenario group compares fully gas and fully electric heating plants with a partial AWHP scenario and a fuel switching scenario.

### Future Development

1. Allow users to edit the equipment library and add new equipment models.
Expand Down
4 changes: 2 additions & 2 deletions docs/documentation/loads/load-types.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ Expand this dropdown and select `Open Library` to access the Load Data Library p

#### DOE

The Simulated:DOE dataset contains loads generated using the [DOE Commercial Reference Building models](https://www.energy.gov/cmei/buildings/commercial-reference-buildings) with every combination of the following characteristics:
The Simulated:DOE dataset contains loads generated using the [DOE commercial prototype building models](https://www.energycodes.gov/prototype-building-models) with every combination of the following characteristics:

* 4 building types: Hospital, Large Office, Outpatient Healthcare, Large Hotel
* 2 vintages: 2004, 2022
* 16 climate zones: 1A, 2A-B, 3A-C, 4A-C, 5A-C, 6A-B, 7, 8. The representative cities used for each climate zone are listed [here](https://www.energy.gov/cmei/buildings/commercial-reference-buildings).
* 16 climate zones: 1A, 2A-B, 3A-C, 4A-C, 5A-C, 6A-B, 7, 8. The representative cities used for each climate zone are listed [here](https://www.energycodes.gov/prototype-building-models).

The heating loads in this dataset include only heating hot water (HHW) loads.

Expand Down
9 changes: 6 additions & 3 deletions layout/charts.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@ def _chart_block(controls, graph_id, height=600):
controls,
dmc.Paper(
dcc.Loading(
type="default",
type="circle",
delay_show=300,
delay_hide=100,
children=dcc.Graph(
id=graph_id,
style={"height": f"{height}px", "width": "100%"},
Expand Down Expand Up @@ -49,12 +51,13 @@ def _emission_scen_seed():


def emissions_bar_chart():
seed_options = _emission_scen_seed()
controls = _controls_bar(
[
dmc.MultiSelect(
id="emission-em-scen-dropdown",
data=_emission_scen_seed(), # will be overwritten dynamically
value=["em_scenario_a", "em_scenario_b", "em_scenario_c"],
data=seed_options, # will be overwritten dynamically
value=[opt["value"] for opt in seed_options],
placeholder="Emission Scenarios",
searchable=True,
clearable=True,
Expand Down
Loading
Loading