diff --git a/cinrad/io/_radar_struct/standard_data.py b/cinrad/io/_radar_struct/standard_data.py index 4d2794e..2b8a56d 100644 --- a/cinrad/io/_radar_struct/standard_data.py +++ b/cinrad/io/_radar_struct/standard_data.py @@ -365,13 +365,13 @@ l3_vwp_header_dtype = np.dtype(l3_vwp_header) l3_vwp_table = [ - ("start_time","i4"), - ("height","i4"), - ("fitvalid","i4"), - ("wind_direction","f4"), - ("wind_speed","f4"), - ("rms_std","f4"), - ("res","8c"), + ("start_time", "i4"), + ("height", "i4"), + ("fitvalid", "i4"), + ("wind_direction", "f4"), + ("wind_speed", "f4"), + ("rms_std", "f4"), + ("res", "8c"), ] l3_vwp_table_dtype = np.dtype(l3_vwp_table) diff --git a/cinrad/io/level2.py b/cinrad/io/level2.py index a08247e..4a4b07d 100644 --- a/cinrad/io/level2.py +++ b/cinrad/io/level2.py @@ -27,10 +27,14 @@ def epoch_seconds_to_utc(epoch_seconds: float) -> datetime.datetime: r"""Convert epoch seconds to UTC datetime""" - return datetime.datetime.utcfromtimestamp(epoch_seconds).replace(tzinfo=datetime.timezone.utc) + return datetime.datetime.utcfromtimestamp(epoch_seconds).replace( + tzinfo=datetime.timezone.utc + ) -def localdatetime_to_utc(ldt: datetime.datetime, tz: datetime.timezone = utc8_tz) -> datetime.datetime: +def localdatetime_to_utc( + ldt: datetime.datetime, tz: datetime.timezone = utc8_tz +) -> datetime.datetime: r"""Convert local datetime to UTC datetime""" if ldt.tzinfo is None: ldt = ldt.replace(tzinfo=tz) # suppose the default timezone is UTC+8 @@ -168,7 +172,9 @@ def _SAB_reader(self, f: Any, dtype: str = "SAB"): data = np.frombuffer(f.read(), dtype=radar_dtype) deltday = datetime.timedelta(days=int(data["day"][0])) deltsec = datetime.timedelta(milliseconds=int(data["time"][0])) - _ONE_DAY = datetime.timedelta(days=1) # MARK: start from 1969-12-31, we don't know why + _ONE_DAY = datetime.timedelta( + days=1 + ) # MARK: start from 1969-12-31, we don't know why epoch_seconds = (deltday + deltsec - _ONE_DAY).total_seconds() self.scantime = epoch_seconds_to_utc(epoch_seconds) self.Rreso = data["gate_length_r"][0] / 1000 @@ -900,9 +906,7 @@ def __init__(self, file): self.stationlon = data["header"]["longitude"][0] * 360 / 65535 self.stationlat = data["header"]["latitude"][0] * 360 / 65535 self.radarheight = data["header"]["height"][0] * 1000 / 65535 - self.scantime = epoch_seconds_to_utc( - data["data"]["radial_time"][0] - ) + self.scantime = epoch_seconds_to_utc(data["data"]["radial_time"][0]) self.reso = np.round(data["data"]["gate_length"][0] * 1000 / 65535) / 1000 self.first_gate_dist = ( np.round(data["data"]["first_gate_dist"][0] * 1000 / 65535) / 1000 diff --git a/cinrad/visualize/utils.py b/cinrad/visualize/utils.py index 748d64f..13b801d 100644 --- a/cinrad/visualize/utils.py +++ b/cinrad/visualize/utils.py @@ -171,11 +171,13 @@ def __init__(self, filename: str, encoding: str = "gbk"): pass self._fields = self._reader.fields + from cartopy import __version__ if __version__ >= "0.23.0": ShpReader = shapereader.BasicReader + def setup_plot(dpi: Number_T, figsize: tuple = FIG_SIZE, style: str = "black") -> Any: if style == "transparent": figsize = (10, 10) @@ -261,7 +263,7 @@ def save(fpath: str, style: str = "black", **kwargs): @lru_cache(maxsize=2) def get_shp() -> list: flist = get_shp_list() - shps = [list(ShpReader(i).geometries()) for i in flist] + shps = [list(ShpReader(i, encoding="gbk").geometries()) for i in flist] return shps