ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:559.47KB ,
资源ID:22804285      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22804285.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第四章Grads数据资料转换和数据描述文件.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第四章Grads数据资料转换和数据描述文件.docx

1、第四章Grads数据资料转换和数据描述文件GrADS (Grid Analysis and Display System)讲义(4)内容提要一、GrADS所能处理的数据格式二、数据资料的准备(binary)ASCII码数据文件向二进制数据文件的转换三、数据描述文件的构成四、其它数据文件简介(netCDF/GRIB)五、GrADS控制文件简介一、GrADS所能处理的数据格式-Binary:自制,直接、顺序存取,Fortran可以读写。*.grd-netCDF(自描述):精确性好,便于传输;*.nc-GRIB:压缩率高。*.grb-HDF-SDS(卫星资料)-ASCII(台风路径)-站点-BUFR

2、(V1.9版本):二进制通用数据表示格式(BUFR),用于非格点气象数据的保存,便于网络传输,是世界气象组织(WMO)规定的标准格式,目前使用的常规气象资料数据以及雷达、卫星数据资料转换为BUFR格式二、Binary格式介绍1、简介1)GrADS最基本的数据格式;2)常用后缀:*.grd,.bin,.dat;3)可用fortran读写;4)一般为二进制无格式文件(form=unformatted);5)访问形式直接(access=direct)顺序(access=sequential)-ctl文件中说明6)格式说明由数据描述文件(*.ctl)描述;数据资料数据描述文件GrADS 翻译器注意:数

3、据文件和数据描述文件是分开的。后者为纯文本格式,可用一般的编辑器产生(如记事本等); 2、GrADS中数据的存放形式1)5-D的数据集 (x,y),z,VAR,t排放顺序为先经度、纬度、高度,然后是物理变量,最后是时次变化。一个x、y数据场构成一个记录。 2)3D空间的排列x从西-东,y从南-北,z从下-上 3、如何由ASCII码数据生成一个直接存取的无格式数据文件 -借助于Fortran程序完成例1:有一个4-D要素场,将其由ASCII码数据转为无格式直接存取文件,Fortran程序如下:Program mainC 定义一个X,Y,Z方向的格点以及总时次ntparameter(nx=144,

4、ny=73,nz=17,nt=48)c 定义数组dimension var(nx,ny,nz,nt)c 打开原数据文件open(1,file=d:llptest.dat)!ccccccccccccccccccccccccccccccccccccccccc!ccccccc 一定格式把数据文件读入 do 100 it=1,nt do 50 iz=1,nz read(1,*) (u(i,j,iz,it),i=1,nx),j=1,ny) 50 continue100 continue !CCCCCCCCCCCCCCCCCCC cccccccccccccccccccccccccccccccccccccc

5、cccccc 打开目标文件,recl为记录的长度。 open(12,file=d:llptest.grd,&form=unformatted,access=direct, recl=nx*ny*4) c 写数据资料 irec=0do 100 it=1,nt do 100 iz=1,nz irec=irec+1 write(12,rec=irec) (var(i,j,iz,it),i=1,nx),j=1,ny) 100 Continue Close(1) Close(12) end还可以用另外的一种方式写资料,见下:c 打开目标文件,recl为记录的长度。 open(12,file=d:llpt

6、est.grd,&form=unformatted,access=direct, recl=nx*ny*nz*4) c 写数据资料 irec=0do 100 it=1,nt irec=irec+1 write(12,rec=irec) (var(i,j,iz,it),i=1,nx),j=1,ny),iz=,1,nz) 101 Continue Close(1) Close(12) end另外一种写法:c 打开目标文件,recl为记录的长度。 open(12,file=d:llptest.grd,&form=binary) c 写数据资料 do 100 it=1,nt do 100 iz=1,n

7、z write(12) (var(i,j,iz,it),i=1,nx),j=1,ny) 100 ntinue Close(1) Close(12) end 注意:1)recl=:一次写入的数据量,与Fortran编辑单位有关。 .以字节数为单位:需要*4,recl=nx*ny*nz*4 .以数据个数为单位,不需*4,recl=nx*ny*nz 2)recl与rec有关联 3)不同维数的循环嵌套顺序 (lon lat lev 不同变量 time ) (x y z 不同变量 t ) (内循环-外循环)例 2、如何将多个要素写入同一个数据文件中?现有ASCII码数据资料文件u.dat、v.dat和S

