@@ -269,7 +269,13 @@ def __init__(
269269 self .data_dir = kwargs ["data_dir" ]
270270 elif format == "das" :
271271 with open (kwargs ["data_list" ], "r" ) as fp :
272- self .data_list = fp .readlines ()
272+ self .data_list = [line .rstrip ("\n " ) for line in fp .readlines ()]
273+
274+ self .num_data = len (self .data_list )
275+ self .data_dir = kwargs ["data_dir" ]
276+ elif format == "das_event" :
277+ with open (kwargs ["data_list" ], "r" ) as fp :
278+ self .data_list = [line .rstrip ("\n " ) for line in fp .readlines ()]
273279 self .num_data = len (self .data_list )
274280 self .data_dir = kwargs ["data_dir" ]
275281 else :
@@ -553,6 +559,24 @@ def read_das(self, fname, sampling_rate=100, highpass_filter=0.0):
553559 }
554560 return meta
555561
562+ def read_das_event (self , fname ):
563+ with fsspec .open (fname , "rb" , anon = True ) as fp :
564+ with h5py .File (fp , "r" ) as f :
565+ data = f ["data" ][:]
566+ begin_time = f ["data" ].attrs ["begin_time" ]
567+
568+ data = np .array (data ).T # nt, nx
569+ nt , nx = data .shape
570+ # tmp = np.zeros([nt, nx, 3], dtype=np.float32)
571+ # tmp[:, :, -1] = data
572+ tmp = np .repeat (data [:, :, np .newaxis ], 3 , axis = - 1 )
573+ meta = {
574+ "data" : tmp ,
575+ "t0" : begin_time ,
576+ "station_id" : [f"{ x } " for x in range (nx )],
577+ }
578+ return meta
579+
556580 def read_sac (self , fname ):
557581 mseed = obspy .read (fname )
558582 mseed = mseed .detrend ("spline" , order = 2 , dspline = 5 * mseed [0 ].stats .sampling_rate )
@@ -960,6 +984,8 @@ def __getitem__(self, i):
960984 base_name = ""
961985 elif self .format == "das" :
962986 meta = self .read_das (base_name , sampling_rate = self .sampling_rate , highpass_filter = self .highpass_filter )
987+ elif self .format == "das_event" :
988+ meta = self .read_das_event (base_name )
963989 else :
964990 raise (f"{ self .format } does not support!" )
965991
0 commit comments