Coder Social home page Coder Social logo

kiemeo / pycwr Goto Github PK

View Code? Open in Web Editor NEW

This project forked from yvzheng/pycwr

0.0 0.0 0.0 23.49 MB

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

License: MIT License

Shell 0.01% Python 99.15% Batchfile 0.02% Cython 0.83%

pycwr's Introduction

avatar

pycwr (Python China Weather Radar tools library)

Documents

The documentation will be built on readthedocs and is available at the pycwr documents website.

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

pycwr's People

Contributors

yvzheng avatar bugsuse avatar daxinnan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.