Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
272 commits
Select commit Hold shift + click to select a range
2f35e09
Forgot to add json_pointer_enumerations for 22-42
jugonzal07 Aug 28, 2025
9d048a3
Added 22-42 unique rule ID
jugonzal07 Aug 28, 2025
3869727
Merge branch 'develop' of https://github.com/pnnl/ruleset-checking-to…
weilixu Sep 2, 2025
2e783eb
Merge branch 'feature/ashrae-9012022' of https://github.com/pnnl/rule…
yunjoonjung-PNNL Sep 2, 2025
1e29a29
First cut at 6-10 for ASHRAE 90.1-2022
jugonzal07 Sep 2, 2025
03adb6d
Corrected the logic
yunjoonjung-PNNL Sep 4, 2025
264d727
Corrected rule logic
yunjoonjung-PNNL Sep 4, 2025
70c87e3
Developed 6-12 rule
yunjoonjung-PNNL Sep 5, 2025
b1e0aa7
Developed 6-10 rule
yunjoonjung-PNNL Sep 5, 2025
34a9ada
initial commit
yunjoonjung-PNNL Sep 5, 2025
c191a7b
Added table_J_6_lookup table
yunjoonjung-PNNL Sep 5, 2025
d088da0
Added 901-2022 test workflow
yunjoonjung-PNNL Sep 8, 2025
c1a133e
black formatting
yunjoonjung-PNNL Sep 8, 2025
80e2cff
Fixed the interior lighting space type to SALES_AREA for section 6-11…
jugonzal07 Sep 9, 2025
bcc874d
First cut at 6-12 rule test for ASHRAE 90.1-2022
jugonzal07 Aug 19, 2025
652d72b
Added 6-12 to ASHRAE 2019 as well.
jugonzal07 Sep 9, 2025
263ccdf
Correcting pass/fail cases in 5-43. I got them flipped.
jugonzal07 Sep 9, 2025
8e0a750
First cut at rule test 22-43 rule test for 90.1-2022
jugonzal07 Sep 12, 2025
9870350
Merge branch 'RCT/YJ/rule_testing_2022' of https://github.com/pnnl/ru…
yunjoonjung-PNNL Sep 15, 2025
227c634
Merge pull request #1790 from pnnl/RT/JG/ruletest_5_43
yunjoonjung-PNNL Sep 15, 2025
b3bd07f
Merge branch 'RCT/YJ/rule_testing_2022' of https://github.com/pnnl/ru…
yunjoonjung-PNNL Sep 15, 2025
c96c6f8
Merge branch 'RT/JG/ruletest_22_42' of https://github.com/pnnl/rulese…
yunjoonjung-PNNL Sep 15, 2025
26390dc
Updated rule logic
yunjoonjung-PNNL Sep 15, 2025
3dd2aad
Merge branch 'RCT/YJ/rule_testing_2022' of https://github.com/pnnl/ru…
yunjoonjung-PNNL Sep 15, 2025
ee013af
Fixed rule error
yunjoonjung-PNNL Sep 15, 2025
8c810dc
Merge branch 'RCT/YJ/rule_testing_2022' of https://github.com/pnnl/ru…
yunjoonjung-PNNL Sep 15, 2025
4d30233
Fixed 6-12 rule
yunjoonjung-PNNL Sep 15, 2025
2c691dd
initial commit
yunjoonjung-PNNL Sep 15, 2025
ae5d6eb
Small fix for 6-10 test IDs.
jugonzal07 Sep 16, 2025
91d7c73
Fixed issues in 6-12 a, b, and c. Some were related to test and stand…
jugonzal07 Sep 16, 2025
28378bd
Updated rule logic
yunjoonjung-PNNL Sep 16, 2025
57b91f2
Merge pull request #1806 from pnnl/RT/JG/ruletest_6_12
yunjoonjung-PNNL Sep 16, 2025
f8f8e21
Added 6-12 2019 rule
yunjoonjung-PNNL Sep 16, 2025
b9c39ea
Fixed issue where 6-11 c and d were baseline instead of proposed
jugonzal07 Sep 16, 2025
0647a42
Merge pull request #1789 from pnnl/RT/JG/ruletest_6_11
yunjoonjung-PNNL Sep 16, 2025
6ccb3c7
Merge branch 'feature/ashrae-9012022' of https://github.com/pnnl/rule…
yunjoonjung-PNNL Sep 16, 2025
ce10d37
Removed section 5 2022
yunjoonjung-PNNL Sep 16, 2025
b432295
Merge pull request #1821 from pnnl/RCT/YJ/rule_testing_2022
yunjoonjung-PNNL Sep 16, 2025
2ad9aa2
Merge branch 'feature/ashrae-9012022' of https://github.com/pnnl/rule…
yunjoonjung-PNNL Sep 16, 2025
0012782
Merge branch 'feature/ashrae-9012022' of https://github.com/pnnl/rule…
yunjoonjung-PNNL Sep 16, 2025
19dc9f4
First cut at 5-45 rule test JSON
jugonzal07 Sep 23, 2025
e59c9e8
First cut at rule 5-44 rule test for ASHRAE 2022
jugonzal07 Sep 23, 2025
6c07ff8
Fixed missing LPDs in 6-10 case c). Also moved things to the correct …
jugonzal07 Sep 23, 2025
699163a
Merge pull request #1808 from pnnl/RT/JG/ruletest_6_10
yunjoonjung-PNNL Sep 25, 2025
0633e7f
Deleted unneeded rule definition
yunjoonjung-PNNL Sep 26, 2025
2e5ecd5
Merge branch 'feature/ashrae-9012022' into RS/YJ/Rule_6-10-2022
yunjoonjung-PNNL Sep 26, 2025
0c48046
Developed 5-45 rule
yunjoonjung-PNNL Sep 26, 2025
6f7a3c1
Developed 5-45 rule
yunjoonjung-PNNL Sep 26, 2025
bcd9b68
Reorganize
weilixu Sep 29, 2025
ab1e81c
Merge pull request #1836 from pnnl/feature/reorganize_rds
weilixu Sep 29, 2025
40d1fd8
add 6-1 and 6-11
weilixu Sep 29, 2025
498c386
Merge branch 'develop' of https://github.com/pnnl/ruleset-checking-to…
weilixu Sep 29, 2025
7fd5b92
update rule
weilixu Sep 29, 2025
de4ef3c
Addressed PR comment
yunjoonjung-PNNL Sep 29, 2025
681ffb0
Added missing optical_properties key
yunjoonjung-PNNL Sep 29, 2025
ab977c0
Updated typo
yunjoonjung-PNNL Sep 29, 2025
270c5cc
Fix issue with 5-44 rule test
jugonzal07 Sep 29, 2025
9308888
Fix for 5-45 rule test.
jugonzal07 Sep 29, 2025
e3bfc6a
Merge pull request #1827 from pnnl/RT/JG/ruletest_5_44
yunjoonjung-PNNL Sep 30, 2025
ad4532a
Merge pull request #1828 from pnnl/RT/JG/ruletest_5_45
yunjoonjung-PNNL Sep 30, 2025
4fb539a
Merge branch 'RS/YJ/Rule_5-44_and_45-2022' of https://github.com/pnnl…
yunjoonjung-PNNL Sep 30, 2025
18d3948
Merge pull request #1832 from pnnl/RS/YJ/Rule_5-44_and_45-2022
weilixu Sep 30, 2025
a320d70
Developed Rule 21-19
yunjoonjung-PNNL Sep 30, 2025
295bd10
add 5-44 and 5-45 RDS
weilixu Sep 30, 2025
5457c0d
add RDS
weilixu Sep 30, 2025
0dcf7c9
Merge branch 'feature/ashrae-9012022' into RS/JX/Rule5-43-2022
weilixu Sep 30, 2025
281b775
rename 6-11
JacksonJ-KC Sep 30, 2025
9569636
Addressed PR comment
yunjoonjung-PNNL Sep 30, 2025
e5894a2
Removed .get line
yunjoonjung-PNNL Sep 30, 2025
1663a2f
Merge pull request #1782 from pnnl/RS/JX/Rule5-43-2022
weilixu Sep 30, 2025
f42abb0
add 5-43
weilixu Sep 30, 2025
f884d79
Updated rule no. to 6-13
yunjoonjung-PNNL Sep 30, 2025
3d88261
Updated rule no
yunjoonjung-PNNL Sep 30, 2025
4a378e3
Merge branch 'feature/ashrae-9012022' into RS/YJ/Rule_6-10-2022
yunjoonjung-PNNL Sep 30, 2025
bc6f417
Merge branch 'feature/ashrae-9012022' of https://github.com/pnnl/rule…
yunjoonjung-PNNL Oct 2, 2025
c7aa88a
Merge branch 'feature/ashrae-9012022' of https://github.com/pnnl/rule…
yunjoonjung-PNNL Oct 2, 2025
1bd25ef
Initial commit
yunjoonjung-PNNL Oct 2, 2025
ef5b58d
Updated section 6 rule tests to new numbering.
jugonzal07 Oct 6, 2025
7834653
First cut at ruletest 21-19 update.
jugonzal07 Oct 6, 2025
43fc2c6
Added missing rule def in __init__ files
yunjoonjung-PNNL Oct 6, 2025
0572f34
Merge branch 'RS/YJ/Rule_21-19-2022' into RT/JG/ruletest_21_19
yunjoonjung-PNNL Oct 6, 2025
c965103
Merge pull request #1842 from pnnl/RT/JG/ruletest_21_19
yunjoonjung-PNNL Oct 6, 2025
4c39f73
Fixed file name in init
yunjoonjung-PNNL Oct 6, 2025
661435c
Fixed rule id
yunjoonjung-PNNL Oct 6, 2025
c16dee6
Merge pull request #1841 from pnnl/RT/JG/section_6_renumbering
yunjoonjung-PNNL Oct 6, 2025
4439d93
Merge branch 'feature/ashrae-9012022' of https://github.com/pnnl/rule…
yunjoonjung-PNNL Oct 6, 2025
394782c
Merge branch 'feature/ashrae-9012022' of https://github.com/pnnl/rule…
yunjoonjung-PNNL Oct 6, 2025
a7ff397
Fixed rule id
yunjoonjung-PNNL Oct 7, 2025
6601e95
Removed 6-12-2019 rules/testing JSON
yunjoonjung-PNNL Oct 7, 2025
fb0091c
Removed 6-12 from 2019 inti file
yunjoonjung-PNNL Oct 7, 2025
fc7d21c
Revert "Removed 6-12 from 2019 inti file"
yunjoonjung-PNNL Oct 7, 2025
2a73469
Revert "Removed 6-12-2019 rules/testing JSON"
yunjoonjung-PNNL Oct 7, 2025
0be2729
Revert "Fixed rule id"
yunjoonjung-PNNL Oct 7, 2025
202c62f
Added rule 6-13-2019
yunjoonjung-PNNL Oct 7, 2025
ef60f09
Merge pull request #1840 from pnnl/RS/YJ/Rule_21-19-2022
weilixu Oct 10, 2025
d73af50
add 21-19 RDS
weilixu Oct 10, 2025
e52b511
add a hyperlink
weilixu Oct 10, 2025
0eb63f4
Merge branch 'feature/ashrae-9012022' into RS/YJ/Rule_6-12
yunjoonjung-PNNL Oct 10, 2025
77597a8
Merge branch 'feature/ashrae-9012022' of https://github.com/pnnl/rule…
yunjoonjung-PNNL Oct 13, 2025
8b4faf3
Updated fn logic
yunjoonjung-PNNL Oct 14, 2025
74fcbad
Merge branch 'feature/ashrae-9012022' into RS/YJ/Rule_6-10-2022
yunjoonjung-PNNL Oct 14, 2025
8884d4c
Fixed signs
yunjoonjung-PNNL Oct 14, 2025
2bd508b
remove unneeded line
JacksonJ-KC Oct 15, 2025
35dc001
2022 scc updates
JacksonJ-KC Oct 16, 2025
3ffa07e
save progress before switching branch
JacksonJ-KC Oct 16, 2025
fca8045
minor updates to enhance handling multiple rulesets
JacksonJ-KC Oct 16, 2025
e40897c
minor updates to enhance handling multiple rulesets
JacksonJ-KC Oct 16, 2025
915b49a
revert
JacksonJ-KC Oct 16, 2025
22fd23b
resolve import errors around active ruleset
JacksonJ-KC Oct 16, 2025
e674588
consistent use of constructions required field
JacksonJ-KC Oct 20, 2025
005ec31
undo required field changes
JacksonJ-KC Oct 20, 2025
1ddc8bd
work on ruletests
JacksonJ-KC Oct 21, 2025
cf91433
pass section 5 ruletests
JacksonJ-KC Oct 21, 2025
9c76edf
add section 21 tests
JacksonJ-KC Oct 21, 2025
b0b9fb5
stay consistent with 2019
JacksonJ-KC Oct 21, 2025
986c7cd
first attempt at optional sub-packaging
JacksonJ-KC Oct 21, 2025
3d25830
correct exclude syntax
JacksonJ-KC Oct 21, 2025
2ca2848
update lock file
JacksonJ-KC Oct 21, 2025
643a66a
Addressed PR comments
yunjoonjung-PNNL Oct 21, 2025
f35a452
Addressed PR comments
yunjoonjung-PNNL Oct 21, 2025
d4c7144
Corrected rule_check method
yunjoonjung-PNNL Oct 21, 2025
a7ca4ae
restore previous file state
JacksonJ-KC Oct 21, 2025
7c8fffc
add section 5 rules dict
JacksonJ-KC Oct 21, 2025
d7e38ac
only necessary data tables
JacksonJ-KC Oct 21, 2025
09d45cd
update enums
JacksonJ-KC Oct 21, 2025
b961960
black format
JacksonJ-KC Oct 21, 2025
bb3e78e
github workflow
JacksonJ-KC Oct 21, 2025
c072d60
Added unit tests & Updated logics
yunjoonjung-PNNL Oct 21, 2025
cb7ab3d
Removed unneeded file
yunjoonjung-PNNL Oct 21, 2025
00ec7ef
Replaced underscore with dash
yunjoonjung-PNNL Oct 21, 2025
c03a899
label test sections
JacksonJ-KC Oct 22, 2025
8d5eda3
black format
JacksonJ-KC Oct 22, 2025
ca79321
dynamic discovery implementation
JacksonJ-KC Oct 22, 2025
558acd3
correct import
JacksonJ-KC Oct 22, 2025
b662f8b
correct import
JacksonJ-KC Oct 22, 2025
e186fe2
correct imports
JacksonJ-KC Oct 23, 2025
115ef81
move global Ruleset to function
JacksonJ-KC Oct 23, 2025
c9c66be
register rulesets
JacksonJ-KC Oct 23, 2025
e677448
undo lazy load
JacksonJ-KC Oct 23, 2025
bd2a650
attempt CI import order fix
JacksonJ-KC Oct 23, 2025
08cb9f2
lazy load ruleset registration
JacksonJ-KC Oct 23, 2025
ea9b382
correct enum file names
JacksonJ-KC Oct 23, 2025
5164955
auto register rulesets
JacksonJ-KC Oct 23, 2025
37fb3f6
add entry points
JacksonJ-KC Oct 23, 2025
1ad699d
correct entry point syntax
JacksonJ-KC Oct 23, 2025
29e6898
First cut at rule test JSON for 12-5
jugonzal07 Oct 23, 2025
14c3bad
Also have to add rule test JSON for 12-5 to ASHRAE 90.1-2019, not jus…
jugonzal07 Oct 23, 2025
ea9b2fe
Developed 12-5 rule
yunjoonjung-PNNL Oct 27, 2025
e94b94b
First cut at 5-42 rule test JSON
jugonzal07 Oct 28, 2025
654bed1
Updated failed msg
yunjoonjung-PNNL Oct 28, 2025
2645fd6
Developed 5-42
yunjoonjung-PNNL Nov 3, 2025
ce6b981
Merge pull request #1853 from pnnl/RCT/JDJ/surface-cond-category-dict…
weilixu Nov 4, 2025
0ca59cf
Corrected wrong class name (Subsurface)
yunjoonjung-PNNL Nov 4, 2025
74e0b10
update the conditioing category for single RMD
weilixu Nov 4, 2025
4b9c6f5
Merge branch 'feature/ashrae-9012022' of https://github.com/pnnl/rule…
yunjoonjung-PNNL Nov 4, 2025
3560498
update 23-6
weilixu Nov 4, 2025
4484ff9
Merge branch 'feature/ashrae-9012022' of https://github.com/pnnl/rule…
yunjoonjung-PNNL Nov 4, 2025
ae878a7
Merge branch 'feature/ashrae-9012022' into RS/YJ/Rule_6-10-2022
yunjoonjung-PNNL Nov 4, 2025
4245787
Merge branch 'feature/ashrae-9012022' into RT/JDJ/2022-ruletest-enhan…
weilixu Nov 11, 2025
adae3f4
Merge pull request #1858 from pnnl/RCT/JDJ/optional-subpackaging
weilixu Nov 11, 2025
0f771b8
Merge branch 'feature/ashrae-9012022' into RT/JDJ/2022-ruletest-enhan…
weilixu Nov 11, 2025
95db3d2
Merge pull request #1854 from pnnl/RT/JDJ/2022-ruletest-enhancements
weilixu Nov 11, 2025
f79f92a
Merge branch 'feature/ashrae-9012022' into RS/YJ/Rule_6-10-2022
weilixu Nov 11, 2025
a3058d9
Merge branch 'feature/ashrae-9012022' into RS/YJ/Rule_6-12
weilixu Nov 11, 2025
b7bb833
Merge pull request #1815 from pnnl/RS/YJ/Rule_6-12
weilixu Nov 11, 2025
9de67df
Removed section rule dictionary
yunjoonjung-PNNL Nov 11, 2025
4cd2862
Merge branch 'feature/ashrae-9012022' of https://github.com/pnnl/rule…
yunjoonjung-PNNL Nov 11, 2025
728b35f
Merge pull request #1816 from pnnl/RS/YJ/Rule_6-10-2022
weilixu Nov 11, 2025
2c9fd91
Merge branch 'feature/ashrae-9012022' of https://github.com/pnnl/rule…
yunjoonjung-PNNL Nov 11, 2025
e9d0ac5
black formatting
yunjoonjung-PNNL Nov 11, 2025
88f4707
Added table_J4 data and function
yunjoonjung-PNNL Nov 17, 2025
4a76e83
Updated function
yunjoonjung-PNNL Nov 17, 2025
e719c74
Merge branch 'feature/ashrae-9012022' of https://github.com/pnnl/rule…
yunjoonjung-PNNL Nov 17, 2025
d894fa8
Formatted table_J6
yunjoonjung-PNNL Nov 17, 2025
c73f328
Merge branch 'feature/ashrae-9012022' of https://github.com/pnnl/rule…
yunjoonjung-PNNL Nov 18, 2025
711c089
Updated rule tests for 12-5 based on latest RDS.
jugonzal07 Nov 18, 2025
9bf2aa3
I misinterpreted the RDS for 5-42. Test cases A and B have been flipped.
jugonzal07 Nov 18, 2025
bba0181
Merge pull request #1780 from pnnl/RDS/JDJ/6-10
weilixu Nov 18, 2025
d4579b5
Addressed PR comments
yunjoonjung-PNNL Nov 18, 2025
ab87610
Merge branch 'feature/ashrae-9012022' of https://github.com/pnnl/rule…
yunjoonjung-PNNL Nov 18, 2025
3d0277c
First cut at 22-44 rule test.
jugonzal07 Nov 18, 2025
0874bc3
Addressed PR comments
yunjoonjung-PNNL Nov 24, 2025
1dbcd3d
Updated the rule logic (baseline)
yunjoonjung-PNNL Nov 25, 2025
81812ba
Merge pull request #1859 from pnnl/RCT/YJ/is_chiller_perf_app_j_2022
yunjoonjung-PNNL Nov 25, 2025
ffbe244
Merge branch 'feature/ashrae-9012022' of https://github.com/pnnl/rule…
yunjoonjung-PNNL Nov 25, 2025
4228bf3
Updated chiller func name
yunjoonjung-PNNL Nov 25, 2025
502a964
Added curve set logic
yunjoonjung-PNNL Nov 25, 2025
40726bf
Merge branch 'feature/ashrae-9012022' of https://github.com/pnnl/rule…
yunjoonjung-PNNL Nov 25, 2025
64f71ba
Included chiller func
yunjoonjung-PNNL Nov 25, 2025
1958f26
Develop rule 22-44
yunjoonjung-PNNL Nov 25, 2025
dfb1a08
update readme
JacksonJ-KC Dec 1, 2025
23a6d1a
update readme
JacksonJ-KC Dec 1, 2025
9305646
update readme
JacksonJ-KC Dec 1, 2025
37b699f
Fixes to curves in 22-43 that were not lining up with test description.
jugonzal07 Dec 2, 2025
60aecf5
Merge pull request #1885 from pnnl/RCT/JDJ/update-README
weilixu Dec 2, 2025
b4be99f
Made adjustments to issues in the performance curve calculations in 2…
jugonzal07 Dec 2, 2025
c118cbf
reformatt
weilixu Dec 2, 2025
7c9470a
Merge pull request #1871 from pnnl/RS/YJ/Rule_5-42-2022
weilixu Dec 2, 2025
ba0d32c
add 5-42 RDS
weilixu Dec 2, 2025
8e9c306
Merge branch 'RT/JG/ruletest_5_42' of https://github.com/pnnl/ruleset…
weilixu Dec 2, 2025
f536cd1
Updated rule test 12-5 to account for an additional test case and to …
jugonzal07 Dec 2, 2025
0e164ba
Flipped 5-42 rule test to correctly inspect the proposed building ins…
jugonzal07 Dec 2, 2025
8e74862
Merge pull request #1864 from pnnl/RT/JG/ruletest_5_42
yunjoonjung-PNNL Dec 2, 2025
0ea6a13
Merge pull request #1886 from pnnl/RS/YJ/Rule_5-42-2022
weilixu Dec 2, 2025
56e5efa
Merge pull request #1863 from pnnl/RS/YJ/Rule_12-5
weilixu Dec 2, 2025
76037fb
Merge pull request #1860 from pnnl/RT/JG/ruletest_12_5
weilixu Dec 2, 2025
f7eea13
recognize updates to ruletest jsons
JacksonJ-KC Dec 3, 2025
5b68136
Merge pull request #1888 from pnnl/detect-ruletest-changes
weilixu Dec 4, 2025
082f8a2
Include J4 and J6 class for enums
yunjoonjung-PNNL Dec 5, 2025
19f0729
Used enum class
yunjoonjung-PNNL Dec 5, 2025
f5cd599
Addressed PR comments
yunjoonjung-PNNL Dec 6, 2025
1c3bf50
Merge branch 'feature/ashrae-9012022' into RS/YJ/Rule_22-44-2022
yunjoonjung-PNNL Dec 6, 2025
e88da3e
Uncommented is_applicable
yunjoonjung-PNNL Dec 6, 2025
90ccff3
Merge branch 'feature/ashrae-9012022' into RS/YJ/Rule_22-43-2022
yunjoonjung-PNNL Dec 6, 2025
31a816b
Merge branch 'feature/ashrae-9012022' into RS/YJ/Rule_22-42_2022
yunjoonjung-PNNL Dec 6, 2025
793fa24
Fixed issue in 22-42 rule test where ruletest c was overwriting test …
jugonzal07 Dec 9, 2025
a35a81a
bugfix determination of zone residential spaces
JacksonJ-KC Dec 10, 2025
eb51e0a
section5 bugfixes carried forward to 2022
JacksonJ-KC Dec 10, 2025
804ba87
Updated load values in 22-42 to correctly reflect operational capacit…
jugonzal07 Dec 10, 2025
63149ca
Updated load values in 22-43 to correctly reflect operational capacit…
jugonzal07 Dec 10, 2025
27138d1
Updated load values in 22-44 to correctly reflect operational capacit…
jugonzal07 Dec 10, 2025
dbb8626
Updated precision from W to ton
yunjoonjung-PNNL Dec 10, 2025
10e9ca3
Merge pull request #1824 from pnnl/RT/JG/ruletest_22_43
yunjoonjung-PNNL Dec 10, 2025
fcf86b8
Updated precision unit from W to ton
yunjoonjung-PNNL Dec 10, 2025
04b5975
Merge pull request #1805 from pnnl/RT/JG/ruletest_22_42
yunjoonjung-PNNL Dec 10, 2025
85459ac
Updated the rule logic
yunjoonjung-PNNL Dec 10, 2025
d8657d3
Added 12-5-2019 to prevent CICD fail
yunjoonjung-PNNL Dec 10, 2025
7b19bd2
Updated 12-5 testing JSON
yunjoonjung-PNNL Dec 10, 2025
6ad8681
Updated the non process CHW coil loop list logic
yunjoonjung-PNNL Dec 12, 2025
329dfa5
Merge branch 'develop' of https://github.com/pnnl/ruleset-checking-to…
weilixu Dec 16, 2025
f8e2d25
Merge pull request #1893 from pnnl/section5-bugfixes-carryforward
weilixu Dec 16, 2025
d520ff9
Merge pull request #1892 from pnnl/2022-get-zcc-bugfix
weilixu Dec 16, 2025
5bdec2d
Merge branch 'develop' of https://github.com/pnnl/ruleset-checking-to…
weilixu Dec 16, 2025
52b5a07
Merge pull request #1819 from pnnl/RS/YJ/Rule_22-42_2022
weilixu Dec 16, 2025
9e5636a
add rule 22-42 in 2022
weilixu Dec 16, 2025
f646fe8
Merge branch 'feature/ashrae-9012022' into RS/YJ/Rule_22-43-2022
yunjoonjung-PNNL Dec 16, 2025
1dc625e
Merge pull request #1825 from pnnl/RS/YJ/Rule_22-43-2022
weilixu Dec 16, 2025
6191703
add 22-43 RDS
weilixu Dec 16, 2025
05f8671
Merge branch 'feature/ashrae-9012022' of https://github.com/pnnl/rule…
weilixu Dec 16, 2025
45199ea
Merge branch 'feature/ashrae-9012022' into RS/YJ/Rule_22-44-2022
yunjoonjung-PNNL Dec 16, 2025
191e514
Fixed conflicts
yunjoonjung-PNNL Dec 16, 2025
d6c3e8f
Updated is applicable logic
yunjoonjung-PNNL Dec 17, 2025
4a09f9c
Merge branch 'RS/YJ/Rule_22-44-2022' into RT/JG/ruletest_22_44
jugonzal07 Dec 17, 2025
2abf9b3
update disclaimer and license
weilixu Dec 18, 2025
7dccd72
Addressed issues in section22rule44.py that made air cooled chillers…
jugonzal07 Dec 19, 2025
c090d75
Forgot rule d for ruletest 22-44.
jugonzal07 Dec 19, 2025
d5ee597
Merge pull request #1878 from pnnl/RT/JG/ruletest_22_44
yunjoonjung-PNNL Dec 19, 2025
d43c8ed
Merge pull request #1879 from pnnl/RS/YJ/Rule_22-44-2022
weilixu Dec 20, 2025
f55f7c8
Merge branch 'feature/ashrae-9012022' of https://github.com/pnnl/rule…
weilixu Dec 20, 2025
fcd0a0f
add rule 22-44 RDS
weilixu Dec 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
74 changes: 71 additions & 3 deletions .github/workflows/python-app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,29 @@ jobs:
- uses: psf/black@stable
with:
version: "22.6.0"

