爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: MeteoInfo

MeteoInfoLab脚本示例:同时加载多个文件

[复制链接]

新浪微博达人勋

 楼主| 发表于 2017-2-13 22:26:39 | 显示全部楼层
良辰 发表于 2017-2-13 18:42
王老师,的确是您说的问题,我在服务器上可以正常运行!但是最新版本里这个tostation这个功能改变了吗 ...

DimDataFiles类目前还没有tostation函数,可以考虑用interpn函数,参考此贴:http://bbs.06climate.com/forum.php?mod=viewthread&tid=46753
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-2-14 04:28:44 | 显示全部楼层
MeteoInfo 发表于 2017-2-13 22:26
DimDataFiles类目前还没有tostation函数,可以考虑用interpn函数,参考此贴:http://bbs.06climate.com/f ...

之前的贴子就用到过tostation函数,后来修改删除了吗?tostation函数和interpn函数有区别吗?影响计算结果吗?http://bbs.06climate.com/forum.p ... &extra=page%3D4
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-2-14 08:18:49 | 显示全部楼层
良辰 发表于 2017-2-14 04:28
之前的贴子就用到过tostation函数,后来修改删除了吗?tostation函数和interpn函数有区别吗?影响计算结果 ...

注意DimDataFile和DimDataFiles是两个不同的类,DimDataFiles是最近加的专门处理一次加载多个数据文件的类,DimDataFile类有tostation函数,但DimDataFiles类里目前没有。interpn函数是处理多维数组插值的,和tostation一样都是双线性插值算法。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-2-14 11:45:20 | 显示全部楼层
MeteoInfo 发表于 2017-2-14 08:18
注意DimDataFile和DimDataFiles是两个不同的类,DimDataFiles是最近加的专门处理一次加载多个数据文件的 ...

王老师,遇到这个问题,浮点数不能插值。如何解决?
Traceback (most recent call last):
  File "<iostream>", line 143, in <module>
AttributeError: 'float' object has no attribute 'interpn'
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-2-14 12:38:18 | 显示全部楼层
良辰 发表于 2017-2-14 11:45
王老师,遇到这个问题,浮点数不能插值。如何解决?
Traceback (most recent call last):
  File "", l ...

多维数组才能进行插值
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-2-14 13:19:30 | 显示全部楼层
MeteoInfo 发表于 2017-2-14 12:38
多维数组才能进行插值

        v = vort.interpn([t,pres,lat,lon])
        ww = mpv.interpn([t,press,lat,lon])
        temp = t0.interpn([t,pres,lat,lon])
        rh = rh.interpn([t,pres,lat,lon])
是多维数组插值,我感觉问题应该出在湿度rh的高度维数比温度等多一层,会有影响吗?如有该如何修改那?谢谢王老师!维数设置代码如下:
v = fs['RELH']
rh = v[:,:,latlim,lonlim]
nx = rh.dimlen(3)
ny = rh.dimlen(2)
nz = rh.dimlen(1)
nt = rh.dimlen(0)
lat = rh.dimvalue(2)
lev = rh.dimvalue(1)
t0 = fs['TEMP'][:,:nz-1,latlim,lonlim]
uwnd = fs['UWND'][:,:nz-1,latlim,lonlim]
vwnd = fs['VWND'][:,:nz-1,latlim,lonlim]
vort = np.hcurl(uwnd, vwnd)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-2-14 13:39:52 | 显示全部楼层
良辰 发表于 2017-2-14 13:19
v = vort.interpn([t,pres,lat,lon])
        ww = mpv.interpn([t,press,lat,lon])
        t ...

是哪一行代码出错?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-2-14 14:30:26 来自手机 | 显示全部楼层
      rh = rh.interpn([t,pres,lat,lon])
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-2-14 15:09:59 | 显示全部楼层
本帖最后由 良辰 于 2017-2-14 18:17 编辑
MeteoInfo 发表于 2017-2-14 13:39
是哪一行代码出错?

就是相对湿度这行!而且注释掉就可以运行了
   rh = rh.interpn([t,pres,lat,lon])
另外,王老师,如果我用到的数据涉及到跨月份该怎么办呐?咱这个最多可以加载多少个数据文件那?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-2-15 10:56:40 | 显示全部楼层
良辰 发表于 2017-2-14 15:09
就是相对湿度这行!而且注释掉就可以运行了
   rh = rh.interpn([t,pres,lat,lon])
另外,王老师,如果 ...

数据文件可以加载很多,不过读取的数组太大的话可能会有内存不够的问题。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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