grads精致绘图说

[程序见GrADS Script Library]

1. basemap.gs:

basemap  L | O | U  

在低分辨率海岸廓线范围内用颜色覆盖陆地/海洋。适用于各种投影方式,需lpoly.asc, lpoly_hires.asc, lpoly_US.asc, opoly.asc, opoly_hires.asc文件。

其中:L(l):覆盖陆地,O(o):覆盖海洋,

U(u):覆盖20N-50N的墨西哥和加拿大领土(低分辨率,适用美国),

fill_color:填充色号,缺省为15,out_color:廓线的颜色号,缺省为15,

hi/lo:高分辨率('set mpdset hires',仅对15N-53N, 130W-60W区域)/低分辨率。

 

[

关于 basemap.gs补充:
对高分辨率,新的 lpoly_hires.ascopoly_hires.asc文件可覆盖北美洲(美、加、格陵兰)极其沿岸。
ftp://grads.iges.org/grads/scripts/lpoly_hires.asc
ftp://grads.iges.org/grads/scripts/opoly_hires.asc
重要补充:
另外有一个类似basemap.gs的程序 makebg.gs可下载:
ftp://grads.iges.org/grads/scripts/makebg.gs
这个程序用到DODS资料,需高版本GrADS支持,另外还需联网使用,且因数据量原因,速度极慢,各位可根据自己的条件对其中的代码进行改进。

 

2. cbar.gs、cbarn.gs、cbarc.gs、cbar_l.gs和cbar_line.gs:

cbarn sf vert xmid ymid

cbarc center_x center_y back_color

绘制'set gxout shaded'图形的填色标尺。sf:色标尺寸,1为全尺寸,0.5为半尺寸;

vert:0为水平,1为垂直;xmid,ymid:色标中心点的位置。

cbar_l -x X -y Y -n number -t text -p

cbar_line -x X -y Y -c color -m mark -l linestyle -t text -p

加'set gxout line'的图例说明。其中:-x,-y:图中x和y的位置,-n:线条的数目(最多可为10条),-t:文字说明的内容(最多10条,需双引号括起),-c:线和标记的颜色,-m:定义标记; -l:定义线型,-p:用户可在图中点击给定图例的放置位置。

3. colors.gs:

为雪盖(颜色序号40~45)、降水(颜色序号50~59)及温度(颜色序号64~85)资料的shaded图设置填充色。

 

4. cmap.gs 和 colortab.gs:

run cmap: 生成新的grads.gct文件,

cmap filename.gct: 修改filename.gct文件.

rc = colortab ( filename ): 调用filename.gct文件的颜色设置。

Note: cmap以交互方式生成一个颜色列表。输入的颜色数量n需在1~84间。

5. showcol.gs:

showcol []

显示各调色板d的色卡,并生成palette.gmf和palette.gif文件。其中:

palette:调色板文件名,color_numbers:显示的颜色数目。

附:调用调色板时,直接在‘ga>’提示符下直接键入以下调色板的名称:

调色板名称           颜色号     说明

C16a、C16b、C16c:   16~29号   14阶'DKRZ historical'色,

C32a、C32b:         16~45号   32阶'DKRZ historical'色,

C256-1,-2,-3,-4: 16~79号   256色,每64种颜色一个文件,

Crainbow-1:         16~95号   80种五彩色(蓝~红),

Crainbow-2:         16~95号   80种五彩色(红~绿),

Crainbow-3:         16~95号   80种五彩色(绿~蓝),

BYR-02:             16~80号   蓝~黄~红(无绿色)65色,

BYR-03:             16~80号   蓝~黄~红(无绿色)65色,

BYG-01:             16~80号   蓝~黄~绿,65色,

GYR-01:             16~80号   绿~黄~红,65色,

RED-65:             16~80号   深红~浅橙,65色,

GREEN-65:           16~80号   深绿~浅绿,65色,

BLUE-65:            16~80号   深蓝~浅蓝,65色,

PalGrey:            16~99号   84阶灰度色。

 

 

6. 定义颜色的有关Script程序:

define_colors.gs、rgbset.gs、rbtab.gs、rgbmap.gs、showcol.gs、colors.gs

7. set font n 设置字体

n = 0:helvetica font(缺省)n = 1:roman font

n = 2:italics roman fontn = 3:symbols font

n = 4:bold helvetica fontn = 5:bold roman

特别推荐:font 3,可以输出很多symbols,让图例说明更完美,具体字符对照可用font.gs显示,用法: run font.gs n

8. GrADS 支持的投影方式 (I):

set mproj latlon|scaled|nps|sps|robinson|orthogr|mollweide|lambert|off

爱心小帖士:设置set mpvals lon1 lon2 lat1 lat2 可以帮你实现完美。

map.gs:帮你设定多种投影方式,不满足的自己加!用法:

run map.gs显示提示

run map.gs map_type直接设置,用熟了就这样。

GrADS 精致绘图说(四)

9. GrADS 支持的投影方式 (II)—<.ctl>文件中用pdef关键字 :

pdef isize jsize proj ...

如:

* pdef isize jsize nps|sps ipole jpole lonref gridinc

对Polar Stereo投影数据的说明。其中:

isize,jsize:X、Y方向的点数;ipole,jpole:极点的(i,j)位置;

lonref:参考经度; gridinc:以KM为单位的网格距。

* pdef isize jsize lcc latref lonref iref jref Slat Nlat standard_lon dx dy

对Lambert投影数据的说明。其中:

isize, jsize:X、Y方向的总点数; latref, lonref:参考点的经、纬度;

iref, jref:参考点的(i,j)位置; Slat, Nlat:Lambert投影m=1时南、北两个纬度;

standard_lon:标准经度; dx, dy:以M为单位的X和Y方向的网格距。

爱心小帖士:对lcc投影方式的数据,运用 set mproj lambert会有美妙的效果。

* pdef isize jsize eta.u latref lonref dlon dlat

对NMC Eta模式(unstaggered grids)数据的说明;

* pdef isize jsize pse slat slon polei polej dx dy sgn

对NMC high accuracy polar stereo for SSM/I data进行说明;

* pdef isize jsize ops latref lonref xref_offset yref_offset iref jref dx dy

对CSU RAMS Oblique Polar Stereo Grids数据进行说明;

* pdef isize jsize BILIN   fname

                     

                                 

对除以上特殊投影方式外的数据的说明。

 

10. 为等值线图加注 H/L 中心标记 clhilo.gs、philo.gs和philo2.gs:

用法:

run clhilo.gs var >>>

run philo.gs var >

run philo2.gs var >>>

参数说明:

var:要素场;

ptype:maxmin—标记H/L,max—标记H,min—标记L;

fmt:fortran数据格式说明;

cint:等值线间隔,一般不需设;

rad:半径参量,可控制标记的多少;clhilo.gs和philo2.gs中rad以KM为单位,缺省值分别为500和1000;philo.gs中缺省为0.25。

这几个程序需要用到GrADS的"user defined functions",fortran执行程序名分别为:

clhilo.exe:clhilo.gs 和 philo2.gs 用

grhilo.exe:philo.gs用

在GrADS调用这两个用户自定义函数时,须先定义环境变量 GAUDFT 。具体做法如下:

UNIX/LINUX:setenv GAUDFT /usr/local/grads/udft

PC WINDOWS:GAUDFT=c:/pcgrads/udf/udft

实际路径因人而异。

注意:标记了彩色的"udft"是一个用户自定义函数列表文件。

设置是否成功,可启动GrADS后,用 'q udft'命令查看,系统将给出一个列表。

附:用户自定义函数说明:http://grads.iges.org/grads/gadoc/udf.html

11. Some math functions

rc = math_trigfunc(angle) (三角函数)

math_trigfunc可为:sin, cos, tan, asin, acos, atan, sinh, cosh, tanh, asinh, acosh, 或atanh。angle:需为弧度,rc:结果。

rc = math_format( format , num )

format:C语言形式的输出格式,  num:需转换格式的数据, rc:转换后的数据。

【附】C语言输出格式说明符:

%d以带符号的十进制形式输出整数(正整数无符号),

%o以8进制无符号形式输出整数(不输出前导符0),

%x以16进制无符号形式输出整数(不输出前导符0x),

%u以无符号10进制形式输出整数,

%c以字符形式输出,只输出一个字符,

%s输出字符串,

%f以小数形式输出单、双精度数,隐含输出6位小数,

%e以标准指数形式输出单、双精度数,数字部分小数位数为6位,

%g选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0。

在%后可插入以下附加符号:

l(L)用于长整型整数,可加在d、o、x、u前面,

m(正整数m)数据最小的宽度,

.n(正整数n)对实数输出n位小数,对字符串截取n个字符,

—输出的数字或字符串在域内向左靠。

rc = math_nint(num)

num:小数形式的实型数,rc:与num最接近的整型数。

rc = math_int(num)

num:小数形式的实型数,rc:num的整数部分(小数部分截去)。

rc = math_pow(num,exponent)

num,exponent:任意数,rc:num的exponent次方。

rc = math_exp(num)

num:任意数,rc:e的num次方。

rc = math_fmod(num1,num2)

num1,num2:任意数,rc:num1除以num2的余数。

rc = math_strlen(string)

string:任意字符变量,rc:字符串长度。

rc = valnum(string)

string:任意字符串变量,rc:0为非数据,1为整数,2为非整数。

rc = wordpos(string,int)

string:任意字符串,常包括一个以上单词,

int:整数,rc:自第int个字符开始的单词数。

注意:

a) 仅对GrADS v1.8以上版本有效。用法示例参见 "script_math_demo.gs"。

12. Some script functions

panels.gsf 根据给定的数值,将实页分成形成若干行和列。

用法:panels(rows cols),示例见panels_demo.gs。

注意:

a) 仅对GrADS v1.8以上版本有效。

b) 要加载Script语言编写的函数,请在脚本文件开始时写上:

        rc = gsfallow("on")

c) 通过gsfpath()函数可指定Script语言函数(*.gsf)的路径。用法:

        rc = gsfpath("dir_list")

你可能感兴趣的:(GrADS)