detect-changes:
name: Detect changed rulesets
runs-on: ubuntu-latest
outputs:
ashrae9012019: ${{ steps.filter.outputs.ashrae9012019 }}
ashrae9012022: ${{ steps.filter.outputs.ashrae9012022 }}
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Detect file changes
id: filter
uses: dorny/paths-filter@v3
with:
filters: |
ashrae9012019:
- 'rct229/rulesets/ashrae9012019/**'
- 'rct229/ruletest_engine/ruletest_jsons/ashrae9012019/**'
ashrae9012022:
- 'rct229/rulesets/ashrae9012022/**'
- 'rct229/ruletest_engine/ruletest_jsons/ashrae9012022/**'

run-unit-tests:
name: Run unit tests
runs-on: 'ubuntu-latest'
Expand All @@ -35,7 +58,52 @@ jobs:
- name: Install venv
run: poetry install
- name: Run pytests
# This will halt the action if any of the tests fail
run: poetry run pytest -v
- name: Run rule tests
run: poetry run rct229 test -rs ashrae9012019

run-ruletests-2019:
name: Run 2019 rule tests
runs-on: ubuntu-latest
needs: detect-changes
if: needs.detect-changes.outputs.ashrae9012019 == 'true'
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'

- name: Install Poetry
run: |
curl -sSL https://install.python-poetry.org | python3 - --version 1.8.4

