第2章数据处理_第1页
第2章数据处理_第2页
第2章数据处理_第3页
第2章数据处理_第4页
第2章数据处理_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

第 2章 数据处理在使用 GrADS绘图前,必须使所用数据文件满足 GrADS的数据格式要求。 2.1 各类数据格式的特点n一般二进制无格式直接或者顺序记录的数据格式:可以是格点数据或站点数据,可以用 Fortran或者 C语言读写。n需要数据描述文件 .ctl nGRIB码数据格式:是自定义的数据格式,压缩率高,占用空间小。例如 NCEP提供的数据资料。 nNETCDF( .nc)等通用数据格式:自定义数据格式,精确性好,便于传输。 文件中自带描述文件。2.2 数据文件的转换 1. 转换方法转换文件的数据存放格式,一般是通过 Power Station或 Visual Fortran等软件使用 Fortran或者 C语言来编程转换。 2.数据存放形式 二进制数据排放顺序n 从内循环到外循环依次是: x(经度):从西到东y(纬度):从南到北z(高度层数):从低层到高层vars( 各种物理变量)t(时次)x(lon) y(lat) z(lev) vars(不同变量 ) time n 任何一维可省略。 1 2 3 4 5 xy5 4 3 2 1Z3. 举例(格点资料) 现有 ASCII码(十进制存放格式)数据资料文件 u.dat、 v.dat和 sst.dat,其空间范围: 60-150E, 0-40N;层次: u、 v为 850、 200hPa;时段: 1982.1-1985.12;分辨率: 2.5*2.5。要求编写出将这三个文件转换成二进制无格式直接存取( Grads格式 .grd)文件的 Fortran程序。 n 编程时数组大小:n X方向: 150-60=90, 90/2.5+1=37n Y方向: 40-0=40, 40/2.5+1=17n Z方向: u、 v为 850、 200hPa , Z为 2sst为海表温度,只有一层, Z为 1n T时次:月资料, 4年,共 48个月Fortran程序编写如下: ! 定义一个 X,Y,Z方向的格点数以及总时次 ntparameter(nx=37,ny=17,nz=2,nt=48)! 定义数组dimension u(nx,ny,nz,nt),v(nx,ny,nz,nt),sst(nx,ny,nt) ! 打开原始数据文件 ,如果数据文件和 Fortran程序在一个文件夹下,打开数据文件时可以不写路径。open(1,file=u.dat)open(2,file=v.dat)open(3,file=sst.dat)! 打开目标文件, recl为记录的长度,对于直接存取文件必须指定记录长度 。open(12,file=mhy.grd,form=unformatted,#access=direct, recl=nx*ny*4) ! 把数据文件读入do 100 it=1,ntdo 50 iz=1,nz read(1,*) (u(i,j,iz,it),i=1,nx),j=1,ny) 50 continuedo 51 iz=1,nzread(2,*) (v(i,j,iz,it),i=1,nx),j=1,ny) 51 continueread(3,*) (sst(i,j,it),i=1,nx),j=1,ny) 100 continue!将数据资料写入新文件中, irec重新进行记录累加irec=0 do 200 it=1,ntdo 30 iz=1,nz irec=irec+1write(12,rec=irec) (u(i,j,iz,it),i=1,nx),j=1,ny) 30 Continuedo 31 iz=1,nzirec=irec+1write(12,rec=irec) (v(i,j,iz,it),i=1,nx),j=1,ny) 31 continueirec=irec+1write(12,rec=irec) (sst(i,j,it),i=1,nx),j=1,ny) 200 continueendirec=0 do 200 it=1,ntdo 30 iz=1,nz irec=irec+1write(12,rec=irec) (u(i,j,iz,it),i=1,nx),j=1,ny) 30 Continuedo 31 iz=1,nzirec=irec+1write(12,rec=irec) (v(i,j,iz,it),i=1,nx),j=1,ny) 31 continueirec=irec+1write(12,rec=irec) (sst(i,j,it),i=1,nx),j=1,ny) 200 continue如果不考虑采用无格式直接方式存取文件的话,可以使用下面的编程形式,较为简单。parameter(nx=37,ny=17,nz=2,nt=48)dimension u(nx,ny,nz,nt),v(nx,ny,nz,nt),sst(nx,ny,nt)open(1,file=u.dat)open(2,file=v.dat)open(3,file=sst.dat)open(12,file=mhy.grd,form=binary) do 100 it=1,ntdo 50 iz=1,nz read(1,*) (u(i,j,iz,it),i=1,nx),j=1,ny) 50 continuedo 51 iz=1,nzread(2,*) (v(i,j,iz,it),i=1,nx),j=1,ny) 51 continueread(3,*) (sst(i,j,it),i=1,nx),j=1,ny) 100 continuedo 200 it=1,ntdo 30 iz=1,nz write(12) (u(i,j,iz,it),i=1,nx),j=1,ny) 30 Continuedo 31 iz=1,nzwrite(12) (v(i,j,iz,it),i=1,nx),j=1,ny) 31 continuewrite(12) (sst(i,j,it),i=1,nx),j=1,ny) 200 continueend注意事项:n 二进制写入的数据必须是实型的 (real)n 若数据为整型,写入时要转换成实型的real(iu(i,j,k,it)2.2 数据描述文件( .ctl) GrADS绘图不能直接使用 “数据文件 ”,而是通过 “数据描述文件 ”间接使用 “数据文件 ”。 1. 数据描述文件的概念数据描述文件是原始数据文件的描述文件。 用以描述原始数据集的基本信息,包括数据集文件名、数据类型、数据结构、变量描述等等 。2. 数据描述文件的形式 以下是另一个格点数据描述文件的例子:* this is an example to demonstrate the data descriptor fileDSET ua.datTITLE Upper Air DataDTYPE gridOPTION byteswappedUNDEF -9.99E33二进制数据的位存放顺序取反序 *注释行 XDEF 80 LINEAR -140.0 1.0YDEF 50 LINEAR 20.0 1.0ZDEF 10 LEVELS 1000 850 700 500 400 300 250 200 150 100TDEF 4 LINEAR 0Z10apr1991 12hr 西经 140度vars 6slp 0 99 sea level pressurez 10 99 heightst 10 99 tempstd 6 99 dewpointsu 10 99 u windsv 10 99 v windsendvars3.数据描述文件的构成 ( 1)每个数据描述文件一般包含以下几项:n 被描述的数据文件名( dset)n 该数据说明文件的标题( title)n 数据类型、格式和选项( dtype, format, option)n 时间、空间维数环境设置( xdef, ydef, zdef, tdef)n 变量定义( vars, endvars) ( 2)数据描述文件中各记录的含义:nDSET 数据文件名 给定与此数据描述文件相对应的二进制原始数据文件名(可包含路径)。n若两者位于同一目录,前面的路径可以省略或以 “ ” 开始,代表两者位于同一目录。若不在同一目录下,应给出路径参数。如:d:/mydata/test.grdnTITLE string用字符串 string简略描述数据文件的内容。即:数据的标题nUNDEF value定义缺测值。一般给一很大的正值或负值。GrADS在运算操作和图形操作时将忽略这些值点。nOPTIONS 定义数据格式选项, keywords 有:n n 缺省时为 direct 直接记录格式(form=binary)自北向南的数据自高层到低层的数据顺序无格式存贮的数据二进制数据的位存放顺序取 反序 在 SUN, SGI等机器上生成 的数据在 PC, DEC等机器上生成的数据服务器个人电脑big-endian、 little-endian 用于自动改变二进制位存放顺序 多个时间序列原始数据文件用一个数据描述文件统一地描述描述这些原始数据时采

温馨提示

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

评论

0/150

提交评论