GrADS基础绘图
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画图入门

(缺省)
命令:
display express
ga-> d strp Contouring: 0 to 100 interval 10
设置:
set *** ###
维数参数设置 等值线设置
Set set Set set lon 100 cint 15 120 指定等值线间隔 lat 103 25 指定等值线颜色 ccolor
Outline
• 1、grads功能概述(不讲) • 2、Grads数据准备:
(1)ncep资料的直接读取 (2)mm5out_to_Grads,wrfoutput_to_grads (3)二进制格点数据dat的生成和数据描述文件ctl作用 (4)站点数据的准备以及站点图形的绘制
• 3、图形显示类型及绘图设置:
•
2、Grads数据准备:
(1)ncep资料的直接读取 (2)mm5_to_Grads,wrf_to_grads (3)二进制格点数据dat的生成和数据描述文件ctl作用 (4)站点数据的准备以及站点图形的绘制
data open(3,file=filename.ctl,form='formatted',status='unknown') zlev/1000,925,850,700,500,400,300,250,200,150,100/ write(3,'(a)')'dset ^'//filename.dat tim=0.0 ;ilev=11;nflag=0 open(2,file=filename.dat,form='unformatted',access='direct',recl=73*4) write(3,'(a)')'dtype station' irecord=0 write(3,'(a)')'stnmap ^sounding.map' do j=1,irec write(3,'(a)')'undef -999.0' irecord=irecord+1 write(3,'(a)')'title sounding' write(2,rec=irecord)'abc'//sta(j)(1:5),lat(j),lon(j),tim,ilev,nflag, write(3,'(a)')'tdef 1 linear 02JAN1987 1DY ' + (zlev(i),z(j,i),t(j,i),td(j,i),d(j,i),f(j,i),i=1,11) write(3,'(a)')'vars 5' enddo write(3,'(a)')'zz 11 99 '//staa//' height1' ilev=0 write(3,'(a)')'tt 11 99 '//staa//' temper1' irecord=irecord+1 write(3,'(a)')'t_td 11 99 '//staa//' t_td1' write(2,rec=irecord)'abcdefgh',lat(1),lon(1),tim,ilev,nflag, write(3,'(a)')'uu 11 99 '//staa//' u wind1' + write(3,'(a)')'vv (zlev(i),i=1,11),(z(1,i),i=1,11),(t(1,i),i=1,11), 11 99 '//staa//' v wind1' + write(3,'(a)')'endvars‘ (td(1,i),i=1,11),(d(1,i),i=1,11),(f(1,i),i=1,11) close(2) close(3)
GrADS实用绘图--基本操作

• 关闭数据文件
ga-> close 3 ↵ ga-> close 2 ↵ ga-> close 1 ↵
文件打开从1 开始依次编号, 文件关闭时先 关闭序号最大 的文件
26
LASG动力论坛版
三. 运行GrADS绘图软件包
• 设置维数环境
ga-> set x 1 73 ↵ ga-> set lat -20 60 ↵ ga-> set lev 850 ↵ ga-> set time 00z01Apr2007 ↵
♥♥♥
18
LASG动力论坛版
二. GrADS绘图软件包的安装
• Windows下的安装(2)
– 设置环境变量 ♥♥♥ “我的电脑”右键菜单 属性 高级 环境变量
• 新建变量 GASDIR c:\PcGrADS\dat GASCRP c:\PcGrADS\lib GAUDFT c:\PcGrADS\udft\udft.list • 修改PATH变量, 增加路径 c:\PcGrADS\win32;c:\PcGrADS\lib;c:\PcGrADS\dat;
8
LASG动力论坛版
一. 引
• GrADS实用文档
言
– LASG编 《GrADS实用手册》 ♥♥♥ 中文, 较全面, 可用来自学 – GrADS reference card 英文, 绘图命令和函数速查 – GrADS scripting language reference card 英文, 脚本语言语法速查 – GrADS Documentation Index 联机英文索引, 最全面
12
LASG动力论坛版
二. GrADS绘图软件包的安装
• 操作系统
GrADS绘图基础

