內容提要
一、grads所能處理的資料格式
二、資料資料的準備(binary)
ascii碼資料檔案向二進位制資料檔案的轉換
三、資料描述檔案的構成
四、其它資料檔案簡介(***cdf/grib)
五、grads控制檔案簡介
一、grads所能處理的資料格式
--binary:自製,直接、順序訪問,fortran可以讀寫。*.grd
--***cdf(自描述):精確性好,便於傳輸;*.nc
--grib:壓縮率高。*.grb
--hdf-sds(衛星資料)
--ascii(颱風路徑)
--站點
--bufr(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
翻譯器注意:資料檔案和資料描述檔案是分開的。後者為純文字格式,可用一般的編輯器產生(如記事本等);
parameter(nx=144,ny=73,nz=17,nt=48)
c 定義陣列
dimension var(nx,ny,nz,nt)
c 開啟原資料檔案
open(1,file='d:\llp\test.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 continue
100 continue
!!!!ccccccccccccccccccc
ccccccccccccccccccccccccccccccccccccccccccc
c 開啟目標檔案,recl為記錄的長度。
open(12,file='d:\llp\test.grd',
&form='unformatted',access='directrecl=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='directrecl=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另外一種寫法:
c 開啟目標檔案,recl為記錄的長度。
open(12,file='d:\llp\test.grd',
&form='binary')
c 寫資料資料
do 100 it=1,nt
do 100 iz=1,nz
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 )
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='directrecl=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 200z方向維數
tdef 48 linear jan1982 1mo ---時間維數
vars 3變數總數
u 2 99 u wind (m/su風場2層
v 2 99 v wind (m/sv風場2層
sst 1 99 tsfc data海表溫度
endvars變數描述結束
1、描述檔案構成介紹
每個描述檔案一般包含以下幾項:
(1)被描述的資料檔名(dset)
(2)該資料說明檔案的標題(title)
(3)資料型別、格式和選項(dtype,format,option)
(4)時間、空間維數環境設定
(xdef,ydef,zdef,tdef)
(5)變數定義(vars,endvars)
資料結構第四章
第四章串 4.1 串及其運算 1.串的基本概念 串 string 串是大於等於零個字元的有限序列,記為s a1a2 an 其中s為串名,ai可以是字母 數字或其它字元,n為長度,當n 0時稱為空串。例如 a this is a string b is 主串,子串,串常量,串變數。2.串的基本運算 運...
第四章定性資料的統計描述
前面一直在講定量資料 定性資料也叫計數資料,變數的觀測值是定性的,表現為互不相容的類別或屬性。數一數 無單位 包括 二分類 多分類 如 定性資料的統計描述用什麼指標?例 甲 乙兩學院流感,甲學院流感發病60人甲學生2000人 乙學院流感發病30人乙學生1000人 甲學院流感發病率 乙學院流感發病率 ...
資料結構複習第四章串
第四章串 string 重點 掌握串的基本概念,掌握串的基本操作 掌握串的三種不同的儲存方式。難點 掌握串的三種不同的儲存方式。學習提要 1.熟悉串的七種基本操作的定義,並能利用這些基本操作來實現串的其它各種操作的方法。2.熟練掌握在串的定長順序儲存結構上實現串的各種操作的方法。3.掌握串的堆儲存結...