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]))
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)