注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

美丽心情

相信自己!&&Happy everyday! &LOVE

 
 
 

日志

 
 

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

2010-05-29 11:09:08|  分类: WRF有关 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

       http://blog.sina.com.cn/s/blog_60883d8f0100ise7.html

       GRADS是当今气象界广泛使用的一种数据处理和显示软件系统。该软件系统通过其集成环境,可以对气象数据进行读取、加工、图形显示和打印输出。它在进行数据处理时,所有数据在GRADS中均被视为纬度、经度、层次和时间的4维场,而数据可以是格点资料,也可以是站点资料;数据格式可以是二进制,也可以是GRIB码,从而具有操作简单、功能强大、显示快速、出图类型多样化、图形美观等特点。正因为如此,GRADS已迅速成为国内外气象界通用的标准图形环境之一。
  可以认为和GRADS有关的文件类型有:十进制的原始数据文件(*.TXT)、二进制的数据文件(*.DAT)、数据描述文件(*.CTL)、批处理文件(*.GS)和图形文件(*.GMF)。
        气象业务中使用的站点资料或格点资料都是以十进制形式存放,而GRADS只能识别二进制的数据格式,所以使用GRADS之前的第一步就是转换数据文件;数据描述文件则是对数据文件进行说明,以便后续的操作有对象;批处理文件是把进入GRADS绘图环境后所要输入的命令写成批处理格式,以便可以自动执行输入的各项操作命令(批处理文件可单独建立,也可以略过不写,而在进入GRADS环境后一步一步地输入各项操作命令);图形文件是GRADS已经绘制好的图形,只能用GV打开浏览。
        数据文件一般都是用Power Station或Vis l 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 val color val 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 MiniO
 
  Sun Yat-sen University,G ngzhou,2008-5
        Email:minio@163.com     
********************************************************************
 
function main(args)
 
    rmx = s wrd(args,1)
    cmx = s wrd(args,2)
    row = s wrd(args,3)
    col = s wrd(args,4)
     
    'set vpage off'
     
    'q gxinfo'
     
    line2   = s lin(result,2)
    xlength = s wrd(line2 ,4)
    ylength = s wrd(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手册。

  评论这张
 
阅读(1516)| 评论(3)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018