爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6538|回复: 13

[脚本编辑] grads循环报错 求大佬们帮下我

[复制链接]

新浪微博达人勋

发表于 2019-4-6 10:21:38 | 显示全部楼层 |阅读模式

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

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

x
新手上路,grads循环报错,求大佬指点下。我想取每年678月的区域平均。再求其平均就出现以下错误了。
这是我的gs文件:
'reinit'
'sdfopen E:\data\v_monthly_2.5_global.nc'
'set lon 110 140'
'set lat 20 30'
'set lev 850'
i=0
while(i<=38)
'set t '6+12*i
'define aa=aave(v,lon=110,lon=130,lat=20,lat=30)'
'set t '7+12*i
'define bb=aave(v,lon=110,lon=130,lat=20,lat=30)'
'set t '8+12*i
'define cc=aave(v,lon=110,lon=130,lat=20,lat=30)'
'define a1=(aa+bb+cc)/3'
endwhile
谢谢大佬们
1.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-4-6 14:55:10 | 显示全部楼层
你的循环结构有问题,你仔细看两眼,看看少什么东西
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-4-6 19:56:09 | 显示全部楼层
你的i并没有参与循环,while循环中i的值要变化呀
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-4-6 20:07:07 | 显示全部楼层
hhcj 发表于 2019-4-6 19:56
你的i并没有参与循环,while循环中i的值要变化呀

'reinit'
'sdfopen E:\data\v_monthly_2.5_global.nc'
'set lon 110 140'
'set lat 20 30'
'set lev 850'
i=0
while(i<=38)
'set t '6+12*i
'define aa=aave(v,lon=110,lon=130,lat=20,lat=30)'
'set t '7+12*i
'define bb=aave(v,lon=110,lon=130,lat=20,lat=30)'
'set t '8+12*i
'define cc=aave(v,lon=110,lon=130,lat=20,lat=30)'
'define a1=(aa+bb+cc)/3'
  i=i+1
endwhile;
我改成这样了,还是同样的错啊
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-4-6 20:09:11 | 显示全部楼层
river 发表于 2019-4-6 14:55
你的循环结构有问题,你仔细看两眼,看看少什么东西

'reinit'
'sdfopen E:\data\v_monthly_2.5_global.nc'
'set lon 110 140'
'set lat 20 30'
'set lev 850'
i=0
while(i<=38)
'set t '6+12*i
'define aa=aave(v,lon=110,lon=130,lat=20,lat=30)'
'set t '7+12*i
'define bb=aave(v,lon=110,lon=130,lat=20,lat=30)'
'set t '8+12*i
'define cc=aave(v,lon=110,lon=130,lat=20,lat=30)'
'define a1=(aa+bb+cc)/3'
  i=i+1
endwhile;
我把i=i+1加上去了,还是报错
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-4-6 20:12:09 | 显示全部楼层
river 发表于 2019-4-6 14:55
你的循环结构有问题,你仔细看两眼,看看少什么东西

'reinit'
'sdfopen E:\data\v_monthly_2.5_global.nc'
'set lon 110 140'
'set lat 20 30'
'set lev 850'
i=0
while(i<=38)
'set t '6+12*i
'define aa=aave(v,lon=110,lon=130,lat=20,lat=30)'
'set t '7+12*i
'define bb=aave(v,lon=110,lon=130,lat=20,lat=30)'
'set t '8+12*i
'define cc=aave(v,lon=110,lon=130,lat=20,lat=30)'
'define a1=(aa+bb+cc)/3'
  i=i+1
endwhile;
我把i=i+1加上去了,还是报错
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-4-6 20:15:13 | 显示全部楼层
hhcj 发表于 2019-4-6 19:56
你的i并没有参与循环,while循环中i的值要变化呀

'reinit'
'sdfopen E:\data\v_monthly_2.5_global.nc'
'set lon 110 140'
'set lat 20 30'
'set lev 850'
i=0
while(i<=38)
'set t '6+12*i
'define aa=aave(v,lon=110,lon=130,lat=20,lat=30)'
'set t '7+12*i
'define bb=aave(v,lon=110,lon=130,lat=20,lat=30)'
'set t '8+12*i
'define cc=aave(v,lon=110,lon=130,lat=20,lat=30)'
'define a1=(aa+bb+cc)/3'
  i=i+1
endwhile;
我加了i=i+1和分号,还是同样的错误
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-4-6 20:29:22 | 显示全部楼层
halexxxxx 发表于 2019-4-6 20:15
'reinit'
'sdfopen E:\data\v_monthly_2.5_global.nc'
'set lon 110 140'

'set t '6+12*i  你以为这样的简写那么容易用啊
你别犯懒,好好把关于 i 的变量定义一下再用
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-4-6 21:54:10 | 显示全部楼层
本帖最后由 halexxxxx 于 2019-4-6 21:56 编辑
river 发表于 2019-4-6 20:29
'set t '6+12*i  你以为这样的简写那么容易用啊
你别犯懒,好好把关于 i 的变量定义一下再用

我看书上是这么定义的 我该怎么改进呢
1.jpg
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-4-6 22:25:19 | 显示全部楼层
halexxxxx 发表于 2019-4-6 21:54
我看书上是这么定义的 我该怎么改进呢

我搞不清楚简写,所以你把它写全了试试吧
'set t '6+12*i' '
或者直接用新变量代替这个算式
比如 : tt=6+12*i
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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