ProbabilityCurve and ProbabilityMap¶

class
openquake.hazardlib.probability_map.
ProbabilityCurve
(array)[source]¶ This class is a small wrapper over an array of PoEs associated to a set of intensity measure types and levels. It provides a few operators, including the complement operator ~
~p = 1  p
and the inclusive or operator 
p = p1  p2 = ~(~p1 * ~p2)
Such operators are implemented efficiently at the numpy level, by dispatching on the underlying array.
Here is an example of use:
>>> poe = ProbabilityCurve(numpy.array([0.1, 0.2, 0.3, 0, 0])) >>> ~(poe  poe) * .5 <ProbabilityCurve [ 0.405 0.32 0.245 0.5 0.5 ]>

class
openquake.hazardlib.probability_map.
ProbabilityMap
[source]¶ A dictionary site_id > ProbabilityCurve. It defines the complement operator ~, performing the complement on each curve
~p = 1  p
and the “inclusive or” operator :
m = m1  m2 = {sid: m1[sid]  m2[sid] for sid in all_sids}
Such operators are implemented efficiently at the numpy level, by dispatching on the underlying array. Moreover there is a classmethod .build(num_levels, num_gsims, sids, initvalue) to build initialized instances of ProbabilityMap.