Object ordering in model articulation may be causing sizing changes?

Open
#373 0 comments 0 reactions 1 assignee View on GitHub

@mdahlhausen is already working on this.

Since Jul 25, 2025.

Assessment

This issue has not been assessed yet.

Description

bug

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).

Image

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):

Image

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:

Image

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:

Image

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from NatLabRockies/ComStock

All issues in NatLabRockies/ComStock

Similar issues

More Ruby issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.