GrADS实用绘图(基4)
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绘图软件使用手册

GrADS绘图软件实用手册2002年1月目录第一章GrADS绘图软件概述1.GrADS绘图软件简介2.Internet上的GrADS资源2.1GrADS在Internet上的主页2.2windows环境下GrADS资源3.GrADS绘图软件的安装(windows环境)3.1在windows环境下安装GrADS软件包X server 的安装第二章GrADS绘图模板1.GrADS示例演示1.1 启动GrADS1.2 退出GrADS1.3 示例演示GrADS命令的使用2.GrADS绘图模板3.GrADS模板的高级应用GrADS描述语言GrADS高级模板的应用第三章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) 是一套应用广泛、使用方便的科学数据绘图软件包。
其主要特点:●GrADS属于自由软件,可以从Internet上免费获得。
●可运行于各种Windows 和Unix工作平台。
●GrADS可用于4D数据的分析。
既经度、纬度、层(气压层、高度层等)和时间/xyzt 4维。
数据可以是格点化的数据或离散点数据。
GrADS特别适用于气象类数据的分析。
但也完全可以用于更广泛类型的数据分析。
●GrADS有多种显示方式:等值线、流线、矢量图、风矢量图、站点填图、折线图、直方图等多种两维图形。
●可处理多种数据格式的数据。
GRIB、NetCDF、HDF-SDS等通用数据格式和系统自定义的一种二进制数据格式。
●采用命令行输入的方式交互式地显示图形。
并有多种命令对数据进行再加工。
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实用绘图--站点图 函数使用

存放在 系统变量 result中
16
六. set gxout其它选项(D)2—print / fwrite
输出格式
set prnopts format(%g) line_n(8) blank_n(1) { |u}
LASG动力论坛版
数据写屏输出 set gxout print binary数据输出 set gxout fwrite
• 注意点
♥♥♥
– 为避免插值出现虚假结果, 参考网格的间隔与站点 间距相近为好; – 具体情况具体分析, 并不一定Cressman函数更好!
12
LASG动力论坛版
六. 图形显示(D)2
• 变量定义技巧
— 站点绘图扩展
♥♥♥
– define命令只适用于格点数据; – 在当前缺省文件为格点数据时, 可以用define 命令将站点数填色(马赛克图) stat 按set fgvals指定值填网格颜色 print 网格填值 fwrite
findstn 寻找最近的站点 model 站点填图 stnmark 标记站点位置 value 标站点值
tserbarb 单站的风羽时间序列 tserwx 单站天气现象时间序列 wxsym 在站点上标记天气符号(set wxopt)
天气符号颜色
set wxcols #c1 #c2 …
字符大小
set digsize #inch
粗 细
set cthick #thick
颜 色
set ccolor #color
u,v,t,d,slp,Δp: 风,温度,露点,地面气压,变压 cloud: [1~9] 标记的类型, [20~25]云量: 20晴, 21少云, 22中云, 23多云, 24阴; 25缺测(M)
第二讲GrADS绘图的各种设置

draw xlab string draw ylab string 分别在水平坐标轴或垂直坐标轴左侧写字符串
string,作为x轴或y轴的说明。
set annot color <thickness> 设置上述图注所用的颜色和线宽,缺省为白色,
线宽为6,该命令同时设置了坐标轴线以及刻 度的颜色和线宽,坐标刻度和标尺的线宽为图 注设置的线宽再减1。
例:draw title Geopotential Hight (October 2010)
set xyrev on 交换水平和垂oj 设置当前地图投影方式。
常用proj取值包括: latlon:缺省设置,用固定的投影角进行Lat/lon投影
; scaled:用不固定的投影角进行latlon投影,地图比例
失效; nps | sps:北半球|南半球极地投影; robinson:robinson投影,x:-180 180;y:-90 90 off:不画出地图,坐标轴也不代表lat/lon。
(缺省时即按数据描述文件的维数进行绘图。)
特别地, 当数据文件为全球多层次多时次资料时,例如全球
144*73*12的多时次资料,缺省时维数为x、y方向为 (0-360E,90S-90N),z方向和t为第一个点。
GrADS最擅长画2-D图,即全球数据的缺省维数。
维数说明分为两类:
set lon | lat | lev | time val1 <val2> set x | y | z | t val1 <val2> 两者对应于同一组数据,前者是地球坐标
set grid on|off|value|horizontal|vertical <style> <color>
GrADS第4章 各类参数设置

'set gxout line' 'set cmark 2' 'd u' 'set gxout errbar'
'set ccolor 2'
'd u-12.8;u+12.8'
'print' 'c' 'disable print' 'reinit' ;
scatter 散点图 'reinit'
set gxout scatter 'open d:\lon.ctl' 'open d:\lat.ctl‘ d v.1;v.2 'enable print D:\grads\data\1.gmf' 'set x 1 ';'set y 1';'set z 1 '; 'set t 1 24' 'set gxout scatter ' 'd v.1;v.2 ' 'print' 'c' 'disable print' 'reinit' ;
vector: 矢量箭头形式绘二维风场(缺省设置) set gxout vector d u;v (u,v在同一个数据文件中可这样) 或 d u.1;v.2 (u,v在两个数据文件中) stream: 流线形式绘制二维风场 set gxout stream d u;v barb: 风向杆形式绘制二维风场 set gxout barb d u;v
站点数据变量或者表达式
GrADS实用绘图--图形显示

• 改变维数环境
‘set ‘set ‘set ‘set x 1 10’ y 1 10’ z 6’ t 15’ ‘set lon 120 180’ ‘set lat -20 20’ ‘set lev 500’ ‘set time 00z01jan2007’
3
LASG动力论坛版
四. 图形显示(D)1
本节内容提要
• 基本概念
– 数据文件 – .ctl文件 – 维数环境
— 格点绘图
• 内建图形样式及其定制
– 1-D序列图 – 2-D平面图 – 定制
• 自由图形 • 动画*
4
LASG动力论坛版
四. 图形显示(D)1
基本概念
– 数据文件 – 数据描述文件*.ctl
• 绘图区范围设置
ga-> set parea 1 10.5 1 8
9
LASG动力论坛版
四. 图形显示(D)1
— 实现一页多图
• 将画布分成几个小的虚页
panels_demo.gs ~ 各虚页相对独立, 不能跨虚页作图写字符
• 在一个虚页上设置多个绘图区
pages.gs
• 设置绘图窗口尺寸
‘set xsize x y’
7
LASG动力论坛版
四. 图形显示(D)1
内建图形及其定制
– 布局/ 一页多图
• 画布/ 虚页/ 绘图区大小
— 格点绘图
命令顺序 set display draw print
– 图形类型
• 等值线/ 填色/ 流线/ 风矢/ 站点/…
– 图形要素
• • • • • 标题/ 标值 坐标和坐标轴 线型/颜色/标记 字符/天气符号 地图底图 / 投影方式 / 分辨率
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5
LASG动力论坛版
六. 图形显示(D)2
三类维数变化
x, y 变化 z变化 t 变化
— 缺省维数
命令顺序
set display 变量引用方式 draw var ( stid = 'station_id' ) print
6
LASG动力论坛版 SLP显示方式
set stnopts dig3| nodig3
本节内容回顾
站点数据处理
– 图样式及其定制 – 技巧 defiine 站点客观分析函数
统计和输出(set gxout其它选项)
– 统计信息 – ASCII和Binary数据输出(文件格式转换)
19
LASG动力论坛版
内容提要
请注意标记的地方
一. 引言 二. GrADS绘图软件包安装 三. 运行GrADS绘图软件包 四. 图形显示(D)1— 格点绘图 五. 数据准备(Gr) 六. 图形显示(D)2— 站点绘图 七. 数据分析(A) — 函数的使用 八. 批处理和脚本语言(S) 九. 图形保存和转换
天气符号颜色
set wxcols #c1 #c2 …
字符大小
set digsize #inch
粗 细
set cthick #thick
颜 色
set ccolor #color
u,v,t,d,slp,Δp: 风,温度,露点,地面气压,变压 cloud: [1~9] 标记的类型, [20~25]云量: 20晴, 21少云, 22中云, 23多云, 24阴; 25缺测(M)
9
LASG动力论坛版
六. 图形显示(D)2
(x,y)的最近站点 set gxout findstn d stnexpr; x; y 注意:
1. 维数只能X,Y变化 2. x, y 为虚页坐标
— 站点绘图3
风羽序列图 set gxout tserbarb d uexpr; vexpr 注意:
1. 只能时间维变化 2. 变量注明站号stid
天气现象序列图 set gxout tserwx 注意:
1. 只能时间维变化 2. 变量注明站号stid
天气符号大小
set digsize #inch
返回信息
stid lat lon value
天气符号颜色
set wxcols #c1 #c2 …
10
LASG动力论坛版
六. 图形显示(D)2
— 站点绘图范例
注意点
– 为避免插值出现虚假结果, 参考网格的间隔与站点 间距相近为好; – 具体情况具体分析, 并不一定Cressman函数更好!
12
LASG动力论坛版
六. 图形显示(D)2
变量定义技巧
— 站点绘图扩展
– define命令只适用于格点数据; – 在当前缺省文件为格点数据时, 可以用define 命令将站点数据的客观分析结果保存到变量 中.
范例: 输出Binary格式数据 file='output.grd' 'set gxout fwrite' 'set fwrite 'file 'd tem' 'disen数据文件 write数据 close数据文件
17
LASG动力论坛版
六. set gxout其它选项(D)2—print的格式
20
LASG动力论坛版
七. 数据分析(A)
本节内容提要
数学函数 统计函数 网格处理函数 滤波平滑函数 差分函数 物理量计算函数 站点数据专用函数
— 函数的使用
21
LASG动力论坛版
七. 数据分析(A)
功 能
abs(expr) cos(expr) sin(expr) tan(expr) exp(expr) log(expr) pow(expr1, expr2)
set stid on | off
标值颜色
set ccolor #color
站号显示
set stid on | off
站号颜色
set ccolor #col
标值大小
set digsize #inch
站号颜色
set ccolor #color
标记/站号大小
set digsize #inch
小数位数
set dignum #number
数据格式
%d %o %x %u %c %s %f %e %g 以带符号的10进制形式输出整数(正整数无符号), 以8 进制无符号形式输出整数(不输出前导符0), 以16 进制无符号形式输出整数(不输出前导符0x), 以无符号10进制形式输出整数, 以字符形式输出,只输出一个字符, 输出字符串, 以小数形式输出单, 双精度数,隐含输出6 位小数, 以标准指数形式输出单, 双精度数,数字部分小数位数为6 位, 选用%f 或%e 格式中输出宽度较短的一种格式,不输出无意义的0.
11
LASG动力论坛版
六. 图形显示(D)2
客观分析函数的使用
– Cressman分析
— 站点绘图扩展
oacres(grid_expr, stn_expr, { radii | 10,7,4,2,1 } )
– 栅格平均
oabin(grid_expr, stn_expr, { | -f | -c } )
— 数学函数
函
数
备 注
绝对值 余弦/反余弦 正弦/反正弦 正切/反正切 指数 对数 幂函数
acos(expr) asin(expr) atan2(expr1, expr2) [expr1/expr2] log10(expr) expr1expr2 sqrt(u*u+v*v)
存放在 系统变量 result中
16
六. set gxout其它选项(D)2—print / fwrite
输出格式
set prnopts format(%g) line_n(8) blank_n(1) { |u}
LASG动力论坛版
数据写屏输出 set gxout print binary数据输出 set gxout fwrite
天气符号大小
set digsize #inch
标记颜色
set rbcols #col | auto
天气符号颜色
set wxcols #c1 #c2 …
标记类型
set cmark #mark
8
LASG动力论坛版
六. 图形显示(D)2
—天气符号
'set wxcols #color1 #color2 …… ' 'draw wxsym #symbol x y size #color #thick '
1
LASG动力论坛版
GrADS实用绘图
第四讲 站点图/函数使用
— 2007年8月22日—
版权所有, 欢迎传播, 请保持文档完整性
=Funny @ LASG动力论坛=
2
LASG动力论坛版
内容提要
请注意标记的地方
第 四 讲
一. 引言 二. GrADS绘图软件包安装 三. 运行GrADS绘图软件包 四. 图形显示(D)1— 格点绘图 五. 数据准备(Gr) 六. 图形显示(D)2— 站点绘图 七. 数据分析(A) — 函数的使用 八. 批处理和脚本语言(S) 九. 图形保存和转换
按网格填色(马赛克图) stat 按set fgvals指定值填网格颜色 print 网格填值 fwrite
findstn 寻找最近的站点 model 站点填图 stnmark 标记站点位置 value 标站点值
tserbarb 单站的风羽时间序列 tserwx 单站天气现象时间序列 wxsym 在站点上标记天气符号(set wxopt)
按网格填色(马赛克图) stat 按set fgvals指定值填网格颜色 print 网格填值 fwrite
findstn 寻找最近的站点 model 站点填图 stnmark 标记站点位置 value 标站点值
tserbarb 单站的风羽时间序列 tserwx 单站天气现象时间序列 wxsym 在站点上标记天气符号(set wxopt)
输出格式
set fwrite { | -be | -le } { | -sq | -st } filename
范例: 输出ASCII格式数据 file='output.txt' 'set gxout print' 'd tem' rc=write(file, result) rc=close(file)
改变当前缺省文件的命令: set dfile n
13
LASG动力论坛版
六. 图形显示(D)2
内容回顾
站点数据处理
–图样式及其定制 –技巧 站点客观分析函数 defiine 的使用
14
LASG动力论坛版
六. set gxout其它选项(D)2
set gxout 图形类型
bar line 直方图 折线图 contour 等值线图 shaded 填色等值线图 vector 风矢量图 barb 风羽 stream 流线图 输出统计数据 二进制屏幕输出(set prnopts) 输出二进制文件(set fwrite) errbar 标误差线 linefill 两线之间填色 scatter 散点图 grfill fgrid grid
bar line 直方图 折线图 errbar 标误差线 linefill 两线之间填色 scatter 散点图 grfill fgrid grid
六. 图形显示(D)2
— 站点图类型
contour 等值线图 shaded 填色等值线图 vector 风矢量图 barb 风羽 stream 流线图 输出统计数据 二进制屏幕输出(set prnopts) 输出二进制文件(set fwrite)