Object ordering in model articulation may be causing sizing changes?
@mdahlhausen is already working on this.
Since Jul 25, 2025.
Assessment
This issue has not been assessed yet.
Description
We are seeing more cases where the baseline model created during the upgrade workflow—used for applying the upgrade measures—differs from the baseline model simulated in the baseline run. The PV measure makes this apparent since its our only upgrade measure that doesn't impact building thermal loads in any way.
Below are the end use savings distributions from a 10k test run. Overall, the differences are primarily outliers with low % change, so its unlikely they have much impact on overall results. But we can see changes across several end uses. Note that some of these differences are due to other identified bugs (https://github.com/NREL/ComStock/issues/355 and https://github.com/NREL/ComStock/issues/350).
Looking at the IDFs from the sizing run during the hardsize hvac measure, the only differences appear to be minor changes in schedule names, and object ordering, like in the below image (see model files below):
Looking at the run log from ComStock, we can see several changes related to object ordering, but also some changes in equipment capacities during the original model articulation before upgrade measures are applied. Some are smaller, on the scale of rounding differences, but some are more substantial:
And lastly we can see sizing differences in the final IDF that has the upgrade applied. The upgrade in this case only adds PV watts objects, which do not impact building thermal loads in any way (they are not shading objects). But we can see changes in HVAC equipment capacity. This is especially strange since these objects are hardsized before upgrade measures are even applied, so even if the measure did change thermal loads, it should not impact equipment sizing:
Model IDFs from hardsizing sizing run (no upgrade measure applied at this stage):
in_up00_hardsize.idf.txt
in_up01_hardsize.idf.txt
Run logs from ComStock runs for baseline and upgrade:
run-base.log.txt
run-up.log.txt
Final simulated IDFs for baseline and upgrade:
in-base.idf.txt
in-up.idf.txt
- Dominant language
- Ruby
- Stars
- 54
- Forks
- 28
- Avg merge
- 3d 23h
- Merged PRs (30d)
- 5
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from NatLabRockies/ComStock
-
Fresh comstockpostproc install fails on import: PyAthena 4.x requires SQLAlchemy 2 (AttributeError: sqlalchemy.types has no attribute DOUBLE)Possibly taken @JanghyunJK claimed this today. Openpostprocessing
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
NatLabRockies/ComStock#473 ·
-
Sampling broken with dependency changesMay be free again @asparke2 claimed this 93 days ago, and no pull request is open. Openbug
NatLabRockies/ComStock#462 · 1 assignee ·
-
Update S3 workgroup in gap model queriesMay be free again @eringold claimed this 270 days ago, and no pull request is open. Open
NatLabRockies/ComStock#453 · 1 assignee ·
-
postprocessing
Difficulty 3/5 1-2 days Newbie friendliness 35/100
NatLabRockies/ComStock#452 ·
-
Postprocessing setup and READMEs out of dateMay be free again @ChristopherCaradonna claimed this 275 days ago, and no pull request is open. Openpostprocessing
NatLabRockies/ComStock#451 · 1 assignee ·
All issues in NatLabRockies/ComStock
Similar issues
-
Malformed encoded_filters causes a 500, and keeps failing with session persistencePossibly taken @officialasishkumar claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
Visual COBOL: missing 11.0 and 12.0, and 9.0 date differs from Rocket Software's lifecycle pageOpen
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
endoflife-date/endoflife.date#11561 ·
Maintainers usually reply within 1 day