python讀取NetCDF - PyNIO

2019-05-04

前言

利用Python,讀取高維度氣象資料時,例如WRF output,或是再分析資料時,常見的格式如:NetCDF-4, GRIB 2, HDF...等,必須引入NCAR開發的特殊套件 - PyNIO。
本文參考官方網站 : https://www.pyngl.ucar.edu/Nio.shtml
進行步驟教學。

1. 引入模組

PyNIO模組 依賴 NumPy模組的部分功能,因此使用PyNIO進行氣象資料讀取時,請先引入此兩項模組。

import numpy as np 

import Nio 

2. 開啟檔案

PyNIO 開啟檔案的指令為: open_file ,附屬指令為: "w","rw","a","r+" ,這裡不贅述附屬功能,舉例如下:

f = Nio.open_file("wrfout.nc")

必須提醒副檔名"nc"必須加上,其他的附檔名例如"grb"也一樣要加上。

3.關閉檔案

同樣的關閉檔案有以下操作方式

f.close()

這是因為f已經是Nio.open_file("wrfout.nc") ,python是一種OOP語法,所以下標 "."代表導入某一個動作。

因此接下來要對f做任何動作,只需要有下標 "."即可導入行為。

4.調出變數

讀取檔案成功後,接下來希望對某個變數做處理,因此這裡先舉例,如何讀取單一變數的資訊,下一節再繼續說明。

print (f.variables['varName'])

例如要讀取雨水混合比,則寫 "print(f.variables['QRAIN'])",下圖是顯示的結果:

由上至下為:變數名稱、資料格式(浮點數)、檔案大小、維度。
維度包含:時間=1,垂直共34層,南北方向101個網格,東西方向119個網格。
再往下則是座標資訊,即維度。最後則是這個變數的描述。

Miller : hhjoy222@gmail.com
Webnode 提供技術支援
免費建立您的網站! 此網站是在 Webnode 上建立的。今天開始免費建立您的個人網站 立即開始