def build_hypo_depth_dist(hdd): """ Returns the hypocentral depth distribution as a Node instance :param hdd: Hypocentral depth distribution as an instance of :class: `openquake.hzardlib.pmf.PMF` :returns: Instance of :class:`openquake.baselib.node.Node` """ hdds = [] dist = [] for (prob, depth) in hdd.data: dist.append((prob, depth)) hdds.append(Node("hypoDepth", {"depth": depth, "probability": prob})) sourceconverter.fix_dupl(dist) return Node("hypoDepthDist", nodes=hdds)
def build_nodal_plane_dist(npd): """ Returns the nodal plane distribution as a Node instance :param npd: Nodal plane distribution as instance of :class: `openquake.hazardlib.pmf.PMF` :returns: Instance of :class:`openquake.baselib.node.Node` """ npds = [] dist = [] for prob, npd in npd.data: dist.append((prob, (npd.dip, npd.strike, npd.rake))) nodal_plane = Node( "nodalPlane", {"dip": npd.dip, "probability": prob, "strike": npd.strike, "rake": npd.rake}) npds.append(nodal_plane) sourceconverter.fix_dupl(dist) return Node("nodalPlaneDist", nodes=npds)