You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A lot of the homes in the 2022 ResStock run have two sets of supply/return ducts specified in HPXML. There's not actually two systems of ducts, it's just that they separately specify the area by zone, and are explicitly accounting for ducts in the living space (which have no impact). We should update how we parse ducts in hpxml.py to account for this: if you get a list of multiple supply/return ducts, in multiple locations, we should check if any are in the living space and ignore that. If we actually get ducts in two different unconditioned zones, we can throw an error.
Came up for Schneider as I was trying to find an example file for them to run. Not sure how prevalent this is, but I suspect it's a lot of homes.
Here's the exact error:
File "C:\OCHRE-main-branch\ochre\utils\hpxml.py", line 867, in parse_hvac
ducts = [d for d in air_distribution.get('Ducts', {}).values()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'list' object has no attribute 'values'
Good news and bad news here. I was able to fix the issue pretty easily, but that model can't be run on dev because it's using an older version of OS-HPXML. The error is about hot tubs, which were renamed in a newer version of OS-HPXML.
I tried running the model on main and we get the same ducts issue, though main aligns with an older version of OS-HPXML that uses the old hot tub convention. So we could push this change to main, or create a new branch that works for ResStock 2022 models. I'm not sure if it's worth doing if we can work with 2024 models though.
Addresses #148
- [x] Reference the issue your PR is fixing
- [x] Assign at least 1 reviewer for your PR
- [x] Test with run_dwelling.py or other script
- [x] Update documentation as appropriate
- [x] Update changelog as appropriate
A lot of the homes in the 2022 ResStock run have two sets of supply/return ducts specified in HPXML. There's not actually two systems of ducts, it's just that they separately specify the area by zone, and are explicitly accounting for ducts in the living space (which have no impact). We should update how we parse ducts in hpxml.py to account for this: if you get a list of multiple supply/return ducts, in multiple locations, we should check if any are in the living space and ignore that. If we actually get ducts in two different unconditioned zones, we can throw an error.
Came up for Schneider as I was trying to find an example file for them to run. Not sure how prevalent this is, but I suspect it's a lot of homes.
Here's the exact error:
File "C:\OCHRE-main-branch\ochre\utils\hpxml.py", line 867, in parse_hvac
ducts = [d for d in air_distribution.get('Ducts', {}).values()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'list' object has no attribute 'values'
For https://oedi-data-lake.s3.amazonaws.com/nrel-pds-building-stock/end-use-load-profiles-for-us-building-stock/2022/resstock_tmy3_release_1.1/building_energy_models/upgrade=0/bldg0000001-up00.zip
The text was updated successfully, but these errors were encountered: