- 积分
- 55946
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-6-21
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
HYSPLIT模式输出的气团轨迹文件可以通过MeteoInfoLab的addfile_hytraj函数读取,通过变量lon, lat, height读取气团轨迹经纬度和高度坐标。在地图坐标系中绘制地理底图,并用scatter函数绘制所有气团的终点位置(后向气团轨迹),然后通过循环绘制气团轨迹运动动画图。循环中的绘图函数plot来绘制气团轨迹线条,scatter来绘制该循环时次气团终点,需要注意的是下个循环绘制前用两个cll()函数删除上次循环绘制的轨迹线条和点。可以用time模块的sleep函数来控制动画的播放速度。
- import time
- fn = os.path.join(migl.get_sample_folder(), 'HYSPLIT', 'tdump')
- f = addfile_hytraj(fn)
- lon = f['lon'][:]
- lat = f['lat'][:]
- height = f['height'][:]
- #Plot
- ax = axesm()
- geoshow('country', edgecolor='gray', facecolor=(230,230,230))
- levs = arange(0, 600, 50)
- scatter(lon[:,0], lat[:,0], size=6, color='r', marker='S')
- yticks(arange(35, 54, 5))
- title('Trajectory')
- ntraj, npoint = lon.shape
- for i in range(2, npoint+1):
- if i > 2:
- cll()
- cll()
- tlayer = plot(lon[:,-i:], lat[:,-i:], zvalues=height[:,-i:], levels=levs, linewidth=2)
- scatter(lon[:,-i], lat[:,-i], marker='s', size=5, edgecolor='m', facecolor=None)
- if i == 2:
- colorbar(tlayer)
- xlim(-92, -55)
- ylim(34, 54)
- plt.draw()
-
- time.sleep(0.1)
20231025_165640.mp4
(863.52 KB, 下载次数: 28)
|
|