Highlight Today
CAMS upgrades its global forecasting system
19th May 2021
The global forecasting system of the Copernicus Atmosphere Monitoring Service (CAMS*) was successfully upgraded on 18 May. The CAMS forecasts are produced by the latest version of the highly successful Integrated Forecasting System (IFS), run by the European Centre for Medium-Range Weathe...
>
CAMS Near Real Time 檔案處理
背景
歐洲近程預報中心(ecmwf)是位在英國雷丁的國際機構,組織如圖。其中哥白尼空氣監測服務(Copernicus Atmosphere Monitoring Service)為提供會員國有關空氣品質服務的整合系統,詳見官網及wiki說明。
其資料來源包括衛星觀測(如下圖)、地面觀測、以及模式模擬的結果,為一同化後的結果,因此會有比較高的參考價值。
資料下載
CAMS NRT數據必須使用python module下載,雖然提供了點選的網頁,但是為產生程式碼,實際下載是使用python 的WEBAPI程式,在OS的命令列環境執行下載程序的。
1.註冊、登入(密碼必須含有特殊字元)
2.點選月份、時間、步階、測項,之後可以選擇預覽及格式,如下圖:...
>
BCON轉.bc檔
背景大要
這項作業是從CMAQ的邊界檔案(BCON)轉寫成CAMx的邊界檔(.bc)。雖然官網有提供轉換程式([cmaq2camx][cmaq2camx],詳參[[2022-07-05-cmaq2camx]]),但是還是有時間與空間上需要調整:
BCON檔案有40層,而CAMx模擬只用到15層,因此在垂直向需要進行篩選(slim_bc.py)。
BCON最後一小時是00,不是23,這點也在slim_bc.py內解決。
BCON是按照WRF的執行批次,兩個批次之間有重疊一天(需先用[brk_days2.cs][brk]按照日期拆開後、再按照CAMx的執行批次時間範圍、以ncrc...
>
增量濃度分析程序與檢討
前言/背景
計算不同排放情境模擬結果的濃度差異,是執行空品模式常見的作業。如CMAQ這樣有nc檔案輸出的模式,以dNC就可以簡單解決。但因為CMAQ的粒狀物定義同時有i,j,k濃度(CCTM_ACONC)與其重量比例(CCTM_APMDIAG)等2個場同時介入,因此造成非常高度之非線性結果。
按照PM的計算方式(see also [[2021-12-16-combine]][^1]),非線性來源有3:
化學反應:開發單位(以下以高雄興達電廠為例)因排放大量NO,造成局部地區O3快速反應消失,因氧化物減少,原生性污染物SO2、NO2的轉化能力下降,於是造成局部地區衍生性粒狀物成分減量、造成PM比例的失衡,會出現在營運前後CCTM_ACONC檔案的差異。
...
>
CAMx 模式的BC
邊界濃度條件的系統性建立流程、局部修改作業等等,都是CAMx個案模擬之系統建立與修正過程的重要元素(see [[2022-06-24-CAMx_ICBC]])。這裡介紹傳統Fortran、Python以及[[2022-06-26-pncgen]]作法,以及執行經驗。
邊界濃度檔案之格式
以下依序介紹Fortran與Python作業方式的檔案格式差異。
因Fortran程式為循序存取,python則透過程式庫直接存取,對於存取順序有不同的要求,程式設計上有很大的差異。
uamiv與lateral_boundary格式內容之比較(Fortran)
CAMx的邊界濃度檔案格式有別於其他所有格式,除了4筆表頭內容一致外,增加了第5~8筆表頭內容
時變部分,因邊界濃...
>
ncgen & pncgen
背景
nc格式的檔案處理起來很快速、有效,但是如何不藉著模版、從零開始形成一個新的nc檔案呢?
從python程式的nc.createDimension、nc.createVariable開始
從fortran程式連結libioapi.a程式庫,write3()寫一個新的nc檔案
或是此處要介紹的ncgen程式
雖然改變nc的程式已經非常多了,netCDF的原創單位Unidata還是提供了以格式轉換為主要功能的工具ncgen。
按照官網說明,ncgen的功能至少有:
確認CDL(Common Data Language)格式檔案的內容
反轉ncdump輸出的結果,成為nc檔案。...
>
從空品檔案切割邊界濃度 BNDEXTR
背景
空品模式需要的邊界濃度,通常是更大範圍(全球模式如CAM-chem([2022-06-27-CAMx_BC])、上層網格、粗網格)的模擬、或再分析結果,因此會需要從空氣品質檔案中切割出邊界上的濃度,除了座標系統的對照、切割之外,還需要進行內插。
CMAQ系統有bcon可以進行切割、也有python的版本。CAMx則需要BNDEXTR。執行則需要有c-shell 的腳本。
PseudoNetCDF也有提供CAMx邊界濃度檔案格式(pncgen -f lateral_boundary)的讀取及輸出,因此也可以在python平台來處理。
([2022-06-26-pncgen])
BNDEXTR.f程式
程式下載
BN...
>
從空品檔案挑選特定物種時間之內容:PickAvrg.f
背景
在PseudoNetCDF問世之前,處理[uamiv]格式的檔案只能靠fortran程式,而fortran的檔案處理功能實在不是很靈活,因此也撰寫了許許多多的小程式,以應付多元的需求。PickAvrg.f就是其中之一。當然如果使用了新版CAMx的ncf功能之後,或者熟悉一下pncgen、pncdump、PseudoNetCDF的python平台等等,此類fortran程式就再也不需要、可以功成身退了。
程式下載
Download: CAMx初始檔產生程式:PickAvrg.f
檔案管理
需要檔案
編譯時,會需要早期UAM程式的內含文件(PARAMS.CMD等等,可以在UAMIV-CMDs@FAQ找到這些檔案)
引數
...
>
156 post articles, 20 pages.