@@ -82,6 +82,7 @@ class TCTracks():
8282 - max_sustained_wind_unit (attrs)
8383 - central_pressure_unit (attrs)
8484 - name (attrs)
85+ - sid (attrs)
8586 - orig_event_flag (attrs)
8687 - data_provider (attrs)
8788 - basin (attrs)
@@ -109,7 +110,8 @@ def get_track(self, track_name=None):
109110 """Get track with provided name. Return all tracks if no name provided.
110111
111112 Parameters:
112- track_name (str, optional): name of track (ibtracsID for IBTrACS)
113+ track_name (str, optional): name or sid (ibtracsID for IBTrACS)
114+ of track
113115
114116 Returns:
115117 xarray.Dataset or [xarray.Dataset]
@@ -120,7 +122,7 @@ def get_track(self, track_name=None):
120122 return self .data
121123
122124 for track in self .data :
123- if track .name == track_name :
125+ if track .name == track_name or track . sid == track_name :
124126 return track
125127
126128 LOGGER .info ('No track with name %s found.' , track_name )
@@ -333,8 +335,8 @@ def _one_rnd_walk(track, ens_size, ens_amp0, ens_amp, max_angle):
333335 i_track .lon .values = i_track .lon .values + d_lat_lon [0 , :]
334336 i_track .lat .values = i_track .lat .values + d_lat_lon [1 , :]
335337 i_track .attrs ['orig_event_flag' ] = False
336- i_track .attrs ['name' ] = i_track .attrs ['name' ] + '_gen' + \
337- str (i_ens + 1 )
338+ i_track .attrs ['name' ] = i_track .attrs ['name' ] + '_gen' + str ( i_ens + 1 )
339+ i_track . attrs [ 'sid' ] = i_track . attrs [ 'sid' ] + '_gen' + str (i_ens + 1 )
338340 i_track .attrs ['id_no' ] = i_track .attrs ['id_no' ] + (i_ens + 1 )/ 100
339341
340342 ens_track .append (i_track )
@@ -506,6 +508,7 @@ def _read_one_csv(self, file_name):
506508 tr_ds .attrs ['max_sustained_wind_unit' ] = max_sus_wind_unit
507509 tr_ds .attrs ['central_pressure_unit' ] = 'mb'
508510 tr_ds .attrs ['name' ] = name
511+ tr_ds .attrs ['sid' ] = name
509512 tr_ds .attrs ['orig_event_flag' ] = bool (dfr ['original_data' ]. values [0 ])
510513 tr_ds .attrs ['data_provider' ] = dfr ['data_provider' ].values [0 ]
511514 tr_ds .attrs ['basin' ] = dfr ['gen_basin' ].values [0 ]
@@ -572,7 +575,7 @@ def _read_one_raw(self, nc_data, i_track, provider):
572575 [nc_data .variables ['name' ][i_track ].mask == False ].data .astype (str ))
573576 sid = '' .join (nc_data .variables ['sid' ][i_track ].astype (str ))
574577 basin = '' .join (nc_data .variables ['basin' ][i_track , 0 , :].astype (str ))
575- LOGGER .info ('Reading %s' , name )
578+ LOGGER .info ('Reading %s: %s' , sid , name )
576579
577580 isot = nc_data .variables ['iso_time' ][i_track , :, :]
578581 val_len = isot .mask [isot .mask == False ].shape [0 ]// isot .shape [1 ]
0 commit comments