解決方案
氣候與海洋科學仰賴龐大的陣列——溫度網格、洋流、模式輸出——而這些檔案過去並不透明:某個程式產生的二進位資料塊,下一個程式讀不懂,數值的意義則散見於論文或電子郵件中。由 Unidata 計畫中心開發的 NetCDF(Network Common Data Form,網路通用資料格式)改變了這個約定。
其設計選擇是自我描述。netCDF 檔案包含其所含資料的相關資訊,並以機器無關的格式儲存,因此可在以不同方式表示整數、字元與浮點數的電腦上讀取。大型資料集的小型子集可有效率地取得,甚至可遠端取得,且資料可附加寫入,無須複製整個檔案。
這使它成為社群標準,而非單一實驗室的格式。Unidata 稱它是一套函式庫與機器無關的資料格式,同時也是分享科學資料的社群標準,並提供 C、C++、Java 與 Fortran 的介面;ECMWF 則將 netCDF 描述為常用於儲存與散布科學資料,並有 CF 等慣例來標準化其中繼資料。
它達成了什麼
把描述放進資料檔案本身
為何奏效
自我描述的檔案無須外部文件即可讀取。
機器無關性讓同一個檔案能原封不動地跨架構移動。
子集擷取意味著龐大的資料集無須整份載入即可使用。
每種主要語言都有免費函式庫,消除了採用的成本。
可套用之處
當資料的壽命長於其軟體時,就把中繼資料嵌入檔案;自我描述的格式能挺過工具更迭,因為檔案會自我說明。
後續發展
NetCDF 成為氣候與海洋資料的通用媒介——ECMWF 在其原生 GRIB 格式之外也提供它,而 CF 慣例則標準化其中的中繼資料。NetCDF-4(2008 年)加入了現代功能,同時讓經典檔案仍可讀取。
追溯依據
參考來源
- NetCDF Software NSF Unidata (UCAR) · unidata.ucar.edu
- What are NetCDF files and how can I read them ECMWF Copernicus Knowledge Base · confluence.ecmwf.int ·