Grads精细绘图
GrADS绘图与编程(值得收藏)

二、文本格式数据
GrADS格式
现有如下资料: 名称: U850,V850,U200,V200,H500 和TSFC 范围: 60~150E,0~40N 分辨率:2.5×2.5 时间: 1982年1月~1985年12月的逐月资料。
如何将上述资料写成GrADS下的数据格式?
lon) y (或lat) z (或lev) t (或time)
从西向东的水平坐标 从南到北的水平坐标 从地面到高空的垂直坐标 时序坐标。
如 : set lon 40 160 ;set lat 0 60 定义了水平变化范围 set lat 30;set lon 0 180 定义了沿30N的纬向变化范围 set time jan81 dec94 定义了从81年1月到94年12月的时段
z
(X,Y) (X,Y)
v
t
• T=1 • T=2 • T=3
U V H T
U200
分(z)
时(v)
5月20日(t)
秒(x,y)
18
FORTRAN源程序
Parameter(ii=37,jj=17) Real var(ii,jj) Open(1,file=„u850.dat‟) Open(2,file=„v850.dat‟) Open(3,file=„u200.dat‟) Open(4,file=„v850.dat‟) Open(5,file=„h500.dat‟) Open(6,file=„tsfc.dat‟)
7
简
介
• GrADS 是Grid Analysis and Display System的缩写,它由美国马里兰大学气象 系Brian E. Doty开发。利用该系统可实现 包括格点数据和站点数据的彩色气象图 形分析和显示。具有操作简便、功能丰 富、图形美观、显示快速的特点。在国 内外气象界得到广泛应用。 • 版本:V1.5, V1.6.8, V1.7.7,V1.7.9等
GrADS基础绘图

绘图速度较慢,当数据文件较大时,读入很容易内存溢出 远程处理比较麻烦。
grads的优点; (1),最多能读入20个数据文件,数据读取迅速,出图速度快,但是要写描述文件和gs文 件比较麻烦。 (2),在画二维等值线图时,图形非常平滑,这点是我到现在还没大规模用matlab的主要 原因。 (3),它包含了很多气象上所需要的函数,在gs文件里可以直接调用,因此在用它时也省 了不少事。
Grads在win/Linux下的下载、安装、运行
程序:
Windows:grads-1.8sl11-win32e.exe Linux:grads-bin-1.9b4-linuxRH9.tar.gz grads-1.8sl11-linux.tar.gz data.tar.Z
环境变量:
Windows:
Panoply OpenDX (formerly IBM Data Explorer) NCL (NCAR Command Language) ncBrowse (netCDF File Browser) HDF (Hierarchical Data Format) interface GrADS (Grid Analysis and Display System) FERRET NetCDF Toolbox for MATLAB-5 IDV (Integrated Data Viewer) Origin surfer
命令顺序 grads –b|l|p|c open/run set display draw print quit/reinit
显示类型
GrADS第5章 基础绘图指令

6. draw title sting
在图形顶部写字符串为标题 。
7. draw wxsym symbol x y size <color<thickness>>
在指定的位置(x、y)画出指定的天 气符号symbol,颜色为color,大小为 size,线宽为thickness。
5.2 设置剪裁区
旋转是以justification定义的点为中心,反时针旋转
justification设置字符串的位置, 描述了与“draw string” 命令中x、y点位置上的相互关系
'set string 2 bl 8' 'set strsiz 0.3 0.3' 'draw string 6 4.58 G '
设置命令如下: set clip xlo xhi ylo yhi 其中,xlo,xhi,ylo,yhi是剪裁区在实页中 的英寸坐标。 用户可以设置一块剪裁区(clipping area ) 用于绘制一些基础图形,设置剪裁区后,这 些基础画图功能只能在剪裁区内进行。
在(x、y)点画一个类型为marktype大小为 size的符号,marktype取值为: 1 - 十字线 2 - 空心圆圈 3 - 实心色圆圈 4 - 空心长方形 5 - 实心长方形
'set gxout stream' 'd u;v' 'draw mark 3 4 4 0.5'
第5章
基础绘图指令
GrADS系统提供了一系列基础绘图 指令来控制和实现一些基础的绘图功能, 比如绘制线条、符号、字符串等。
y string 在x、y点位置上写字符串string, x和y是 虚页上的英寸坐标。
GRADS画T-LNP

