爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3655|回复: 10

[图形美化] 求助:准备编一个求5天k指数平均,现将每天的写入.dat,出错了

[复制链接]

新浪微博达人勋

发表于 2015-10-30 15:17:59 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 311wen 于 2015-10-30 15:20 编辑

'reinit'
'sdfopen f:\ncep\air.2011.nc'
'sdfopen f:\ncep\rhum.2011.nc'
'set gxout fwrite'
'set fwrite f:\qxlt\datctl\k_t.dat'
'set lon 90 125'
'set lat 25 40'

tt=1
while(tt<=5)
'set t 'tt''

*****以下是求每天的k指数***********
'set lev 850'
'define T850=air.1-273.16'
'define RH=rhum.2'
'define Td850=T850-((14.55+0.114*T850)*(1-0.01*rh)+pow((2.5+0.007*T850)*(1-0.01*rh),3)+(15.9+0.117*T850)*pow((1-
0.01*rh),14))'

'set lev 700'
'define T700=air.1-273.16'
'define RH=rhum.2'
'define Td700=T700-((14.55+0.114*T700)*(1-0.01*rh)+pow((2.5+0.007*T700)*(1-0.01*rh),3)+(15.9+0.117*T700)*pow((1-
0.01*rh),14))'

'set lev 500'
'define T500=air.1-273.16'
'define K=T850-T500+Td850-(T700-Td700)'
'd k'

tt=tt+1
endwhile
'disable fwrite'
'reinit'
;



---------------------------ctl文件--------------------------
dset f:\qxlt\datctl\k_t.dat
title k_t
undef -2.56e33
xdef 9 linear 37 2.5
ydef 13 linear 45 2.5
zdef 1 levels 500
tdef 5 linear 00Z01jan2011 1dy
vars 1
k 0 99 k
endvars

不知道上面有没有错误
画的时候
set t 5出现以下错误 QQ图片20151030151727.png






密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-10-30 15:21:08 | 显示全部楼层
然而set t 1
set t 4都可以画出图来。不知道为什么set t 5就不行
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-10-30 15:52:33 | 显示全部楼层
然后,想着我如果要挑选时间的话又试着写了一个if的程序,写入dat
tt=1
while(tt<=365)
if(tt=1|tt=2|tt=3|tt=4|tt=5)
......

'd k'

tt=tt+1
endwhile
'disable fwrite'
'reinit'
;

然后试着比较和上面的图,发现只有set t=1时是一样的,从t=2就不同了!

同问为什么啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-10-30 16:27:17 | 显示全部楼层
311wen 发表于 2015-10-30 15:21
然而set t 1
set t 4都可以画出图来。不知道为什么set t 5就不行

你确定1~4时次出图都正确?
……
'set lon 90 125'
'set lat 25 40'
……

……
xdef 9 linear 37 2.5
ydef 13 linear 45 2.5
……
间存在矛盾!!!


密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-10-30 19:37:32 | 显示全部楼层
四叶草 发表于 2015-10-30 16:27
你确定1~4时次出图都正确?
……
'set lon 90 125'

恩,太感谢您了,确实怎么也没想到那错了,谢谢您的指出!现在都ok了感谢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-10-30 20:09:03 | 显示全部楼层
本帖最后由 311wen 于 2015-10-30 20:10 编辑
四叶草 发表于 2015-10-30 16:27
你确定1~4时次出图都正确?
……
'set lon 90 125'


您好我还想请教一下,若我想将2012年1月1日的也写入.dat

'sdfopen f:\ncep\air.2011.nc'
'sdfopen f:\ncep\rhum.2011.nc'
'sdfopen f:\ncep\air.2012.nc'
'sdfopen f:\ncep\rhum.2012.nc'
--------------------------写2011年1月1日的
'set t 1'
'set lev 850'
'define T850=air.1-273.16'
'define RH=rhum.2'
'define Td850=...
'd k'
--------------------写2012年1月1日的
'set t 1'
'set lev 850'
'define T850=air.3-273.16'
'define RH=rhum.4'
'define Td850=...
'd k'

'disable fwrite'
'reinit'
;

这样可以么,可是我运行出来2011年1月1日的有,2012年1月1日图上就就显示“entire grid undefined”
请为是为什么呢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-10-31 14:21:18 | 显示全部楼层
311wen 发表于 2015-10-30 20:09
您好我还想请教一下,若我想将2012年1月1日的也写入.dat

'sdfopen f:\ncep\air.2011.nc'

从你提取数据的脚本看没问题,关键还是得看你的ctl文件
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-11-1 00:30:10 | 显示全部楼层
四叶草 发表于 2015-10-31 14:21
从你提取数据的脚本看没问题,关键还是得看你的ctl文件

dset f:\qxlt\datctl\k_t13.dat
title k_t13
undef -9.99e+08
xdef 15 linear 90.0 2.5
ydef 7 linear 25.0 2.5
zdef 1 levels 500
tdef 2 linear 00Z01jan2011 1dy
vars 1
k 0 99 k
endvars
不知道是否时间问题,但又找不出原因。
再次麻烦您

傲游截图20151101002917.png




密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-11-1 09:41:26 | 显示全部楼层
311wen 发表于 2015-11-1 00:30
dset f:\qxlt\datctl\k_t13.dat
title k_t13
undef -9.99e+08

你把ctl改写成下面的试试
dset f:\qxlt\datctl\k_t13.dat
title k_t13
undef -9.99e+08
xdef 15 linear 90.0 2.5
ydef 7 linear 25.0 2.5
zdef 1 levels 500
tdef 1 linear 00Z01jan2011 1dy
vars 2
k1 0 99 k1
k2 0 99 k2
endvars
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-11-1 18:53:29 | 显示全部楼层
四叶草 发表于 2015-11-1 09:41
你把ctl改写成下面的试试
dset f:\qxlt\datctl\k_t13.dat
title k_t13

试了不行,还是同样的问题。还是谢谢您


傲游截图20151101183213.png
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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