GrADS第2章 数据处理解析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
!将数据资料写入新文件中, irec重新进行记录累加
irec=0 do 200 it=1,nt do 30 iz=1,nz irec=irec+1 write(12,rec=irec) ((u(i,j,iz,it),i=1,nx),j=1,ny) 30 Continue do 31 iz=1,nz irec=irec+1 write(12,rec=irec) ((v(i,j,iz,it),i=1,nx),j=1,ny) 31 continue irec=irec+1 write(12,rec=irec) ((sst(i,j,it),i=1,nx),j=1,ny) 200 continue end
格式,压缩率高,占用空间小。例如 NCEP提供的数据资料。
NETCDF(.nc)等通用数据格式:自
定义数据格式,精确性好,便于传输。
文件中自带描述文件。
2.2 数据文件的转换
1. 转换方法
转换文件的数据存放格式,一般 是通过Power Station或Visual Fortran等软件使用Fortran或者C 语言来编程转换。
4 3 2 1
3. 举例(格点资料)
现有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程 序。
!将数据资料写入新文件中
do 200 it=1,nt
do 30 iz=1,nz
write(12) ((u(i,j,iz,it),i=1,nx),j=1,ny)
30 Continue do 31 iz=1,nz
write(12) ((v(i,j,iz,it),i=1,nx),j=1,ny)
31 continue
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,nt do 50 iz=1,nz read(1,*) ((u(i,j,iz,it),i=1,nx),j=1,ny) 50 continue do 51 iz=1,nz read(2,*) ((v(i,j,iz,it),i=1,nx),j=1,ny) 51 continue read(3,*) ((sst(i,j,it),i=1,nx),j=1,ny) 100 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)
! 打开原始数据文件,如果数据文件和Fortran程序在一个文件 !夹下,打开数据文件时可以不写路径
irec=0 do 200 it=1,nt do 30 iz=1,nz irec=irec+1 write(12,rec=irec) ((u(i,j,iz,it),i=1,nx),j=1,ny) 30 Continue do 31 iz=1,nz irec=irec+1 write(12,rec=irec) ((v(i,j,iz,it),i=1,nx),j=1,ny) 31 continue irec=irec+1 write(12,rec=irec) ((sst(i,j,it),i=1,nx),j=1,ny) 200 continue
第2章 数据处理
在使用GrADS绘图前,必须使所 用数据文件满足GrADS的数据格 式要求。
2.1 各类数据格式的特点
一般二进制无格式直接或者顺序记
录的数据格式:可以是格点数据或 站点数据,可以用Fortran或者C语 言读写。
需要数据描述文件.ctl
GRIB码数据格式:是自定义的数据
而是通过“数据描述文件”间接使用 “数据文件”。
1. 数据描述文件的概念
数据描述文件是原始数据文件的描述文件。 用以描述原始数据集的基本信息,包括数 据集文件名、数据类型、数据结构、变量 描述等等 。
2. 数据描述文件的形式
y………5
2.数据存放形式
二进制数据排放顺序 从内循环到外循环依次是: Z x(经度):从西到东 y(纬度):从南到北 1 2 3 4 5……….. x z(高度层数):从低层到高层 vars(各种物理变量) t(时次) x(lon) y(lat) z(lev) vars(不同变量) time 任何一维可省略。
编程时数组大小: X方向:150-60=90,90/2.5+1=37
Y方向:40-0=40,40/2.5+1=17
Z方向: u、v为850、 200hPa ,Z为2
sst为海表温度,只有一层,Z为1
T时次:月资料,4年,共48个月
! 把数据文件读入
do 100 it=1,nt do 50 iz=1,nz read(1,*) ((u(i,j,iz,it),i=1,nx),j=1,ny) 50 continue do 51 iz=1,nz read(2,*) ((v(i,j,iz,it),i=1,nx),j=1,ny) 51 continue read(3,*) ((sst(i,j,it),i=1,nx),j=1,ny) 100 continue
write(12) ((sst(i,j,it),i=1,nx),j=1,ny)
200 continue end
注意事项:
二进制写入的数据必须是实型的(real) 若数据为整型,写入时要转换成实型的
real(iu(i,j,k,it))
ຫໍສະໝຸດ Baidu
2.2 数据描述文件(.ctl)
GrADS绘图不能直接使用“数据文件”,