GrADS绘图与编程(值得收藏)
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实用绘图--基本操作
• 关闭数据文件
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绘图实例教程
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绘图学习技巧与实例(阿木)
以下技巧总结都是笔者从学习实践过程中总结出来的,基本的问题。
不求全面,希望对读者学习有用,如果有问题,敬请留言指正,以促进交流学习!(笔者:阿木)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画站点图(contour、shaded、grfill等)
利用Grads画站点图(contour、shaded、grfill等)1.利用Fortran程序将数据输出为grd格式。
参考程序如下:parameter(num=160) (站点数)character*8 sta(num) (站名名数组,可任意)dimension xlon(num),ylat(num),rc(num) (经、纬度数组及其上对应的数值) open(30,file='cor.grd',form='unformatted') (工作站)open(30,file='cor.grd',form='binary') (微机)do 100 lev=1,20 (共输出20个时间上的观测或结果)tim=0.0ilev=1nflag=1do 10 i=1,numsta(i)=char(i)write(30) sta(i),ylat(i),xlon(i),tim,ilev,nflagwrite(30) rc(i)10 continueilev=0write(30)sta(num),ylat(num),xlon(num),tim,ilev,nflag (每个时次的结束) 100continueclose(30)2.ctl文件(创建与步骤1中输出的站点数据配对的station.ctl文件):dset cor.grdformat sequentialdtype stationstnmap cor.mapundef -9.99e33tdef 20 linear jun1958 1movars 1r 0 99 correlationendvars3.为插值函数准备格点数据grid.grd及对应的grid.ctldset grid.grdundef -99.0xdef 71 linear 70 1ydef 41 linear 15 1zdef 1 linear 1 1tdef 20 linear jun1958 1movars 1g 0 99 grid data prepared for oacres functionendvars注意:两个ctl(station.ct l和grid.ctl)文件中的时间要严格一致。
GrADS绘图与编程实习七变量与函数的设置.docx
3.实习目 的:dset d:\data\sst2.grd undef 32767.00 xdef 180 linear 0 2 ydef 89 linear -88 2 zdef 1 linear 1 1tdef 360 linear janl971 Imo vars 1sst 0 -999 Monthly Means of Sea Surface Temperature endvars实习七变量与函数的设置1 .实习资料:现在"data"文件夹下有全球海表温度资料sst.mnmean.nc o 2・实习要求:1)根据所提供的数据资料,计算1-12月多年平均(1971年・2000年)海温场,并绘出1月海温多年平均图。
2 )进一步计算1971年至2000年1月海温距平场,绘制1998年1月和1999 年1月海温距平场,海温正距平区填色,画色标,并分别写标题Janl998和 Janl999e 要求设置虚页,将两幅图并排放在一起。
最终将图形保存。
所有命令编写于・gs 文件中。
掌握函数的使用,进一步练习阴影图形与等值线图形的叠加画图方法。
4.实习步骤:4丄 在写字板或记事本程序中按要求编写*.gs 文件;4.2启动GrADS绘图软件,运行Tgs文件4.3完成实习报告1)说明所用资料使用了sst.mnmean.nc文件用第一个gs 文件将其中1971年・2000年的海温场的数据取出来卸载一个grd文件里面,编写对应的CTL文件,写岀对应要求的gs 文件。
2 )给出所编写的£gs文件3)给出所绘图形averagejanl 998&0N3QS-t 60S- 60 F IMF30NmoCrADS: COLVICES 0.51 j 1a 5n19b92'53 54」2012-12-12-14:35SON- 30N-30S-60S-60 E 12DE180G 「ADS: COLVlGES 0.5 k51 2012-12-12-14:38。
第二讲GrADS绘图的各种设置
reinit 同reset,但同时关闭所有打开的文件,并释 放所有定义的对象,如临时定义变量等。
quit 退出GrADS环境。
பைடு நூலகம்
draw选项 draw是GrADS提供的基础绘图指令,可以在 没有操作数据的情况下直接进行所指定的图 形元素的操作,如绘制字符串、直线、标记 符号等。
符串中反斜杠表示起新行。
draw xlab string draw ylab string 分别在水平坐标轴或垂直坐标轴左侧写字符串
string,作为x轴或y轴的说明。
set annot color <thickness> 设置上述图注所用的颜色和线宽,缺省为白色,
线宽为6,该命令同时设置了坐标轴线以及刻 度的颜色和线宽,坐标刻度和标尺的线宽为图 注设置的线宽再减1。
例:set ccolor 1 或 set ccolor rainbow
对图形类型为等值线起作用的设置:
• set cterp on | off 设置样条插值光滑开关。
• set clab on | off | forced | string | auto 控制等值线的标记方式。
• set clopts color <thickness> <size> • 设置等值线标记的颜色。
地图投影设置:
set mproj proj 设置当前地图投影方式。
常用proj取值包括: latlon:缺省设置,用固定的投影角进行Lat/lon投影
; scaled:用不固定的投影角进行latlon投影,地图比例
GrADS画图入门
命令:query dims
ga-> q dims Default file number is: 1 X is varying Lon = 100 to 150 X = 1 to 101 Y is varying Lat = 0 to 40 Y = 1 to 81 Z is fixed Lev = 1000 Z = 1 T is fixed Time = 00Z19JUL2005 T = 1
命令:open filename2.ctl
ga-> open strike024_041720 Scanning description file: strike024_041720 Data file strike024_041720.dat is open as file 2
查询命令
命令:query files
Outline
• 1、grads功能概述(不讲) • 2、Grads数据准备:
(1)ncep资料的直接读取 (2)mm5out_to_Grads,wrfoutput_to_grads (3)二进制格点数据dat的生成和数据描述文件ctl作用 (4)站点数据的准备以及站点图形的绘制
• 3、图形显示类型及绘图设置:
set cmax 90 不画超过90(不含)以上的等值线 set clevs 495 523 534 556 560 564 572 584 588 set ccols 1 2 3 4 5 当指定颜色少于等值线条数时,最后一种颜色适用于超出的所有等值线。
GrADS实用绘图--站点图 函数使用
3
LASG动力论坛版
六. 图形显示(D)2
本节内容提要
— 站点绘图
• 适用站点资料的内建图形样式及其定制 • 站点处理的局限性和技巧
变量的引用格式 – defiine – 函数的使用
–
• set gxout其它选项*
– stat/ print/ fwrite
4
LASG动力论坛版
set gxout 图形类型
15
LASG动力论坛版
六. set gxout其它选项(D)2
站点数据值输出
set stnprint on | off
ga-> set stat on ga-> d tem
—stat
统计信息 set gxout stat
ga-> set gxout stat ga-> d tem Data Type = grid Dimensions = 0 1 I Dimension = 36 to 109 Linear -2.5 5 J Dimension = 1 to 36 Linear -87.5 5 Sizes = 74 36 2664 Undef value = -32767 Undef count = 0 Valid count = 2664 Min, Max = -48.8 32 Cmin, cmax, cint = -40 30 10 Stats[sum,sumsqr,root(sumsqr),n]: 8574.9 1.14741e+06 1071.17 2664 Stats[(sum,sumsqr,root(sumsqr))/n]: 3.21881 430.708 20.7535 Stats[(sum,sumsqr,root(sumsqr))/(n-1)]: 3.22002 430.87 20.7574 Stats[(sigma,var)(n)]: 20.5024 420.348 Stats[(sigma,var)(n-1)]: 20.5062 420.506
气象图形软件应用-GrADS绘图软件的使用
气象图形软件应用——G r A D S绘图软件的使用成都信息工程学院大气科学系巩远发主要内容一、GrADS的一般介绍二、GrADS的数据结构详解三、GrADS数据数据处理和绘图详解四、GrADS绘图编程(脚本)语言第一讲 GrADS的一般介绍什么是GrADS相关的关于GrADS的网络资源启动和退出GrADS最基本的GrADS操作(命令)GrADS使用文件的分类GrADS的主要功能介绍1. 什么是GrADS?G r A D S——Grid data Analysis and Display System 格点数据分析和显示系统GrADS(Grid data Analysis and Display System)是一个全32 位的交互操作的气象格点数据和站点数据的分析和显示环境。
系统具有气象数据分析功能强、地图投影坐标丰富、高级编程语言使用容易、图形显示快速,并具有彩色动画功能等特点。
目前是国内外气象数据显示的标准平台之一。
2. 相关的关于GrADS的网络资源WWW Sites/grads/head.html/home.htmlGrADS论坛动力论坛专业绘图软件格点资料下载http://www.ecmwf.int//cdc/reanalysis/3. 启动和退出GrADSgrads 启动GrADSga-> GrADS的系统提示符help给出GrADS的主要命令quit 退出GrADS4. 最基本的GrADS操作Open :打开一个网格点或站点数据文件供GrADS使用(sdfopen: 打开netCDF数据)Query (或仅用q) :查看当前GrADS环境的各种参数Display (或仅用d) :显示(绘制)一幅GrADS “表达式”的图形Set : 设置绘图的操作方式(包括绘什么图,在那里绘图,怎样绘图……)Clear (或仅用c) : 清除当前显示的图形5. GrADS使用文件的分类数据文件: 二进制无格式记录的原始数据,可以是格点的,也可以是站点的。
GrADS绘图与编程课件 实习手册
GrADS绘图与编程实习手册实习内容一、要求软件:GradsFortran二、资料介绍:第一类:ASCII资料(放在data文件夹中)资料名称:月平均风场(u200.dat、u850.dat、v200.dat、v850.dat);月平均高度场(hgt500.dat)范围:60~150E,0~40N.层次:风场,850 hPa、200hPa;高度场,500hPa;时段:2002.1~2005.12共48个月。
变量名:u v hgt分辨率:2.5*2.5,格点数:37*17资料读取文件:data.f90第二类:二进制资料(放在data文件夹中)资料名称和描述文件:uv.grd\uv.ctl范围:60-150E,0-40N层次:风场,850 hPa、200hPa;时段:2002.1~2005.12共48个月变量名:u、v分辨率:2.5*2.5,格点数:37*17;资料名称和描述文件:hgt.grd\hgt.ctl范围:60-150E,0-40N层次:高度场,500 hPa;时段:2002.1~2005.12共48个月变量名:hgt分辨率:2.5*2.5,格点数:37*17;地形高度资料:dxgd.grd\dxgd.ctl范围:2.5-360 E,-90-90N(全球)层次:1层,地面;时间:2002年1月变量名:h分辨率:2.5*2.5,格点数:144*73;全球海表温度资料:sst.mnmean.nc具体说明自己利用相关命令读取。
Grads给出的实例数据:model.le.dat\ model.le.ctl为模式输出的全球5天数值预报结果,包括了多个要素、多层,按经纬度网格存放的数据,具体资料内容详见model.le.ctl。
三、实习内容:实习一数据文件的转换及数据描述文件的建立(2小时)…………..……P4-5 实习二基本命令的上机使用(2小时)…………………………….….……P6-7 实习三set命令的使用练习(2小时)………………………………….……P8实习四各类参数设置综合练习(2小时)……………………………….……P9实习五各类参数设置综合练习(2小时)…………………………………..P10 实习六练习描述语言的使用(2小时)……………………………………..P11 实习七变量与函数的设置(2小时)………………………………………..P12 实习八描述语言的使用(2小时)................................................................P13注:实习时将data文件夹拷贝在D: \ 下,然后进行实习。
GrADS绘图与编程(值得收藏)
由GrADS.exe文件调用 产生格点资料映射文件(*.idx)
看Grib码资料,转为TXT格式文件
显示*.gmf格式的图形文件 产生台站资料的映射文件(*.map)
Grib码资料的解读程序
将*.gmf格式的图形文件转换为*.wmf 格式
10
启动和退出GrADS
100 continue 200 continue 1000 format(2i7) 2000 format(37f6.2) 3000 format(37f8.1) 4000 format(37f7.2) end
三、数据描述文件
Data.ctl 文件内容:
Dset data.grd Undef –9.99e+33 Title Ncep/Ncar reanalysis project Xdef 37 linear 60 2.5 Ydef 17 linear 0 2.5 Zdef 2 levels 850 200 Tdef 48 linear jan1982 1mo Vars 4 U 2 99 u wind (m/s) V 2 99 v wind(m/s) H 1 99 H500 T 1 99 Tsfc data endvars
11 8.5
11
所需预备知识
DOS和Windows基础 FORTRAN编程 WORD基础
学习要求
强调上机编程实践
12
第二章 GrADS 数据格式
• 目标 (1)能将文本格式数据转为GrADS格式
(2)能写出数据描述文件(*.ctl)
重要概念
一、维数环境的概念
1、含义:GrADS视每一个变量(VAR)场为一个四维数据集, 即包括三维空间(x,y,z)和一维时间(t)。 2、作用:说明和指定随后的分析或图形操作时参加的原 始数据集的维数范围。 3、定义方法: Set lat|lon|lev|time val1 <val2> 地球坐标 Set x|y|z|t val1 <val2> 格点坐标 13
GrADS实用绘图--脚本编程
LASG动力论坛版
八. 批处理和脚本语言(S)
— 脚本编程关键运算范例 范例2-相应的.ctl文件
15
范例2-格式转换
‘sdfopen uwnd.2000.nc’ ‘set gxout fwrite’ ‘set fwrite uwnd.500.feb1.bin’ ‘set lev 500’ ‘set time 1feb2000’ ‘set x 1 144’ * 缺省维数是 1~145 ! ‘set y 37 73’ * 取北半球 ‘d uwnd’ ‘disable fwrite’
LASG动力论坛版
1
GrADS实用绘图
第五讲 脚本编程/图形保存
=Funny @ LASG动力论坛=
— 2007年8月22日—
版权所有, 欢迎传播, 请保持文档完整性
LASG动力论坛版
2
内容提要
请注意标记♥♥♥的地方
第 五 讲
一. 引言 二. GrADS绘图软件包安装 三. 运行GrADS绘图软件包 四. 图形显示(D)1 — 格点绘图 五. 数据准备(Gr) 六. 图形显示(D)2 — 站点绘图 七. 数据分析(A) — 函数的使用 八. 批处理和脚本语言(S) 九. 图形保存和转换
下拉菜单
‘set dropmenu fc bc oc1 oc2 tfc tbc toc1 toc2 bfc bbc boc1 boc2 soc1 soc2 thick ’ ‘draw dropmenu #widget[0~64] xc yc width height text ’
对话框
‘set dialog #strcol #fcol #bkcol #linecol #thk { | numeric | n }’ ‘q dialog { | xc yc width height } { prompt_string | prompt_and_initial_string }’ say result
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二、文本格式数据
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等
8
安
装
1、将系统软件拷入硬盘某一子目录 下,如:c:\grads
2、修改autoexec.bat文件,加上 path c:\grads;%path% set gaddir=c:\grads set gascrp=c:\grads
9
GrADS 软件包的组成
• • • • • • • • Grads.exe Dos4gw.exe Gribmap.exe Gribscan.exe Gxtran.exe Stnmap.exe Wgrib.exe Gv.exe
11 8.5
11
所需预备知识
DOS和Windows基础 FORTRAN编程 WORD基础
学习要求
强调上机编程实践
12
第二章 GrADS 数据格式
• 目标 (1)能将文本格式数据转为GrADS格式
(2)能写出数据描述文件(*.ctl)
重要概念
一、维数环境的概念
1、含义:GrADS视每一个变量(VAR)场为一个四维数据集, 即包括三维空间(x,y,z)和一维时间(t)。 2、作用:说明和指定随后的分析或图形操作时参加的原 始数据集的维数范围。 3、定义方法: Set lat|lon|lev|time val1 <val2> 地球坐标 Set x|y|z|t val1 <val2> 格点坐标 13
100 continue 200 continue 1000 format(2i7) 2000 format(37f6.2) 3000 format(37f8.1) 4000 format(37f7.2) end
三、数据描述文件
Data.ctl 文件内容:
Dset data.grd Undef –9.99e+33 Title Ncep/Ncar reanalysis project Xdef 37 linear 60 2.5 Ydef 17 linear 0 2.5 Zdef 2 levels 850 200 Tdef 48 linear jan1982 1mo Vars 4 U 2 99 u wind (m/s) V 2 99 v wind(m/s) H 1 99 H500 T 1 99 Tsfc data endvars
24
有1may92.dat,2may92.dat,…..等数据文件,需用一个共同的描述文件, 这时的CTL文件可写为: Dset %d1%mc%y2.dat ….. Options template …… Tdef 72 linear 0z1may92 1 dy 其中:%y2:2位数年;%y4:4位数年;%m1:1或2位数月;%m2:2位数 月;%mc:3个字符的月份英文缩写;%d1:1或2位数天;%d2:2位 数天;%h1:1或2位数小时;%h2:2位数小时 5、xdef number linear start inc 或 xdef number levels <value-list> 设置网格点与经度的对应关系。其中number是x方向网格点数, linear或 levels表明网格点映射类型, start起始经度, inc格距大小, value-list表示X方向各格点的列表。
文本格式数据源
Open(9,file=„data.grd‟,form=„unformatted,access=„direct‟,recl=ii*jj*4)
Irec=1 Do 200 iy=1,4 Do 100 m=1,12 Read(1,1000) Read(1,2000) ((var(I,j),I=1,ii),j=1,jj) Write(9,rec=irec) ((var(I,j),I=1,ii),j=1,jj) Irec=irec+1
GrADS绘图与编程
图例1 1月份500hPa位势高度场
2
图例2 500hPa高度场(1、4、7、10月)
3
图例3 亚洲季风区7月850hPa流场图
4
图例4 SST和Sea Level分布图
5
图例5(130E,25N)处的感热和潜热的时间演变
6
第一章
★ ★ ★ ★ ★ ★
概述
简介 GrADS的安装 GrADS软件的组成 GrADS的启动和退出 所需预备知识 学习本课程的要求
以下详细说明数据描述文件中各记录的含义: 1、DSET data-set-name 给定二进制原始数据文件的文件名(可包含路径),若数据 文件与描述文件在同一路径下,可用省缺路径符号“^”代表。
23
2、title string 用字符串string简略描述数据文件的内容。 3、undef value 定义缺测值,GrADS在运算操作时和图形操作时将忽略这些格点。 4、options <keywords> <keywords>可以是 <yrev><zrev><sequential><byteswapped><big_endian><little_endian ><template> 其中:sequential表示数据是以顺序无格式形式存放,每个记录为一 个(x,y)场;yrev表示 y维数方向与 ydef中说明的方向相反,即为由 北到南; zrev表示 z维数方向与 zdef中说明的方向相反,即为由 上到下;byteswapped表示二进制数据的位存放顺序取反序; big_endian和 little_endian不同机器之间二进制位存放顺序的自动 改变; template表示 多个时间序列原始数据文件共用一个数据描 述文件。例如:
15
说出下列维数环境的含义
Set lon 60 150 Set lat 0 30 Set t 7 Set lev 200
Set lat 30 Set lon 60 130 Set t 1 12 Set z 1
Set lon 120 Set lat 30 Set z 1 12 Set t 1
Set lon 60 150 Set lat 0 30 Set t 1 12 Set lev 200
关键词:如dset, undef, title,xdef ,ydef 等
被描述的数据文件名
缺测标记 标题
起始值
确定维数环境 间 隔 指定变量名 层次数
22
数据描述文件一般包含以下几项: (1)被描述的数据文件名(DSET) (2)该数据说明文件的标题(TITLE) (3)数据类型、格式和选项(DTYPE ,FORMAT,OPTION) (4)时间、空间维数环境设置(XDEF,YDEF,ZDEF,TDEF) (5)变量定义(VARS,ENDVARS)
25
6、ydef number mapping start inc 或 ydef number levels values-list 设置Y方向格点与纬度的映射关系。其中number为Y方向的格点数, mapping表示映射方式,有: Linear:线性映射 Gausr15:高斯R15纬度,Gausr20,gausr30,gausr40等 对于线性映射linear,start 为起始纬度,inc为Y方向格距。 对于高斯映射,start为第一高斯网格数。 对于levels映射, value-list为Y方向取值表 7、zdef number linear start inc 或 zdef number levels value-list 设置气压面与垂直网格点的映射关系。如: Zdef 10 linear 1000 –100 Zdef 10 levels 1000,925,850,700,600,500,400,300,200,100
无格式,直接记录
Read(3,1000) Read(3,2000) ((var(I,j),I=1,ii),j=1,jj) Write(9,rec=irec) ((var(I,j)I=1,ii),j=1,jj) Irec=irec+1 Read(2,1000) Read(2,2000) ((var(I,j),I=1,ii),j=1,jj) Write(9,rec=irec) ((var(I,j)I=1,ii),j=1,jj) Irec=irec+1 Read(4,1000) Read(4,2000) ((var(I,j),I=1,ii),j=1,jj) Write(9,rec=irec) ((var(I,j)I=1,ii),j=1,jj) Irec=irec+1 Read(5,1000) Read(5,3000) ((var(I,j),I=1,ii),j=1,jj) Write(9,rec=irec) ((var(I,j)I=1,ii),j=1,jj) Irec=irec+1 Read(6,1000) Read(6,4000) ((var(I,j),I=1,ii),j=1,jj) Write(9,rec=irec) ((var(I,j)I=1,ii),j=1,jj) Irec=irec+1