Exemple #1
0
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
Exemple #2
0
 def get_data(self) -> Union[Grid, Radial]:
     if self.radial_flag:
         lon, lat = self.projection()
         return Radial(
             self.data,
             self.max_range,
             self.el,
             self.reso,
             self.code,
             self.name,
             self.scantime,
             self.dtype,
             self.stationlon,
             self.stationlat,
             lon,
             lat,
         )
     else:
         return Grid(
             self.data,
             self.max_range,
             self.reso,
             self.code,
             self.name,
             self.scantime,
             self.dtype,
             self.stationlon,
             self.stationlat,
             self.lon,
             self.lat,
         )
Exemple #3
0
 def get_data(self, level=0) -> Grid:
     x, y = np.meshgrid(self.lon, self.lat)
     dtype = self.product_name
     if self.data.ndim == 2:
         ret = self.data
     else:
         ret = self.data[level]
         if self.product_name == '3DREF':
             dtype = 'CR'
     grid = Grid(ret, np.nan, np.nan, 'SWAN', 'SWAN', self.data_time, dtype,
                 0, 0, x, y)
     return grid
Exemple #4
0
 def get_data(self, level=0) -> Grid:
     x, y = np.meshgrid(self.lon, self.lat)
     dtype = self.product_name
     if self.data.ndim == 2:
         ret = self.data
     else:
         ret = self.data[level]
         if self.product_name == "3DREF":
             dtype = "CR"
     grid = Grid(ret, np.nan, np.nan, "SWAN", "SWAN", self.data_time, dtype,
                 0, 0, x, y)
     return grid
Exemple #5
0
 def __call__(self, step: Number_T) -> Grid:
     x, y = self._process_grid(step, step)
     grid = self._map_points(x, y)
     grid = np.ma.masked_outside(grid, 0.1, 100)
     return Grid(
         grid,
         np.nan,
         step,
         "RADMAP",
         "RADMAP",
         self.scan_time,
         self.dtype,
         0,
         0,
         x,
         y,
     )
Exemple #6
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
Exemple #7
0
 def get_data(self) -> Grid:
     x, y = np.meshgrid(self.lon, self.lat)
     grid = Grid(self.data, np.nan, np.nan, 'SWAN', 'SWAN', self.data_time,
                 self.product_name, 0, 0, x, y)
     return grid