爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6575|回复: 18

MeteoInfoLab脚本示例:CloudSAT HDF Swath数据

[复制链接]

新浪微博达人勋

发表于 2015-10-14 23:14:05 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 MeteoInfo 于 2017-5-11 22:39 编辑

读取CloudSAT HDF Swath数据,绘图分上下两部分,上面是时间和高度维的Radar Reflectivity Factor二维图,下面是卫星轨迹图。

示例程序:
  1. # Add file
  2. f = addfile('D:/Temp/hdf/2010128055614_21420_CS_2B-GEOPROF_GRANULE_P_R04_E03.hdf')

  3. # Read data
  4. vname = 'Radar_Reflectivity'
  5. v_data = f[vname]
  6. data = v_data[:,:]
  7. v_height = f['Height']
  8. height = v_height[0,:]
  9. time = f['Profile_time'][:]
  10. lon = f['Longitude'][:]
  11. lat = f['Latitude'][:]

  12. # Read attributes
  13. long_name = v_data.attrvalue('long_name')[0]
  14. scale_factor = v_data.attrvalue('factor')[0]
  15. valid_min = v_data.attrvalue('valid_range')[0]
  16. valid_max = v_data.attrvalue('valid_range')[1]
  17. units = v_data.attrvalue('units')[0]
  18. units_h = v_height.attrvalue('units')[0]

  19. # Apply scale factor
  20. valid_max = valid_max / scale_factor
  21. valid_min = valid_min / scale_factor
  22. data = data / scale_factor
  23. data[data>valid_max] = nan
  24. data[data<valid_min] = nan
  25. data = transpose(data)
  26. data = data[::-1,:]

  27. # Make a split window plot
  28. subplot(2, 1, 1)

  29. # Contour the data
  30. levs = arange(-38, 50, 2)
  31. layer = imshow(time, height[::-1], data, levs)
  32. colorbar(layer)
  33. title('Radar Reflectivity Factor')
  34. xlabel('Seconds since the start of the granule. (seconds)')
  35. ylabel('Height (m)')

  36. # The 2nd plot is the trajectory
  37. subplot(2, 1, 2)
  38. axesm(newaxes=False)
  39. lworld = shaperead('D:/Temp/map/country1.shp')
  40. geoshow(lworld, edgecolor='k')
  41. plotm(lon, lat, '-b', linewidth=4)
  42. #scatterm(lon, lat, lon, size=4, edge=False, facecolor='b')
  43. scatterm(lon[0], lat[0], size=6, facecolor='r')
  44. xlim(-180, 180)
  45. ylim(-90, 90)
  46. title('Trajectory of Flight Path (starting point in red)')


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

新浪微博达人勋

发表于 2015-10-20 22:54:19 | 显示全部楼层
赞王老师,和之前matlab的几乎一样,功能越来越强大了。把第一幅图的横坐标设置为经纬就更好了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-10-20 23:47:59 | 显示全部楼层
{:eb502:}
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2016-1-4 09:41:40 | 显示全部楼层
file:///C:/Users/cma5x/Desktop/捕获.PNG 请问下用这个脚本老提示这个是什么原因
捕获.PNG
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-1-4 09:58:34 | 显示全部楼层
5xx 发表于 2016-1-4 09:41
请问下用这个脚本老提示这个是什么原因

你修改过这个脚本吗?怎么修改的?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-1-4 10:28:25 | 显示全部楼层
MeteoInfo 发表于 2016-1-4 09:58
你修改过这个脚本吗?怎么修改的?

我下载的也是这个反射率数据,他里面数据存放的格式不都应该一样的么?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-1-4 10:34:22 | 显示全部楼层
5xx 发表于 2016-1-4 10:28
我下载的也是这个反射率数据,他里面数据存放的格式不都应该一样的么?

你运行脚本后在Console里输入:
>>> f

然后回车可以看到文件的详细信息。看看变量名还有属性之类的是不是和脚本不同?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-1-4 10:36:32 来自手机 | 显示全部楼层
。。。。。。。。楼主
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2016-1-4 11:26:26 | 显示全部楼层
MeteoInfo 发表于 2016-1-4 10:34
你运行脚本后在Console里输入:
>>> f

从读取属性那里开始报错,但是我属性名都是相同的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-1-4 11:30:03 | 显示全部楼层
5xx 发表于 2016-1-4 11:26
从读取属性那里开始报错,但是我属性名都是相同的

要不你把hdf文件作为附件附上,我下载试试。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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