GrADSctl文件编写

合集下载

GrADS绘图实习一数据文件的转换及数据描述文件的建立

GrADS绘图实习一数据文件的转换及数据描述文件的建立

实习一数据文件的转换及数据描述文件的建立

一、实习资料:

现在“data”文件夹下有ASCII码数据资料文件:月平均风场 (u200.dat、u850.dat、v200.dat、v850.dat)、月平均高度场 (hgt500.dat),2002.1-2005.12共48个月,资料的水平网格范围是M×N个网格点(M=37,N=17),分辨率为2.5°×2.5°,自西向东经度60-150°E,由南至北纬度0-40°N。

二、实习要求:

编写出将ASCII码数据资料文件:月平均风场和月平均高度场分别转换成二进制无格式直接存取(GrADS数据格式)文件(uv.grd和hgt.grd文件)的Fortran程序,给出相应的数据描述文件(uv.ctl和hgt.ctl文件),并利用GrADS基本操作命令显示该地区850hPa和200hpa uv风场,最后保存图形。

三、实习目的:

通过编写该程序,进一步熟悉数据GrADS的数据格式,熟练编写将ASCII码数据转换为二进制格式的Fortran程序以及建立相应的CTL文件。

四、实习步骤:

4.1 利用“写字板”程序打开*.dat数据文件,熟悉该数据资料;

4.2 按要求编写Fortran程序,将所给的ASCII码数据资料文件转换成二进制无格式直接存取文件,结果保存为mhy.grd;

4.3 通过“写字板”或“记事本”程序编写相应的数据描述文件,保存为mhy.ctl;

4.4 画出2002年1月850hpa风场图,与图1比较验证数据正确性;

4.5 利用GrADS基本操作命令(open,display,print等)显示2002年7月850hpa和200hpa uv 风场图形;

GrADS学习资料:第2章 数据处理

GrADS学习资料:第2章 数据处理
现有ASCII码(十进制存放格式)数据资料文 件u.dat、v.dat和sst.dat, 其空间范围:60-150°E,0-40°N; 层次:u、v为850、 200hPa; 时段:1982.1-1985.12; 分辨率:2.5*2.5。 要求编写出将这三个文件转换成二进制无格式 直接存取(Grads格式.grd)文件的Fortran程 序。
如果不考虑采用无格式直接方式存取文件的 话,可以使用下面的编程形式,较为简单。
parameter(nx=37,ny=17,nz=2,nt=48)
dimension u(nx,ny,nz,nt),v(nx,ny,nz,nt),sst(nx,ny,nt)
! 打开原始数据文件,如果数据文件和Fortran程序在一个文件 !夹下,打开数据文件时可以不写路径
YDEF 20 GAUSR40 15 表示共有20个Y方向网格点,起始点为高斯 R40网格下的高斯纬度15(即64.100S),实 际这20个网格点对应的纬度值为:
-64.10, -62.34, -60.58, -58.83, -57.07, -55.32,
-53.56, -51.80, -50.05, -48.29, -46.54, -44.78,
西经140度
XDEF 80 LINEAR -140.0 1.0 YDEF 50 LINEAR 20.0 1.0 ZDEF 10 LEVELS 1000 850 700 500 400 300

GrADS学习资料:实习五各类参数设置综合练习 实习六

GrADS学习资料:实习五各类参数设置综合练习 实习六

实习五 各类参数设置综合练习
实习五 各类参数设置综合练习
1.实习目的: 掌握特殊图形处理方法 掌握阴影图形画图方法 学会处理特别等值线与特殊字符的方法
实习五 各类参数设置综合练习
2.实习资料:
“data”文件夹下二进制月平均风场文件:uv.grd
数据描述文件:uv.ctl 时间范围:2002.1-2005.12 共48个月 水平范围:37×17个网格点,分辨率为2.5°×2.5° 经纬度范围:60-150°E, 0-40°N 垂直层次:850hPa、200hPa 物理量:u,v
实习六 练习描述语言的使用
fwrite: 将输出结果(数据)存入一个由“set fwrite 文件 名”所指定的文件中
‘open c:\pcgrads\model\model.le.ctl’
‘set gxout fwrite’
(设置输出类型)
‘set fwrite d:\result\u.grd’
4.4 利用sst.grd和sst.ctl文件画图,完成实习 内容。
实习六 练习描述语言的使用
格点数如何确定: x方向格点数目:-20-60ºN 60-(-20)=80 格距:2度*2度 格点数:80/2+1=41 同理可知:y方向格点数目 时间: 1971年1月至2000年12月:
30年,一年12个月,则:30*12=360个月