GrADS2.0中提供了一个绘制Skew-T图的脚本——plotskew.gs。
用该方法绘制Skew-T需要用到四个变量:温度、露点温度、风速、风向。
本例中用的是FNL 1*1的资料,资料的下载我记得其他帖子里有讨论过;至于资料的前处理(生成ctl以及idx)这里不一一细说,请自行解决;关于资料的变量说明请自己看ctl文件或是网站上的说明。
下面是绘图的脚本:'reinit''open F:/522/ncep/522.ctl''set lon 123''set lat 23''set t 9''set lev 1000 100''define t=tmpprs-273.16''define rH=rhprs''td=t-((14.55+0.114*t)*(1-0.01*RH) + pow((2.5+0.007*t)*(1-0.01*RH),3) +(15.9+0.37*T)*pow((1-0.01*RH),14))' *计算露点温度'define uv=mag(vgrdprs,ugrdprs)' *计算风速'define pi=3.14159'if (ugrdprs>=0.)if (vgrdprs>=0.)'define dir=180+atan2(ugrdprs,vgrdprs)*180/pi'endifendifif (vgrdprs<=0.)if (ugrdprs>=0.)'define dir=270+atan2(ugrdprs,vgrdprs)*180/pi'endifendifif (ugrdprs<=0.)if (vgrdprs>=0.)'define dir=180-atan2(ugrdprs,vgrdprs)*180/pi'endifendifif (vgrdprs<0.)if (ugrdprs<=0.)'define dir=270-atan2(ugrdprs,vgrdprs)*180/pi'endifendif*if(ugrdprs > 0.);'define dir=90-180/pi*atan2(vgrdprs,ugrdprs)';endif*if(ugrdprs < 0.);'define dir=270-180/pi*atan2(vgrdprs,ugrdprs)';endifrc=plotskew(t,td,uv,dir)。
GrADS绘图学习技巧与实例

以下技巧总结都是笔者从学习实践过程中总结出来的,基本的问题。
不求全面,希望对读者学习有用,如果有问题,敬请留言指正,以促进交流学习!1、软件综述:grads软件是一款绘图软件除了绘制图形,还可以提取数据,主要应用是在大气科学中,当然只要是数据处理成grads能够读取的数据文件就可以进行相关绘图。
软件版本问题,软件本身不是很大,我接触到1.8、1.9、2.0版本的,1.8版本的安装很多情况还要修改环境变量、1.9版本的不识别‘sdfopen’命令,最稳定的版本是2.0版本,所以笔者推荐学习者安装2.0版本,选择默认安装路径就可以。
2、文件类型简述:grads处理的是网格数据,可以处理的数据类型有:grd、grib、nc(海洋常用的数据),cdf(雷达卫星数据),其中nc、cdf数据都是自带描述文件,不需要ctl,grib数据要通过命令生成ctl、index数据才可以调用,常用的是grd数据,需要ctl。
3、数据文件转换:grads软件识别的数据是二进制无格式数据,文件类型是‘binary’,写入和生成时是不需要格式的如read(20) sst(i,j,iz,it),20为文件号,通常是十进制数据与grd数据间转换,这里给一个grd转换成txt数据的fortran程序:parameter(nx=56,ny=41,nz=1,nt=360)dimension sst(nx,ny,nz,nt)real sstopen(15,file='sst.grd',form='binary') !固定的用form=‘binary’就是二进制数据open(16,file='sst.txt') !新建txt文件do it=1,ntdo iz=1,nzread(15) ((sst(i,j,iz,it),i=1,nx),j=1,ny) !read后只有文件号,数据是无格式的enddoenddodo it=1,ntdo iz=1,nzwrite(16,*) ((sst(i,j,iz,it),i=1,nx),j=1,ny) !输出时是txt文件可直接看的数据,有格式输出,有*enddoenddoclose(15)close(16)end写程序时:注意格点数要与数据对应,如:上程序对应的数据是经度90~200,纬度-20~60,时间:1971.01~2000.12共360个月的海面温度数据,数据格点精度2*2 ,nx=(200-90)/2+1,ny=(60-(-20))/2+1,nt=360,nz=1,大气的数据要根据数据的层次确定几层。
GRADS绘图实例教程

500mb高度场等直线图.gs文件** Draw the COR.COEF SST and nhc000*'reinit''enable print h9601.31''clear''open hs.ctl''set dfile 1''set vpage 0.5 10. 0.2 8.5''set lon 0. 360.''set lat -90. 90.''set mproj latlon''set mpdset mres''set poli off''set ylint 10.''set xlint 20.''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set clopts -1 -1 0.06''set clab forced''set cint 40.''set gxout contour''set cthick 4''set grads off''d rsst55''set string 3 c 5 0''set strsiz 0.14''draw string 4.5 7.5 1996.1.31 Global 500mb Geopotential Height Field' 'print'pull dummy.ctl文件DSET h9601.31aTITLE heightFORMAT yrevUNDEF -9999.00XDEF 145 LINEAR 0. 2.5YDEF 73 LINEAR -90. 2.5ZDEF 1 LINEAR 1 1TDEF 1 LINEAR jan1960 1moVARS 1RSST55 0 99 COR.COEFENDVARS图形降水异常场.gs文件** Draw Precipitation Anomalous Field*'reinit''enable print spad6754.met''clear''open prp.ctl''set dfile 1''set vpage 0.5 11.0 0.5 8.5''set lon -180. 180.''set lat -90. 90.''set mproj latlon''set mpdset mres''set poli off''set ylint 10.''set xlint 20.''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set gxout shaded''set cmin 0''set grads off''d ps''set cint 1.''set clopts -1 -1 0.05''set xlint 20.''set ylint 10.''set gxout contour''set ccolor rainbow''set clab forced''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set cthick 6''d ps''set string 3 c 4 0''set strsiz 0.14''draw string 5.2 8. The Summer Precipitation Difference of 54-63 and 67-76 (interval = 1.) ''print'pull dummy.ctl文件DSET spad54.67aTITLE PrecipitationUNDEF -9999.0XDEF 145 LINEAR -180. 2.5YDEF 73 LINEAR -90. 2.5ZDEF 1 LINEAR 1 1TDEF 1 LINEAR jan1960 1moVARS 1ps 0 99 COR.COEFENDVARS图形风速矢量场.gs文件'reinit''enable print uvd56.850''clear''open uw.ctl''open vw.ctl''set dfile 1''set grads off''set vpage 1. 8.5 0.2 5.8 ''set lat -90 90''set lon 0 360''set t 1''set mproj scaled''set xlint 30''set ylint 30''set gxout vector''set arrscl 0.5 8'*'set arrowhead 0.2'*'set clab forced''set grads off''set grid off''set ylopts 1 5 0.12''set xlopts 1 5 0.12''set map 1 1 1''d skip(-u.1,2);(-v.2)'*'d u.3;v.4''set string 4 tl 4''set strsiz 0.12 0.14''draw string 0.5 0.3 850mb ud*vd for 1958-63 and 1967-76' 'print'pull dummyuw.ctl文件DSET ud85.56aTITLE SURFACE PRESSURE AND WIND ANOMALYFORMAT yrevUNDEF -9996.00XDEF 145 LINEAR 0 2.5YDEF 73 LINEAR -90 2.5ZDEF 1 LINEAR 1 1TDEF 1 linear JAN00 1moVARS 1u 0 99 u windENDVARSvw.ctl文件DSET vd85.56aTITLE SURFACE PRESSURE AND WIND ANOMALYFORMAT yrevUNDEF -9996.00XDEF 145 LINEAR 0 2.5YDEF 73 LINEAR -90 2.5ZDEF 1 LINEAR 1 1TDEF 1 linear JAN00 1moVARS 1v 0 99 v windENDVARS图形剖面流线图.gs文件'reinit''enable print uw35.met''clear''open uu.ctl''open wu.ctl''set vpage 0.5 11. 0.5 8.5''set lat 10''set lon 40 240''set vrange 1000 100 ''set ylint -100''set zlog on''set gxout stream''set strmden 6''set z 1 12''set grads off''d uu.1;(-wu.2*30)''set strsiz 0.18 0.15''draw string 1.8 0.3 u*(-w*30) for 35N in July for 1980-1995 ''print'pull dummyuu.ctl文件DSET um.35aTITLE SURFACE PRESSURE AND WIND ANOMALYUNDEF -9996.00YDEF 1 LINEAR 10 1XDEF 81 LINEAR 40 2.5ZDEF 12 Levels 1000 925 850 700 600 500 400 300 250 200 150 100 TDEF 1 linear JAN00 1moVARS 1uu 12 99 v windENDVARSwu.ctl文件DSET wm.35aTITLE SURFACE PRESSURE AND WIND ANOMALYUNDEF -9996.00YDEF 1 LINEAR 10 1XDEF 81 LINEAR 40 2.5ZDEF 12 Levels 1000 925 850 700 600 500 400 300 250 200 150 100 TDEF 1 linear JAN00 1moVARS 1wu 12 99 w windENDVARS图形时间演变图lat.gs文件** Draw the Latitude-year section*'reinit''enable print tlatr20.met''clear''open lat.ctl''set dfile 1''set vpage 0.5 11. 0.5 8.5''set t 1 40''set lat -90 90''set lon 357.5''set ylint 5.''set xlint 5.''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set gxout shaded''set cmax 0.''set grads off''set xyrev on''set cint 0.5''set ccols 0 0 5 5 5 5 5 5 5 5 5''d ave(ps,lon=0,lon=357.5)''set clopts -1 -1 0.05''set xlint 5.''set ylint 5.''set gxout contour''set clab forced''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set cthick 4''set cint 0.5''set ccols 0 0 5 5 5 5 5 5 5 5 5''d ave(ps,lon=0,lon=357.5)''set string 3 c 4 0''set strsiz 0.18''set strsiz 0.10''draw string 6. 8.2 1958-96 summer 200mb Temperature Zonal Mean (0-357.5E,90S- 90N),interval=0.5 C''print'pull dummylat.Ctl文件DSET t20ar.40aTITLE COR.COEFFORMAT yrevUNDEF -327.68XDEF 144 LINEAR 0 2.5YDEF 73 LINEAR -90 2.5ZDEF 1 LEVELS 1000TDEF 40 LINEAR jul1958 1yrVARS 1ps 0 99 COR.COEFENDVARS图形** Draw the COR.COEF SST and nhc000 *'reinit''enable print tlonr20.met''clear''open lon.ctl''set dfile 1''set vpage 0.5 11. 0.5 8.5''set t 1 40''set lon 0 357.5''set lat -90''set ylint 10.''set xlint 5.''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set gxout shaded''set cmax 0.''set grads off''set xyrev on''set cint .3''set ccols 0 0 5 5 5 5 5 5 5 5 5''d ave(ps,lat=-90,lat=90)''set clopts -1 -1 0.05''set xlint 5.''set ylint 10.''set gxout contour'*'set clab forced''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set cthick 4''set cint .3''set ccols 0 0 5 5 5 5 5 5 5 5 5''d ave(ps,lat=-90,lat=90)''set string 3 c 4 0''set strsiz 0.13''draw string 6. 8.2 1958-96 200mb Temperature Meridional Mean (0-357.5E,90S- 90N),interval=0.3 C''print'pull dummylon.gs文件** Draw the COR.COEF SST and nhc000*'reinit''enable print tlonr20.met''clear''open lon.ctl''set dfile 1''set vpage 0.5 11. 0.5 8.5''set t 1 40''set lon 0 357.5''set lat -90''set ylint 10.''set xlint 5.''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set gxout shaded''set cmax 0.''set grads off''set xyrev on''set cint .3''set ccols 0 0 5 5 5 5 5 5 5 5 5''d ave(ps,lat=-90,lat=90)''set clopts -1 -1 0.05''set xlint 5.''set ylint 10.''set gxout contour'*'set clab forced''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set cthick 4''set cint .3''set ccols 0 0 5 5 5 5 5 5 5 5 5''d ave(ps,lat=-90,lat=90)''set string 3 c 4 0''set strsiz 0.13''draw string 6. 8.2 1958-96 200mb Temperature Meridional Mean (0-357.5E,90S- 90N),interval=0.3 C''print'pull dummylon.ctl文件DSET t20ar.40aTITLE COR.COEFFORMAT yrevUNDEF -327.68XDEF 144 LINEAR 0 2.5YDEF 73 LINEAR -90 2.5ZDEF 1 LEVELS 1000TDEF 40 LINEAR jul1958 1yrVARS 1ps 0 99 COR.COEFENDVARS图形曲线图.gs文件'reinit''enable print sahan2.met''clear''open sah1.ctl''set dfile 1''set vpage 0.5 11. 0.5 8.5''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set gxout line''set t 1 14''set vrange 52.0 62.0''set xaxis 1984 1997 5''set cmark 2''set cstyle 2''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set cthick 6''set grads off''d pr4''set string 3 c 4 0''set strsiz 0.20''print'pull dummy.ctl文件DSET sahr2.01aTITLE COR.COEFUNDEF -9999.99XDEF 1 LINEAR 1 1YDEF 1 LINEAR 1 1ZDEF 1 LINEAR 1 1TDEF 14 LINEAR jan1900 1yr VARS 1pr4 0 99 COR.COEF ENDVARS图形一页多图.gs文件* Draw line*'Reinit’'enable print awi2.met''clear''open aam.ctl''open am1.ctl''open am2.ctl''open am3.ctl''set dfile 1''set vpage 0.5 10.5 0.5 8.0''set gxout line''set t 1 90''set vrange -110. 190.''set xaxis 1900 1989 10'*'set yaxis -140. 200. 50.''set cmark 0''set cstyle 1''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set cthick 6''d rsst55''set dfile 2''set vpage 0.5 10.5 0.5 8.0''set gxout line''set t 1 90''set vrange -110. 190.''set xaxis 1900 1989 10'*'set yaxis -140. 200. 50.''set cmark 0''set cstyle 2''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set cthick 6''d rsst55''set dfile 3''set vpage 0.5 10.5 0.5 8.0' 'set gxout line''set t 1 90''set vrange -110. 190.''set xaxis 1900 1989 10'*'set yaxis -130. 120. 100.' 'set cmark 0''set cstyle 3''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set cthick 6''d rsst55''set dfile 4''set vpage 0.5 10.5 0.5 8.0' 'set gxout line''set t 1 90''set vrange -110. 190.''set xaxis 1900 1989 10'*'set yaxis -130. 120. 100.' 'set cmark 0''set cstyle 5''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set csmooth on''set cthick 6''d rsst55''set string 3 c 4 0''set strsiz 0.17''draw string 6.0 8.0 Asia-Africa Summer Precipitation Anomalies Time Series ''set grads off''print'pull dummyaam.ctl文件DSET uam.39aTITLE COR.COEFUNDEF -9999.99XDEF 1 LINEAR 1 1YDEF 1 LINEAR 1 1ZDEF 1 LINEAR 1 1TDEF 39 LINEAR jan1900 1yrVARS 1RSST55 0 99 COR.COEFENDVARSam1.ctl文件DSET ssr.01aTITLE COR.COEFUNDEF -9999.99XDEF 1 LINEAR 1 1YDEF 1 LINEAR 1 1ZDEF 1 LINEAR 1 1TDEF 96 LINEAR jan1900 1yrVARS 1sar 0 99 COR.COEFENDVARSam2.ctl文件DSET csr.01aTITLE COR.COEFUNDEF -9999.99XDEF 1 LINEAR 1 1YDEF 1 LINEAR 1 1ZDEF 1 LINEAR 1 1TDEF 96 LINEAR jan1900 1yrVARS 1chr 0 99 COR.COEFENDVARSam3.ctl文件DSET wwi1.40aTITLE COR.COEFUNDEF -9999.99XDEF 1 LINEAR 1 1YDEF 1 LINEAR 1 1ZDEF 1 LINEAR 1 1TDEF 40 LINEAR jan1900 1yr VARS 1RSST55 0 99 COR.COEF ENDVARS。
GrADS绘图软件使用手册

