首页 liGrads讲义(3)

liGrads讲义(3)

举报
开通vip

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

liGrads讲义(3)
GrADS (Grid Analysis and Display System) 讲义(3) 内容提要 一、GrADS所能处理的数据格式 二、数据资料的准备(binary) ASCII码数据文件向二进制数据文件的转换 三、数据描述文件的构成 四、其它数据文件简介(netCDF/GRIB) 五、GrADS控制文件简介 一、GrADS所能处理的数据格式 --Binary:自制,直接、顺序存取,Fortran可以读写。*.grd --netCDF(自描述):精确性好,便于传输;*.nc --GRIB:压缩率高。*.grib --HDF-SDS(卫星资料) --ASCII(台风路径) --站点 --BUFR(V1.9版本):二进制通用数据 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示格式(BUFR),用于非格点气象数据的保存,便于网络传输,是世界气象组织(WMO) 规定 关于下班后关闭电源的规定党章中关于入党时间的规定公务员考核规定下载规定办法文件下载宁波关于闷顶的规定 的标准格式,目前使用的常规气象资料数据以及雷达、卫星数据资料转换为BUFR格式 二、Binary格式介绍 1、简介 1)GrADS最基本的数据格式; 2)常用后缀:*.grd,.bin,.dat, 3)一般为二进制无格式文件(form=‘unformatted’); 4)访问形式 直接(access=‘direct’) 顺序(access=sequential)--ctl文件中说明 5)格式说明由数据描述文件(*.ctl)描述; 数据资料———数据描述文件———GrADS    翻译器 注意:数据文件和数据描述文件是分开的。后者为纯文本格式,可用一般的编辑器产生(如记事本等); 2、GrADS中数据的存放形式 1)5-D的数据集 (x,y),z,VAR,t 排放顺序为先经度、纬度、高度,然后是物理变量,最后是时次变化。一个x、y数据场构成一个记录。 2)3—D空间的排列 x从西---东, y从南---北, z从下--上 3、如何生成一个直接存取的无格式数据文件 ----------借助于Fortran程序完成 例1:有一个4-D要素场,将其由ASCII码数据转为无格式直接存取文件,Fortran程序如下: Program main C  定义一个X,Y,Z方向的格点以及总时次nt parameter(nx=144,ny=73,nz=17,nt=48) c  定义数组 dimension var(nx,ny,nz,nt) c  打开原数据文件 open(1,file='d:\llp\test.dat') cccccccccccccccccccccccccccccccccccccccccccccc cc  一定格式把数据文件读入 (省略)    cc            ccccccccccccccccccccccccccccccccccccccccccc c  打开目标文件,recl为记录的长度。 open(12,file='d:\llp\test.grd', &form='unformatted',access='direct',        recl=nx*ny*4)  c  写数据资料          irec=0 do 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:\llp\test.grd', &form='unformatted',access='direct',        recl=nx*ny*nz*4)  c  写数据资料          irec=0 do 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 注意: 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和SST.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方向的格点以及总时次nt parameter(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:\llp\u.dat') open(2,file='d:\llp\v.dat') open(3,file='d:\llp\sst.dat') c  打开目标文件,recl为记录的长度。 open(12,file='d:\llp\data.grd', &form='unformatted',access='direct',        recl=nx*ny*4) cccccccccccccccccccccccccccccccccccccccccccccc    按一定格式把数据文件读入        cc ccccccccccccccccccccccccccccccccccccccccccc cccccccccc 写数据资料        ccccccccccc      irec=0 do 100 it=1,nt do 50 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)数据描述文件中变量的顺序与此相同; 三、GRADS描述文件 下面为相应于例2的CTL文件(data.ctl) dset d:\llp\data.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 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 data-set-name 二进制原始数据文件的文件名(可包含路径) 2)TITLE string 用字符串string简略描述数据文件的内容。 3)UNDEF value 定义缺测值,GrADS在运算操作和图形操作时将忽略这些格点。 4)XDEF number 或 XDEF number Number:是X方向网格点数,>=1的整型数; LINEAR时: 网格点格距均匀; Start:起始经度(单位:度),浮点数表示,负数表示西经,自西向东。 Increment:网点间距,单位为度,正浮点数。 LEVELS时: 网格距可不均匀, value-list顺序列出各格点的经度值,可续行表示,至少有两个以上格点时方可用LEVELS。 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:顺序枚举一系列网格点对应的纬度值,可续行表示 ,至少有两个以上格点时方可用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 注:常见形式 XDEF number LINEAR start increment YDEF number LINEAR start increment 6)ZDEF number mapping 或 ZDEF number 设置气压面与垂直网格点的映射关系 Number:Z方向网格点数,为整型数 mapping 为映射类型,有如下几种: LINEAR -- 线性映射 Start:Z=1时的值或起始值 Increment:Z方向的增量,从低到高,该增量可取负值。 例如: ZDEF 10 LINEAR 1000 -100 LEVELS – (常用) value-list:顺序枚举给出全部对应的等压面。 7)TDEF number LINEAR 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表示小时, dy 表示天, mo表示月, yr表示年, 如:20mn ---表示增量为20分钟, 1mo表示增量为1个月, 2dy表示增量为2天。 8)VARS number abrev levs units description (变量描述格式) ENDVARS 变量描述部分 number:变量个数, abrev:变量名,1-8个字符,以字母(a~z)开头,由字母和数字组成; levs:整型数,变量含有的垂直层次数, 0表示该变量只有一层,如地表变量;units:为以后使用预留,暂时设为常数99;description:一段说明该变量的字符串,最多40个字符. ENDVARS:表示数据描述文件结束。 9)dtype 说明数据格式的类型,当binary时省略; 包括: -grib -station -bufr -hdfsds -netcdf v1.9新增 9)OPTIONS 可替代"format"的功能且具有更广泛的用途。 包括: