水凝物分类

水凝物分类示例程序:

 1# -*- coding: utf-8 -*-
 2from pycwr.io import read_auto
 3from pycwr.retrieve.HID import fhc_HCL
 4import matplotlib.pyplot as plt
 5import numpy as np
 6from pycwr.draw.RadarPlot import plot_xy, add_rings
 7import pandas as pd
 8
 9file = r"./data/NUIST.20150627.002438.AR2.bz2"
10file_t = r"./data/20150627.csv"
11temp = pd.read_csv(file_t, index_col=0, header=None, names=['temp'])
12
13NRadar = read_auto(file)
14num = 3
15dBZ = np.where(NRadar.fields[num].CC>0.9, NRadar.fields[num].dBZ, np.nan)
16KDP = np.where(NRadar.fields[num].CC>0.9, NRadar.fields[num].KDP, np.nan)
17ZDR = np.where(NRadar.fields[num].CC>0.9, NRadar.fields[num].ZDR, np.nan)
18CC = np.where(NRadar.fields[num].CC>0.9, NRadar.fields[num].CC, np.nan)
19temp_2d = np.interp(NRadar.fields[num].z.values/1000., temp.index, temp['temp'])
20dBZ[:,0] = np.nan
21ticks = np.arange(1, 11, 1)
22ticklabels = ['Drizzle', 'Rain', 'Ice Crystals', 'Aggregates', 'Wet Snow', 'Vertical Ice',
23                'LD Graupel', 'HD Graupel', 'Hail', 'Big Drops']
24
25hcl = fhc_HCL(dBZ=dBZ, KDP=KDP, ZDR=ZDR, CC = CC, T=temp_2d)
26fig, ax = plt.subplots()
27plot_xy(ax, NRadar.fields[num].x, NRadar.fields[num].y, hcl,
28        cmap="CN_hcl", bounds=np.arange(0.5,10.6,1),
29        cbar_ticks=ticks, cbar_ticklabels=ticklabels)
30add_rings(ax=ax, rings=[0, 50, 100, 150])
31ax.set_xlim([-150, 150])
32ax.set_ylim([-150, 150])
33ax.set_xlabel("Distance From Radar In East (km)", fontsize=12)
34ax.set_ylabel("Distance From Radar In North (km)", fontsize=12)
35ax.set_title("Hydrometeor classification, El : 3.4", fontsize=14)
36plt.savefig(r"./201506270024_HC.png", dpi=600)
37plt.show()

水凝物分类效果:

reStructuredText, the markup syntax