爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
楼主: MeteoInfo

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

[复制链接]
发表于 2020-6-13 11:14:17 | 显示全部楼层
还想请问一下王老师:MI软件的一个程序可以一次读入多少个FNL的文件?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-13 13:17:32 | 显示全部楼层
guo066600 发表于 2020-6-13 11:14
还想请问一下王老师:MI软件的一个程序可以一次读入多少个FNL的文件?

不知道,你可以帮着测试一下
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2020-10-9 11:18:29 | 显示全部楼层
王老师,你的示例脚本中第15行:ndata = mean(data, axis=0)  中mean函数是对前面打开的所有时次求平均吗?我打开30个文件(1981-2010),每个文件里面是每年5月的一天4次的数据,我按照你的示例代码运行,最后发现ndata是一个二维(x,y)的数据,我想分别对5月的124个时次求30年的平均,最后的数据是三维的,应该怎么做呢?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2021-2-27 16:26:03 | 显示全部楼层
  1. >>> run script...
  2. Traceback (most recent call last):
  3.   File "D:\read_aws_nc.py", line 10, in <module>
  4.     fs = addfiles(fns)
  5.   File "D:\MeteoInfo_2.4.5\MeteoInfo\pylib\mipylib\dataset\midata.py", line 78, in addfiles
  6.     return DimDataFiles(dfs)
  7.   File "D:\MeteoInfo_2.4.5\MeteoInfo\pylib\mipylib\dataset\dimdatafile.py", line 719, in __init__
  8.     ftimes.append(ds.gettime(0))
  9.   File "D:\MeteoInfo_2.4.5\MeteoInfo\pylib\mipylib\dataset\dimdatafile.py", line 265, in gettime
  10.     t = self.dataset.getDataInfo().getTimes().get(idx)     
  11.         at org.meteoinfo.data.meteodata.DataInfo.getTimes(DataInfo.java:156)

  12.         at jdk.internal.reflect.GeneratedMethodAccessor78.invoke(Unknown Source)

  13.         at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

  14.         at java.base/java.lang.reflect.Method.invoke(Method.java:564)

  15. java.lang.NullPointerException: java.lang.NullPointerException: Cannot invoke "org.meteoinfo.ndarray.Dimension.getDimValue()" because "this.tDim" is null
  16. >>>
复制代码

王老师 ,我合并多个文件的时候出现这样的错误,是由于没有时间维度吗?

代码如下

  1. file_dir = 'E:/aws-nc-19-20/test/'
  2. fns = []
  3. for root, dirs, files in os.walk(file_dir):
  4.     for file in files:  
  5.         filedir = os.path.join(root,file)
  6.         fns.append(filedir)


  7. fs = addfiles(fns)
复制代码
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-27 22:40:08 | 显示全部楼层
upuil 发表于 2021-2-27 16:26
王老师 ,我合并多个文件的时候出现这样的错误,是由于没有时间维度吗?

代码如下

对,需要有时间维
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2022-5-2 21:17:39 | 显示全部楼层
本帖最后由 guo066600 于 2022-5-2 21:24 编辑

王老师,循环读入GDAS的某月w1和w2文件后,提取pblh数据,pblh = fs['PBLH'][:,:,:]
tn = pblh.dimlen(0)
后执行循环写入csv,
for i in range(tn):
    t = f.gettime(i)
    #Interpolate to station
    pblh_st = pblh[i,:,:].interpn([lat, lon])
    ws_st = ws[i,:,:].interpn([lat, lon])
    line = '%s,%.2f,%.2f' % (t.strftime('%Y-%m-%d_%H'), pblh_st, ws_st)
    print line
    of.write(line + '\n')
of.close()

报错显示只写入了w1的数据后就无法写入w2的数据了,错误提示与第一页的某位坛友的报错信息类似,应该如何解决?
抱歉,报错信息一复制进来就无法提交评论,因此只能描述了。

密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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