OCHRE
OCHRE copied to clipboard
Failed to load house from Resstock Metadata due to error: Unknown attached wall for Door: Wall3
I am trying to use buildings loaded from Resstock 3.1.1 into OCHRE but it fails for some buildings (mostly the MF buildings but some still work). For instance, the building:
My question is, am I missing something (maybe I'm using the wrong version of Resstock) or is there a way to make this work or should I just discard these buildings that fail?
I am have traced it to:
def get_boundaries_by_wall(boundaries, ext_walls, gar_walls, attic_walls):
# for windows and doors, determine interior zone based on attached wall zone
ext_bd, gar_bd, attic_bd = {}, {}, {}
for name, boundary in boundaries.items():
boundary['Exterior Zone'] = 'Outdoor'
wall = boundary['AttachedToWall']['@idref']
if wall in ext_walls:
boundary['Interior Zone'] = 'Indoor'
ext_bd[name] = boundary
ext_walls[wall]['Area'] -= boundary['Area']
elif wall in gar_walls:
boundary['Interior Zone'] = 'Garage'
gar_bd[name] = boundary
gar_walls[wall]['Area'] -= boundary['Area']
elif wall in attic_walls:
boundary['Interior Zone'] = 'Attic'
attic_bd[name] = boundary
attic_walls[wall]['Area'] -= boundary['Area']
else:
raise IOError(f'Unknown attached wall for {name}: {wall}')
Below is the HPXML file I am trying to use:
Doors:
<Doors>
<Door>
<SystemIdentifier id='Door1'/>
<AttachedToWall idref='Wall3'/>
<Area>20.0</Area>
<Azimuth>0</Azimuth>
<Orientation>north</Orientation>
<RValue>5.0</RValue>
</Door>
</Doors>
Walls:
<Walls>
<Wall>
<SystemIdentifier id='Wall1'/>
<ExteriorAdjacentTo>outside</ExteriorAdjacentTo>
<InteriorAdjacentTo>living space</InteriorAdjacentTo>
<WallType>
<StructuralBrick/>
</WallType>
<Area>201.2</Area>
<Orientation>south</Orientation>
<Azimuth>180</Azimuth>
<Siding>none</Siding>
<Color>medium</Color>
<SolarAbsorptance>0.7</SolarAbsorptance>
<Emittance>0.9</Emittance>
<InteriorFinish>
<Type>gypsum board</Type>
<Thickness>0.5</Thickness>
</InteriorFinish>
<Insulation>
<SystemIdentifier id='Wall1Insulation'/>
<AssemblyEffectiveRValue>13.3</AssemblyEffectiveRValue>
</Insulation>
</Wall>
<Wall>
<SystemIdentifier id='Wall2'/>
<ExteriorAdjacentTo>other housing unit</ExteriorAdjacentTo>
<InteriorAdjacentTo>living space</InteriorAdjacentTo>
<WallType>
<StructuralBrick/>
</WallType>
<Area>362.1</Area>
<Orientation>west</Orientation>
<Azimuth>270</Azimuth>
<Color>medium</Color>
<InteriorFinish>
<Type>gypsum board</Type>
<Thickness>0.5</Thickness>
</InteriorFinish>
<Insulation>
<SystemIdentifier id='Wall2Insulation'/>
<AssemblyEffectiveRValue>4.0</AssemblyEffectiveRValue>
</Insulation>
</Wall>
<Wall>
<SystemIdentifier id='Wall3'/>
<ExteriorAdjacentTo>other housing unit</ExteriorAdjacentTo>
<InteriorAdjacentTo>living space</InteriorAdjacentTo>
<WallType>
<StructuralBrick/>
</WallType>
<Area>201.2</Area>
<Orientation>north</Orientation>
<Azimuth>0</Azimuth>
<Color>medium</Color>
<InteriorFinish>
<Type>gypsum board</Type>
<Thickness>0.5</Thickness>
</InteriorFinish>
<Insulation>
<SystemIdentifier id='Wall3Insulation'/>
<AssemblyEffectiveRValue>4.0</AssemblyEffectiveRValue>
</Insulation>
</Wall>
<Wall>
<SystemIdentifier id='Wall4'/>
<ExteriorAdjacentTo>other housing unit</ExteriorAdjacentTo>
<InteriorAdjacentTo>living space</InteriorAdjacentTo>
<WallType>
<StructuralBrick/>
</WallType>
<Area>362.1</Area>
<Orientation>east</Orientation>
<Azimuth>90</Azimuth>
<Color>medium</Color>
<InteriorFinish>
<Type>gypsum board</Type>
<Thickness>0.5</Thickness>
</InteriorFinish>
<Insulation>
<SystemIdentifier id='Wall4Insulation'/>
<AssemblyEffectiveRValue>4.0</AssemblyEffectiveRValue>
</Insulation>
</Wall>
</Walls>
Thanks for flagging this. It looks like ResStock 3.1 allows for doors to other interior spaces, e.g. a hallway in MF buildings. I don't think we can handle that yet.
The fix should be fairly easy, adding attached walls to the function above. We will very likely end up ignoring the door by assuming it is adiabatic (this is what we do for attached walls). However, I'm not sure if this will get into our next release.
In the meantime, you're welcome to delete the door from the HPXML file. That should fix the issue.
Fantastic! Just wanted to make sure removing the door wouldn't make a dramatically different result in terms of the outputs but I can write a filter that removes if those are a problem. Thanks!
Resolved with #132