- 积分
- 55965
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-6-21
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 MeteoInfo 于 2020-2-20 17:42 编辑
可以用minimum_filter和maximum_filter函数来定位气压低值和高值中心。
- f = addfile('D:/Temp/GrADS/model.ctl')
- pres = f['PS'][0,'-60:70','50:280']
- lat = pres.dimvalue(0)
- lon = pres.dimvalue(1)
- pres = imagelib.gaussian_filter(pres, sigma=3.0)
- mxdata = imagelib.minimum_filter(pres, size=25)
- mxy, mxx = np.where(mxdata == pres)
- midata = imagelib.maximum_filter(pres, size=25)
- miy, mix = np.where(midata == pres)
- #Plot
- axesm()
- geoshow('country')
- layer = contourm(lon, lat, pres, 10, color=(0,153,204))
- clabel(layer, fontsize=10)
- for j in range(len(mxy)):
- geoshow(lat[mxy[j]], lon[mxx[j]], color='b', edgecolor=None, size=4)
- text(lon[mxx[j]], lat[mxy[j]], 'L', color='r', xalign='center',
- yalign='center', fontsize=16)
- print(mxdata[mxy[j],mxx[j]])
- for j in range(len(miy)):
- geoshow(lat[miy[j]], lon[mix[j]], color='r', edgecolor=None, size=4)
- text(lon[mix[j]], lat[miy[j]], 'H', color='b', xalign='center',
- yalign='center', fontsize=16)
- print(midata[miy[j],mix[j]])
- title('Plot low and high pressure centers')
|
|