Exemplo n.º 1
0
    def test_write_read_pass(self):
        ''' Read a hazard mat file correctly.'''
        file_name = os.path.join(DATA_DIR, 'test_haz.h5')

        # Read demo excel file
        hazard = Hazard('TC')
        hazard.read_mat(HAZ_TEST_MAT)
        hazard.event_name = list(map(str, hazard.event_name))
        hazard.write_hdf5(file_name)

        haz_read = Hazard('TC')
        haz_read.read_hdf5(file_name)

        self.assertEqual(hazard.tag.file_name, haz_read.tag.file_name)
        self.assertIsInstance(haz_read.tag.file_name, str)
        self.assertEqual(hazard.tag.haz_type, haz_read.tag.haz_type)
        self.assertIsInstance(haz_read.tag.haz_type, str)
        self.assertEqual(hazard.tag.description, haz_read.tag.description)
        self.assertIsInstance(haz_read.tag.description, str)
        self.assertEqual(hazard.units, haz_read.units)
        self.assertIsInstance(haz_read.units, str)
        self.assertTrue(np.array_equal(hazard.centroids.coord, haz_read.centroids.coord))
        self.assertEqual(hazard.centroids.crs, haz_read.centroids.crs)
        self.assertTrue(np.array_equal(hazard.event_id, haz_read.event_id))
        self.assertTrue(np.array_equal(hazard.frequency, haz_read.frequency))
        self.assertTrue(np.array_equal(hazard.event_name, haz_read.event_name))
        self.assertIsInstance(haz_read.event_name, list)
        self.assertIsInstance(haz_read.event_name[0], str)
        self.assertTrue(np.array_equal(hazard.date, haz_read.date))
        self.assertTrue(np.array_equal(hazard.orig, haz_read.orig))
        self.assertTrue(np.array_equal(hazard.intensity.todense(), haz_read.intensity.todense()))
        self.assertIsInstance(haz_read.intensity, sparse.csr_matrix)
        self.assertTrue(np.array_equal(hazard.fraction.todense(), haz_read.fraction.todense()))
        self.assertIsInstance(haz_read.fraction, sparse.csr_matrix)
Exemplo n.º 2
0
    def _change_all_hazard(self, hazard):
        """Change hazard to provided hazard_set.

        Parameters:
            hazard (Hazard): hazard instance

        Returns:
            Hazard
        """
        if self.hazard_set == NULL_STR:
            return hazard

        LOGGER.debug('Setting new hazard %s', self.hazard_set)
        from climada.hazard.base import Hazard
        new_haz = Hazard(hazard.tag.haz_type)
        new_haz.read_hdf5(self.hazard_set)
        new_haz.check()
        return new_haz
Exemplo n.º 3
0
    def test_change_all_hazard_pass(self):
        """Test _change_all_hazard method"""
        meas = Measure()
        meas.hazard_set = HAZ_DEMO_H5

        ref_haz = Hazard('TC')
        ref_haz.read_hdf5(HAZ_DEMO_H5)

        hazard = Hazard('TC')
        new_haz = meas._change_all_hazard(hazard)

        self.assertEqual(new_haz.tag.file_name, ref_haz.tag.file_name)
        self.assertEqual(new_haz.tag.haz_type, ref_haz.tag.haz_type)
        self.assertTrue(np.array_equal(new_haz.frequency, ref_haz.frequency))
        self.assertTrue(np.array_equal(new_haz.date, ref_haz.date))
        self.assertTrue(np.array_equal(new_haz.orig, ref_haz.orig))
        self.assertTrue(np.array_equal(new_haz.centroids.coord, ref_haz.centroids.coord))
        self.assertTrue(np.array_equal(new_haz.intensity.data, ref_haz.intensity.data))
        self.assertTrue(np.array_equal(new_haz.fraction.data, ref_haz.fraction.data))