爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3896|回复: 0

MeteoInfoLab脚本示例:AIRS Swath HDF数据

[复制链接]

新浪微博达人勋

发表于 2015-7-6 20:54:07 | 显示全部楼层 |阅读模式

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

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

x
例子中的AIRS Swath HDF数据在Polar Stereographic(南极)投影中接近矩形,需要先从数据中读出经纬度及相关数据数组,利用surfacem函数绘制Swath数据(散点),在surfacem函数中经纬度数据会被投影到目的投影坐标系(在axesm函数中定义),并从2维散点数据生成surface数据(也就是格点数据)用所谓的surface插值方法。2维散点数据可以组成格网(非矩形格网),遍历目标格点数据的每个格点,该格点落在格网中哪个网格中,就将此网格的散点值赋给该格点。有些拗口,其实算法不是很复杂,和MatLab中的surfacem函数的功能类似。

脚本程序:
  1. #Add data file
  2. folder = 'D:/Temp/hdf/'
  3. fns = 'AIRS.2002.12.31.001.L2.CC_H.v4.0.21.0.G06100185050.hdf'
  4. fn = folder + fns
  5. f = addfile(fn)
  6. lon_v = f['Longitude']
  7. lat_v = f['Latitude']
  8. lon = lon_v[:,:]
  9. lat = lat_v[:,:]
  10. vname = 'radiances'
  11. rad_v = f[vname]
  12. rad = rad_v[:,:,567]
  13. #Plot
  14. plot,proj = axesm(proj='stere', lat_0=-90, gridline=True, griddx=30, griddy=30)
  15. mlayer = shaperead('D:/Temp/map/country1.shp')
  16. geoshow(mlayer)
  17. levs = arange(40, 90, 1)
  18. #slayer = scatterm(lon, lat, rad, levs, edge=True)
  19. layer = surfacem(lon, lat, rad, levs)
  20. colorbar(layer, orientation='horizontal')
  21. title('{0}\n {1}'.format(fns, vname))
  22. axism()


Image00875.png
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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