def get_data(lidar_datafile):
"""
Getting lidar data from netcdf and store those in a dictionary. Signals
are filtered using thresholds derived by percentile.
"""
ids = netCDF4.Dataset(lidar_datafile)
l_ds = {}
l_ds['Time'] = netCDF4.num2date(ids.variables['Time'][:], ids.variables['Time'].units)
l_ds['Longitude'] = ids.variables['Longitude'][:]
l_ds['Latitude'] = ids.variables['Latitude'][:]
l_ds['Altitude'] = ids.variables['Altitude'][:]
l_ds['rangeCorrected_0'] = ids.variables['rangeCorrected_0'][:]
l_ds['rangeCorrected_1'] = ids.variables['rangeCorrected_1'][:]
for var in ['rangeCorrected_0', 'rangeCorrected_1']:
_perc_05 = np.percentile(l_ds[var], 2)
_perc_95 = np.percentile(l_ds[var], 98)
l_ds[var][l_ds[var] < _perc_05] = np.nan
l_ds[var][l_ds[var] > _perc_95] = np.nan
return l_ds
评论列表
文章目录