爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 7544|回复: 18

[脚本编辑] 循环读取nc数据的时候有错误

[复制链接]

新浪微博达人勋

发表于 2016-12-27 12:09:27 | 显示全部楼层 |阅读模式

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

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

x

出错

出错

以上为错误
'reinit'
'sdfopen D:\1xnlw\omega\omega.1972.nc'
'sdfopen D:\1xnlw\omega\omega.1976.nc'
'sdfopen D:\1xnlw\omega\omega.1979.nc'
'set gxout contour'
'set lon -10 5'
'set lat 5'
'set lev 1000 100'
'set t 1'
'define a=ave(ave(omega.1,t=485,t=728),lat=5,lat=7.5)'
'define b=ave(ave(omega.2,t=485,t=728),lat=5,lat=7.5)'
'define c=ave(ave(omega.3,t=481,t=724),lat=5,lat=7.5)'
'define oave=(a+b+c)/3.0'
'define ooave=smth9(oave)'
这是循环读的程序
只读一个nc文件是能够画图的,但是读了三个就提示错误,读两个也有错误
求大神解答!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-12-27 13:28:56 | 显示全部楼层
看楼主的意思是求三个年份相同时间段的平均垂直速度,为什么不用nc中的月平均资料呢?这样就是打开一个文件,取三个时间段求平均了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-12-27 13:39:23 | 显示全部楼层
试着把层次那项换成一层
set lev 1000 1000
还有你的纬度就一个吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-12-27 13:46:32 | 显示全部楼层
木非dqy 发表于 2016-12-27 13:28
看楼主的意思是求三个年份相同时间段的平均垂直速度,为什么不用nc中的月平均资料呢?这样就是打开一个文件 ...

因为我下载的数据就是一年一个的 我要把它们都取平均
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-12-27 13:47:40 | 显示全部楼层
zhaojing 发表于 2016-12-27 13:39
试着把层次那项换成一层
set lev 1000 1000
还有你的纬度就一个吗?

对的 纬度就一个 横轴是经度 纵轴是气压 是个剖面图
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-12-27 13:49:53 | 显示全部楼层
聆念LN 发表于 2016-12-27 13:47
对的 纬度就一个 横轴是经度 纵轴是气压 是个剖面图

一个一个的试吧,或者这样层次循环
iz=1
   while(iz<=层次个数)
     'set z 'iz''
     **************
      iz=iz+1
   endwhile
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-12-27 14:19:25 | 显示全部楼层
因为打开的三个文件的时间是不同的,第一个文件里的t=485所表示的t在第二个和第三个文件中是不存在,即超出tdef的范围
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-12-27 14:30:38 | 显示全部楼层
f117hqh 发表于 2016-12-27 14:19
因为打开的三个文件的时间是不同的,第一个文件里的t=485所表示的t在第二个和第三个文件中是不存在,即超出 ...

那要怎么办呢 能不能指点一下
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-12-27 14:44:27 | 显示全部楼层
聆念LN 发表于 2016-12-27 14:30
那要怎么办呢 能不能指点一下

可以配一个统一描述文件(ctl)
要点如下:
DSET D:\1xnlw\\omega\omega.%y4.nc   这里的%y4表示4位数的年份
OPTIONS template                               表示多个时间序列原始数据文件
TDEF ??? linear ??????                           ?部分分别为多个文件的总时间长度和第一个文件的开始时间和间隔
ctl的其他部分和一般的ctl一样就行

另,需注意这样的批处理会读入该文件夹下所有满足文件名条件的文件
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-12-27 14:46:09 | 显示全部楼层
zhaojing 发表于 2016-12-27 13:49
一个一个的试吧,或者这样层次循环
iz=1
   while(iz

没听太懂 能不能说的明白点呢
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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