请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 11280|回复: 21

MeteoinfoLab脚本示例:3维水平、经向剖面图

[复制链接]

新浪微博达人勋

发表于 2019-7-16 15:29:25 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 ︶ㄣ安定■丶 于 2019-7-16 15:38 编辑

分享一个使用MiLab绘制3维水平、经向剖面图的脚本
(1) 3维水平剖面图
TIM截图20190716152150.jpg
脚本如下:
  1. # add data
  2. f = addfile(r'D:\test\MERRA2_100.instM_3d_asm_Np.198001.SUB.nc')
  3. RH = f['RH'][0,:,:,:]*100.0
  4. lev1 = f['lev'][:]

  5. lev2 = meteo.pressure_to_height_std(lev1)
  6. lev2 = lev2/1000.0
  7. RH.setdimvalue(0, lev2)

  8. tdata_0km = RH['0',:,:]
  9. tdata_2km = RH['2',:,:]
  10. tdata_4km = RH['4',:,:]
  11. tdata_6km = RH['6',:,:]

  12. #plot
  13. levs = arange(0,100,1)
  14. cols=makecolors(len(levs)+1,cmap='NCV_jet')
  15. ax = axes3d(position=[0.11, 0.11, 0.775, 0.88],tickfontsize=24,bbox=True)
  16. china = shaperead('D:/Temp/map/china.shp')
  17. world = shaperead('D:/Temp/map/country1.shp')
  18. layer=ax.contourf(tdata_0km,levs,colors=cols,offset=0,alpha=1,zdir='z',smooth=True)
  19. ax.plot_layer(china,edgecolor='gray',offset=0)
  20. layer=ax.contourf(tdata_2km,levs,colors=cols,offset=2,alpha=1,zdir='z',smooth=True)
  21. ax.plot_layer(china,edgecolor='gray',offset=2)
  22. layer=ax.contourf(tdata_4km,levs,colors=cols,offset=4,alpha=1,zdir='z',smooth=True)
  23. ax.plot_layer(china,edgecolor='gray',offset=4)
  24. layer=ax.contourf(tdata_6km,levs,colors=cols,offset=6,alpha=1,zdir='z',smooth=True)
  25. ax.plot_layer(china,edgecolor='gray',offset=6)
  26. xlim(70,140)
  27. ylim(15,55)
  28. zlim(0,6)
  29. ylabel('Latitude (degrees)',fontsize=24)
  30. xlabel('Longitude (degrees)',fontsize=24)
  31. zlabel('Altitude (km)',fontsize=24)
  32. colorbar(layer,labelloc='right',ticks=arange(0,101,20),orientation='horizontal',yshift=25,label='RH (%)',fontsize=25,shrink=0.8,aspect=45)
  33. antialias(True)


(2) 3维经向剖面图

TIM截图20190716152240.jpg
脚本如下:
  1. # add data
  2. f = addfile(r'D:\test\MERRA2_100.instM_3d_asm_Np.198001.SUB.nc')
  3. RH = f['RH'][0,:,:,:]*100.0

  4. lev1 = f['lev'][:]
  5. lev2 = meteo.pressure_to_height_std(lev1)
  6. lev2 = lev2/1000.0
  7. RH.setdimvalue(0, lev2)

  8. #plot
  9. levs = arange(0,100,1)
  10. cols=makecolors(len(levs)+1,cmap='NCV_jet')
  11. ax = axes3d(position=[0.11, 0.11, 0.775, 0.88],tickfontsize=24,bbox=True)
  12. china = shaperead('D:/Temp/map/china.shp')
  13. world = shaperead('D:/Temp/map/country1.shp')
  14. ax.plot_layer(world,edgecolor='gray')
  15. ax.plot_layer(china,edgecolor='k')
  16. layer = ax.contourf(RH[:,:,'70'],levs,colors=cols,offset=70,alpha=0.8,zdir='x',smooth=True)
  17. layer = ax.contourf(RH[:,:,'90'],levs,colors=cols,offset=90,alpha=0.8,zdir='x',smooth=True)
  18. layer = ax.contourf(RH[:,:,'110'],levs,colors=cols,offset=110,alpha=0.8,zdir='x',smooth=True)
  19. layer = ax.contourf(RH[:,:,'130'],levs,colors=cols,offset=130,alpha=0.8,zdir='x',smooth=True)
  20. xlim(70,140)
  21. ylim(15,55)
  22. zlim(0,15)
  23. ylabel('Latitude (degrees)',fontsize=24)
  24. xlabel('Longitude (degrees)',fontsize=24)
  25. zlabel('Altitude (km)',fontsize=24)
  26. colorbar(layer,labelloc='right',ticks=arange(0,101,20),orientation='horizontal',yshift=25,label='RH (%)',fontsize=25,shrink=0.8,aspect=45)
  27. antialias(True)


总结: 纬向剖面和径向类似,这里就不再展示,大家可以根据示例文件尝试,欢迎跟帖。
附件为示例文件:Merra-2 的RH数据

MERRA2_100.instM_3d_asm_Np.198001.SUB.nc

1000.88 KB, 下载次数: 83, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-7-16 15:40:41 | 显示全部楼层
可以占沙发了,顶鸭,酷毙了!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-7-16 15:44:01 | 显示全部楼层
顶,感谢分享!!!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-7-16 15:44:02 | 显示全部楼层
支持一下。。
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2019-7-16 15:47:01 | 显示全部楼层
支持一下。。
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2019-7-16 15:53:16 | 显示全部楼层
{:eb502:}{:eb502:}{:eb502:}
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-7-16 15:55:10 | 显示全部楼层
感谢老师分享
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-7-16 16:07:09 | 显示全部楼层
支持,向老师学习
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-7-16 16:44:09 | 显示全部楼层
已加入脚本汇总帖。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-7-16 18:24:24 | 显示全部楼层
楼主赞一个,谢谢分享
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表