- name: Install dependencies
run: poetry install

- name: Run rule tests for 90.1-2019
run: poetry run rct229 test -rs ashrae9012019

run-ruletests-2022:
name: Run 2022 rule tests
runs-on: ubuntu-latest
needs: detect-changes
if: needs.detect-changes.outputs.ashrae9012022 == 'true'
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'

- name: Install Poetry
run: |
curl -sSL https://install.python-poetry.org | python3 - --version 1.8.4

- name: Install dependencies
run: poetry install

- name: Run rule tests for 90.1-2022
run: poetry run rct229 test -rs ashrae9012022
39 changes: 23 additions & 16 deletions DISCLAIMER.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,23 @@
Disclaimer

This material was prepared as an account of work sponsored by an agency of the United States Government. Neither the United States Government nor the United States Department of Energy, nor Battelle, nor any of their employees, nor any jurisdiction or organization that has cooperated in the development of these materials, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness or any information, apparatus, product, software, or process disclosed, or represents that its use would not infringe privately owned rights.

Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government or any agency thereof, or Battelle Memorial Institute. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or any agency thereof.

PACIFIC NORTHWEST NATIONAL LABORATORY
operated by

BATTELLE

for the

UNITED STATES DEPARTMENT OF ENERGY

under Contract DE-AC05-76RL0183
DISCLAIMER
This material was prepared as an account of work sponsored by an agency of the
United States Government. Neither the United States Government nor the United
States Department of Energy, nor Battelle, nor any of their employees, nor any
jurisdiction or organization that has cooperated in the development of these
materials, makes any warranty, express or implied, or assumes any legal
liability or responsibility for the accuracy, completeness, or usefulness or
any information, apparatus, product, software, or process disclosed, or
represents that its use would not infringe privately owned rights.

