第四章Grads資料轉換和資料描述檔案2019

2021-05-14 17:32:42 字數 4148 閱讀 1141

內容提要

一、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.掌握串的堆儲存結...