发布时间 : 星期日 文章GRADS中文说明更新完毕开始阅读53cac3b8c77da26925c5b010
编写函数子程序,可以制作屏幕菜单,可以显示动画图形,可以使用GrADS的query命令中得到的信息作注释等。
执行一个描述语言程序的命令是: run file-name options
这个命令用来执行写在文件file-name中的描述语言程序(文件后缀名为.gs)。命令行两端用单引号隔开。另外,如果想对多时次或某一变量的多次写入,而与要多次存储时可将变化的量或其表达式设为文件名,例如,enable e:\\program\\grads\\climate\\’n’.gmf,此处的单引号必不可少。文件中涉及如’set t m’等的操作中,如果此m 为数字则必须将其两边用单引号隔开,'reinit'(自编程序存为.gs)
'reinit'
'open e:\\program\\grads\\data\\61_92_clim.ctl' m=1
while(m<=12) 文档顶端 r=figure(m) m=m+1 endwhile return
function figure(n) 'clear'
'set t 'n''如果此处的n不加单引号则每次都执行n=1的程序并且屏幕提示错误 'enable print e:\\program\\grads\\climate\\contour\\'contour.n'.gmf'此n前后可任加字符,n与前后字符之间要有.或空格 'set gxout contour' 'set clab on' 'set cint 100' 'set grads off' 'd v'
'set cint 100' 'set gxout contour' 'd u'
'draw title 1961 'n'month contour ' 'print'
37
'disable print' pull dummy return 描述语言概述
描述语言是GrADS软件包中自带的高级语言,可以用于GrADS的高级操作,更方便的使用GrADS的功能。描述语言的所有变量都是字符串型的,描述变量可以进行计算。流程控制是通过if/else/endif和while/endwhile语句块实现。循环过程可以用continue或break命令改变。变量中包含的或由表达式结果产生的字符串可以作为GrADS命令项使用。而由GrADS命令执行产生的文字结果可以读入变量并在描述语言程序中使用。描述语言也支持函数子程序功能。 描述语言的组成
一个语言程序是由许多语句组成,每个语句之间由换行或分号分隔。下面是GrADs描述语句中语句的类型: 文档顶端
赋值语句
if/else/endif 语句
while/endwhile/break/continue 语句(上述的endif,endwhile中间不能有空
格,否则将出错)
function header/return 语句 say/pull 语句
如果描述语句不是以上语句之一,则它是一个指令性语句,可以包含一个描述语言的表达式,这个表达式的结果将传输到GrADS中作为一个命令来执行。
许多描述语句中含有表达式,描述表达式是由运算对象和运算符组成,运算对象是描述变量、子程序函数或常数,运算符是数学、逻辑或连接运算符。描述语言中没有‘goto’语句。 一.变量
描述语言的变量名是由1至8个字符组成,以字母开头,仅可以包含字母和数字,变量名区分大小写。
描述变量的内容总是一个字符串,而在有些运算中,字符串将被解释为数字。如果一个变量没有被赋值,那么它的值就是它的名字。
38
如果一个变量或字符串常数是一个具有正确格式的数字,可以进行某些数学运算,所得结果也是一个数字字符串。
在GrADS描述语言中,有两个变量名由其内部使用:‘result’和‘rc’.尽量避免使用这两个变量名。
复合描述变量:描述语言现在支持复合变量,利用它可以在描述语言程序中构造数组。符合变量名可以是一个由“.‖分隔的多个变量名的复合体。例如:
varname.i.j
这时,当变量名被调用时,被I和j的字如果I和j也是变量,那么I和j的内容将会被字符串值所替代。例如:
I=10 J=3
Varname.i.j=343
在这个例子中,赋值语句相当于:varname.10.3=343
注意:I和j的字符串值可以是任何字符,但varname必须遵循描述变量名的规则,即:由字母和数字组成,须字母打头。因此复合变量名被替代后可以是任何字符串:
I=‘a#$xx‘ Varname.i=343
以上表示是允许的,但不能直接将变量名写为:
varname.a#$xx=343 文档顶端
在I、j变量被替代前后,符合变量名的整个长度不能超过16个字符。在GrADS描述语言中不能设置过多的变量,因此,不能利用复合变量产生一个大的数组,例如:
I=1
While(I<10000) Var.i=I Endwhile
上面的循环将产生10000个不同的变量名.如果设置了以上这样较大数目的变量,将影响描述语言的执行。 一.运算
在GrADS描述语言中使用了下列运算符: | 逻辑或 & 逻辑与 = 等于 != 不等于
39
> 大于 < 小于 >= 大于等于 % 连接 + 加 - 减 * 乘 / 除 ! 一元否 - 一元负
附录A 附加功能
一. Shell命令
Shell命令可以通过在命令之前加上“!”后,在GrADS的命令行上执行。如:
gv>!dir c:\\grads
这个命令可以在Grads平台执行Grads系统外的命令,并将执行结果显示在GrADS平台上。Shell命令也可以在一个描述语言编写的文件和EXEC文件中执行但执行的结果不再显示出来,而是存入描述语言中的result变量中。 二. 重新开始GrADS 文档顶端
有两个命令用来重新设置和重新开始GrADS的状态。
reset:这个命令用来设置GrADS回到它的原始状态,具体如下: 1) 2) 3)
没有文件被关闭
定义的变量仍然有效,并没有从内存中释放 所有的set命令设置都失效。
如果有几个文件被打开,缺省的文件设置为第一个文件,维数环境设置为X、Y变化,Z和T设置为1,就像文件1刚刚打开一样。
reinit:这个命令除了实行reset命令的功能外,还将所有的文件关闭,将所有的定义变量释放。
这时使GrADS回到刚刚启动的状态。
40