Reference herein to any specific commercial product, process, or service by
trade name, trademark, manufacturer, or otherwise does not necessarily
constitute or imply its endorsement, recommendation, or favoring by the United
States Government or any agency thereof, or Battelle Memorial Institute. The
views and opinions of authors expressed herein do not necessarily state or
reflect those of the United States Government or any agency thereof.

PACIFIC NORTHWEST NATIONAL LABORATORY
operated by
BATTELLE
for the
UNITED STATES DEPARTMENT OF ENERGY
under Contract DE-AC05-76RL01830
33 changes: 23 additions & 10 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,10 +1,23 @@
Ruleset Checking Tool
Copyright © 2021, Battelle Memorial Institute
All rights reserved.

1. Battelle Memorial Institute (hereinafter Battelle) hereby grants permission to any person or entity lawfully obtaining a copy of this software and associated documentation files (hereinafter “the Software”) to redistribute and use the Software in source and binary forms, with or without modification. Such person or entity may use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and may permit others to do so, subject to the following conditions:
• Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimers.
• Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
• Other than as used herein, neither the name Battelle Memorial Institute or Battelle may be used in any form whatsoever without the express written consent of Battelle.

2. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BATTELLE OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
LICENSE
Copyright Battelle Memorial Institute 2021

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35 changes: 24 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,16 @@ Ruleset Checking Tool for ANSI/ASHRAE/IES Standard 90.1-2019 Appendix G
This package provides a reference implementation of a Ruleset Checking Tool (RCT) in support of ASHRAE Standard 229P. The RCT is not intended to be a normative part of the proposed standard, so use with Std 229P is optional. This RCT implementation is specific to ANSI/ASHRAE/IES Standard 90.1-2019 Appendix G and does not support any other rulesets. Final release of this package is dependent upon acceptance and publication of ASHRAE Standard 229P.