8、ST.dat,其空间范围60-150oE,0-40oN;层次:u、v为850、 200hPa;时段:1982.1-1985.12;分辨率:2.5*2.5。要求编写出将这三个文件转换成二进制无格式直接存取文件的Fortran程序,并给出相应的数据描述文件(CTL文件)。Program main C 定义一个X,Y,Z方向的格点以及总时次ntparameter(nx=37,ny=17,nz=2,nt=48)c 定义数组dimension u(nx,ny,nz,nt), v(nx,ny,nz,nt), sst(nx,ny,nt)c 打开原数据文件open(1,file=d:llpu.dat) ope

9、n(2,file=d:llpv.dat)open(3,file=d:llpsst.dat)c 打开目标文件,recl为记录的长度。 open(12,file=d:llpdata.grd,&form=unformatted,access=direct, recl=nx*ny*4)cccccccccccccccccccccccccccccccccccccccccccccc 按一定格式把数据文件读入 ccccccccccccccccccccccccccccccccccccccccccccccccccccccc 写数据资料 ccccccccccc irec=0do 100 it=1,nt do 50

10、iz=1,nz irec=irec+1 write(12,rec=irec) (u(i,j,iz,it),i=1,nx),j=1,ny) 50 continue do 51 iz=1,nz irec=irec+1 write(12,rec=irec) (v(i,j,iz,it),i=1,nx),j=1,ny) 51 continue irec=irec+1 write(12,rec=irec) (sst(i,j,it),i=1,nx),j=1,ny) 100 continue close(1) close(12) end注意:1)recl 与rec; 2)循环顺序; 3)数据描述文件中变量的顺

11、序与此相同; 三、GRADS描述文件下面为相应于例2的CTL文件(data.ctl)dset d:llpdata.grd -数据文件名undef -9.99E+33 -缺侧值 title NCEP/NCAR REANALYSIS PROJECT -数据标题xdef 37 linear 60.000 2.500 -x方向维数ydef 17 linear 0.000 2.500 -y方向维数zdef 2 levels 850 200 -z方向维数tdef 48 linear JAN1982 1mo -时间维数vars 3 -变量总数u 2 99 u wind (m/s) -U风场2层 v 2 99

12、 v wind (m/s) -v风场2层sst 1 99 TSFC DATA -海表温度 Endvars -变量描述结束1、描述文件构成介绍每个描述文件一般包含以下几项:(1)被描述的数据文件名(dset)(2)该数据说明文件的标题(title)(3)数据类型、格式和选项(dtype,format,option)(4)时间、空间维数环境设置(xdef,ydef,zdef,tdef)(5)变量定义(vars,endvars)注意:数据描述文件的每行记录的各项以空格分开,注释行在第一列打“*”,注释行不能出现在变量列表中,每行记录不超过80个字符, 2、数据描述文件中各记录的含义1)DSET da

13、ta-set-name 二进制原始数据文件的文件名(可包含路径) 2)TITLE string 用字符串string简略描述数据文件的内容。3)UNDEF value 定义缺测值,GrADS在运算操作和图形操作时将忽略这些格点。4)XDEF number 或XDEF number Number:是X方向网格点数,=1的整型数;LINEAR时:网格点格距均匀;Start:起始经度(单位:度),浮点数表示,负数表示西经,自西向东。Increment:网点间距,单位为度,正浮点数。LEVELS时:网格距可不均匀,value-list顺序列出各格点的经度值,可续行表示,至少有两个以上格点时方可用LEV

14、ELS。5)YDEF number mapping start 或 YDEF number Number:Y方向的格点数,用整数表示mapping表示映射方式,有以下几种:LINEAR - 线性映射 GAUSR15 - 高斯(Gaussian) R15 纬度 GAUSR20 - 高斯R20 纬度 GAUSR30 - 高斯R30 纬度 GAUSR40 - 高斯R40 纬度 LINEAR时:Start:起始纬度(单位:度),浮点数表示,负数表示南纬;Increment:Y方向网格距,正浮点数表示,由南向北。LEVELS时:value-list:顺序枚举一系列网格点对应的纬度值,可续行表示 ,至少有

15、两个以上格点时方可用LEVELS。高斯GAUSRxx映射:start为第一个高斯网格数,1表示最南端格点纬度例如: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, -43.02, -41.27, -39.51, -37.76, -36.00, -34.24, -32.49, -30.73 注:常见