grads处理多个ctl文件和nc文件

grads处理多个ctl文件和nc文件

grads处理多个ctl文件和nc文件

2011-10-10 21:03:59| 分类:grads学习| 标签:|举报|字号大中小订阅

下载LOFTER我的照片书 |

用grads处理多个相同格式的数据时若单个单个处理非常麻烦,当文件非常多的时候是单个处理是不实际的。下面介绍一种方法;

第一步,在这种情况下可以重新写一个ctl描述文件,其文件变量都和已知的ctl相同,若原来的n 文件只是时间不同,那么新描述文件的时间维数是所有原文件的时间的和。同样,若其他维数不同时也用同样的方法处理。

第二步,在第一行之后添加一行:options template 表示多个时间序列原始数据文件想用一个描述文件统一地描述。这些原数据的原文件名由dset定义的形势命名文件名。

第三步,修改dset 的文件名。原路径不变,把文件名用%表示。其中:

%y2 代表两位数年

%y4 代表四位数年

%m1 代表一位或者两位数的月

%m2 代表两位数月(用0补齐1位数)

%mc 3个字符月份的缩写

%d1 1或2位天

%d2 两位天

%h1 1或者2位时

%h2 2位时

例如:

原文件其中之一的文件名为gdas2006050812f00,且所有文件只有天和时的变化

那么新描述文件的文件名为:gdas200605%d2%h2f00

另外如果源文件里有index项的话,需要修改其idx的文件名,假设改成fnl.idx。并用在dos下用gribmap函数生成一个新的idx文件。gribmap -e -i fnl.ctl(加绝对路径)

open fnl.ctl就可以打开所有文件。

GrADS第6章 变量和函数

GrADS第6章 变量和函数


例如:计Hale Waihona Puke Baidu整层水汽通量fuq;fvq。
'set z 1' 'define fuq=vint(v.2(z=1)/100,v,300)' 'set t 'i'' 'set x 1 144' 'set y 1 73' 'set z 1' 'd fuq' i=i+1 endwhile 'disable fwrite' 'reinit'
2. 常用函数
(1)ave函数 格式: ave(expr,dexpr1,dexpr2<,tincr<,flags>>)
功能:通用的求平均函数。 说明:expr是由dexpr1和dexpr2定义的维数 范围内求平均的量。

例如: ga->open model.ctl set lev 500 d ave(z,t=1,t=5) 显示500hPa等压面上从第1时次到第5时次 变量z的平均量

'set lev 850' 'set t 1 48' 'set x 1' 'set y 1' 'define a=aave(v,lon=100,lon=120,lat=30,lat=40)' 'd a'

GRADS绘图实例教程

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.31a

TITLE height

grads处理多个ctl文件和nc文件

grads处理多个ctl文件和nc文件

grads处理多个ctl文件和nc文件

2011-10-10 21:03:59| 分类:grads学习| 标签:|举报|字号大中小订阅

下载LOFTER我的照片书 |

用grads处理多个相同格式的数据时若单个单个处理非常麻烦,当文件非常多的时候是单个处理是不实际的。下面介绍一种方法;

第一步,在这种情况下可以重新写一个ctl描述文件,其文件变量都和已知的ctl相同,若原来的n 文件只是时间不同,那么新描述文件的时间维数是所有原文件的时间的和。同样,若其他维数不同时也用同样的方法处理。

第二步,在第一行之后添加一行:options template 表示多个时间序列原始数据文件想用一个描述文件统一地描述。这些原数据的原文件名由dset定义的形势命名文件名。

第三步,修改dset 的文件名。原路径不变,把文件名用%表示。其中:

%y2 代表两位数年

%y4 代表四位数年

%m1 代表一位或者两位数的月

%m2 代表两位数月(用0补齐1位数)

%mc 3个字符月份的缩写

%d1 1或2位天

%d2 两位天

%h1 1或者2位时

%h2 2位时

例如:

原文件其中之一的文件名为gdas2006050812f00,且所有文件只有天和时的变化

那么新描述文件的文件名为:gdas200605%d2%h2f00

另外如果源文件里有index项的话,需要修改其idx的文件名,假设改成fnl.idx。并用在dos下用gribmap函数生成一个新的idx文件。gribmap -e -i fnl.ctl(加绝对路径)

open fnl.ctl就可以打开所有文件。

grads画斜温图

grads画斜温图

