Exemple #1
0
    def test_case_6(self):
        # test with international date line
        self.run_calc(case_6.__file__, 'job.ini')

        # test CSV export
        fnames = export(('disagg', 'csv'), self.calc.datastore)
        for fname in fnames:
            self.assertEqualFiles('expected/%s' % strip_calc_id(fname), fname)

        # test the CSVs are readable
        for fname in fnames:
            hdf5.read_csv(fname)

        # test extract disagg_layer for Lon_Lat
        aw = extract(self.calc.datastore, 'disagg_layer?kind=Lon_Lat&'
                     'imt=PGA&poe_id=0')
        self.assertEqual(
            aw.dtype.names,
            ('site_id', 'lon', 'lat', 'lon_bins', 'lat_bins',
             'Lon_Lat-PGA-0.002105', 'iml-PGA-0.002105'))

        aae(aw.mag, [6.5, 6.75, 7., 7.25])
        aae(aw.dist, [0., 25., 50., 75., 100., 125., 150., 175., 200.,
                      225., 250., 275., 300.])
        aae(aw.eps, [-3., 3.])  # 6 bins -> 1 bin
        self.assertEqual(aw.trt, [b'Active Shallow Crust'])

        check_disagg_by_src(self.calc.datastore)
Exemple #2
0
    def test_case_1(self):
        self.assert_curves_ok(
            ['rlz-0-PGA-sid-0-poe-0_Lon_Lat.csv',
             'rlz-0-PGA-sid-0-poe-0_Mag.csv',
             'rlz-0-PGA-sid-0-poe-0_Mag_Dist.csv',
             'rlz-0-PGA-sid-0-poe-1_Lon_Lat.csv',
             'rlz-0-PGA-sid-0-poe-1_Mag.csv',
             'rlz-0-PGA-sid-0-poe-1_Mag_Dist.csv',
             'rlz-0-SA(0.025)-sid-0-poe-0_Lon_Lat.csv',
             'rlz-0-SA(0.025)-sid-0-poe-0_Mag.csv',
             'rlz-0-SA(0.025)-sid-0-poe-0_Mag_Dist.csv',
             'rlz-0-SA(0.025)-sid-0-poe-1_Lon_Lat.csv',
             'rlz-0-SA(0.025)-sid-0-poe-1_Mag.csv',
             'rlz-0-SA(0.025)-sid-0-poe-1_Mag_Dist.csv'],
            case_1.__file__,
            fmt='csv')

        # disaggregation by source group
        rlzs = self.calc.datastore['full_lt'].get_realizations()
        ws = [rlz.weight for rlz in rlzs]
        pgetter = getters.PmapGetter(self.calc.datastore, ws)
        pgetter.init()
        pmaps = []
        for grp in sorted(pgetter.dstore['poes']):
            pmaps.append(pgetter.get_mean(grp))
        # make sure that the combination of the contributions is okay
        pmap = pgetter.get_mean()  # total mean map
        cmap = combine(pmaps)  # combination of the mean maps per source group
        for sid in pmap:
            numpy.testing.assert_almost_equal(pmap[sid].array, cmap[sid].array)

        check_disagg_by_src(self.calc.datastore)
Exemple #3
0
    def test_case_master(self):
        # this tests exercise the case of a complex logic tree
        self.run_calc(case_master.__file__, 'job.ini')
        fname = gettemp(text_table(view('mean_disagg', self.calc.datastore)))
        self.assertEqualFiles('expected/mean_disagg.rst', fname)
        os.remove(fname)

        fnames = export(('disagg', 'csv'), self.calc.datastore)
        self.assertEqual(len(fnames), 64)  # 2 sid x 8 keys x 2 poe x 2 imt
        for fname in fnames:
            if 'Mag_Dist' in fname and 'Eps' not in fname:
                self.assertEqualFiles(
                    'expected_output/%s' % strip_calc_id(fname), fname)

        check_disagg_by_src(self.calc.datastore)