Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
6418024
Support dual fuel measures
jtlangevin Aug 8, 2025
e562cce
Fix bug in dual fuel reporting
jtlangevin Oct 2, 2025
04793a8
Fix issue #502
jtlangevin Sep 10, 2025
8b70866
Fix test after correction for #502
jtlangevin Sep 19, 2025
3722d2a
Additional fix to address #502 to get test to pass
jtlangevin Sep 22, 2025
a07b69c
Add minimum efficiency flag
jtlangevin Oct 10, 2025
8412866
Fix #506
jtlangevin Jun 9, 2025
0283105
Fix bug in competition of HVAC-only vs. envelope measures
jtlangevin Jul 9, 2025
fcd6ace
Upload results files from CI build
Oct 13, 2025
001b850
Improve read-in of dual fuel file
jtlangevin Oct 27, 2025
318fc10
Represent cooling additions under electrification
jtlangevin Aug 8, 2025
6bf69a1
Upload results files from CI build
Oct 13, 2025
4d8d045
Make tech_switch_to checks less restrictive
jtlangevin Oct 27, 2025
ef7f77b
Represent alt rates, enhance incentives
jtlangevin Oct 3, 2025
43873b0
Upload results files from CI build
Oct 13, 2025
63c2233
Represent cooling additions under electrification
jtlangevin Aug 8, 2025
c190d89
Add high-resolution competition option
jtlangevin Oct 6, 2025
cd5a955
Upload results files from CI build
Oct 13, 2025
e8ad51c
Represent alt rates, enhance incentives
jtlangevin Oct 3, 2025
66a05c7
Add high-resolution competition option
jtlangevin Oct 6, 2025
494acfc
Represent alt rates, enhance incentives
jtlangevin Oct 3, 2025
991a93f
Represent state appliance regs, codes and BPS
jtlangevin Oct 8, 2025
0799dd9
Tweaks to breakout and efficient-captured adjustments
jtlangevin Oct 10, 2025
b1472d8
Upload results files from CI build
Oct 13, 2025
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
58 changes: 54 additions & 4 deletions docs/config_readable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,10 @@ ecm_prep:
detail_brkout: (array) List of options by which to breakout
results. The `fuel types` option is only valid if the split_fuel
argument is set to false. The `all` option selects all three
breakout categories. Allowed values are 0 or more of {all,
buildings, fuel types, regions}. Default []
breakout categories. The 'codes/bps' option sets the minimum
building type/vintage breakouts needed to assess codes and
performance standards. Allowed values are 0 or more of {all,
buildings, codes/bps, fuel types, regions}. Default []
ecm_directory: (string) Directory containing ECM definitions
and savings shapes (if applicable). The directory path can
be absolute or relative to either the configuration file (.yml)
Expand Down Expand Up @@ -90,6 +92,19 @@ ecm_prep:
Default null
health_costs: (boolean) If true, enable health costs. Requires
alt_regions to be set to `EMM`. Default False
incentives:
incentive_levels: (['string']) Level of federal and state
incentives (e.g., tax credits, rebates) for measure adoption.
The aeo option reverts to incentive levels in the AEO reference
case forecast. Allowed values are {aeo, aggressive, aggressive
state, optimistic, reference}. Default aeo
incentive_restrictions: (string) Restrictions to apply to
evaluation of incentives. Setting to all removes all incentives,
including those in the reference case, while null imposes
no additional restrictions. Allowed values are {all, no
electric, no federal, no federal electric, no federal fossil,
no fossil, no ira, no sub-fed fossil, no sub-federal, no
sub-federal electric, null}. Default null
no_eff_capt: (boolean) If true, suppress reporting of ECM-captured
efficient energy use. Default False
no_scnd_lgt: (boolean) If true, disable the calculation of secondary
Expand Down Expand Up @@ -129,6 +144,33 @@ ecm_prep:
Default False
split_fuel: (boolean) If true, split out ECM results reporting
by fuel type. Default False
sub_fed_policy:
bps: (string) State or local Building Performance Standards
(BPS) including energy use index targets and/or onsite emissions
reduction requirements, which apply to existing buildings.
Null removes this driver entirely. Allowed values are {aggressive,
optimistic, reference, null}. Default null
bps_comply_com: (number) Commercial compliance fraction to
assume for BPS scenario implementation. Default 1
bps_comply_res: (number) Residential compliance fraction to
assume for BPS scenario implementation. Default 1
code_comply_com: (number) Commercial compliance fraction to
assume for code scenario implementation. Default 1
code_comply_res: (number) Residential compliance fraction
to assume for code scenario implementation. Default 1
codes: (string) State or local new building codes w/ additional
energy index improvements over model code and/or onsite
emissions reduction requirements/incentives.Null removes
this driver entirely. Allowed values are {aggressive, optimistic,
reference, null}. Default null
low_volume_rate: (string) Reduce volumetric electric rates,
possibly with concurrent increase in fixed charges. Null
removes this driver entirely. Allowed values are {aggressive,
optimistic, reference, null}. Default null
state_appl_regs: (string) State or local emissions-related
regulations that remove certain appliance choices from the
market. Null removes this driver entirely. Allowed values
are {aggressive, optimistic, reference, null}. Default null
tsv_metrics:
tsv_average_days: (string) The day type to average over. Required
if tsv_type is `energy` or tsv_power_agg is `average`. Allowed
Expand Down Expand Up @@ -160,8 +202,13 @@ ecm_prep:
are {energy, power, null}. Default null
verbose: (boolean) If true, enable verbose mode. Default False
run:
high_res_comp: (boolean) If true, resolve competition cost data
to each market microsegment (rather than averaging across
all applicable markets). Default False
mkt_fracs: (boolean) If true, flag market penetration outputs.
Default False
no_comp: (boolean) If true, suppress measure competition. Default
False
report_cfs: (boolean) If true, report competition adjustment
fractions. Default False
report_stk: (boolean) If true, report baseline/measure stock
Expand All @@ -171,7 +218,10 @@ run:
configuration file (.yml) or the command line path, depending
on where the argument is assigned. If not provided, ./results
will be used. Default null
trim_results: (boolean) If true, reduce results file size. Default
False
trim_results: (string) Report limited results variables to reduce
results file size. String indicates whether longer-than-annual
reporting interval should also be used ('all_yrs' reports
annually). Allowed values are {all_yrs, every_five_yrs, every_other_yr,
every_ten_yrs, null}. Default null
verbose: (boolean) If true, print all warnings to stdout. Default
False
52 changes: 52 additions & 0 deletions ecm_definitions/energyplus_data/dual_fuel_ratios/RTU_gas.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
state,remain_frac
AL,0.287428343
AK,0.399294832
AZ,0.191027742
AR,0.212070134
CA,0.181096479
CO,0.364728057
CT,0.30486797
DE,0.256572013
DC,0.170449121
FL,0.235650505
GA,0.274319322
HI,0.756536792
ID,0.253386745
IL,0.379058671
IN,0.373272833
IA,0.457009503
KS,0.347672429
KY,0.370394935
LA,0.177639678
ME,0.789983186
MD,0.280554041
MA,0.313316312
MI,0.333795709
MN,0.505632079
MS,0.302239805
MO,0.353145966
MT,0.433829274
NE,0.360188719
NV,0.288878429
NH,0.415335099
NJ,0.335777977
NM,0.242731118
NY,0.340864678
NC,0.294794694
ND,0.608008636
OH,0.36441457
OK,0.22065905
OR,0.164661346
PA,0.355822018
RI,0.263188738
SC,0.265704606
SD,0.516938337
TN,0.322982955
TX,0.211044165
UT,0.307403686
VT,0.614022355
VA,0.255498841
WA,0.189952532
WV,0.272518929
WI,0.385878029
WY,0.435953059
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
state,remain_frac
AL,0.065304047
AK,0
AZ,0.099131566
AR,0.231208406
CA,0.040893797
CO,0.066900016
CT,0.24360357
DE,0.011317982
DC,0.003212938
FL,0.012724722
GA,0.049149609
HI,NA
ID,0.052492877
IL,0.149110097
IN,0.256558411
IA,0.264209233
KS,0.254925096
KY,0.046594417
LA,0.239606028
ME,0.153215093
MD,0.067188439
MA,0.268061746
MI,0.208528973
MN,0.225863294
MS,0.048722772
MO,0.273466064
MT,0.069924458
NE,0.215088608
NV,0.057155131
NH,0.21304057
NJ,0.292337061
NM,0.052911686
NY,0.271868484
NC,0.077440767
ND,0.160921837
OH,0.41016439
OK,0.251375456
OR,0.173810036
PA,0.345687032
RI,0.145588573
SC,0.015630059
SD,0.228662888
TN,0.067092312
TX,0.236961597
UT,0.054973678
VT,0.133931457
VA,0.062223541
WA,0.125306759
WV,0.011599973
WI,0.306900721
WY,0.096191674
52 changes: 52 additions & 0 deletions ecm_definitions/energyplus_data/dual_fuel_ratios/boiler_gas.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
state,remain_frac
AL,0.031014538
AK,0.013714787
AZ,0.010837947
AR,0.020745774
CA,0.002961119
CO,0.015285531
CT,0.021424955
DE,0.022127746
DC,0.012911115
FL,0.017973131
GA,0.023221406
HI,1.28E-04
ID,0.017096258
IL,0.033303217
IN,0.035759436
IA,0.067640845
KS,0.016515519
KY,0.031804081
LA,0.015921741
ME,0.058399081
MD,0.026774436
MA,0.016483224
MI,0.014033944
MN,0.102587001
MS,0.024187319
MO,0.026863374
MT,0.05828883
NE,0.030116483
NV,0.008157137
NH,0.072759927
NJ,0.012824536
NM,0.007505554
NY,0.016882816
NC,0.033055775
ND,0.171729915
OH,0.021000886
OK,0.012019338
OR,0.034659043
PA,0.016691343
RI,0.012263702
SC,0.072188021
SD,0.062267144
TN,0.022364064
TX,0.012244062
UT,0.008398451
VT,0.053643834
VA,0.025490197
WA,0.027544698
WV,0.02326001
WI,0.047353044
WY,0.037552723
50 changes: 50 additions & 0 deletions ecm_definitions/energyplus_data/dual_fuel_ratios/furnace_gas.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
state,remain_frac
AL,0.081735027
AR,0.071114369
AZ,0.088457318
CA,0.09011111
CO,0.291983927
CT,0.324447154
DC,0.276131389
DE,0.163283072
FL,0.046533163
GA,0.074193879
IA,0.374491987
ID,0.164687914
IL,0.327969852
IN,0.281192717
KS,0.18638592
KY,0.183054963
LA,0.050288665
MA,0.354791063
MD,0.200281108
ME,0.450097866
MI,0.358192428
MN,0.514839468
MO,0.184430855
MS,0.075879589
MT,0.31500051
NC,0.099517562
ND,0.584577824
NE,0.310391727
NH,0.350330126
NJ,0.310406146
NM,0.187268435
NV,0.133499281
NY,0.380146117
OH,0.289150822
OK,0.066282635
OR,0.09747341
PA,0.279283741
RI,0.368450514
SC,0.069301445
SD,0.437020173
TN,0.114403128
TX,0.047846849
UT,0.198660434
VA,0.162176399
VT,0.351632425
WA,0.13542427
WI,0.440768166
WV,0.2460229
WY,0.289152316
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
state,remain_frac
AL,0.15353519
AR,0.132502624
AZ,0.188758249
CA,0.195178104
CO,0.233787532
CT,0.276704696
DC,0.373001877
DE,0.186768954
FL,0.129318447
GA,0.120909496
IA,0.371299779
ID,0.188363831
IL,0.263396089
IN,0.275817715
KS,0.216675771
KY,0.190296586
LA,0.100348355
MA,0.322615234
MD,0.224654604
ME,0.319093596
MI,0.387089138
MN,0.557373516
MO,0.216736031
MS,0.154757671
MT,0.259964511
NC,0.173556223
ND,0.549331591
NE,0.293762017
NH,0.29336848
NJ,0.316945184
NM,0.184862378
NV,0.179521307
NY,0.340436468
OH,0.276767112
OK,0.150336431
OR,0.080445986
PA,0.257016819
RI,0.298240039
SC,0.123258716
SD,0.415955586
TN,0.237505946
TX,0.128556834
UT,0.208972156
VA,0.201121352
VT,0.356490925
WA,0.108470158
WI,0.468287547
WV,0.256095366
WY,0.284066788
6 changes: 4 additions & 2 deletions inputs/config_default.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ run:
results_directory: null
verbose: false
mkt_fracs: false
trim_results: false
trim_results: null
report_stk: false
report_cfs: false
report_cfs: false
no_comp: false
high_res_comp: false
5 changes: 3 additions & 2 deletions scout/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ class FilePaths:
CONVERT_DATA = SUPPORTING_DATA / "convert_data"
STOCK_ENERGY = SUPPORTING_DATA / "stock_energy_tech_data"
TSV_DATA = SUPPORTING_DATA / "tsv_data"
SUB_FED = SUPPORTING_DATA / "sub_fed"

# Non-package data:
_parent_dir = Path.cwd() # parent dir of repo
Expand Down Expand Up @@ -283,10 +284,10 @@ def check_dependencies(self, args: argparse.NameSpace): # noqa: F821
" assessing grid decarbonization")

# detailed breakout
if "fuel types" in args.detail_brkout and args.split_fuel:
if "fuel types" in args.detail_brkout and not args.split_fuel:
raise ValueError(
"Detailed breakout (`detail_brkout`) cannot include `fuel types` if"
" split_fuel==True")
" split_fuel==False")

# retrofits
if args.retrofit_type == "increasing" and (not args.retrofit_multiplier or
Expand Down
Loading
Loading