Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failed to load house from Resstock Metadata due to error: Unknown attached wall for Door: Wall3 #117

Open
zkschmitz opened this issue Apr 23, 2024 · 2 comments

Comments

@zkschmitz
Copy link

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?

CleanShot 2024-04-23 at 14 35 46@2x

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>
@mnblonsky
Copy link
Collaborator

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.

@zkschmitz
Copy link
Author

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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants