GRADS气象绘图软件的使用

浅谈GRADS气象绘图软件的使用

  (2010-04-19 16:24:54)
浅谈GRADS气象绘图软件的使用  
             GRADS是当今气象界广泛使用的一种数据处理和显示软件系统。该软件系统通过其集成环境,可以对气象数据进行读取、加工、图形显示和打印输出。它在进行数据处理时,所有数据在GRADS中均被视为纬度、经度、层次和时间的4维场,而数据可以是格点资料,也可以是站点资料;数据格式可以是二进制,也可以是GRIB码,从而具有操作简单、功能强大、显示快速、出图类型多样化、图形美观等特点。正因为如此,GRADS已迅速成为国内外气象界通用的标准图形环境之一。
  可以认为和GRADS有关的文件类型有:十进制的原始数据文件(*.TXT)、二进制的数据文件(*.DAT)、数据描述文件(*.CTL)、批处理文件(*.GS)和图形文件(*.GMF)。
               气象业务中使用的站点资料或格点资料都是以十进制形式存放,而GRADS只能识别二进制的数据格式,所以使用GRADS之前的第一步就是转换数据文件;数据描述文件则是对数据文件进行说明,以便后续的操作有对象;批处理文件是把进入GRADS绘图环境后所要输入的命令写成批处理格式,以便可以自动执行输入的各项操作命令(批处理文件可单独建立,也可以略过不写,而在进入GRADS环境后一步一步地输入各项操作命令);图形文件是GRADS已经绘制好的图形,只能用GV打开浏览。
               数据文件一般都是用Power Station或Visual Fortran来转换(也可以用C语言或其它工具)。数据描述文件、批处理文件可以在“写字板"中写好,只是在存档的时候,要把文件的后缀改为.CTL和.GS。

  数据描述文件DAT.CTL的编写格式为:
 
  DSETD:.GRD                                                                                           [DSET是给出所描述文件的文件名]
 
  TITLE WEATHERDATA                           [该数据描述文件的标题]
  UNDEF -9.99E33                           [缺省记录的标记]
  XDEF 45 LINEAR40 2.5                        [X方向共45个格点,起始纬度为40°,步长为2.5°]
  YDEF 15 LINEAR-10.0 2.5                        [Y方向共15个格点,起始经度为-10°,步长为2.5°]
  ZDEF 4 LEVELS1000 850 500 200                 [Z方向分为4层,即1 000、850、500、200 hPa]
  TDEF 156 LINEAR JAN1982 1MO                         [时间共156个月,起始时间为1982年1月,步长为1个月]
  VARS 4                                                                                             [共SLP、T、U、V 4个变量]
  SLP 0 0                                                                                           [SEALEVE LPRESSURE]
  T 0 0                                                                                                  [TEMPS]
  U 3 0                                                                                                  [UWINDS]
  V 3 0                                                                                                  [VWINDS]
  ENDVARS                                                                                        [结束变量说明标志]

grads常用基本命令

1.基本命令
   open 数据描述文件名/打开数据文件。
   set 各类选项/设置各种环境参数。
   display(或 d) 表达式/对表达式处理后进行屏幕图形显示。
   clear(或 c)/清屏命令,清除字符窗口和图形窗口的内容。
   quit/退出 GrADS 环境,回到 Unix shell 或 DOS shell。
   eset/除了以下各项外重新初始化 GrADS 设置(即回到原缺省初始设置):1) 不关闭打开的文件;2) 不释放定义的对象;3) 不改变 set display 命令设置的状态。
   reinit/同 reset,但同时关闭所有打开的文件,并释放所有定义的对象,如临时定义变量等。


ga>open d:\grads\data.ctl        
ga>d u/v/w/vars(display or d)
ga>c
ga>reset

2.输出图形命令
   enable print 磁盘图元文件名/打开磁盘文件(没有时创建,已存在时刷新) 用于存放随后 print 命令转换生成的当前图形的图元数据。
   print/将当前图形窗口重的图形转化为图元数据,存放在先前 enable 命令指定的磁盘文件中,每执行一次 print 即向该文件中附加一幅窗口图形。
   disable print/关闭图形硬拷贝输出转换。
ga>enable print d:\grads\uwind.gmf
ga>print
ga>disable print

3.维数环境设置
               GRADS将每一个物理量场视为1个四维数据集,它包括空间三维和时间一维。维数环境的定义由SET LAT(纬度)/LON(经度)/LEV(高度)/TIME(时间)来设置,也可由SET X/Y/Z/T来设置。
ga>set lon -180 0     (设定经度变化为西经180到0度)
ga>set lat 0 90         (设定纬度变化为赤道到北纬90度)
ga>set lev 500           (设定高度维数固定为500hPa等压面)
ga>set t 1                   (设定时次固定为数据第1个时次)

4.格点资料输出图形类型设置
ga>set gxout graphics-type

graphics-type:
contour: 二维等值线绘图(缺省)
shaded:   二维填色等值线绘图
grid:       二维场不绘图,以网格形式在各网格点中央标出该场点数值
vector:   矢量箭头形式绘二维风场(缺省)
stream:   流线形式绘二维风场
barb:       风向杆形式绘二维风场
bar:         对一维场不绘单线图,而绘直方图
line:       对一维场绘直线图(缺省)
fgrid:     对二维场不绘等值线图,只将特定值的格点用指定颜色填充该格,与set fgval value color value color…… 一起使用。
grfill:   二维填色,与 shaded 的区别在于 shaded 有对网格的平滑,而 grfill 是按网格填色。

ga>set gxout shaded
ga>d tc
ga>set gxout contour
ga>d tc
<不清除已画的图,重新设置为contour可以输出带标记的等值线填充图>

5.图形图像样式设置
ga>set display color white           设置底色white/black
ga>set ccolor color                         设置等值线颜色,color:0黑,1白,2红,3绿,4兰,5青,6紫,7黄,8橘黄,9灰
ga>set ccolor rainbow                     设置等值线为七彩序列
ga>set mpdset hires                      设置地图背景(可以下载到论坛下载cnworld/cnriver/cnwater中国地图)

6.坐标设置和标注
ga>set vrange y1 y2                         设置y轴取值范围
ga>set vrange2 x1 x2                       设置x轴取值范围
ga>set xlevs/ylevs lab1 lab2……   设置x/y坐标标尺上要标记的值
ga>set xlint/ylint interval         设置x/y坐标轴的标记间隔

ga>draw title string                       设置图形标题
ga>draw xlab/ylab string               设置x/y轴表示的量
ga>set annot color<thinkness>     设置标注线色和线宽

7.函数命令
ga>d mag(u,v)                                     平方根,即风速大小
ga>d hdivg(u,v)                                 水平辐散(散度)
ga>d hcurl(u,v)                                 相对涡度

sin/cos/tan(expr)                             正弦/余弦/正切
log/log10(expr)                                 自然对数/10为底对数
abs(expr)                                             绝对值
pow(expr1,expr2)/exp(expr)           幂指数/e幂指数

8.一窗口画多张图
ga>setvpage 2 2 2 1
ga>d u
ga>setvpage 2 2 2 2
ga>d v
ga>setvpage 2 2 1 1
ga>d w
ga>setvpage 2 2 1 2
ga>d mag(u,v)
*此命令可以实现一个窗口画出4张图,排列顺序为:行从底到顶,列从左到右。

把下面内容ctrl+c并ctrl+v,保存为setvpage.gs文件放在gradslib文件目录下,就可以实现N张图
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* setvpage.gs
*
* 请将setvpage.gs文件复制到grads的lib安装目录下
*
*----------------------------
* 将画图页面设置为rmx × cmx块区域,
* 当前画图用第row行,第col列。
*
* 使用方法为:'setvpage rmx cmx row col'
*-----------------------------
* 例如:
      'open model.ctl'
      'setvpage 8 6 3 2'
      'd u'
*-----------------------------
 
           Made by MiniUFO
 
  Sun Yat-sen University,Guangzhou,2008-5
        Email:miniufo@163.com     
********************************************************************
 
function main(args)
 
    rmx = subwrd(args,1)
    cmx = subwrd(args,2)
    row = subwrd(args,3)
    col = subwrd(args,4)
     
    'set vpage off'
     
    'q gxinfo'
     
    line2   = sublin(result,2)
    xlength = subwrd(line2 ,4)
    ylength = subwrd(line2 ,6)
     
    'set vpage 'xlength*(col-1)/cmx' 'xlength*col/cmx' 'ylength*(row-1)/rmx' 'ylength*row/rmx
     
    'set grads off'
     
return
 
* THE END *

一般也就用到这些命令了,如有需要查看grads手册。
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值