Skip to content
/ pycwr Public
forked from YvZheng/pycwr

The China Weather Radar Toolkit, support most of China's radar formats(WSR98D, CINRAD/SA/SB/CB, CINRAD/CC/CCJ, CINRAD/SC/CD)

License

Notifications You must be signed in to change notification settings

kaomiao/pycwr

Repository files navigation

avatar

pycwr (Python China Weather Radar tools library)

Install pycwr Library

The easiest route to installing pycwr is through pip and conda:

if you haven't install cartopy, for all platforms installing cartopy can be done with:

conda install -c conda-forge cartopy

and you can install pycwr with pip:

pip install pycwr

Also, you can install from source code:

git clone https://github.com/YvZheng/pycwr.git
cd pycwr
python setup.py install    

Read Radar Basedata to PRD (Polarimetry Radar Data) class or Py-ART Radar class

from pycwr.io import read_auto
file = r"./Z_RADR_I_Z9898_20190828192401_O_DOR_SAD_CAP_FMT.bin.bz2"
PRD = read_auto(file)
PyartRadar = PRD.ToPyartRadar()

The data structure of the PRD is as follows:

Plotting PPI with map

import matplotlib.pyplot as plt
import cartopy.crs as ccrs
from pycwr.draw.RadarPlot import Graph, GraphMap
ax = plt.axes(projection=ccrs.PlateCarree())
graph = GraphMap(PRD, ccrs.PlateCarree())
graph.plot_ppi_map(ax, 0, "dBZ", cmap="pyart_NWSRef")
ax.set_title("example of PPI with map", fontsize=16)
plt.show()

avatar

Plotting PPI

fig, ax = plt.subplots()
graph = Graph(PRD)
graph.plot_ppi(ax, 0, "dBZ", cmap="pyart_NWSRef")
graph.add_rings(ax, [0, 50, 100, 150, 200, 250, 300])
ax.set_title("example of PPI", fontsize=16)
ax.set_xlabel("Distance From Radar In East (km)", fontsize=14)
ax.set_ylabel("Distance From Radar In North (km)", fontsize=14)

avatar

Plotting VCS with lat lon position

fig, ax = plt.subplots()
graph = GraphMap(PRD, ccrs.PlateCarree())
graph.plot_vcs_map(ax, (120.8, 27.8), (122.9, 26.8), "dBZ", cmap="pyart_NWSRef")
ax.set_ylim([0,15])
ax.set_ylabel("Height (km)", fontsize=14)
ax.set_xlabel("Latitude, Longitude", fontsize=14)
ax.set_title("VCS exmaple", fontsize=16)
plt.show()

avatar

Plotting VCS with x y position

fig, ax = plt.subplots()
graph = Graph(PRD)
graph.plot_vcs(ax, (0,0), (150, 0), "dBZ", cmap="pyart_NWSRef")
ax.set_ylim([0,15])
ax.set_ylabel("Height (km)", fontsize=14)
ax.set_xlabel("Distance From Section Start (Uints:km)", fontsize=14)
ax.set_title("VCS exmaple", fontsize=16)
plt.show()

avatar

Launch Graphical interface to show Radar Data

 python scripts/LaunchGUI.py

The main window opens as shown below:

more example via: exmaple

Project development plan

  • WSR98D, CINRAD/SA/SB/CB, CINRAD/CC/CCJ, CINRAD/SC/CD support
  • Cfradial Read support
  • Write to Cfradial support
  • Automatically identify radar and obtain latitude and longitude information (SA/SB/CB)
  • Automatic recognition of radar data format types
  • transform to Pyart Radar object
  • Graphical interface support
  • Radar vertical profile support
  • Interpolation algorithm support
  • PPI drawing support, overlay map support
  • RHI drawing support
  • Multi-radar inversion algorithm support
  • Radar product algorithm support
  • Doppler Radar/Dual polarization radar quality control algorithm
  • DSD Algorithm Support for Dual Polarization Radar
  • Doppler radar wind field retrieve support
  • Radar quantitative precipitation estimation algorithm support
  • Radar extrapolation algorithm support
  • Radar quantitative precipitation forecast algorithm support

About

The China Weather Radar Toolkit, support most of China's radar formats(WSR98D, CINRAD/SA/SB/CB, CINRAD/CC/CCJ, CINRAD/SC/CD)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Python 99.2%
  • Other 0.8%