16、形式XDEF number LINEAR start incrementYDEF number LINEAR start increment6)ZDEF number mapping 或 ZDEF number 设置气压面与垂直网格点的映射关系Number:Z方向网格点数,为整型数mapping 为映射类型,有如下几种:LINEAR - 线性映射 Start:Z1时的值或起始值Increment:Z方向的增量,从低到高,该增量可取负值。例如:ZDEF 10 LINEAR 1000 -100LEVELS (常用) value-list:顺序枚举给出全部对应的等压面。7)TDEF number L

17、INEAR start-time increment 设置网格值与时间的映射关系。Number:总时次数,用整型数表示;start-time:起始日期/时间,格式为:hh:mmZddmmmyyyy hh:两位数的小时mm:两位数的分钟dd:一位或两位数的日期mmm:三个字符的月份缩写yyyy:两位或四位数年份,注:缺省值:hh=00,mm=00,dd=1号;月、年值不能省缺,整个时间串中不能有空格。例如:12Z1JAN1990 14:20Z22JAN1987 JUN1960 Increment:时间增量,格式为vvkk,vv:增量值,用1位或2位整型数表示kk:增量类型,mn 表示分钟,hr表

18、示小时,dy 表示天,mo表示月,yr表示年,如:20mn -表示增量为20分钟,1mo表示增量为1个月,2dy表示增量为2天。 8)VARS number abrev levs units description (变量描述格式)ENDVARS 变量描述部分number:变量个数,abrev:变量名,1-8个字符,以字母(az)开头,由字母和数字组成;levs:整型数,变量含有的垂直层次数,0表示该变量只有一层,如地表变量;units:为以后使用预留,暂时设为常数99;description:一段说明该变量的字符串,最多40个字符.ENDVARS:表示数据描述文件结束。9)dtype 说明数

19、据格式的类型,当binary时省略;包括:-grid(省略)-grb-station-bufr-hdfsds-netcdfv19新增9)OPTIONS 可替代format的功能且具有更广泛的用途。包括: sequential顺序无格式存放数据;yrevy从北-南;zrevz从上-下;byteswapped 二进制数据的位存放顺序取反序;big_endian: 在SUN/SGI等机器上生成的数据;little_endian:在PC与DEC等机器上生成的数据;365_day_calendar:任何年份均是365天;cray_32bit_ieee:在Cray机上生成的数据;template多个时间序

20、列共用一个数据描述文件统一描述时*3、用一个Ctl文件描述多个数据文件(高级篇)例如1:有一组数据资料:1Jan2007.grd,2Jan2007.grd,.31Dec2007.grd其ctl文件的格式:dset d:llp%d1%mc%y4.grd 。options template 。tdef 365 linear 1Jan2007 1dy 格式替换:%y2 - 2位数年 %y4 - 4位数年 %m1 - 1或2位数月 %m2 - 2位数月(1月须写成01) %mc - 3个字符的月缩写%d1 - 1或2位天 %d2 - 2位天 %h1 - 1或2位小时 %h2 - 2位小时 %n2 -

21、2位分钟 例如2:几个netcdf文件(v1.9版本新增)u.1851-1900Nc (1-600个月)u.1901-2000.nc (601-1800个月)需要的语法dset %chchsub t1 t2 string其ctl文件的格式:dset d:llpu.%ch.nc。chsub 1 600 1851-1900chsub 601 1800 1901-2000options template dtype netcdf 。tdef 1800 linear Jan1851 1mo 若分别位于不同盘上:Dset %chchsub 1 600 d:1851-1900chsub 601 1800

22、c:1901-2000 四、netCDF格式数据和GRIB格式数据简介五、 GrADS控制文件简介*.gs特点:用run命令执行,纯文本文件,里面含有用脚本语言(script language)写成的批处理GrADS系统命令和设置,可以集成GrADS命令,具有强大功能。下面是一个名为a.gs的文件内容:例如1: reinitopen d:llpdata.ctld u例如2:reinitenable print sst811open sst.ctlset clopts 1 1.2 0.15set xlopts 1 1.2 0.15set ylopts 1 1.2 0.15set vpage 0 5.5 4.25 8.5set grads off set clopts -1, -0.5, 0.09set csmooth onset t 1+13set gxout contourset clevs -1.8 0 5 10 15 20 24 25 26 27 28 29 30 31 d u10draw title SST Distribution Janurary 1981 C

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1