显示图形 ga-> display u gaga-> d u; v.2 gaga-> d u; v.2; mag(u,v.2) ga 保存图形 ga-> enable print gaa.gmf ga-> print gaga-> disable print ga 清屏 ga-> clear gaga-> c ga重置缺省环境, 重置缺省环境, 不关闭 数据文件 ga-> reset ga重新初始化, 重新初始化, 关闭 reinit
Linux: Linux: 在.cshrc 文件中添加: 文件中添加: # 执行文件路径:setenv PATH /usr/local/grads/bin:${PATH} 执行文件路径: # 字体和底图文件路径:setenv GADDIR /usr/local/grads/dat 字体和底图文件路径: # 脚本库的路径:setenv GASCRP /usr/local/grads/lib 脚本库的路径:
GrADS基础绘图 GrADS基础绘图
何晏春 20082008-2-23
提纲
1、grads功能概述 grads功能概述 (1)、软件性能介绍:主要是与matlab对比 )、软件性能介绍:主要是与matlab对比 (2)、 grads在win/Linux下的下载、安装、运行: grads在win/Linux下的下载、安装、运行: linux/windows环境变量的设置,安装后各个目录文件的内容 linux/windows环境变量的设置,安装后各个目录文件的内容 (3)、紧接着进行grads的简单操作:对nc资料的操作,画两张简单的图:contour与shaded叠加 )、紧接着进行grads的简单操作:对nc资料的操作,画两张简单的图:contour与shaded叠加 (2)、Grads网络资源 )、Grads网络资源 2、Grads的图形显示类型及绘图设置 Grads的图形显示类型及绘图设置 (1)、一维:直方、折现、散点、误差图.... )、一维:直方、折现、散点、误差图.... (2)、二维:等值线、阴影图、风矢量、流线图、站点天气图 (3)、图形设置:坐标、线型、页面、地图投影、地表状况、图形信息开关 3, Grads 函数 4、grads 批处理脚本 3、Grads数据准备 Grads数据准备 (1)、ncep资料的直接读取 )、ncep资料的直接读取 (2)、二进制格点数据的生成、数据描述文件ctl作用 )、二进制格点数据的生成、数据描述文件ctl作用 介绍grads格点数据的存储结构,即维数环境,生成二进制的fortran程序段; 介绍grads格点数据的存储结构,即维数环境,生成二进制的fortran程序段; ctl文件的作用,ctl文件的结构。 ctl文件的作用,ctl文件的结构。 (3)、mm5out_to_Grads,wrfoutput_to_grads, )、mm5out_to_Grads,wrfoutput_to_grads, (4)、站点数据的准备以及站点图形的绘制 4、grads函数的使用: grads函数的使用: (1)、数学函数 (2)、统计函数 (2)、统计函数 (3)、网格处理函数 ....... 5、实例示范 (1) precluster应用 precluster应用 (2) pc演示,用grads的totourial。 pc演示,用grads的totourial。
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绘图学习技巧与实例

