def init(self):
        """
        Read the poes and set the .data attribute with the hazard curves
        """
        if hasattr(self, 'data'):  # already initialized
            return
        if isinstance(self.dstore, str):
            self.dstore = hdf5.File(self.dstore, 'r')
        else:
            self.dstore.open('r')  # if not
        if self.sids is None:
            self.sids = self.dstore['sitecol'].sids
        oq = self.dstore['oqparam']
        self.imtls = oq.imtls
        self.poes = self.poes or oq.poes
        self.data = {}
        try:
            hcurves = self.get_hcurves(self.imtls)  # shape (R, N)
        except IndexError:  # no data
            return
        for sid, hcurve_by_rlz in zip(self.sids, hcurves.T):
            self.data[sid] = datadict = {}
            for rlzi, hcurve in enumerate(hcurve_by_rlz):
                datadict[rlzi] = lst = [None for imt in self.imtls]
                for imti, imt in enumerate(self.imtls):
                    lst[imti] = hcurve[imt]
def init ( self ) : if hasattr ( self , 'data' ) : return if isinstance ( self . dstore , str ) : self . dstore = hdf5 . File ( self . dstore , 'r' ) else : self . dstore . open ( 'r' ) if self . sids is None : self . sids = self . dstore [ 'sitecol' ] . sids oq = self . dstore [ 'oqparam' ] self . imtls = oq . imtls self . poes = self . poes or oq . poes self . data = { } try : hcurves = self . get_hcurves ( self . imtls ) except IndexError : return for sid , hcurve_by_rlz in zip ( self . sids , hcurves . T ) : self . data [ sid ] = datadict = { } for rlzi , hcurve in enumerate ( hcurve_by_rlz ) : datadict [ rlzi ] = lst = [ None for imt in self . imtls ] for imti , imt in enumerate ( self . imtls ) : lst [ imti ] = hcurve [ imt ]
Read the poes and set the .data attribute with the hazard curves