GrADS教学中的几点体会_第1页
GrADS教学中的几点体会_第2页
GrADS教学中的几点体会_第3页
GrADS教学中的几点体会_第4页
GrADS教学中的几点体会_第5页
已阅读5页,还剩8页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 第31卷第2期气象教育与科技2008年总第83期GrAD S 教学中的几点体会李丽平(南京信息工程大学大气科学院, 江苏南京210044摘要:总结了Gr ADS 软件绘图基本步骤, 提炼出软件的关键命令, 给出实现绘制几种常用重要图形(包括写数据 的控制文件, , 提出了如何应对入门困惑的办法, 旨在帮助Gr ADS 初学者尽快入门。关键词:Gr ADS; 绘图步骤; 关键命令; 目前有很多流行的绘图软件, 如M I 、NCL 、MAT LAB 等, 其中Gr ADS , 、物理量计算、数据格式转换。和EC WMF 再分析资料 一般为net CDF 格式, 。目前, 该软件已是气象、海洋专业

2、科研工作者和高校学生做宝贵经验2231, 一些学者就Gr ADS 处理某些具体问题提出了许多, 成为本科生和函授研究生必须选修的一门课程。Gr ADS 是一门应用性很强的课程, 内容包含了若干命令, 在学时有限的情况下, 如何让学生在短时间内掌握最核心的精华内容, 做到尽快入门, 已是教学中值得研究的一个重要问题。笔者根据多年教授Gr ADS 课程的教学经验, 从宏观的角度提炼Gr ADS 的几个精华知识点, 试图为学生和其他初学Gr ADS 的科研工作者开辟一条清晰的学习思路。1Gr ADS 绘图需要的3类文件1. 1Gr ADS 作图的一般步骤Gr ADS 作图步骤:打开数据描述文件、输入

3、Gr ADS 命令(如维数环境的设置、图形类型的设置、图形要素的设置 、保存图形、退出Gr ADS 。绘图之前需准备的类型文件:即数据文件(. grd 、数据描述文件(. ctl 、控制文件(. gs 。1. 2数据文件1. 2. 1数据格式Gr ADS 能够处理的数据文件常见格式有net CDF 、HDF 2S DS (卫星资料 、GR I B 、B inary (用户自己生成 、站点资料等。美国国家环境预测中心(NCEP /NCAR 和欧洲中期天气预报中心(EC WMF 资料大多为net CDF 格式, 这种格式的数据资料自带数据描述信息, 在Gr ADS 中用sdfopen 命令打开。B

4、 inary 是Gr ADS 最基本的数据格式, 常用文件后缀为. dat 、. grd 、. bin, 需要作者简介:李丽平(1971 , 女, 山西寿阳人, 副教授, 博士, 研究方向为短期气候预测, lili p ingnuist. edu . cn .1 。存取方式有直接(ac 2和数据描述(. ctl 一起使用, 是一种无格式文件(f or m =unfor matted 和间接(access = 两种, 间接存取要在. ctl 文件中给以特别说明。cess =driect sequential GR I B 格式资料扩展名一般为. grb, 需和. ctl 文件和. idx 文件一

5、起使用。1. 2. 2两个重要概念关于Gr ADS 数据有两个重要概念, 即数据不同维数之间的关系、同一维数据的存放顺序, 正确理解这两个概念是Gr ADS 绘图或计算准确的保证。(1 数据不同维之间的关系Gr ADS 将数据看作是一个五维数据集(图1 , 这是Gr ADS 中的一个非常重要的概念。图1中箭头表示编制程序时五个维数的循环嵌套关系, 越向右, 表示该维越在外循环。无论通过编制Fortran 程序为Gr ADS 绘图和计算准备资料、还是Gr ADS 本身生成数据, 都要遵循这一编程思路, 因为这是Gr ADS 所要求的数据维数关系。(2 同一维数据的存放顺序Gr ADS 要求一个x

6、 、y 数据场构成一个记录, 其顺序必须是从西向东, , 从下到上, 即实际大数组以二维数据片存放。如果资料是从北到南、中的op ti ons 选项作特殊说明。一般而言, 描述文件的内容即可知 ; 。图1数据资料不同维数的循环嵌套关系以下给出将ASC II 资料写为无格式直接存取文件(用Fortran 语言实现 的一段程序。重点介绍无格式直接存取文件的生成。c 打开目标文件, recl 为一个记录的长度, rec 为记录号.open (12, file =d:ll p sy . grd , for m =unf or matted , access =direct , recl =nx 3ny

7、 34 cccccccccc 写数据资料cccccccccccirec =0do 100it =1, ntdo 50iz =1, nzirec =irec +1write (12, rec =irec (u (i, j , iz, it , i =1, nx , j =1, ny 50continuedo 51iz =1, nzirec =irec +1write (12, rec =irec (v (i, j , iz, it , i =1, nx , j =1, ny 51continueirec =irec +12 w rite (12, rec =irec (sst (i, j , i

8、t , i =1, nx , j =1, ny 100continue1. 2. 3初学者常遇的困惑由于准备资料是Gr ADS 实习的第一步, 以往教学中第一次上机实习即让学生完成将ASC II 码资料转换为B inary 格式的任务。由于这一过程需要借助于Fortran 语言编程实现, 一些初学者常因对Fortran 语言的不熟练, 认为Gr ADS 非常难学。为了改变这一状况, 笔者在教学中首先介绍Gr ADS 的一些基本命令和数据格式, 并提前为学生准备好实习数据, 让学生首先体验Gr ADS 绘图的快乐, 培养他们学习Gr ADS 的兴趣。当学生已经基本“认识”Gr ADS 以后, 再

9、让他们尝试自己编写准备资料的Fortran 程序, 学生就不会再混淆Fortran 和Gr ADS 的问题了。1. 3Gr ADS 数据描述文件数据描述文件是用来说明数据资料的时空、变量、缺侧值等信息的文本文件, 扩展名为. ctl, 可用记事本、写字板等进行编辑。文件由头文件部分(如、title 、 部分(如xdef 、ydef 、zdef 、tdef 和变量定义部分(如 中的关键词(deset 、title 、xdef 等 及其定义方法书写数据描述文件的规则:(1 ( 。(33, 顶格写。(4 vars . . . endvars 之间不要写注释行。注意事项:(1 进入Gr ADS 后,

10、需要首先打开这一文件, 缺省状态下的维数环境是x 、y 包含所有数据格点, t 、z 为第一时次、第一层次。(2 变量名后的第一个参数, 它表示该变量的层次, 如“u 299u wind (m /s ”中的2。1. 4Gr ADS 控制文件作图时, 可在Gr ADS 命令提示符ga ->下输入Gr ADS 命令。但若出现不满意图形需要修改, 就要重新输入所有命令, 为了方便, 常将ga ->提示符下的所有Gr ADS 命令汇集形成一个批处理文件, 即Gr ADS 控制文件。该文件是一种纯文本文件, 由Gr ADS 命令和脚本语言(scri p t language 组成, 后缀名为

11、. gs, 用run 命令执行(run 可省略 。编写文件要遵循的5个规则:(1 脚本语言变量和流程控制语句(如p =1, if . . . else . . . endif 不加, 但引用Gr ADS 命令必须使用。(2 脚本语言变量若被Gr 。ADS 命令引用, 则需加把该变量括起来(如set t p (3 3顶格的行为注释行。(4 分号表示一行结束。(5 不可使用Tab 键。Gr ADS 控制文件的例子在第3节中详细给出。借助Fortran 语言为Gr ADS 绘图准备好数据资料(3. grd , 编写好相应的数据描述文件(3. ctl , 编好所需目标图形或者数据的Gr ADS 控制文

12、件(3. gs , 最后在Gr ADS 中运行3. gs 文件, 即可得到需要的结果图形或者数据。3 2Gr ADS 中的几个重点命令Gr ADS 中有几个非常重要的命令, 这些命令是Gr ADS 的核心或者精华。(1 打开文件(open /sdfopen /xdf open 主要用于打开数据描述文件或者数据文件, 命令形式为ga ->open data . ctlga ->sdf open u . ncga ->xdf open wind . ddf(2 查询(query 或者q 主要用于查询数据资料的时空结构、变量等信息。ga ->q file 2ga ->q

13、 ctlinfo 1(3 关闭数据文件(cl ose ga ->cl ose 2ga ->cl ose 1(4 ga l ga -lat 2050ga ->set ti m e Jul1983ga ->set lev 200l on 、lat 、ti m e 、lev 为地图坐标, 也可以换为格点坐标(xyzt 表示。设定的维数环境决定了随后参与绘图或者计算的数据范围。维数环境是Gr ADS 中贯穿4始终的一个非常重要的概念, 刘宣飞曾经对这一概念作了详细说明, 初学者在学习中要逐步领会这一概念。(5 显示和清屏(d 和c clear (或者c 为清屏命令, dis p

14、 lay (或者d 为显示命令。(6 定义新变量的命令(define /modifyga ->define uave =aave (u, t =1, t =50ga ->modifyuave seas onal (uave 被定义为气候变量(7 初始化环境(Reinit/reset 注意Reinit 和reset 的区别, 前者是关闭所有文件, 重新初始化, 后者则是重置初始环境, 但不关闭数据文件, reinit 常作为Gr ADS 命令批处理文件中的第一个命令。(8 Gr ADS 内定的变量Gr ADS 内定的变量有l on, lat, ti m e, lev, result,

15、 rc 。巧用这些内定变量可以让绘图变得简单。比如绘制赤道的命令如下:ga set clevs 0ga >d latresult 是一个常用的重要的内定变量, Gr ADS 命令的返回值、query (q 命令的查询结果均4 放在该变量中, 比如ga >d or ogga >Qw2xy 603000ga >x =2. 35y =4. 21“x =2. 35y =4. 21”这一结果就放在result 变量中, 2. 35、4. 21分别为result 变量中的第3个、第6个词。内部函数subwrd 可以从result 变量中提取出这两个值, 如:x1=sub wrd (

16、result, 3y1=sbu wrd (reselt, 4然后可以进一步在(x1, y1 为坐标确定的点处做标记等操作。(9 基础绘图指令(dra w dra w 命令均用在d 之后, 用于对图形进行标注或者做标记、连线等。3Gr ADS 中几个重要gs 文件Gr ADS , 。(1 生成图形(. g mf , (85°N G reinit p d:ll p h500. g mf d h q w2xy 8530x1=sub wrd (result, 3 ; y1=sbuwrd (result, 6dra w string x1y1G p rint disable p rint 标有

17、直线的一组命令用于生成图形文件, 标有波浪线的一组命令用于做标记。注意所有dra w 命令都要用在dis p lay 之后。(2 生成数据文件reinit 3sdf open h . nc open data . ctl set gxout f write set f write d:ll p h500. grd 3(设定数据时空范围setsetsetset ti m e jan1982dec1983l on 70100lat 2040lev 500d h 5 disable fw rite 此例中 ,若资料为 netCDF 格式 , 就用 sdfopen 所在命令行 ; 否则用 open 命

18、令行 (此例即 是 ,带有下划线的一组命令用于生成数据资料 。 ( 3 绘制阴影图形 , 0 线加粗 reinit open data. ctl gxout shaded set csmooth on set h d gxout contour set h d clevls 0 set cthick 8 set h d 当阴影图形和等值线图形在一起画 , 要先画阴影后画等直线 , 这一例实现了 3 幅图的叠 加 ,阴影图 、 等值线图 、 单独加粗的 0 线图形 。 ( 4 计算 1983 年 7 月 500 hPa高度场距平场 该题目主要熟悉 Define命令和 modify命令的使用技巧

19、。特别注意 ,使用 define 命令前所 设定的维数环境是新变量的维数环境 ,而不是原变量的维数环境 , 但是 , 新的 GrADS版本中 , define 命令可以省略 。 open data. ctl 3 (设定了气候变量 hcli的维数环境 t 1 12 set t 1 48 set define hano = h - hcli tim e jul1983 set hano d ( 5 连续显示 500 hPa高度场图形 此例主要熟悉 GrADS脚本语言中的循环语句 “W hile . . . . . endwhile ”下面一段程序可 , 以连续显示多个时次 500hPa高度场图形

20、。 open data. ctl t =1 while ( t < = 48 c t set t 6 lev 500 set 3 定义新变量 hcli define hcli = ave ( h, t + 0, t = 48, 12 modify hcli seasonal 3 (设定了异常变量 hano 的维数环境 h d pull dummy t = t +1 endwhile ( 6 自定义函数子程序 自定义函数子程序函数子程序的定义形式为 : Function name ( args . Return ( exp r 其调用形式有两种 ,一种是明举式参数传递 ,如 isen. g

21、s,这种函数子程序要和主程序放在 一个文件中 ,主程序调用形式为 d isen (w, t, pp , 320 rc = isen ( u, t, pp , 320 其中 , isen. gs定义内容略 。另一种是隐式参数传递 , 如 cbarn. gs, 主程序的调用方式也有 两种 ,若独立保存为一个 cbarn. gs,其调用方式为 run cbarn. gs ( 0. 8 1 5. 5 0. 5 若拷贝到主程序所在文件 ,其调用方式为 rc = colorbar ( 8 1 5. 5 0. 5 0. 下面以绘黑白阴影图形为例 ,简单介绍如何定义和调用函数子程序 ,通过该例也可学习如 何定义和使用新的颜色 (图 2 。 reinit open d: llp data. ctl gxout shaded set pp ( 3 调用自定义的函数子程序 ss ( 3 调用自定义的函数子程序 sm th9 ( olr d cbarn 调用已存在的 gs文件形式的函数子程序 ,用于绘阴影图标 3 gxout contour set clevs - 0. 06 - 0. 03 0 0. 03 0. 06 set sm th9 ( olr d sst d Function pp ( 3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论