GrADS绘图软件实用手册2002年1月目录第一章 GrADS绘图软件概述1.GrADS绘图软件简介2.Internet上的GrADS资源2.1GrADS在Internet上的主页2.2 windows环境下GrADS资源3.GrADS绘图软件的安装(windows环境)3.1在windows环境下安装GrADS软件包3.2X server 的安装第二章 GrADS绘图模板1.GrADS示例演示1.1 启动GrADS1.2 退出GrADS1.3 示例演示GrADS命令的使用2.GrADS绘图模板3.GrADS模板的高级应用3.1GrADS描述语言3.2GrADS高级模板的应用第三章 GrADS数据格式1.格点数据描述文件1.1 数据描述文件各项解释1.2 生成model.le.dat和model.le.ctl文件的程序代码片段2.站点数据的格式附录1.如何精确控制图形输出的尺寸—Landscape纸型2.台站资料的显示3.Linux环境下的安装第一章 GrADS绘图软件概述1GrADS绘图软件简介The Grid Analysis and Display System(GrADS) 是一套应用广泛、使用方便的科学数据绘图软件包。
其主要特点:z GrADS属于自由软件,可以从Internet上免费获得。
z可运行于各种Windows 和Unix工作平台。
z GrADS可用于4D数据的分析。
既经度、纬度、层(气压层、高度层等)和时间/xyzt 4维。
数据可以是格点化的数据或离散点数据。
GrADS特别适用于气象类数据的分析。
但也完全可以用于更广泛类型的数据分析。
z GrADS有多种显示方式:等值线、流线、矢量图、风矢量图、站点填图、折线图、直方图等多种两维图形。
z可处理多种数据格式的数据。
GRIB、NetCDF、HDF-SDS等通用数据格式和系统自定义的一种二进制数据格式。
z采用命令行输入的方式交互式地显示图形。
GrADS实用绘图(基5)

