Exemplo n.º 1
0
    def test_filter_ibtracs_track_pass(self):
        """ Test _filter_ibtracs """
        fn_nc = os.path.join(os.path.abspath(SYSTEM_DIR), 'IBTrACS.ALL.v04r00.nc')

        storm_id='1988234N13299'
        tc_track = TCTracks()
        sel = tc_track._filter_ibtracs(fn_nc, storm_id, year_range=None, basin=None)
        self.assertTrue(sel, np.array([10000]))
Exemplo n.º 2
0
    def test_filter_ibtracs_year_basin_pass(self):
        """ Test _filter_ibtracs """
        fn_nc = os.path.join(os.path.abspath(SYSTEM_DIR), 'IBTrACS.ALL.v04r00.nc')

        tc_track = TCTracks()
        sel = tc_track._filter_ibtracs(fn_nc, storm_id=None, year_range=(1915, 1916),
                                 basin='WP')

        nc_data=Dataset(fn_nc)
        for i_sel in sel:
            self.assertEqual('WP',
                             ''.join(nc_data.variables['basin'][i_sel, 0, :].astype(str)))
            isot = nc_data.variables['iso_time'][i_sel, :, :]
            val_len = isot.mask[isot.mask==False].shape[0]//isot.shape[1]
            date = isot.data[:val_len]
            year = dt.datetime.strptime(''.join(date[0].astype(str)), '%Y-%m-%d %H:%M:%S').year
            self.assertTrue(year <= 1915 or year >= 1916)

        self.assertEqual(sel.size, 48)