爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 12034|回复: 28

MeteoInfoLab脚本示例:TRMM 3B43 HDF数据

[复制链接]

新浪微博达人勋

发表于 2015-7-8 09:37:17 | 显示全部楼层 |阅读模式

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

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

x
TRMM 3B43是卫星观测月平均降水量产品,是HDF的格点数据。需要注意的是数据中降水变量维的顺序里经度维在前纬度维在后,这与通常的设置(纬度维在前经度维在后)相反,需要对获取的二维数组进行转置,使用transpose函数。数据的经纬度数组也需要定义(文件中没有)。数据中的0值为缺测值(fill_value),并不是一个好的缺测值设置,因此改为-9999.0。

脚本程序:
  1. #Add data file
  2. folder = 'D:/Temp/hdf/'
  3. fns = '3B43.100301.6A.HDF'
  4. fn = folder + fns
  5. f = addfile(fn)
  6. vname = 'precipitation'
  7. t = f[vname]
  8. rain = t[0,:,:]
  9. rain = transpose(rain)
  10. rain[rain==0] = -9999.0
  11. rain.fill_value = -9999.0
  12. lat = arange(-49.875, 49.875, 0.249375)
  13. lon = arange(-179.875, 179.876, 0.25)
  14. #Plot
  15. axesm()
  16. mlayer = shaperead('D:/Temp/map/country1.shp')
  17. geoshow(mlayer)
  18. layer = imshowm(lon, lat, rain, 20)
  19. colorbar(layer, orientation='horizontal')
  20. title(vname + 'at scan=0')
  21. axism()


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

新浪微博达人勋

发表于 2015-7-10 08:33:05 | 显示全部楼层
赞,谢谢分享  
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-7-15 10:26:54 | 显示全部楼层
{:5_235:}围观
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2015-9-10 18:45:35 | 显示全部楼层
你好,数据中的0值为缺测值(fill_value),这个有官方的说明文档吗?
我在数据hdf的元数据内没有看见有描述,找了下官网,http://disc.sci.gsfc.nasa.gov/ad ... n_faq.shtml#v7_chgs
有如下,
What are the values for latitude and longitude in TRMM 3B42 and 3B43 HDF data files?

The data in the HDF file are written in the following order, (-49.875, -179.875), (-49.625, -179.875), (-49.375, -179.875), (-49.125, -179.875)......(49.875, -179.875), (-49.875, -179.625), (-49.625, -179.625)...... The dimension for longitude is 1440 and the dimension for latitude is 400. The value used to indicate missing data is "-9999.9".

缺省为0的话,应该不明智,这样就区分不了无降水了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-9-10 20:25:46 | 显示全部楼层
先驱vx 发表于 2015-9-10 18:45
你好,数据中的0值为缺测值(fill_value),这个有官方的说明文档吗?
我在数据hdf的元数据内没有看见有描 ...

这个数据文件是从HDFEOS网站下载的,参考网站上MatLab代码中将0作为缺测值。也许数据官网有改进吧,没研究过。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-9-10 21:23:40 | 显示全部楼层
MeteoInfo 发表于 2015-9-10 20:25
这个数据文件是从HDFEOS网站下载的,参考网站上MatLab代码中将0作为缺测值。也许数据官网有改进吧,没研 ...

好的,谢谢!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-9-28 17:05:13 | 显示全部楼层
这是不是说数据不能在meteoinfo直接打开和绘图,也不能直接插值到站点了?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-9-28 19:12:11 | 显示全部楼层
梁的丰 发表于 2015-9-28 17:05
这是不是说数据不能在meteoinfo直接打开和绘图,也不能直接插值到站点了?

可以用MeteoInfoLab脚本处理。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-9-28 19:22:41 | 显示全部楼层
MeteoInfo 发表于 2015-9-28 19:12
可以用MeteoInfoLab脚本处理。

因为之前看过老师的帖子(http://bbs.06climate.com/forum.php?mod=viewthread&tid=1791),发现很多格式的文件在meteoinfo里都可以很方便的显示,并插值到站点,所以来问问是不是最新版的meteoinfo支持TRMM 3B43  HDF的直接显示,谢谢老师!!!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-9-28 19:39:40 | 显示全部楼层
梁的丰 发表于 2015-9-28 19:22
因为之前看过老师的帖子(http://bbs.06climate.com/forum.php?mod=viewthread&tid=1791),发现很多格式 ...

象netCDF和HDF之类的数据格式非常灵活,在MeteoInfo桌面软件中直接打开需要遵循某种约定,比如CF Conventions。否则就只能通过程序来处理。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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