Skip to content

Commit

Permalink
Add check on secondary heating in measure def
Browse files Browse the repository at this point in the history
To avoid accounting issues, use convention that a measure that pairs primary and secondary heating must match the fuel of the latter with the former. Without this, measures that pair fossil-based heating FS with electric cooling inadvertently pull in secondary electric heating along with secondary gas heating (the two have identical tech names). That secondary electric heating is tagged as occuring in a fuel switching context and is not correctly competed with secondary electric heating that is not in a fuel switching context.
  • Loading branch information
jtlangevin committed Jan 28, 2025
1 parent b98387b commit 83e79a5
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions scout/ecm_prep.py
Original file line number Diff line number Diff line change
Expand Up @@ -3123,6 +3123,14 @@ def fill_mkts(self, msegs, msegs_cpl, convert_data, tsv_data_init, opts,
# Loop through discovered key chains to find needed performance/cost
# and stock/energy information for measure
for ind, mskeys in enumerate(ms_iterable):
# For cases where secondary heating is paired with primary heating equipment, assume
# that secondary heating mseg fuel must match that of the primary heating tech
# and move to next key chain for any segments that don't meet this criterion
if "demand" not in mskeys and "secondary heating" in mskeys and "heating" in \
self.end_use["primary"] and all([x not in self.handyvars.in_all_map[
"technology"]["residential"]["supply"][mskeys[3]]["heating"] for x in
self.technology["primary"]]):
continue
# Move to next key chain for 'unspecified' building type and 'new'
# vintage; there are no new/existing floor space data for this
# building type and all data are pulled into 'existing' key chains.
Expand Down

0 comments on commit 83e79a5

Please sign in to comment.