爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: MeteoInfo

MeteoInfoLab脚本示例:风场矢量图

[复制链接]

新浪微博达人勋

 楼主| 发表于 2016-11-22 23:36:45 | 显示全部楼层
半颗麦芽糖 发表于 2016-11-22 18:50
王老师,看了您的这个帖子,再结合该帖http://bbs.06climate.com/forum.php?mod=viewthread&tid=45172&extr ...

eta坐标差值为等压面目前还没有现成的函数。

如果风场矢量太密的话,可以先将U, V分量数组抽稀,然后再绘图。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-11-23 00:01:59 | 显示全部楼层
MeteoInfo 发表于 2016-11-22 23:36
eta坐标差值为等压面目前还没有现成的函数。

如果风场矢量太密的话,可以先将U, V分量数组抽稀,然后 ...

多谢王老师指点!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-11-30 16:23:15 | 显示全部楼层
本帖最后由 半颗麦芽糖 于 2016-11-30 16:25 编辑
MeteoInfo 发表于 2016-11-22 23:36
eta坐标差值为等压面目前还没有现成的函数。

如果风场矢量太密的话,可以先将U, V分量数组抽稀,然后 ...


王老师,我利用nc格式资料通过脚本和界面画了图,但是不知道为什么画出的图有差异(图中气旋所在),画图要求是2014年10月26日12时500hPa风矢量
1122.png 1123.png
附上数据与脚本
uv.nc (4.95 MB, 下载次数: 45)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-11-30 16:59:31 | 显示全部楼层
半颗麦芽糖 发表于 2016-11-30 16:23
王老师,我利用nc格式资料通过脚本和界面画了图,但是不知道为什么画出的图有差异(图中气旋所在),画 ...

很有可能是一个重大的bug,我会尽快修正。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-11-30 19:11:36 | 显示全部楼层
半颗麦芽糖 发表于 2016-11-30 16:23
王老师,我利用nc格式资料通过脚本和界面画了图,但是不知道为什么画出的图有差异(图中气旋所在),画 ...

的确是程序里的一个bug(MeteoInfoLab的结果是错的),已经修正,请下载最新版本(MeteoInfo 1.3.8R1)。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-11-30 19:17:34 | 显示全部楼层
半颗麦芽糖 发表于 2016-11-30 16:23
王老师,我利用nc格式资料通过脚本和界面画了图,但是不知道为什么画出的图有差异(图中气旋所在),画 ...

另外,2016-10-26 12:00是第102个时次(Python中数组序号是从0开始的)。通过文件对象的gettime()函数能够获取某个时次的具体时间变量。

  1. fn = 'E:/Temp/uv.nc'
  2. f = addfile(fn)
  3. tidx = 102
  4. u = f['U'][tidx,[500],[20,50],[70,120]]
  5. v = f['V'][tidx,[500],[20,50],[70,120]]
  6. speed = sqrt(u*u+v*v)
  7. t = f.gettime(tidx)
  8. #Plot
  9. axesm()
  10. lchina = shaperead('D:/Temp/map/bou2_4p.shp')
  11. geoshow(lchina, edgecolor='k')
  12. layer = quiverm(u,v,speed,5,size=5)
  13. colorbar(layer)
  14. title(t.strftime('%Y-%m-%d %H:00'))


新版本也可以用时间变量(datetime.datetime)来提取数组。

  1. fn = 'E:/Temp/uv.nc'
  2. f = addfile(fn)
  3. t = datetime.datetime(2014,10,26,12)
  4. u = f['U'][[t],[500],[20,50],[70,120]]
  5. v = f['V'][[t],[500],[20,50],[70,120]]
  6. speed = sqrt(u*u+v*v)
  7. #Plot
  8. axesm()
  9. lchina = shaperead('D:/Temp/map/bou2_4p.shp')
  10. geoshow(lchina, edgecolor='k')
  11. layer = quiverm(u,v,speed,5,size=5)
  12. colorbar(layer)
  13. title(t.strftime('%Y-%m-%d %H:00'))


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

新浪微博达人勋

发表于 2016-11-30 20:24:06 | 显示全部楼层
MeteoInfo 发表于 2016-11-30 19:17
另外,2016-10-26 12:00是第102个时次(Python中数组序号是从0开始的)。通过文件对象的gettime()函数能 ...

王老师太给力了,膜拜!
但是新版本我下了两次,压缩包解压的时候都显示文件损坏,不知道是什么原因,两个电脑都试了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-11-30 21:52:56 | 显示全部楼层
半颗麦芽糖 发表于 2016-11-30 20:24
王老师太给力了,膜拜!
但是新版本我下了两次,压缩包解压的时候都显示文件损坏,不知道是什 ...

有可能,今天网络不给力,上传的时候断过,我再重新传一下。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-11-30 21:55:50 | 显示全部楼层
MeteoInfo 发表于 2016-11-30 21:52
有可能,今天网络不给力,上传的时候断过,我再重新传一下。

好的,等老师传完了我再下载试试
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-11-30 22:44:01 | 显示全部楼层
半颗麦芽糖 发表于 2016-11-30 21:55
好的,等老师传完了我再下载试试

你可以在百度网盘上下载:http://pan.baidu.com/s/1kUENi4n
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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