前两天贴出了用GrADS绘制的Skew-T图,有兴趣的童鞋还是有一些的,所以这里出个简单的教程。

GrADS2.0中提供了一个绘制Skew-T图的脚本——plotskew.gs。用该方法绘制Skew-T 需要用到四个变量:温度、露点温度、风速、风向。本例中用的是FNL 1*1的资料,资料的下载我记得其他帖子里有讨论过;至于资料的前处理(生成ctl以及idx)这里不一一细说,请自行解决;关于资料的变量说明请自己看ctl文件或是网站上的说明。下面是绘图的脚本:'reinit'

'open F:/522/ncep/522.ctl'

'set lon 123'

'set lat 23'

'set t 9'

'set lev 1000 100'

'define t=tmpprs-273.16'

'define rH=rhprs'

'td=t-((14.55+0.114*t)*(1-0.01*RH) + pow((2.5+0.007*t)*(1-0.01*RH),3) +

(15.9+0.37*T)*pow((1-0.01*RH),14))' *计算露点温度

'define uv=mag(vgrdprs,ugrdprs)' *计算风速

'define pi=3.14159'

if (ugrdprs>=0.)

if (vgrdprs>=0.)

'define dir=180+atan2(ugrdprs,vgrdprs)*180/pi'

endif

endif

if (vgrdprs<=0.)

if (ugrdprs>=0.)

'define dir=270+atan2(ugrdprs,vgrdprs)*180/pi'

grads批处理ctl文件和用cmd生成idx文件的步骤

grads批处理ctl文件和用cmd生成idx文件的步骤

grads批处理ctl文件和用cmd生成idx文件的步骤(2009-07-31 14:30:09)

分类:科研笔记标签:grads软件ctl idx批处理气

象教育

一:grads批处理涉及idx文件的grib资料时,编辑grads批处理所需要的ctl文件:(一般可以把已存在的第一个时次的ctl文件进行更改后另存为一个新的ctl文件即可,比如本次批处理的原来的ctl名字都是200206xxxx.ctl形式,则可以新建一个200206.ctl 作为grads将来要调用的ctl文件)

grib200206%d2%h2时间循环

options template多个时间序列原始数据文件想用一个数据描述文件统一地描述这些原始数据时采用的选项。必不可少,且注意其位置。

grib200206.idx将要生成的idx文件

120本次批处理总共的时次个数

00Z01jun2002批处理的起始时间

6hr相邻时次的时间间隔

其他的部分不需要更改。

二:用cmd生成idx文件

进入cmd界面

“>”后输入’gribmap –e’,然后回车键,出现以下界面

提示行后输入ctl文件的路径和名字

按回车键后开始运行

运行结束后显示以下界面,idx文件生成。

至此,有了ctl文件和idx文件,然后就可以用GrADS软件快速方便的进行批处理了。

GrADSctl文件编写

GrADSctl文件编写

Components of a GrADS Data Descriptor File

DSET data_filename

back to top

This entry specifies the filename of the data file being described. If the data and the descriptor file are not in the same directory, then data_filename must include a full path. If a ^ character is placed in front of data_filename,

then data_filename is assumed to be relative to the path of the descriptor file. If you are using the ^ character in the DSET entry, then the descriptor file and the data file may be moved to a new directory without changing any entries in the data descriptor file, provided their relative paths remain the same. For example:

If the data descriptor file is:

GRADS软件的常用GS文件

GRADS软件的常用GS文件

