1、第4章 各类参数设置,set是一项非常重要的命令,用于设置各种运行环境的参数,包括维数环境、图形类型、图形要素、屏幕显示等等。,4.1 维数环境的设置,虽然在数据描述文件中给出了各物理变量数组的时空维数范围,但在GrADS 运行环境中还需设定全数据集中参与操作的部分或全部数据集的维数情况,以供以后的表达式、显示命令等使用。这就是维数环境的设置。,1. 维数环境的概念,GrADS系统视每一个物理变量(VAR)场为一个四维数据集(4D data set),即包括三维空间(x,y,z)和一维时间(t)。也可固定其中的一维或几维以获得实际的低于四维的数据子集。,2.设置的作用,GrADS 中设置维数用
2、以说明或指定随后的分析或图形操作时参加操作的原始数据集的维数范围。该工作数据集可以是整个原始数据场,也可以是原始数据场的一部分。,3. 维数环境的定义,(1)一种是地球坐标(world coordinate)以经纬度为度量单位。 形式如下: set lon|lat|lev|time val1 (2)一种是格点坐标(gridcoordinate) 以网格点数为度量单位。 形式如下: set x | y | z | t val1 ,set lon -90 或set x 1set lat 40 或set y 22set lev 500 或set z 6set time 01jan1985 或set
3、t 5 set x 1 144 或 set lon 0 360set y 1 73 或 set lat -90 90set z 1 3 或 set lev 1000 850set t 1 3 或 set time 01jan1985 03jan1985 注意: grads只能显示两维或一维不固定的图!,当所有维数都固定时,得到的是一个单值数据点维数环境的设置一直保持到再次设定时都有效。要查看当前维数情况,可以在运行环境中输入命令: ga- q dims,set lon 180 360 不固定 set lat 0 90 不固定 set lev 500 set t 2 d hgtset lon 1
4、15 set lat 15 set lev 850 set t 1 12 不固定 d u,二维平面图,一维曲线图,4.2 图形类型的设置,当维数环境确定后,缺省情况下,一维变量输出的图形为单线图,二维变量为等值线图,改变缺省图形输出类型的命令为: set gxout graphics_type,1. 格点数据,contour: 二维等值线图(缺省设置) set gxout contourshaded: 二维填色图(通常与contour并用) 先画填色图,再画等值线图;否则等值线会被覆盖。 set gxout shaded d hgt set gxout contour d hgt,set lo
5、n 0 210set lat 0 70set lev 500set t 2set gxout contourd hgt/10,set t 1set gxout shadedset clevs -1 1set ccols 10 0 4d (hgt(t=1)-ave(hgt,t=1,t=50) )/10set gxout contourd (hgt(t=1)-ave(hgt,t=1,t=50)/10,grid: 二维场不绘图,以网格形式在各网格点中央标出该点数值fgrid: 用指定颜色填充二维格点场,对二维场不绘制等值线图,只是将特定值的格点用指定的颜色填充该网格。与命令set fgvals va
6、l col合用 用法:set gxout fgrid set fgvals val1 col1 set fgvals val2 col2,set lon 70 130set lat 10 30set lev 1000set t 1set gxout gridd u,set lon 70 130set lat 10 30set lev 1000set t 1set gxout fgrid set fgvals -1 4Set fgvals -3 5d u,vector: 矢量箭头形式绘二维风场(缺省设置) set gxout vector d u;v (u,v在同一个数据文件中可这样)或 d u
7、.1;v.2 (u,v在两个数据文件中)stream: 流线形式绘制二维风场 set gxout stream d u;vbarb: 风向杆形式绘制二维风场 set gxout barb d u;v,line: 对一维场绘制单线图 set lon 120set lat 20set lev 200set t 1 12set gxout lined ubar: 对一维场不绘单线图,而绘制直方图set lon 120set lat 20set lev 200set t 1 12set gxout barset bargap 40Set barbase 0d v,linefill: 两单曲线之间填色
8、与命令set lfcols col1 col2合用。 用法:set gxout linefill set lfcols col1 col2 d line1;line2当line1line2时,用颜色2(col2),set gxout lineset cstyle 1set cmark 0set ccolor 2d v.4set gxout lineset cstyle 1set cmark 0set ccolor 1d v.5 set gxout linefillset lfcols 4 10d v.4; v.5,errbar: 单线图误差分布 set gxout errbar d line1
9、;line2,reinitopen D:gradsdatau.ctlenable print D:gradsdata2.gmfset grid offset parea 1 10 1 8set grads offset xlopts 1 2 0.15set ylopts 1 2 0.15set t 1 48set vrange -40 60set gxout lineset cmark 2d uset gxout errbarset ccolor 2 d u-12.8;u+12.8printcdisable printreinit;,scatter 散点图set gxout scatter d
10、 v.1;v.2,reinitopen d:lon.ctlopen d:lat.ctlenable print D:gradsdata1.gmfset x 1 ;sety 1;set z 1 ;set t 1 24 set gxout scatter d v.1;v.2 printcdisable printreinit;,fwrite: 将输出结果(数据)存入一个由“set fwrite 文件名”所指定的文件中 open c:pcgradsmodelmodel.le.ctl set gxout fwrite (设置输出类型) set fwrite d:resultu.grd it=1 whi
11、le(it (在一指定的坐标绘一指定的天气符号)其中: symbol 欲绘天气符号的代码 x x 坐标(英寸)y y 坐标 size 天气符号的大小color 天气符号的颜色,-1为标准色(红色代表热带风暴, 蓝色代表降雪等等)thickness 天气符号的线宽,当图形输出类型为vector、stream和barb时, 在显示命令后需给出两种数据,两者间用分号“ ; ”隔开,前者理解为U分量,后者理解为V分量当图形输出类型为errbar、scatter、linefill时,也须用分号将两种数据分开例如: display u ;v 显示u、v 风场的合成矢量图,说明:,对于vector 和 st
12、ream类型的图形, 可以给出第三种数据,用于指定矢量或流线图的色彩分布,彩色值代表第三分量值。例如: display u ;v ;hcurl(u,v) (计算垂直涡度) display u ;v ; w (第三个变量给定矢量或流线图的色彩分布,彩色值代表第三分量值),4.3 图形要素的设置,有些设置对多数图形输出类型有效,有些设置只对某一种图形输出类型有效。有些设置一旦设定,会一直保持不变,有些设置在键入“clear”或“display”命令后会回到缺省设置状态。,1. 对于图形类型为contour起作用的设置,(1)set ccolor color - 设置等值线颜色。 其中,color为
13、颜色号:0 - 黑, 1 - 白,2 - 红,3 - 绿 ,4 - 兰, 5 - 青,6 - 洋红,7 - 黄 ,8 - 橘黄 ,15 - 灰。 该设置在“clear”或“display”命令后即重新设定颜色。,(2)set ccolor rainbow -设定等值线颜色用七彩序列表示。(3)set cstyle style - 设定等值线线型 其中,style为线型号:1 - 实线,2 - 长虚线,3 - 短虚线,5 - 点线。 该设置在“clear”或“display”命令后即重新设定。,(4)set cthick thckns - 设定等值线线宽。 其中,thckns为线宽值,取值范围:
14、 110之间的整数,线宽大于等于6的线条在屏幕上用粗线显示,主要用于控制硬拷贝输出。 (5)set cterp on|off -设置样条插值光滑开关 再定义后才重新设置,填色图没有样条光滑, 设定cterp为off可使填色图与等值线图的边缘重 合,也可用csmooth选项来达到上述目的。,(6)set clab on | off | forced | string | auto - 控制等值线的标记方式。 再定义后才重新设置。,on - 快速等值线标记,标记在等值线的水平处 (缺省设置) off - 不标记 forced - 强迫标记所有等值线 string - 用字符串string替换等值线
15、标记数值auto 缺省方式,例如:set clab %gK 将在等值线标记数值的最后标 记上Kset clab %g% 将在等值线标记数值的最后标 记上 set clab %.2f 以小数点后保留2位的格式标记 等值线数值 set clab %03.0f 以3位整数(首位0保留)形式标 记等值线数值set clab Foo 用Foo标记所有等值线,(7)set clopts color -设置等值线标记的颜色。 其中: color是颜色号,-1 为省缺, 表示采 用等值线的颜色进行标记; thickness 为标记的线宽,-1 为省缺; size为标记的大小,0.09为省缺。该设置在下一个se
16、t clopts命令前一直有效。,(8)set clskip number - 设置间隔几根等值线标示数值。,2. 对于图形类型为contour或shaded起作用的设置,(1)set cint value - 设置等值线间隔,该设置在“clear”或“display”命令后即重新设置。例如:间隔3m/s画风速线:set cint 3 d u,(2)set clevs lev1 lev2 . -设置特定的等值线值,只画lev1,lev2,.值所在的等值线,用于不等间隔绘图,该设置在“clear”或“display”命令后即重新设置。 例如: 画零风速线:set clevs 0 d u 画赤道:
17、 set clevs 0 d lat,(3)set ccols col1 col2 . -设置对应于“set clev” 命令设定的特定等值线的颜色,该设置在“clear”或“display”命令后即重新设置。 缺省的彩虹颜色号序列为:9, 14, 4, 11, 5, 13, 3, 10, 7, 12, 8, 2, 6。,(4)set csmooth on|off - 设置是否将网格值重新插值。 如取“on”, 则在绘等值线图前用三次插值将现网格值插到更精细网格上,重新设置才改变本次设置。,(5)set cmin value -设置不画低于此value值的等值线。该设置在“clear”或“di
18、splay”命令后即重新设置。 (6)set cmax value-设置不画高于此value值的等值线。该设置在“clear”或“display”命令后即重新设置。,(7)set cblack val1 val2-设置不画介于val1和val2之间的等值线。该设置在“clear”或“display”命令后即重新设置。,3. 对于图形类型为contour, shaded, vector, stream起作用的设置,(1)set strmden value -设置流线密度 其中,value的取值范围为110的整 数,5为缺省设置值。,(2)set rbcols color1 color2 . -设
19、置新的彩虹颜色序列。 其中,color1,color2,.可以用“set rgb”命令定义新的颜色号,该新的彩虹颜色序列在随后的彩虹颜色调用中取代原缺省的彩虹颜色序列,重新设置后才改变原设置。,(3)set rbcols auto -起用内定的彩虹颜色。 重新设置后才改变原设置。(4)set rbrange low high -设置彩虹颜色序列对应的等值线的取值范围,缺省时,最低值和最高值对应取为变量场的最小值和最大值,“clear”命令后即重新设置。,4.对于图形类型为line起作用的设置,(1)set ccolor color -设置线条的颜色号。该设置在“clear”或“display”
20、命令后即重新设置。(2)set cstyle style -设置线条类型。 该设置在“clear”或“display”命令后即重新设置。,(3)set cmark marker - 设置线条上的标记符号。 其中: marker为标记符号值:0 -无标记,1 -叉号,2 -空心圆,3 -实心圆,4 -空心方框,5 -实心方框。 该设置在“clear”或“display”命令后即重新设置。,(4)set missconn on|off - 缺省设置时,线条在缺测资料点断开,设置“set missconn on” 将连接缺测资料点。,5.对于图形类型为bar起作用的设置,(1)set bargap
21、val - 以百分比值设定直方条之间的间隔。 其中,val取值为0100,省缺值为0,即无间隔,当 val取100时直方图退化为垂直线条直方图。,(2)set barbase val|bottom|top 如给出val值,则各直方条从该值处起画(向上和向下),所画直方条取值于y轴坐标尺度之内; 如给bottom ,各直方条从图框的底边向上绘出; 如给top,直方条从图框顶边向下绘出。,从坐标最底值开set barbase 32set bargap 20,set lon 120set lat 20set lev 200set t 1 12set gxout barset bargap 40Set
22、 barbase 0d v,6.对于图形类型为grid起作用的设置,(1)set dignum number - 设置小数点后的位数为number。 (2)set digsize size- 设置数字的字符大小,size单位为英寸,通常取为0.1-0.15。,7.对于图形类型为fgrid起作用的设置,set fgvals value color . 对取值为value的网格点用颜色为color的色块标记该网格,每个格点的值取法是四舍五入,要绘出的值点须逐个举出,未列出的值不绘图。 见第12页ppt,8.对于图形类型为vector起作用的设置,(1)set arrscl size - 设置矢量箭
23、头的长度为size英寸(虚页英寸)。 通常size取为0.5 1.0;选项magnitude为设定矢量箭头的大小。缺省时所有矢量同长,该设置在“clear”或“display”命令后即重新设置。,(2)set arrowhead size - 设置箭头大小。 size值通常取为0.05,如取为0,则不画箭头的头;如取为负值,箭头大小与矢量值成比例(张角的大小)。,4.4 坐标要素的设置,(1)set vrange y1 y2 set vrange x1 x2 分别设置y坐标轴和x坐标轴标尺的取值范围,“clear”命令后即重新设置。,set vrange 32 46,不设置set vrange
24、,(2)set zlog on|off 对z维数方向取对数尺度的开关。 on表示z维数方向取为对数尺度。 重新设置后才改变原设置。,set zlog on,set zlog off,(3)set xaxis|yaxis start end 设置坐标轴(x轴或y轴)的坐标从起始值start到结束值end,并用incr作为刻度的增量,标尺可与所绘的数据和维数无关。,set xaxis 1 20 4set yaxis 1 10 2,(4)set grid on | off | horizontal | vertical | linestyle | color -控制是否绘网格线。 on 绘网格(缺省
25、); off 不绘网格(一般不绘制网格); color和linestyle为网格线的颜色和线型,缺省时,color为15(灰),linestyle为5(点线); horizontal 表示只画水平网格线; vertical 表示只画垂直网格线。,缺省时或set grid on,set grid horizontal 2 2,线型,颜色,()set xlopts color set ylopts color 设置x,y轴的颜色、线宽和字符大小。其中: xlopts控制x坐标轴; ylopts控制y坐标轴; color为坐标轴标尺的颜色号(缺省为1); thickness为坐标轴标尺的线宽(缺省为
26、4); size为坐标轴刻度的大小(缺省为0.12)。,set xlopts 1 2 0.2set ylopts 1 2 0.2,set xlopts 2 4 0.3set ylopts 2 4 0.3,()set xlevs lab1 lab2 . set ylevs lab1 lab2 . 设置x,y坐标轴标尺上要标记的值,本设置不适用于时间坐标轴,“clear”命令后即重新设置。,set xlevs 60 70 85 105 120 135set ylevs 0 15 20 40 ,(7)set xlint interval set ylint interval -设置坐标轴的标记间隔i
27、nterval。 set xlevs/ylevs可再控制标记的分布,clear命令后即重新设置 。,set xlint 10 set ylint 10,set xlint 10 set ylint 5,(8) set grads on|off 开关选择是否打印出GrADS的标注。 一般不打印,要不然插入word时还要裁剪图片。,4.5 图注设置,()draw title string 使用“draw”命令在图形顶部写一字符串string作为图的标题,字符串中如有反斜杆“/”,表示另起新行。,draw title 1 pentad,()set xlab on | off | auto | str
28、ing set ylab on | off | auto | string同set clab命令原理。 例如: set ylab %.2f 将以小数点后两位的格 式标记y轴坐标。 “clear”命令后即重新设置。draw xlab Longitudedraw ylab pentad,()set annot color 设置上述图注所用的颜色color和线宽thicknesses。 省缺时,颜色为白色,线宽为6。 该命令同时也设置了坐标轴的边框、坐标轴标记和刻度的颜色及线宽值,坐标刻度和标尺的实际绘图线宽为thickness值减1。,()set xyrev on 交换水平和垂直坐标轴所代表的维数
29、方向。()set xflip on set yflip on 设置水平坐标轴或垂直坐标轴的维数方向取反向。 以上坐标轴的设置当“clear”或“set vpage”命令后即重新设置。,4.6 地图投影设置,()set mproj proj 设置当前地图投影方式。 proj取值包括:latlon -缺省设置,用固定的投影角进行Lat/lon投影; scaled - 用不固定的投影角进行latlon投影,地图比例失效;,nps - 北半球极地投影; sps - 南半球极地投影; off - 同“scaled”设置,但不画出地图,坐标轴也不代表lat/lon;robinson robinson伪圆柱
30、投影(x:-180 180;y:-90 90;);lambert - lambert投影(等角圆锥投影 );orthogr:正投影; mollweide:等面积伪圆柱投影。,(2)set mpvals lonmin lonmax latmin latmax 设置极地投影时经度和纬度值的取值范围,缺省时取为当前维数环境。 set mpvals -140 -40 15 80 set mproj nps set mpdset mres d z,(3)set mpdset 设置地图数据集。 lowres(缺省)为低分辨率地图集, mres(hires)为中(高)分辨率地图集, nmap为北美地图集。,
31、(4)set poli on|off 在mres或hires地图集中开关选择是否使用行政边界,省缺设置为on。(5)set map color style thickness 设置地图背景的颜色color、线型style和线宽thickness。(6)set mpdraw on|off 选off则不绘地图背景,但地图标尺仍起作用,非经纬度数据需此项。,4.7 绘图区域设置,GrADS 的绘图工作区分三个层次,一层是实际页(real page);一层是虚拟页(virtual page)缺省时虚页等同于实页;第三层是在虚页中指定绘图区域(parea),即缺省时等同于实际英寸,当设置虚页后按比例度量
32、。,(1)set vpage xmin xmax ymin ymax 通过定义在实页上一个或多个虚页来控制绘图的数目和大小。本命令在实页上用xmin,xmax,ymin,ymax(英寸)设置了一个虚页,随后的所有图形都输出到这张虚页上(虚页单位为英寸),直到下个“set vpage” 命令出现。 1英寸=2.54cm,不能超出画布大小8.5*11或11*8.5 set vpage 0 11 0 8.5 set vpage 0 8.5 0 11 set vpage 1 8 1 6()set vpage off回到缺省的实虚页相同的状态。,()set parea xmin xmax ymin ym
33、ax 在虚页中定义了一块区域parea 用于GrADS 的绘图,但该区域不包括标题、坐标轴标记等。要预留出写标题和坐标轴标记的位置。 设置的区域用于等值线绘图、地图绘图、单线绘图,该区域内以虚页英寸为单位。缺省时,自动按图形类型设置绘图区域.,可实现一页多图 set vpage 0 5.5 0 8 set t 1 d u set ylab off set vpage 5.5 11 0 8 set t 2 d u,()set parea off回到缺省状态。,4.8 屏幕显示设置,()set display grey|greyscale|color 设置显示模式,省缺为彩色,填色图和等直线图用彩
34、虹的颜色填绘。grey 灰色显示;greyscale - 等直线用单一的灰色显示,填色图用greyscale序列填色。color 选项black或white用于设定硬拷贝的背景色,省缺为black。,()set frame on | off | circle -设置绘图边框其中: on是在剪辑后的绘图区域外画一矩形方框; off是不画矩形边框; circle是对lat-lon投影图画矩形边框,对极地投影图在最外圈纬度上画园框。,4.9 动画显示设置,()set loopdim x| y| z| t 设定一维为动画维,动画显示其二维场图形,缺省时指对时间维作动画。 ()set looping o
35、n| off 三维以下变量要用动画显示时需设置动画显示操作on,完成后需关闭动画off。,4.10 实例应用,批命令的概念 GrADS 系统允许将交互环境下键入的命令罗列在一个文本文件中,然后通过exec 命令批处理执行,或者用描述语言(script language)编写具有复杂功能的gs命令集(*.gs),通过run 命令执行。,()“*.exc”文件,直接把交互状态下输入的一系列GrADS环境内的操作写到一个文件中,分行写,一个操作写一行,文件以纯ASCII文本形式写,文件名可任意取,建议取形式“*.exc”,执行时在GrADS命令提示符号后键入“exec *.exc”即可批处理执行该文
36、件中全部操作。,()“*.gs”文件,描述语言程序本身由纯ASCII码文本形式书写,程序由记录组成,每个记录由分号或行结束符来分辨,即命令可以分行罗列,也可用分号相连写在一行上。 文件名可任意取,建议取形式“*.gs”。 执行时在GrADS命令提示符号后键入“run *.gs”即可批处理执行该文件中全部操作。,实例说明,绘制一维数据线,图形类型为“line”型。命令集名称为line.gs”,编写如下:open c:pcGrADSmodel model.le.ctl *打开数据描述文件,注意文件路径的正确性set lat 40set lon -180 0 set lev 500set t 1 *
37、以上是维数环境设置,*set gxout line *设置出图类型为line型,对一维单线图而言,line型是缺省形式,所以这里可以缺省设置*set ccolor 2 *设置线条的颜色为红色(2),0为缺省值(黑色)*set cmark 3 *设置线条上图节点的标注为实心圆(3),2为缺省值*set cstyle 1 *设置线条类型,缺省值为1 ,即实线*set cthick 6 *设置线条粗细,当数值大于5时线条加粗,*set grid on 3 3 *设置画网格线,网格线的线型为短断线(3),颜色绿色(3),缺省设置为grid on d z *显示变量zprintim c:resultline.png white *把图形存于名为“line.png”文件中,图片背景为白色reinit;,