Ejemplo n.º 1
0
 def __init__(self, gmpe_list, imts):
     """
     :param list gmpe_list:
         List of GMPE names (using the standard openquake strings)
     :param list imts:
         List of Intensity Measures
     """
     self.gmpe_list = _check_gsim_list(gmpe_list)
     self.number_gmpes = len(self.gmpe_list)
     self.types = OrderedDict([(gmpe, {}) for gmpe in self.gmpe_list])
     self.residuals = []
     self.modelled = []
     self.imts = imts
     self.unique_indices = {}
     self.gmpe_sa_limits = {}
     self.gmpe_scalars = {}
     for gmpe in self.gmpe_list:
         gmpe_dict_1 = {}
         gmpe_dict_2 = {}
         self.unique_indices[gmpe] = {}
         # Get the period range and the coefficient types
         gmpe_i = GSIM_LIST[gmpe]()
         for c in dir(gmpe_i):
             if 'COEFFS' in c:
                 pers = [sa.period for sa in getattr(gmpe_i, c).sa_coeffs]
         min_per, max_per = (min(pers), max(pers))
         self.gmpe_sa_limits[gmpe] = (min_per, max_per)
         for c in dir(gmpe_i):
             if 'COEFFS' in c:
                 self.gmpe_scalars[gmpe] = getattr(gmpe_i,
                                                   c).non_sa_coeffs.keys()
         for imtx in self.imts:
             if "SA(" in imtx:
                 period = imt.from_string(imtx).period
                 if period < min_per or period > max_per:
                     print("IMT %s outside period range for GMPE %s" %
                           (imtx, gmpe))
                     gmpe_dict_1[imtx] = None
                     gmpe_dict_2[imtx] = None
                     continue
             gmpe_dict_1[imtx] = {}
             gmpe_dict_2[imtx] = {}
             self.unique_indices[gmpe][imtx] = []
             self.types[gmpe][imtx] = []
             for res_type in \
                 self.gmpe_list[gmpe].DEFINED_FOR_STANDARD_DEVIATION_TYPES:
                 gmpe_dict_1[imtx][res_type] = []
                 gmpe_dict_2[imtx][res_type] = []
                 self.types[gmpe][imtx].append(res_type)
             gmpe_dict_2[imtx]["Mean"] = []
         self.residuals.append([gmpe, gmpe_dict_1])
         self.modelled.append([gmpe, gmpe_dict_2])
     self.residuals = OrderedDict(self.residuals)
     self.modelled = OrderedDict(self.modelled)
     self.database = None
     self.number_records = None
     self.contexts = None
Ejemplo n.º 2
0
    def __init__(self, site_id_list, gmpe_list, imts):
        """

        """
        self.site_ids = site_id_list
        self.input_gmpe_list = deepcopy(gmpe_list)
        self.gmpe_list = _check_gsim_list(gmpe_list)
        self.imts = imts
        self.site_residuals = []
        self.types = OrderedDict([(gmpe, {}) for gmpe in self.gmpe_list])
        for gmpe in self.gmpe_list:
            #if not gmpe in GSIM_LIST:
            #    raise ValueError("%s not supported in OpenQuake" % gmpe) 
            for imtx in self.imts:
                self.types[gmpe][imtx] = []
                for res_type in \
                    self.gmpe_list[gmpe].DEFINED_FOR_STANDARD_DEVIATION_TYPES:
                    self.types[gmpe][imtx].append(res_type)
Ejemplo n.º 3
0
    def __init__(self, site_id_list, gmpe_list, imts):
        """

        """
        self.site_ids = site_id_list
        self.input_gmpe_list = deepcopy(gmpe_list)
        self.gmpe_list = _check_gsim_list(gmpe_list)
        self.imts = imts
        self.site_residuals = []
        self.types = OrderedDict([(gmpe, {}) for gmpe in self.gmpe_list])
        for gmpe in self.gmpe_list:
            #if not gmpe in GSIM_LIST:
            #    raise ValueError("%s not supported in OpenQuake" % gmpe) 
            for imtx in self.imts:
                self.types[gmpe][imtx] = []
                for res_type in \
                    self.gmpe_list[gmpe].DEFINED_FOR_STANDARD_DEVIATION_TYPES:
                    self.types[gmpe][imtx].append(res_type)
Ejemplo n.º 4
0
 def __init__(self, gmpe_list, imts):
     """
     :param list gmpe_list:
         List of GMPE names (using the standard openquake strings)
     :param list imts:
         List of Intensity Measures
     """
     self.gmpe_list = _check_gsim_list(gmpe_list)
     self.number_gmpes = len(self.gmpe_list)
     self.types = OrderedDict([(gmpe, {}) for gmpe in self.gmpe_list])
     self.residuals = []
     self.modelled = []
     self.imts = imts
     self.unique_indices = {}
     for gmpe in self.gmpe_list:
         gmpe_dict_1 = {}
         gmpe_dict_2 = {}
         self.unique_indices[gmpe] = {}
         for imtx in self.imts:
             gmpe_dict_1[imtx] = {}
             gmpe_dict_2[imtx] = {}
             self.unique_indices[gmpe][imtx] = []
             self.types[gmpe][imtx] = []
             for res_type in \
                 self.gmpe_list[gmpe].DEFINED_FOR_STANDARD_DEVIATION_TYPES:
                 gmpe_dict_1[imtx][res_type] = []
                 gmpe_dict_2[imtx][res_type] = []
                 self.types[gmpe][imtx].append(res_type)
             gmpe_dict_2[imtx]["Mean"] = []
         self.residuals.append([gmpe, gmpe_dict_1])
         self.modelled.append([gmpe, gmpe_dict_2])
     self.residuals = OrderedDict(self.residuals)
     self.modelled = OrderedDict(self.modelled)
     self.database = None
     self.number_records = None
     self.contexts = None