コード例 #1
0
ファイル: easycalc.py プロジェクト: Meteolover/PyCINRAD
 def _geocoor(self):
     r_data = list()
     x_data = list()
     y_data = list()
     h_data = list()
     for i in self.rl:
         r, x, y = grid_2d(i.data, i.lon, i.lat)
         r_data.append(r)
         x_data.append(x)
         y_data.append(y)
     for radial, elev in zip(self.rl, self.el):
         hgh = height(radial.dist, elev, 0)
         hgh_radial = np.asarray(hgh.tolist() * radial.data.shape[0]).reshape(radial.data.shape)
         hgh_grid, x, y = grid_2d(hgh_radial, radial.lon, radial.lat)
         h_data.append(hgh_grid)
     return x_data, y_data, h_data, r_data
コード例 #2
0
ファイル: easycalc.py プロジェクト: tooowzh/PyCINRAD
def quick_cr(r_list: Volume_T, resolution: Optional[tuple] = None) -> Grid:
    r"""
    Calculate composite reflectivity

    Paramters
    ---------
    r_list: list of cinrad.datastruct.Radial

    Returns
    -------
    l2_obj: cinrad.datastruct.Grid
        composite reflectivity
    """
    r_data = list()
    for i in r_list:
        r, x, y = grid_2d(i.data, i.lon, i.lat, resolution=resolution)
        r_data.append(r)
    cr = np.max(r_data, axis=0)
    x, y = np.meshgrid(x, y)
    l2_obj = Grid(
        np.ma.array(cr, mask=(cr <= 0)),
        i.drange,
        i.reso,
        i.code,
        i.name,
        i.scantime,
        "CR",
        i.stp["lon"],
        i.stp["lat"],
        x,
        y,
        **i.scan_info
    )
    return l2_obj
コード例 #3
0
ファイル: easycalc.py プロジェクト: tooowzh/PyCINRAD
 def _geocoor(self) -> tuple:
     r_data = list()
     x_data = list()
     y_data = list()
     h_data = list()
     for i in self.rl:
         if i.dtype in ["VEL", "SW"]:
             r, x, y = grid_2d(i.data[0], i.lon, i.lat)
         else:
             r, x, y = grid_2d(i.data, i.lon, i.lat)
         r_data.append(r)
         x_data.append(x)
         y_data.append(y)
         hgh_grid, x, y = grid_2d(i.height, i.lon, i.lat)
         h_data.append(hgh_grid)
     return x_data, y_data, h_data, r_data
コード例 #4
0
def quick_cr(r_list: Volume_T, resolution: tuple = (1000, 1000)) -> Dataset:
    r"""
    Calculate composite reflectivity

    Paramters
    ---------
    r_list: list of xarray.Dataset

    Returns
    -------
    ret: xarray.Dataset
        composite reflectivity
    """
    r_data = list()
    for i in r_list:
        r, x, y = grid_2d(
            i["REF"].values,
            i["longitude"].values,
            i["latitude"].values,
            resolution=resolution,
        )
        r_data.append(r)
    cr = np.nanmax(r_data, axis=0)
    ret = Dataset(
        {"CR": DataArray(cr, coords=[x, y], dims=["longitude", "latitude"])})
    ret.attrs = i.attrs
    ret.attrs["elevation"] = 0
    return ret
コード例 #5
0
 def _geocoor(self) -> Tuple[list]:
     r_data = list()
     x_data = list()
     y_data = list()
     h_data = list()
     for i in self.rl:
         _lon = i["longitude"].values
         _lat = i["latitude"].values
         r, x, y = grid_2d(i[self.dtype].values, _lon, _lat)
         r, x, y = grid_2d(i[self.dtype].values, _lon, _lat)
         r_data.append(r)
         x_data.append(x)
         y_data.append(y)
         hgh_grid, x, y = grid_2d(i["height"].values, _lon, _lat)
         h_data.append(hgh_grid)
     return x_data, y_data, h_data, r_data
コード例 #6
0
 def merge(self):
     lon = self.gen_longitude()
     lat = self.gen_latitude()
     data_tmp = list()
     for i in self.data_list:
         data, x, y = grid_2d(i.data, i.lon, i.lat, x_out=lon, y_out=lat)
         data_tmp.append(np.ma.array(data, mask=(data == 0)))
     out_data = np.ma.average(data_tmp, axis=0)
     return x, y, out_data
コード例 #7
0
def quick_cr(r_list: RList) -> Grid:
    r'''
    Calculate composite reflectivity

    Paramters
    ---------
    r_list: list of cinrad.datastruct.Radial

    Returns
    -------
    l2_obj: cinrad.datastruct.Grid
        composite reflectivity
    '''
    r_data = list()
    for i in r_list:
        r, x, y = grid_2d(i.data, i.lon, i.lat)
        r_data.append(r)
    cr = np.max(r_data, axis=0)
    x, y = np.meshgrid(x, y)
    l2_obj = Grid(np.ma.array(cr, mask=(cr <= 0)), i.drange, 1, i.code, i.name,
                  i.scantime, 'CR', x, y)
    return l2_obj