爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 8824|回复: 10

[分享资料] 求助:grads作计算时不识别缺测值

[复制链接]

新浪微博达人勋

发表于 2013-11-9 21:59:45 | 显示全部楼层 |阅读模式

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

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

x
将mopiit数据转化成grd形式,编写了ctl,希望通过能够分层求CO含量,但运算过程中可能受缺测干扰?不过已经在ctl中设置了undef,不知道该怎么解决,求帮助!
GS:
'reinit'
'open j:/moppit/mop1-night.ctl'
'open j:/moppit/ps1-night.ctl'

'set fwrite j:/moppit/lco-night.grd'
'set gxout fwrite'

j=1
while(j<=144)

'set t 'j

'define co3=vint(ps.2(lev=0),co,300)/9.8'
'define co5=vint(ps.2(lev=0),co,500)/9.8'

'd co3'
*'d co5'
*'d co3-co5'

j=j+1
endwhile
'disable fwrite'
;
地面气压ctl:
dset j:/moppit/ps1-day.grd  
UNDEF -9999.000                          
title moppit CO
xdef 360 linear -179.5 1.0
ydef 180 linear  -89.5 1.0
zdef 1 levels 100
tdef 144 linear jan2001 1mo
vars   1
ps  0 99 var Topo
endvars
CO的ctl:
dset j:/moppit/mop1-day.grd  
undef -9999                          
title moppit CO
xdef 360 linear -179.5 1.0
ydef 180 linear  -89.5 1.0
zdef 9 levels 900 800 700 600 500 400 300 200 100
tdef 144 linear jan2001 1mo
vars   1
co  9 99 var Topo
endvars
具体文件在附件里,还请高手指点啊.. moppit.rar (43.3 MB, 下载次数: 14)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-11-9 22:02:27 | 显示全部楼层
感觉没有表达清楚。已经在Ctl中设置了undef,但计算的结果MS还是受到缺测的干扰;或者还有别的什么问题..请高手指点啊..
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-11-10 08:05:49 | 显示全部楼层
本帖最后由 river 于 2013-11-10 08:07 编辑

grads计算的过程中会自动处理缺测值,你怎么判断缺测值影响了你的结果?还有你确定你的资料里缺测值就是-9999吗,怎么判断的?你的地面气压资料和CO资料有没有问题,你的两个ctl有没有问题,能不能正确出图?

这里随便哪个步骤出一点儿问题都会影响你的结果,现在你觉得你的问题说清楚了么?一句都在附件里是不够的,大家都不是闲着没事儿的人,哪有那么多时间下载下来给你一步一步去验证呢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-11-10 10:35:44 | 显示全部楼层
zitaxcy 发表于 2013-11-9 22:02
感觉没有表达清楚。已经在Ctl中设置了undef,但计算的结果MS还是受到缺测的干扰;或者还有别的什么问题..请 ...

undef换成-9.99e8试试,如果你的数据本来就有缺测的地方,那么grads进行运算在输出的时候会对你的缺测值进行修改,变成它的默认缺省值,这个你就需要修改了,当然如果这个也不行的话,就换一台机器,有时候是grads版本或者你的机器问题,这个修改不了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-11-10 13:37:54 | 显示全部楼层
river 发表于 2013-11-10 08:05
grads计算的过程中会自动处理缺测值,你怎么判断缺测值影响了你的结果?还有你确定你的资料里缺测值就是- ...

我是通过fortran将grd中数据读出来看过了,确实是-9999,而且利用ctl读取数据并画图并没有出错,但是用来做计算就会出错,就算是简单的相关计算都不行..苦恼..
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-11-10 13:39:21 | 显示全部楼层
lqouc 发表于 2013-11-10 10:35
undef换成-9.99e8试试,如果你的数据本来就有缺测的地方,那么grads进行运算在输出的时候会对你的缺测值进 ...

嗯嗯..我用fortran读了,看了它的默认值..-9999.000我去试个换个版本..谢谢啦。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-11-10 13:54:34 | 显示全部楼层
zitaxcy 发表于 2013-11-10 13:39
嗯嗯..我用fortran读了,看了它的默认值..-9999.000我去试个换个版本..谢谢啦。。

已经解决了,谢谢你提醒啊!!!我之前只用ortran检查了输入资料的undef,输出资料的Undef忘记检查了..计算之后是-9.9900000E+08..改过来就OK了..以后一定再仔细些..谢谢啦..
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-11-10 13:55:38 | 显示全部楼层
lqouc 发表于 2013-11-10 10:35
undef换成-9.99e8试试,如果你的数据本来就有缺测的地方,那么grads进行运算在输出的时候会对你的缺测值进 ...

已经解决了,谢谢你提醒啊!!!我之前只用ortran检查了输入资料的undef,输出资料的Undef忘记检查了..计算之后是-9.9900000E+08..改过来就OK了..以后一定再仔细些..谢谢啦..
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-11-10 14:00:43 | 显示全部楼层
zitaxcy 发表于 2013-11-10 13:55
已经解决了,谢谢你提醒啊!!!我之前只用ortran检查了输入资料的undef,输出资料的Undef忘记检查了..计 ...

嗯,顺便把你的标题修改一下吧,前面的括号里改成【已解决】。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-11-11 21:57:52 | 显示全部楼层
最近也遇到了这个干扰,5楼的回答很有效,论坛真是个好地方!
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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