以下技巧总结都是笔者从学习实践过程中总结出来的,基本的问题。
不求全面,希望对读者学习有用,如果有问题,敬请留言指正,以促进交流学习!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实用绘图(基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) —控制语句
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,大气的数据要根据数据的层次确定几层。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
绘图速度较慢,当数据文件较大时,读入很容易内存溢出 远程处理比较麻烦。
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
显示类型
bar 直方图 line 折线图 errbar 标误差线 linefill 两线之间填色 scatter 散点图 grfill 按网格填色(马赛克图) fgrid 按set fgvals指定值填网格颜色 grid 网格填值 findstn 寻找最近的站点 model 站点填图 stnmark 标记站点位置 value 标站点值 contour 等值线图 shaded 填色等值线图 vector 风矢量图 barb 风羽 stream 流线图 stat 输出统计数据 print 十进制屏幕输出(set prnopts) fwrite 输出二进制文件(set fwrite) tserbarb 单站的风羽时间序列 tserwx 单站天气现象时间序列 wxsym 在站点上标记天气符号(set wxopt)
参考资料
1、GrADS Tutorial 2、GrADS Reference Card 3、LASG: GrADS Mannual 4、LASG: GrADS 实用绘图讲义,funny@动 力论坛 5、动力论坛GrADS中文讨论区
常见软件
Grads网络资源
GrADS主页和中文讨论区 – /graபைடு நூலகம்s/ 或ftp:// /grads (软件下载/ 联机文档/ email讨论区) – /cgi-bin/forum/forums.cgi?forum=3 (中文手册下载/ 中文讨论区/ 脚本和其它资源) GrADS实用文档 – LASG编《GrADS实用手册》
显示图形 ga-> display u ↵ ga-> d u; v.2 ↵ ga-> d u; v.2; mag(u,v.2) ↵ • 保存图形 ga-> enable print a.gmf ↵ ga-> print ↵ ga-> disable print ↵ ������ 清屏 ga-> clear ↵ ga-> c ↵ 重置缺省环境, 不关闭 数据文件 ga-> reset ↵ 重新初始化, 关闭 reinit ↵
GrADS基础绘图
何晏春 2008-2-23
提纲
1、grads功能概述 (1)、软件性能介绍:主要是与matlab对比 (2)、 grads在win/Linux下的下载、安装、运行: linux/windows环境变量的设置,安装后各个目录文件的内容 (3)、紧接着进行grads的简单操作:对nc资料的操作,画两张简单的图:contour与shaded叠加 (2)、Grads网络资源 2、Grads的图形显示类型及绘图设置 (1)、一维:直方、折现、散点、误差图.... (2)、二维:等值线、阴影图、风矢量、流线图、站点天气图 (3)、图形设置:坐标、线型、页面、地图投影、地表状况、图形信息开关 3, Grads 函数 4、grads 批处理脚本 3、Grads数据准备 (1)、ncep资料的直接读取 (2)、二进制格点数据的生成、数据描述文件ctl作用 介绍grads格点数据的存储结构,即维数环境,生成二进制的fortran程序段; ctl文件的作用,ctl文件的结构。 (3)、mm5out_to_Grads,wrfoutput_to_grads, (4)、站点数据的准备以及站点图形的绘制 4、grads函数的使用: (1)、数学函数 (2)、统计函数 (3)、网格处理函数 ....... 5、实例示范 (1) precluster应用
自由图形、符号
设置线属性-> 画线-> 画符号-> 画空心|实心方框-> 画多边形-> 画多边形-> 画天气符号-> 设置字体-> 写标题-> 设置字符串属性-> 设置字符串大小-> 写字符串->
‘set line #color #style #thick’ ‘draw line x1 y1 x2 y2’ ‘draw mark marktype x y size’ ‘draw { rec | recf } xlo ylo xhi yhi’ ‘draw ployf x1 y1 x2 y2 ……xn yn’ ‘draw mappoly lon1 lat1 lon2 lat2 … lon1 lat1’ ‘draw wxsym #symbol x y size #color #thick’ ‘set font [0~5]0’ ‘draw title title_string’ ‘set string #color { tl | tc| tr| l | c| r| bl | bc| br} ‘set strsiz width height’ ‘draw string x y string’
set annot #color(1) thick(6) set frame on | off | circle set xyrev on set zlog { on | off | swap | undefine } set coslat {on | off } set tlsupp { year | month } set grid {on| off| horizontal| vertical } linestyle #color set gridln {auto | off | #color } set xlint int set ylint set xaxis starrt end int set yaxis set vrange vlo vhi set vrange2 set xlpos offset(0) { b | t } set ylpos…{l|r} set xlopts #color(1) thick(4) size(0.12) set clopts #col(-1) thick(-1) size(0.09) set ylopts set ylevs set xlevs x1 x2 x3… set ylabs set xlabs b1|b2|b3|… set ylab set xflip { on | off } set yflip set xlab { on | off | aut draw ylab draw title title_string
运行GrADS
打开数据: ga->open *.ctl ga->sdfopen *.nc ga->xdfopen test.ddf 查询信息:query ga->query ctlinfo ga->q dims ga->q file 关闭数据文件 ga-> close 3 ga-> close 2 Ga-> close 1 设置维数环境 ga-> set x 1 73 ↵ ga-> set lat -20 60 ↵ ga-> set lev 850 ↵ ga-> set time 00z01Apr2007 ↵ 26 LASG动力论坛版 三. 运行GrADS绘图软件包 • 设置维数环境 ga-> set x 1 73 ↵ ga-> set lat -20 60 ↵ ga-> set lev 850 ↵ ga-> set time 00z01Apr2007 ↵
新建变量 GASDIR c:\PcGrADS\dat GASCRP c:\PcGrADS\lib 修改PATH变量, 增加路径 c:\PcGrADS\win32;c:\PcGrADS\lib;c:\PcGrADS\dat;
Linux: 在.cshrc 文件中添加: # 执行文件路径:setenv PATH /usr/local/grads/bin:${PATH} # 字体和底图文件路径:setenv GADDIR /usr/local/grads/dat # 脚本库的路径:setenv GASCRP /usr/local/grads/lib