LASG动力论坛版
8
res = functionname(args) ;
* res为函数值
math_abs(expr), math_log(expr), math_log10(expr) math_sin(radian), math_cos(radian), math_tan(radian) math_asin(expr), math_acos(expr), math_atan(expr) math_sinh(radian), math_cosh(radian), math_tanh(radian) math_asinh(expr), math_acosh(expr), math_atanh(expr) math_pow(expr, exponent) math_sqrt(expr), math_exp(exexpr) math_fmod(expr1,expr2), math_mod(expr) math_strlen(string) strlen(string) valnum(string) wrdpos(string,int) sublin(string,n) Subwrd(string,n) substr(string,start,length)
res = write(filename, record, { | append } ) res: 状态值 =0 OK =1 打开错误 =8 文件为read打开 res = close(filename) res: 状态值 =0 OK =1 文件未打开
LASG动力论坛版
11
八. 批处理和脚本语言(S) —控制语句
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
GrADS 精致绘图说(一)1. basemap.gs:basemap L | O | U <fill_color> <out_color> <hi/lo>在低分辨率海岸廓线范围内用颜色覆盖陆地/海洋。
适用于各种投影方式,需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区域)/低分辨率。
2. cbar.gs、cbarn.gs、cbarc.gs、cbar_l.gs和cbar_line.gs:cbarn sf vert xmid ymidcbarc 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 -pcbar_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图设置填充色。
GrADS 精致绘图说(二)[程序见GrADS Script Library]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 <palette> [<color_numbers>]显示各调色板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阶灰度色。
GrADS 精致绘图说(三)(程序见GrADS Script Library)6. 定义颜色的有关Script程序:define_colors.gs、rgbset.gs、rbtab.gs、rgbmap.gs、showcol.gs、colors.gs7. set font n 设置字体n = 0:helvetica font(缺省)n = 1:roman fontn = 2:italics roman fontn = 3:symbols fontn = 4:bold helvetica fontn = 5:bold roman特别推荐:font 3,可以输出很多symbols,让图例说明更完美,具体字符对照可用font.gs 显示,用法:run font.gs n8. 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 <STREAM> <BINARY> fname<SEQUENTIAL> <BINARY-BIG><BINARY-LITTLE>对除以上特殊投影方式外的数据的说明。
GrADS 精致绘图说(五)[程序见GrADS Script Library]10. 为等值线图加注H/L 中心标记clhilo.gs、philo.gs和philo2.gs:用法:run clhilo.gs var <ptype <fmt <cint <rad>>>>run philo.gs var <fmt <crad>>run philo2.gs var <rad <cint <ptype <fmt>>>>参数说明: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/udftPC WINDOWS:GAUDFT=c:/pcgrads/udf/udft实际路径因人而异。
注意:标记了彩色的"udft"是一个用户自定义函数列表文件。
设置是否成功,可启动GrADS后,用'q udft'命令查看,系统将给出一个列表。
附:用户自定义函数说明:/grads/gadoc/udf.htmlGrADS 精致绘图说(六)11. Some math functionsrc = 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。