## Install it from PyPI

By default, the package includes the ASHRAE 90.1-2019 PRM ruleset.
```bash
pip install ruleset-checking-tool
```

To install additional rulesets, you can install them as optional dependencies. For example, to install the ASHRAE 90.1-2022 ruleset, you can run:
```bash
pip install ruleset-checking-tool[ashrae9012022]
```

## Usage

```py
Expand Down Expand Up @@ -113,17 +118,25 @@ The following provides some useful commands as you get started developing the RC
This package is developed using Poetry to manage packages during the build process. First, follow the instruction from [poetry](https://python-poetry.org/docs/) to install the package.
Any new dependencies that are added to the package must be included in the pyproject.toml. The package is currently being developed for Python 3.10. This version of Python must be installed on your machine for Poetry to work properly.

Now tests can be run by first installing dependencies and then running pytest.
1. `poetry install`
2. `poetry run pytest`
- To see a coverage report, use `poetry run pytest --cov`
- To have pytest watch for file changes, use `poetry run ptw`
By default, the RCT package includes the ASHRAE 90.1-2019 PRM ruleset.
`poetry install`

To install additional rulesets, you can install them as optional dependencies. For example, to install the ASHRAE 90.1-2022 ruleset, you can run:
`poetry install --extras ashrae9012022`

You can also install all available rulesets by running:
`poetry install --all-extras`

Now tests can be run by first installing dependencies and then running pytest.
`poetry run pytest`
- To see a coverage report, use `poetry run pytest --cov`
- To have pytest watch for file changes, use `poetry run ptw`

You can also package with poetry to test the CLI tool.
2. `poetry run rct229 test`
You can also package with poetry to test the CLI tool.
`poetry run rct229 test`

Run with example ASHRAE 90.1 2019 RPDs.
1. `poetry run rct229 evaluate -rs ashrae9012019 -f examples\chicago_demo\baseline_model.json -f examples\chicago_demo\proposed_model.json -f examples\chicago_demo\user_model.json -r ASHRAE9012019_DETAIL`
Run with example ASHRAE 90.1 2019 RPDs.
`poetry run rct229 evaluate -rs ashrae9012019 -f examples\chicago_demo\baseline_model.json -f examples\chicago_demo\proposed_model.json -f examples\chicago_demo\user_model.json -r ASHRAE9012019_DETAIL`


### Developer Notes
Expand Down Expand Up @@ -165,7 +178,7 @@ Before committing changes you should run the following commands from the `rulese
2. Add a new item to the `rules_dict` in the rulset's `rct229/rulesets/<RULESET>/__init__.py` file with the unique rule ID and desired rule section and number.
3. Create the new rule module in the ruleset directory following the typical procedure, but using the unique rule ID as the rule's class name.
```python
class PRM9012019Rule86h31(RuleDefinitionBase):
class PRM9012019Rule86h31(RuleDefinitionBase):
```

- For renumbering a rule to remain in the same section:
Expand Down
Loading
Loading