docs: def parse_planar_fault_geometry(node):
      """
      Parses a planar fault geometry node returning both the attributes and
      parameters in a dictionary
      """
      assert "planarSurface" in node.tag
      geometry = {"strike": node.attrib["strike"],
                  "dip": node.attrib["dip"]}
      upper_depth = numpy.inf
      lower_depth = 0.0
      tags = get_taglist(node)
      corner_points = []
      for locn in ["topLeft", "topRight", "bottomRight", "bottomLeft"]:
          plane = node.nodes[tags.index(locn)]
          upper_depth = plane["depth"] if plane["depth"] < upper_depth else\
              upper_depth
          lower_depth = plane["depth"] if plane["depth"] > lower_depth else\
              lower_depth
          corner_points.append([plane["lon"], plane["lat"], plane["depth"]])
      geometry["upperSeismoDepth"] = upper_depth
      geometry["lowerSeismoDepth"] = lower_depth
      geometry["corners"] = numpy.array(corner_points)
      return geometry