爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5913|回复: 6

[脚本编辑] 请问我想用grads画求垂直速度随高度的变化图一直出现 the request variable has no...

[复制链接]

新浪微博达人勋

发表于 2018-4-21 10:11:23 | 显示全部楼层 |阅读模式

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

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

x
我已经求好了纬向平均,然后想画横坐标是纬度,纵坐标是高度
但是一直出现 the request variable has no z dimension
这是求纬向平均的gs文件'reinit'
'open G:\lunwen\dataw\w.ctl'
'set fwrite G:\lunwen\dataw\c.grd'
'set lat 10 60'
'set lon 70'
'set lev 1000 925 850 700 600 500 400 300 250 200 150 100'
'define w1=ave(w,lon=60,lon=135)'
'd w1'
'disable fwrite'
;
这是CTL
dset G:\lunwen\dataw\c.grd
title CMIP5 sstClim output
undef  1.e+20
xdef 1 linear 60 1.9
ydef 23 linear 20 1.9
zdef 12 levels 1000 925 850 700 600 500 400 300 250 200 150 100
tdef 1 linear Jan0001 1mo
vars 1
w 0 99 geopotential height
endvars


这是GS
'reinit'
'open G:\lunwen\dataw\w1.ctl'
'enable print g:\lunwen\dataw\c.gmf'
'set grid off'
'set grads off'
'set z 1 12'
'set lon 60 '
'set lat 10 60'

'd w'


'draw xlab lat'
'draw ylab P'
'draw title mean spring vertical pressure velocity'
'print'


'disable print'
;

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

新浪微博达人勋

发表于 2018-4-21 11:03:38 | 显示全部楼层
计算输出时垂直方向要使用循环方式输出,即
'set lev 1000 925 850 700 600 500 400 300 250 200 150 100'
'define w1=ave(w,lon=60,lon=135)'
'd w1'
改为
iz=1
while(iz<=12)
'set z 'iz''
'define w1=ave(w,lon=60,lon=135)'
'd w1'
iz=iz+1
endwhile
尝试一下。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-4-21 11:09:52 | 显示全部楼层
balfulosa 发表于 2018-4-21 11:03
计算输出时垂直方向要使用循环方式输出,即
'set lev 1000 925 850 700 600 500 400 300 250 200 150 100' ...

谢谢!我改正过来,然后画出来的图Y轴只有1000到925,我特意在gs文件里设置了'set ylevs 1000 925 850 700 600 500 400 300 250 200 150 100'都不行,
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-4-21 11:09:56 | 显示全部楼层
balfulosa 发表于 2018-4-21 11:03
计算输出时垂直方向要使用循环方式输出,即
'set lev 1000 925 850 700 600 500 400 300 250 200 150 100' ...

谢谢!我改正过来,然后画出来的图Y轴只有1000到925,我特意在gs文件里设置了'set ylevs 1000 925 850 700 600 500 400 300 250 200 150 100'都不行,
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-4-21 11:27:21 | 显示全部楼层
虾虾虾虾虾 发表于 2018-4-21 11:09
谢谢!我改正过来,然后画出来的图Y轴只有1000到925,我特意在gs文件里设置了'set ylevs 1000 925 850 70 ...

你的w.ctl里zdef是怎么样的呢?因为不清楚w.ctl里垂直方向有多少层,所以只是给了while(z<=12),有可能这12层只包含了1000到925hPa。建议这样试一试,按照w.ctl里的垂直方向层数,修改while(z<=12)中的层数。输出数据的ctl(w1.ctl)按照w.ctl中的zdef改写。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-4-21 11:39:18 | 显示全部楼层
balfulosa 发表于 2018-4-21 11:27
你的w.ctl里zdef是怎么样的呢?因为不清楚w.ctl里垂直方向有多少层,所以只是给了while(z

我的CTL里面的zdef是12层的!从1000hpa到100Hpa,但是是青藏高原地形画的图,所以大概只有500Hpa之上的数据比较全,500hpa以下的数据就很少,这样设置可以吗
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-10-23 19:01:40 | 显示全部楼层
你好,想问下你的数据是从哪里下载的呀,能加个扣扣吗,1290186675,
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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