コード例 #1
0
    def test_bad_input(self):
        # Tests raises value error when no input and no defaults are selected

        with self.assertRaises(ValueError) as ae:
            conv.hdd_to_pmf(None)
        self.assertEqual(str(ae.exception),
                         'Hypocentral depth distribution not defined!')
コード例 #2
0
    def test_bad_input(self):
        # Tests raises value error when no input and no defaults are selected

        with self.assertRaises(ValueError) as ae:
            conv.hdd_to_pmf(None)
        self.assertEqual(str(ae.exception),
                         'Hypocentral depth distribution not defined!')
コード例 #3
0
ファイル: point_source.py プロジェクト: g-weatherill/hmtk
    def create_oqhazardlib_source(self, tom, mesh_spacing, use_defaults=False):
        """
        Converts the point source model into an instance of the :class:
        openquake.hazardlib.source.point_source.PointSource

        :param bool use_defaults:
            If set to true, will use put in default values for magitude
            scaling relation, rupture aspect ratio, nodal plane distribution
            or hypocentral depth distribution where missing. If set to False
            then value errors will be raised when information is missing.
        """
        if not self.mfd:
            raise ValueError("Cannot write to hazardlib without MFD")
        return PointSource(
            self.id,
            self.name,
            self.trt,
            self.mfd,
            mesh_spacing,
            conv.mag_scale_rel_to_hazardlib(self.mag_scale_rel, use_defaults),
            conv.render_aspect_ratio(self.rupt_aspect_ratio, use_defaults),
            tom,
            self.upper_depth,
            self.lower_depth,
            self.geometry,
            conv.npd_to_pmf(self.nodal_plane_dist, use_defaults),
            conv.hdd_to_pmf(self.hypo_depth_dist, use_defaults))
コード例 #4
0
ファイル: area_source.py プロジェクト: g-weatherill/hmtk
 def create_oqhazardlib_source(self,
                               tom,
                               mesh_spacing,
                               area_discretisation,
                               use_defaults=False):
     """
     Converts the source model into an instance of the :class:
     openquake.hazardlib.source.area.AreaSource
     
     :param tom:
         Temporal Occurrence model as instance of :class:
         openquake.hazardlib.tom.TOM
     :param float mesh_spacing:
         Mesh spacing
     """
     if not self.mfd:
         raise ValueError("Cannot write to hazardlib without MFD")
     return AreaSource(
         self.id, self.name, self.trt, self.mfd, mesh_spacing,
         conv.mag_scale_rel_to_hazardlib(self.mag_scale_rel, use_defaults),
         conv.render_aspect_ratio(self.rupt_aspect_ratio, use_defaults),
         tom, self.upper_depth, self.lower_depth,
         conv.npd_to_pmf(self.nodal_plane_dist, use_defaults),
         conv.hdd_to_pmf(self.hypo_depth_dist,
                         use_defaults), self.geometry, area_discretisation)
コード例 #5
0
ファイル: area_source.py プロジェクト: francescovisini/hmtk
 def create_oqhazardlib_source(self, tom, mesh_spacing, area_discretisation,
         use_defaults=False):
     """
     Converts the source model into an instance of the :class:
     openquake.hazardlib.source.area.AreaSource
     
     :param tom:
         Temporal Occurrence model as instance of :class:
         openquake.hazardlib.tom.TOM
     :param float mesh_spacing:
         Mesh spacing
     """
     return AreaSource(
         self.id,
         self.name,
         self.trt,
         conv.mfd_to_hazardlib(self.mfd),
         mesh_spacing,
         conv.mag_scale_rel_to_hazardlib(self.mag_scale_rel, use_defaults),
         conv.render_aspect_ratio(self.rupt_aspect_ratio, use_defaults),
         tom,
         self.upper_depth,
         self.lower_depth,
         conv.npd_to_pmf(self.nodal_plane_dist, use_defaults),
         conv.hdd_to_pmf(self.hypo_depth_dist, use_defaults),
         self.geometry,
         area_discretisation)
コード例 #6
0
    def test_default_input(self):
        # Tests the case when a default value is selected

        output = conv.hdd_to_pmf(None, True)
        self.assertIsInstance(output, PMF)
        self.assertAlmostEqual(output.data[0][0], 1.0)
        self.assertAlmostEqual(output.data[0][1], 10.0)
コード例 #7
0
    def test_default_input(self):
        # Tests the case when a default value is selected

        output = conv.hdd_to_pmf(None, True)
        self.assertIsInstance(output, PMF)
        self.assertAlmostEqual(output.data[0][0], 1.0)
        self.assertAlmostEqual(output.data[0][1], 10.0)
コード例 #8
0
    def test_input_as_pmf(self):
        # Tests the function when a valid PMF is input

        output = conv.hdd_to_pmf(self.depth_as_pmf)
        self.assertIsInstance(output, PMF)
        self.assertAlmostEqual(output.data[0][0], 0.5)
        self.assertAlmostEqual(output.data[0][1], 5.)
        self.assertAlmostEqual(output.data[1][0], 0.5)
        self.assertAlmostEqual(output.data[1][1], 10.)
コード例 #9
0
    def test_input_as_pmf(self):
        # Tests the function when a valid PMF is input

        output = conv.hdd_to_pmf(self.depth_as_pmf)
        self.assertIsInstance(output, PMF)
        self.assertAlmostEqual(output.data[0][0], 0.5)
        self.assertAlmostEqual(output.data[0][1], 5.)
        self.assertAlmostEqual(output.data[1][0], 0.5)
        self.assertAlmostEqual(output.data[1][1], 10.)
コード例 #10
0
 def test_input_as_nrmllib(self):
     """
     Tests the function when a list of models.HypocentralDepth classes
     are input
     """
     output = conv.hdd_to_pmf(self.depth_as_list)
     self.assertIsInstance(output, PMF)
     self.assertAlmostEqual(output.data[0][0], 0.5)
     self.assertAlmostEqual(output.data[0][1], 5.)
     self.assertAlmostEqual(output.data[1][0], 0.5)
     self.assertAlmostEqual(output.data[1][1], 10.)
コード例 #11
0
ファイル: point_source.py プロジェクト: lcui24/hmtk
    def create_oqhazardlib_source(self, tom, mesh_spacing, use_defaults=False):
        """
        Converts the point source model into an instance of the :class:
        openquake.hazardlib.source.point_source.PointSource

        :param bool use_defaults:
            If set to true, will use put in default values for magitude
            scaling relation, rupture aspect ratio, nodal plane distribution
            or hypocentral depth distribution where missing. If set to False
            then value errors will be raised when information is missing.
        """
        return PointSource(
            self.id, self.name, self.trt, conv.mfd_to_hazardlib(self.mfd),
            mesh_spacing,
            conv.mag_scale_rel_to_hazardlib(self.mag_scale_rel, use_defaults),
            conv.render_aspect_ratio(self.rupt_aspect_ratio, use_defaults),
            tom, self.upper_depth, self.lower_depth, self.geometry,
            conv.npd_to_pmf(self.nodal_plane_dist, use_defaults),
            conv.hdd_to_pmf(self.hypo_depth_dist, use_defaults))