爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: MeteoInfo

MeteoInfoLab脚本汇总贴

  [复制链接]

新浪微博达人勋

 楼主| 发表于 2016-12-7 00:02:31 | 显示全部楼层
ruanjinshuai 发表于 2016-12-6 23:59
王老师,我的数据是2009年GLADS(grib1格式)全年的三小时一次的数据,固有2920个grb文档,我想分析其时间序 ...

你给我发几个数据文件做例子我先试试
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-12-7 13:20:29 | 显示全部楼层
我先把数据传上去,这是一天的数据,麻烦王老师了!

GLDAS_NOAH10_3H.A20090101.0000.020.grb

958.52 KB, 下载次数: 1, 下载积分: 金钱 -5

GLDAS_NOAH10_3H.A20090101.0300.020.grb

960.38 KB, 下载次数: 1, 下载积分: 金钱 -5

GLDAS_NOAH10_3H.A20090101.0600.020.grb

960.38 KB, 下载次数: 1, 下载积分: 金钱 -5

GLDAS_NOAH10_3H.A20090101.0900.020.grb

962.23 KB, 下载次数: 1, 下载积分: 金钱 -5

GLDAS_NOAH10_3H.A20090101.1200.020.grb

964.09 KB, 下载次数: 1, 下载积分: 金钱 -5

GLDAS_NOAH10_3H.A20090101.1500.020.grb

962.23 KB, 下载次数: 1, 下载积分: 金钱 -5

GLDAS_NOAH10_3H.A20090101.1800.020.grb

964.1 KB, 下载次数: 1, 下载积分: 金钱 -5

GLDAS_NOAH10_3H.A20090101.2100.020.grb

962.24 KB, 下载次数: 1, 下载积分: 金钱 -5

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

新浪微博达人勋

发表于 2016-12-7 14:02:24 | 显示全部楼层
王老师,看到你的回复说通过dos命令来合并grib数据http://bbs.06climate.com/forum.p ... id=19271&page=2,我尝试了一下,合并出来的数据大小和原始数据总的大小一致,然而我画图发现同一时刻的T分布是不一致的。以下是我的图片,是我处理错了,还是本来dos这种处理方式有问题?图1为未合成是8.7.00时分布,图2为合成得到数据后的8.7:00时分布,
T1.png
T2.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-12-7 14:19:13 | 显示全部楼层
ruanjinshuai 发表于 2016-12-7 13:20
我先把数据传上去,这是一天的数据,麻烦王老师了!

目前MeteoInfoLab还没有类似NCL的addfiles函数同时读入多个数据文件(以后会考虑加上此项功能),可以用循环来处理。

  1. datadir = 'E:/Temp'
  2. st = datetime.datetime(2009,1,1,0)
  3. et = datetime.datetime(2009,1,1,21)
  4. tn = 8
  5. data = None
  6. i = 0
  7. while st <= et:
  8.     fn = os.path.join(datadir, 'GLDAS_NOAH10_3H.A' + st.strftime('%Y%m%d.%H') + \
  9.         '00.020.grb')
  10.     print fn
  11.     f = addfile(fn)
  12.     ws = f['Wind_Speed_surface'][0,:,:]
  13.     if i == 0:
  14.         yn = ws.dimlen(0)
  15.         xn = ws.dimlen(1)
  16.         data = zeros((tn,yn,xn))
  17.     data[i,:,:] = ws.array
  18.     i += 1
  19.     st = st + datetime.timedelta(hours=3)
  20. data = mean(data, axis=0)
  21. lat = ws.dimvalue(0)
  22. lon = ws.dimvalue(1)
  23. #Plot
  24. axesm()
  25. lworld = shaperead('D:/Temp/map/country1.shp')
  26. geoshow(lworld)
  27. layer = imshowm(lon, lat, data)
  28. colorbar(layer)
  29. title('Mean wind speed (' + et.strftime('%Y-%m-%d') + ')')


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

新浪微博达人勋

发表于 2016-12-7 14:25:24 | 显示全部楼层
谢谢王老师!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-12-7 14:34:13 | 显示全部楼层
ruanjinshuai 发表于 2016-12-7 14:02
王老师,看到你的回复说通过dos命令来合并grib数据http://bbs.06climate.com/forum.php?mod=viewthread&tid ...

我试了用dos合并grib文件,没问题呀
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-12-13 22:06:20 | 显示全部楼层
王老师您好,我有一个数据,第一列是高度,后面是一天中一些时刻所对应的数据值,我想请问一下能不能画出我下面附上的图?附部分数据和图,请老师指导。
all_.txt (7.79 KB, 下载次数: 5)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-12-14 08:52:59 | 显示全部楼层
半颗麦芽糖 发表于 2016-12-13 22:06
王老师您好,我有一个数据,第一列是高度,后面是一天中一些时刻所对应的数据值,我想请问一下能不能画出我 ...

我抽空看看。

有新的问题最好开一个新帖子讨论。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-12-14 10:32:54 | 显示全部楼层
半颗麦芽糖 发表于 2016-12-13 22:06
王老师您好,我有一个数据,第一列是高度,后面是一天中一些时刻所对应的数据值,我想请问一下能不能画出我 ...

数据格式有说明吗?看不明白
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-12-14 12:38:32 | 显示全部楼层
MeteoInfo 发表于 2016-12-14 10:32
数据格式有说明吗?看不明白

王老师,数据是自己处理合并的,30、60、90……表示高度,后面那些表示一天内一些时刻对应的数据值,数据有些混乱,我重新整理一下再问王老师吧
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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