0

这是我的 gs 文件。

'xloc = aminlocx(slp,lon=120,lon=135,lat=20,lat=30)'
'yloc = aminlocy(slp,lon=120,lon=135,lat=20,lat=30)'

'lonn = 39.58386 + 0.22522523*(xloc-1)'
'latt = -8.64826 + 0.22522523*(yloc-1)'

'lonmin = lonn-1'
'lonmax = lonn+1'
'latmin = latt-1'
'latmax = latt+1'

'q w2xy   'lonmin' 'latmin
xpos1=subwrd(result,3)
ypos1=subwrd(result,6)

'q w2xy  'lonmax' 'latmax
xpos2=subwrd(result,3)
ypos2=subwrd(result,6)

'set line 2 1 6'  
'draw rec 'xpos1' 'ypos1' 'xpos2' 'ypos2

我得到了这样的错误

Query Error: Syntax is QUERY W2XY Lon Lat

Query Error: Syntax is QUERY W2XY Lon Lat

DRAW error: Syntax is DRAW REC xlo ylo xhi yhi

我如何解决它?

4

1 回答 1

0

需要注意的是,GrADS 脚本中有两种类型的变量。一个是脚本变量,另一个是 GrADS 变量。前一个变量必须在引号之外,而后者在引号内引用。例如,在脚本的以下行中

'q w2xy 'lonmin' 'latmin'

lonmin并被latmin视为脚本变量。另一方面,在以下行中

'xloc = aminlocx(cmsk,lon=120,lon=135,lat=20,lat=30)' 

xloc被视为 GrADS 变量。

现在,如果要获取xloc脚本变量,可以编写如下。

'd aminlocx(cmsk,lon=120,lon=135,lat=20,lat=30)' 
xloc = subwrd(result,4)

或者,对于display不允许的上下文,您也可以编写如下。

'xloc = aminlocx(cmsk,lon=120,lon=135,lat=20,lat=30)' 
'q defval xloc 1 1'
xloc = subwrd(result,3)

最后,您的脚本将像这样重写。

'd aminlocx(cmsk,lon=120,lon=135,lat=20,lat=30)' 
xloc = subwrd(result,4)
'd aminlocy(cmsk,lon=120,lon=135,lat=20,lat=30)'
yloc = subwrd(result,4)

lonn = 120.0 + 0.22522523*(xloc-1)
latt = 20.0 + 0.22522523*(yloc-1)

lonmin = lonn-1
lonmax = lonn+1
latmin = latt-1
latmax = latt+1

'q w2xy   'lonmin' 'latmin
xpos1=subwrd(result,3)
ypos1=subwrd(result,6)
'q w2xy   'lonmax' 'latmax
xpos2=subwrd(result,3)
ypos2=subwrd(result,6)

'set line 2 1 6'  
'draw rec 'xpos1' 'ypos1' 'xpos2' 'ypos2
于 2020-10-20T13:30:31.880 回答