Source code for pyacs.gts.lib.format.track

"""
Reads GAMIT/GLOBK TRACK kinematics time series
"""
###################################################################
[docs] def read_track_NEU(self,tsdir='.',tsfile=None, leap_sec=0.0, eq_time=None, verbose=False): ################################################################### """ Read a GAMIT/GLOBK Track output file generated with the option out_type NEU in this case dates are seconds by default the seconds are with respect to the first epoch of measurements If option leap_sec is provided with a value > 0.0, then GPS time is corrected for the difference between GPTS time and UTC If eq_time is provided, it is assumed to be UTC. Expected format is YYYY:MM:MD:HH:MM:SS.S """ import numpy as np import os # try to guess name if isinstance(tsfile,str): track_file=tsfile else: from glob import glob track_file=glob(tsdir+'/'+'*.NEU.'+self.code.lower()+'.LC')[0] if not os.path.isfile(track_file): print("!!! Could not open ",track_file) return() try: data=np.genfromtxt(track_file, comments='*', skip_header=2, usecols=list(range(12))) except: print("!!! Error while reading ",track_file) return() # handling dates from pyacs.gts.lib import gts_dates data_dates=data[:,:6] data_in_datetime=gts_dates.np_yyyy_mm_dd_hh_mm_ss_2_datetime(data_dates) #print data_in_datetime import datetime if isinstance(eq_time,str): [year, month, day, hour, minute, second]=list(map(int,eq_time.split(':'))) eq_time_datetime=datetime.datetime(year, month, day, hour, minute, second) else: eq_time_datetime=data_in_datetime[0] data_in_eq_time=gts_dates.np_datetime_2_eq_time(data_in_datetime, leap_sec=leap_sec, eq_time=eq_time_datetime) data_kts=np.zeros((data.shape[0],7)) data_kts[:,0]=data_in_eq_time data_kts[:,1]=data[:,6] data_kts[:,4]=data[:,7] data_kts[:,2]=data[:,8] data_kts[:,5]=data[:,9] data_kts[:,3]=data[:,10] data_kts[:,6]=data[:,11] self.data=data_kts