爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: MeteoInfo

MeteoInfoLab脚本示例:AOD

[复制链接]

新浪微博达人勋

发表于 2015-6-22 23:37:01 | 显示全部楼层
MeteoInfo 发表于 2015-6-22 23:30
错误信息是什么?把你用的数据文件和脚本都贴出来看看。

王老师回复这么快,我贴出来了,谢谢您!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-6-22 23:47:01 | 显示全部楼层
houxiaogang 发表于 2015-6-22 22:58
非常感谢王老师及时回复,我把MeteoInfo 1.2.6下载下来了,但是我的还是出错了。我跟踪了一下,好像运行 ...

你的数据不是全球的,需要改x, y的范围:
  1. f = addfile('D:/Temp/hdf/MOD08_D3.A20150501.hdf')
  2. v_aod = f['Optical_Depth_Land_And_Ocean_Mean']
  3. #Set x/y
  4. x = linspace(112.0,123.0, 11)
  5. y = linspace(32.0,42.0, 10)
  6. #Set x/y dimensions
  7. v_aod.setdim('Y', y)
  8. v_aod.setdim('X', x)
  9. #Get data
  10. #aod = v_aod[[33,41],[113,122]]
  11. aod = v_aod[:,:]
  12. #Plot
  13. axesm()
  14. china = shaperead('D:/Temp/map/bou2_4p.shp')
  15. geoshow(china, linecolor='gray')
  16. world = shaperead('D:/Temp/map/country1.shp')
  17. geoshow(world)
  18. levels = arange(0, 1.0, 0.02)
  19. layer = contourfm(aod, levels, interpolate=True)
  20. title('Aerosol Optical Depth at 550 nm')
  21. colorbar(layer)
  22. show()


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

新浪微博达人勋

发表于 2015-6-22 23:55:33 | 显示全部楼层
MeteoInfo 发表于 2015-6-22 23:47
你的数据不是全球的,需要改x, y的范围:

王老师太牛了!结果出来了,非常非常感谢!谢谢王老师这么晚回复我!我还有如下几个问题:
1、这个图怎么存成bmp(或其他格式)图;
2、怎么把经纬网格加上去(如图例);
3、Colorbar怎么可以设置成如图例一样。
王老师早点休息,这个几个问题可以以后再帮助我。

正确结果

正确结果

图例

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

新浪微博达人勋

发表于 2015-6-22 23:58:37 | 显示全部楼层
MeteoInfo真的很牛,一个小小的建议就是错误提示如果能比较清楚点就很好了!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-6-23 09:32:05 | 显示全部楼层
houxiaogang 发表于 2015-6-22 23:55
王老师太牛了!结果出来了,非常非常感谢!谢谢王老师这么晚回复我!我还有如下几个问题:
1、这个图怎 ...

1、输出图片用savefig函数,参加此帖:http://bbs.06climate.com/forum.php?mod=viewthread&tid=34995

2、加入grid(True)语句,目前网格线是画在最底层,以后会加上画在最顶层的选项。

3、重新定义levels和cmap,cmap的取值可以看MeteoInfo路径中colormaps目录中的文件名,不用写后缀。

  1. f = addfile('D:/Temp/hdf/MOD08_D3.A20150501.hdf')
  2. v_aod = f['Optical_Depth_Land_And_Ocean_Mean']
  3. #Set x/y
  4. x = linspace(112.0,123.0, 11)
  5. y = linspace(32.0,42.0, 10)
  6. #Set x/y dimensions
  7. v_aod.setdim('Y', y)
  8. v_aod.setdim('X', x)
  9. #Get data
  10. #aod = v_aod[[33,41],[113,122]]
  11. aod = v_aod[:,:]
  12. #Plot
  13. axesm()
  14. china = shaperead('D:/Temp/map/bou2_4p.shp')
  15. geoshow(china, linecolor='gray')
  16. world = shaperead('D:/Temp/map/country1.shp')
  17. geoshow(world)
  18. #levels = arange(0, 1.0, 0.02)
  19. levels = arange(0.1, 0.98, 0.08)
  20. layer = contourfm(aod, levels, cmap='grads_rainbow', interpolate=True)
  21. title('Aerosol Optical Depth at 550 nm')
  22. grid(True)
  23. colorbar(layer)
  24. show()
  25. savefig('D:/Temp/test/aod.png', 500, 600)



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

新浪微博达人勋

发表于 2015-6-23 10:45:52 | 显示全部楼层
本帖最后由 houxiaogang 于 2015-6-23 10:47 编辑

谢谢王老师的指导与帮助!结果出来了,以后好好学学这个软件,我也多推广!
aod.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-6-23 11:18:46 | 显示全部楼层
houxiaogang 发表于 2015-6-23 10:45
谢谢王老师的指导与帮助!结果出来了,以后好好学学这个软件,我也多推广!

嗯,软件有用户才能有生命力。MeteoInfoLab还在很初级的阶段,也希望用户能提出功能需求并汇报bug。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-7-13 15:45:45 | 显示全部楼层
王老师,如果用MATLAB处理这个数据呢,哪个更简单些
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-7-13 15:54:04 | 显示全部楼层
z黑色青春 发表于 2015-7-13 15:45
王老师,如果用MATLAB处理这个数据呢,哪个更简单些

你可以自己尝试一下,给出结果。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-7-13 16:25:10 | 显示全部楼层
z黑色青春 发表于 2015-7-13 15:45
王老师,如果用MATLAB处理这个数据呢,哪个更简单些

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

本版积分规则

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

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

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