求导———define dv = cdiff(v,x)define dx = cdiff(lon,x)*3.1416/180define du = cdiff(u*cos(lat*3.1416/180),y)define dy = cdiff(lat,y)*3.1416/180display (dv/dx-du/dy)/(6.37e6*cos(lat*3.1416/180))矢量图之—(控制矢量图中矢量标志的位置)'set gxout vector''set arrlab off' *关掉缺省的图标'set arrscl 0.5 0.5' *表示在图中0.5英寸的长度代表0.5m/s'd u;v''draw string 0.95 3.6 `3"'*画箭头,使用set font 3的特殊图形'draw string 5.75 0.8 0.5'*写箭头下文字之—(规定矢量图输出的阈值,使用set cmin/cmax)但要注意的是,display时,必须是'd u;v;mag(u,v)'或'd u;v;sqrt(u*u,v*v)'而不能仅仅'd u;v'之—(控制矢量密度与颜色)'set ccolor 1'*控制颜色'd skip(u,2);v'*控制密度:loveliness: function之————gs重复使用到的语句,打包成function以function main(track)开头以return结尾多幅图输出之————多幅图输出时,边缘的经纬度为了避免重叠,必须使得第n张图的最后一个坐标不输出,如set lon 132 144set xlint 3set xlopts color >*因为144是(144-132)/3的公倍数,144必定会在最后一个经度坐标上出现,这样就会与第n+1个图的第一个横坐标:132重叠,解决方法有:1.在最初的计算区域,就是分页前,就规定所选区域为[132,144)2.分页前,依然选取[132,144],在分页后,每幅图的display前,将区域选为[132,144)经纬度对应图上位置——之1lon = '133.5 'lat = '33.8''q w2xy '%subwrd(lon,1)%' '%subwrd(lat,1)x = subwrd(result,3)y = subwrd(result,6)经纬度对应图上位置——之2lon='xxx.x xxx.x xxx.x'lat='xx.x xx.x xx.x'j=1cn=999while(j'q w2xy '%subwrd(lon,i)%' '%subwrd(lat,i)x = subwrd(result,3)y = subwrd(result,6)'draw mark 5 'x' 'y' 0.1'j=j+1endwhile经纬度对应图上位置——之3.i=1cnt=999 while(i<=cnt)aa=read('.txt')aa1=sublin(aa,2)lat=subwrd(aa1,3)lon=subwrd(aa1,4)'q w2xy 'lon' 'latx = subwrd(result,3)y = subwrd(result,6)········i = i + 1endwhileret=close('.txt')设置特殊字体与符号用set font n设置字体font 3时,可以输出很多symbols,具体写法是:'set font 3' *actually,this setting can be deleted,and it's strongly recommended not to write this command so that you can avoid unwanted character change之字符:'draw string 9.09 3.03 `52900141' *then you can see bold roman numbers 2900141之符号:'draw string xxx xxx `3#' then you can see a arrow,remember this the symbol must come together wit

第2章 GrADS数据处理(续)

第2章 GrADS数据处理(续)

UNDEF value 定义缺测值。 定义缺测值。
XDEF number LINEAR start increment 或XDEF number LEVELS value-list
设置X方向网格点值与经度的对应关系。 设置 方向网格点值与经度的对应关系。 方向网格点值与经度的对应关系
YDEF number LINEAR start increment 或YDEF number LEVELS value-list
*关于template使用
多个连续时间序列原始数据文件想用一个数据描述 文件统一地描述这些原始数据时采用该选项。
dset h%y4%m2.grd sample grid 9999 template
例如: h199401.grd h199402.grd h199403.grd h199404.grd . . .
title dtype undef
options xdef …… ydef……. zdef…… tdef
4 lineaLeabharlann Baidu jan1994
1mo
vars……
2.4 其他格式数据资料的使用
1.
NetCDF数据格式的资料(*.nc) GrADS可以直接处理这种格式的数据, 不需要另外编写数据描述文件。 使用命令: ga_> sdfopen <路径>文件名.nc

grads处理多个ctl文件和nc文件解析

grads处理多个ctl文件和nc文件解析

grads处理多个ctl文件和nc文件

2011-10-10 21:03:59| 分类:grads学习| 标签:|举报|字号大中小订阅

下载LOFTER我的照片书 |

用grads处理多个相同格式的数据时若单个单个处理非常麻烦,当文件非常多的时候是单个处理是不实际的。下面介绍一种方法;

第一步,在这种情况下可以重新写一个ctl描述文件,其文件变量都和已知的ctl相同,若原来的n文件只是时间不同,那么新描述文件的时间维数是所有原文件的时间的和。同样,若其他维数不同时也用同样的方法处理。

第二步,在第一行之后添加一行:options template 表示多个时间序列原始数据文件想用一个描述文件统一地描述。这些原数据的原文件名由dset定义的形势命名文件名。

第三步,修改dset 的文件名。原路径不变,把文件名用%表示。其中:

%y2 代表两位数年

%y4 代表四位数年

%m1 代表一位或者两位数的月

%m2 代表两位数月(用0补齐1位数)

%mc 3个字符月份的缩写

%d1 1或2位天

%d2 两位天

%h1 1或者2位时

%h2 2位时

例如:

原文件其中之一的文件名为gdas2006050812f00,且所有文件只有天和时的变化

那么新描述文件的文件名为:gdas200605%d2%h2f00

另外如果源文件里有index项的话,需要修改其idx的文件名,假设改成fnl.idx。并用在dos下用gribmap函数生成一个新的idx文件。gribmap -e -i fnl.ctl(加绝对路径)

open fnl.ctl就可以打开所有文件。

grads输出TXT(ASCII)文件

grads输出TXT(ASCII)文件

grads输出TXT(ASCII)⽂件file ='out..txt'

'set gxout print'

'd uwnd'

rc=write(file,result)

rc=close(file)

GrADS常用指令

GrADS常用指令

1.ctl文件的编写

dset d:\test\test1.dat 数据文件路径名和文件名

title monthly precipitation data 数据标题

options 365_day_calendar 特殊格式说明365_day_calendar/template(多个文件) undef -9999.0 缺测值,若有多个则用fortran改写成同一个缺测值

xdef 144 linear 0 2.5 x维数格点数/排列方式/起始值/间隔*linear线性/levels列举ydef 73 linear -90 2.5 y维数

zdef 5 linear 1000 850 700 500 200 z维数

tdef 24 linear 00z01Jan1979 1mo 时间维数*mo月yr年

vars 1 变量数

precip 1 99 *precipitation data 变量名/层数/排列顺序/说明

endvars

*变量循环顺序:x经度y维度z高度v变量t时间

*注释行第一列用‘*’,注释行不能出现在变量列表中

2.维数环境设置

set lon/lat/lev/time var1 <var2> *实际值

set x/y/z/t var1 <var2> *格点数值

*两种坐标可以混用

3.图形文件的保存

gxprint/printim **.png/jpg/pdf/eps…. white

enable print **.gmf

print

disableprint

4.图形类型的设置

grads中水汽通量计算

grads中水汽通量计算

另外gs文件如下:

'reinit'

'sdfopen c:\ncept\ps\psmean.nc'

'sdfopen c:\ncept\ps\qmean.nc'

'sdfopen c:\ncept\ps\umean.nc'

'set lon 50 130'

'set lat 20 70'

'set fwrite c:\ncept\ps\grd\vint.grd'

'set gxout fwrite'

'set t 1'

'set z 1'

'define a=vint(pres(z=1), shum.2*uwnd.3,300)'

'd a'

'print'

'disable fwrite'

;

另外,地面气压psmean.nc自带的ctl文件如下:dset c:\ncept\ps\psmean.nc

title NCEP Reanalysis monthly ltm surface pressure undef -9.96921e+36

xdef 144 linear 0 2.5

ydef 73 linear -90 2.5

zdef 1 linear 0 0

tdef 712 linear 00Z01JAN1948 1mo

vars 1

pres 0 -999 Monthly Mean of Surface Pressure

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Components of a GrADS Data Descriptor File

DSET data_filename

back to top

This entry specifies the filename of the data file being described. If the data and the descriptor file are not in the same directory, then data_filename must include a full path. If a ^ character is placed in front of data_filename,

then data_filename is assumed to be relative to the path of the descriptor file. If you are using the ^ character in the DSET entry, then the descriptor file and the data file may be moved to a new directory without changing any entries in the data descriptor file, provided their relative paths remain the same. For example:

If the data descriptor file is:

/data/wx/grads/sa.ctl

and the binary data file is:

/data/wx/grads/sa.dat

then the data file name in the data descriptor file can be:

DSET ^sa.dat

instead of:

DSET /data/wx/grads/sa.dat

If data_filename does not include a full path or a ^, then GrADS will only look for data files in the directory where you are running GrADS.

GrADS allows you use a single DSET entry to aggregate multiple data files and handle them as if they were one individual file. The individual data files must be identical in all dimensions except time, and the time range of each individual file must be indicated it its filename. To accomplish this, the DSET entry has a substitution template instead of a filename. See the section on Using Templates for a description of all the possible components of the template. Second, the OPTIONS entry must contain the template keyword.

CHSUB t1 t2 string

back to top

(GrADS version 1.9b4) This entry is used with a new option for templating data files that allows for any user-specified string substitution, instead of only date string substitution. This is useful when none of the standard template options match the time ranges in the files you wish to aggregate, or if the files are located on different disks. When you put the %ch template in

your DSET entry, then you also need to put additional CHSUB entries in the descriptor file. The string will be substituted for%ch in the data file name for the time steps beginning with t1 and ending with t2.See the section on Using Templates for examples.

DTYPE keyword

back to top

The DTYPE entry specifies the type of data being described. There are four options: grib, hdfsds, netcdf, or station. If the data type is none of these, then the DTYPE entry is omitted completely from the descriptor file and GrADS will assume the data type is gridded binary.

相关文档
最新文档