標籤:style blog http color 使用 os io 檔案
grb檔案的讀取(轉自:http://blog.sciencenet.cn/blog-922140-713837.html)
read_grib.r4.rar
今天來斟酌了下grb檔案格式的讀取,現在總結一下:
1. grb格式檔案是國際氣象組織一種獨特的資料存放區格式,所有不能直接開啟,下面介紹一種matalb代碼讀取檔案的方法,首先下GRID_GRIB代碼,代碼可以從網站 http://www.renci.org/~bblanton/files/ReadGrib/ 下載。然後再matlab平台下調用read_grib.m檔案既可以讀取檔案。
2. 調用函數的時候需要注意:需要先開啟mex BDS_unpack_mex5.c,Mex為MATLAB和Excutable的縮寫,.MEX檔案是一種可在matlab環境中調用的C(或fortran)語言衍生程式,MEX檔案實現了一種其它語言與MATLAB的介面,通過MEX檔案可以在MATLAB中像調用內嵌函數一樣調用使用C語言和Fortran等語言編寫的函數,實現了代碼重用,同時也能提高MATLAB環境中資料處理的效率。
3. 讀取資料一般先讀取資料目錄:grib_struct=read_grib(‘CCSRNIES_SRES_A1_TMP_1441-1464.grb‘,‘invent‘);
如下:
4. 然後根據自己的需要讀取自己需要的資料,比如要讀取變數PRES : grib_struct=read_grib(‘eta.grb‘,{‘PRES‘})
就可以將資料讀取出來,資料是結構體的格式,實際的資料存放區在fltarray裡面。
5.關於這個實際資料是向量的格式,如何將它轉換為經緯度的格式,這種情況下,首先將一維資料reshape成Ni行,Nj列,然後進行翻轉成Nj行,Ni列的資料。最後上下翻轉,就得到二維矩陣資料了(對於等距圓柱形投影網格和高斯網格)。其他一些資料的data presentation type可能回去其他一些類型,這些類型如何還原成二維格式的,還需要根據具體情況修改。
其實根據grd資料的grid屬性gds也可以看出怎麼還原: