爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 11068|回复: 21

MeteoInfoLab脚本示例:SMAP L4 HDF数据

[复制链接]

新浪微博达人勋

发表于 2016-5-25 10:15:25 | 显示全部楼层 |阅读模式

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

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

x
SMAP (Soil Moisture Active Passive) Level 4 HDF数据的处理示例。数据并非等经纬度投影,从数据中读出经纬度二维数组(cell_lon, cell_lat),注意纬度数组要进行反序(从由北向南改为由南向北),相应读取某要素数据(这里示例sruface_temp)时也要进行纬度方向反序处理。然后将数据再次格点化为等经纬度数据,用griddata()函数,注意插值方法要选为method=surface。

  1. #Add data file
  2. print 'Read data...'
  3. fn = 'D:/Temp/hdf/SMAP_L4_SM_gph_20150414T013000_Vb1010_001.h5'
  4. f = addfile(fn)
  5. lon = f['cell_lon'][:,:]
  6. lat = f['cell_lat'][::-1,:]
  7. vname = 'surface_temp'
  8. v = f[vname]
  9. data = v[::-1,:]
  10. #Interpolate data to grid
  11. print 'Interpolate data to grid...'
  12. lon1 = linspace(lon.min(), lon.max(), lon.dimlen(1))
  13. lat1 = linspace(lat.min(), lat.max(), lat.dimlen(0))
  14. data1 = griddata((lon, lat), data, xi=(lon1, lat1), method='surface')[0]
  15. #Plot
  16. print 'Plot...'
  17. axesm()
  18. mlayer = shaperead('D:/Temp/map/country1.shp')
  19. geoshow(mlayer)
  20. layer = imshowm(lon1, lat1, data1, 20)
  21. colorbar(layer)
  22. title('{0}\n {1}'.format(fn, vname))
  23. print 'Finish!'


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

新浪微博达人勋

 楼主| 发表于 2016-5-27 15:38:00 | 显示全部楼层
YF2015 发表于 2016-5-27 15:05
#Add data file
print 'Read data...'
fn = 'C:/SMAP/SMAP_L4_SM_gph_20151015T013000_Vb1010_001.h5'

你的脚步程序在我这里运行没有问题,你用SMAP_L4_SM_gph_20150414T013000_Vb1010_001.h5数据文件试试,如果这个文件能行可能是不同时期数据文件差异导致的。
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2016-5-27 13:34:17 | 显示全部楼层
YF2015 发表于 2016-5-27 12:56
土壤湿度数据要怎么改呢,我改了一下还是不行,提示行列数出错,请王老师帮忙了

vname = 'surface_temp'
改为:
vname = 'sm_surface_wetness'
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2016-5-26 21:43:02 | 显示全部楼层
YF2015 发表于 2016-5-26 19:42
刚才试了一下读取温度数据,很卡,然后就出来这样的提示:是什么问题
run script...
Read data...

重新下载MeteoInfo Java 1.3.2R13版试试
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2016-5-25 11:05:22 | 显示全部楼层
王老师 太感谢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-5-26 16:33:09 | 显示全部楼层
如果做广西地区和中国的,用哪个.shp文件,我的.shp不能再软件里用
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-5-26 16:36:37 | 显示全部楼层
YF2015 发表于 2016-5-26 16:33
如果做广西地区和中国的,用哪个.shp文件,我的.shp不能再软件里用

MeteoInfo软件里有一些shape文件(在map目录中),你自己打开看看。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-5-26 19:40:06 | 显示全部楼层
王老师,要是读取里面的土壤湿度数据要改动哪个地方比如是这个“土壤湿度”,
LQ31OM$$W}QFCI}1X8Z}U_V.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-5-26 19:42:35 | 显示全部楼层
刚才试了一下读取温度数据,很卡,然后就出来这样的提示:是什么问题
run script...
Read data...
Interpolate data to grid...
Traceback (most recent call last):
  File "<iostream>", line 14, in <module>
  File "C:\MeteoInfo\pylib\mipylib\minum.py", line 1447, in griddata
    r = ArrayUtil.interpolation_Surface(x_s.asarray(), y_s.asarray(), values, x_g.asarray(), y_g.asarray())
at java.util.Arrays.copyOf(Unknown Source)
at java.util.ArrayList.grow(Unknown Source)
at java.util.ArrayList.ensureExplicitCapacity(Unknown Source)
at java.util.ArrayList.ensureCapacityInternal(Unknown Source)
at java.util.ArrayList.add(Unknown Source)
at org.meteoinfo.shape.PolygonShape.updatePolygons(PolygonShape.java:278)
at org.meteoinfo.shape.PolygonShape.setPoints(PolygonShape.java:188)
at org.meteoinfo.data.ArrayUtil.interpolation_Surface(ArrayUtil.java:1521)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
java.lang.OutOfMemoryError: java.lang.OutOfMemoryError: Java heap space
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-5-27 12:56:21 | 显示全部楼层
MeteoInfo 发表于 2016-5-26 21:43
重新下载MeteoInfo Java 1.3.2R13版试试

土壤湿度数据要怎么改呢,我改了一下还是不行,提示行列数出错,请王老师帮忙了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-5-27 14:09:17 | 显示全部楼层
MeteoInfo 发表于 2016-5-27 13:34
vname = 'surface_temp'
改为:
vname = 'sm_surface_wetness'

run script...
Read data...
Traceback (most recent call last):
  File "<iostream>", line 8, in <module>
TypeError: str indices must be integers
出现这样的提示
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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