def _extract(Rlist): r_data = list() elev = list() areso = Rlist[0].a_reso if Rlist[0].a_reso else 360 for i in Rlist: x, d, a = resample(i.data, i.dist, i.az, i.reso, areso) r_data.append(x) elev.append(i.elev) data = np.concatenate(r_data).reshape(len(Rlist), r_data[0].shape[0], r_data[0].shape[1]) return data, d, a, elev
def _extract(r_list): d_list = np.array([i.drange for i in r_list]) if d_list.mean() != d_list.max(): raise ValueError('Input radials must have same data range') r_data = list() elev = list() areso = r_list[0].a_reso if r_list[0].a_reso else 360 for i in r_list: x, d, a = resample(i.data, i.dist, i.az, i.reso, areso) r_data.append(x) elev.append(i.elev) data = np.concatenate(r_data).reshape(len(r_list), r_data[0].shape[0], r_data[0].shape[1]) return data, d, a, np.array(elev)
def _extract(r_list: Volume_T, dtype: str) -> tuple: if len(set(i.range for i in r_list)) > 1: raise ValueError("Input radials must have same data range") adim_shape = set(i.dims["azimuth"] for i in r_list) if max(adim_shape) > 400: # CC radar adim_interp_to = 512 else: adim_interp_to = 360 r_data = list() elev = list() for i in r_list: x, d, a = resample( i[dtype].values, i["distance"].values, i["azimuth"].values, i.tangential_reso, adim_interp_to, ) r_data.append(x) elev.append(i.elevation) data = np.concatenate(r_data).reshape(len(r_list), r_data[0].shape[0], r_data[0].shape[1]) return data, d, a, np.array(elev)