CMAQ2CAMx之單向轉換
Table of contents
- cmaq2camx是Ramboll公司提供的套件程式,將CMAQ模式的ICON、BCON、EMIS、PTSE等重要模擬條件檔,轉到CAMx平台上,符合uamiv、lateral_boundary及point_source之格式。
- 雖然CMAQ和CAMx二者不斷在更新、化學反應機制也更新到CB6及CB7,但cmaq2camx仍然停留在2016年CB5的狀態,不論程式或反應機制對照檔,都無法套用在最新的模式,使用者需自行注意是否合用,也要對轉出的結果再三檢查。
- 使用pseudonetcdf的pncgen來產生前述CAMx所需格式檔案,是否會比較方便?經過檢討並非這麼理想,可以參考這一個比較表,轉檔的方向雖然不同,但面臨的細節問題應該是一樣。
- BCON轉.bc的實作歷程發現,cmaq2camx還有一個最大的困難就是垂直層的概念差異很大,CMAQv5+不允許使用者合併WRF的垂直層,來提升高空的計算效率,但是CAMx在這方面並沒有這麼堅持。如果2者的垂直層定義不同,cmaq2camx並沒有提供調整的選項,使用者需自行調整匹配。
- 此處詳細說明程式之下載、編譯、輸入環境變數或標準輸入的選項內容。
下載及編譯
linux編譯
- 使用Makefile,修正程式庫位置(配合編譯器),如
IOAPI_INC = /opt/ioapi-3.2/ioapi/fixed_src
IOAPI_LIB = /opt/ioapi-3.2/Linux2_x86_64gfort
NETCDF_LIB = /opt/netcdf/netcdf4_gcc/lib
FC = gfortran
OPT = -mcmodel=medium -O2 -fno-align-commons -fconvert=big-endian -frecord-marker=4 -ffixed-line-length-0
LIB = -L$(IOAPI_LIB) -lioapi -L$(NETCDF_LIB) -lnetcdf -lnetcdff -lgomp
INC = -I$(IOAPI_INC)
macOS
- 以macOS之gfortran為例,Makefile如下表,重要設定說明如下:
- IOAPI_INC :特別連結到固定格式之包括檔(fixed_src)
- IOAPI_LIB :按照機器及編譯器的規格設定(preset)
- NETCDF_LIB :除了netcdf(C)之外,也需要有netcdff(FORTRAN)程式庫
- gomp :有的gcc會需要omp程式庫(gomp)
IOAPI_INC = /Users/IOAPI/ioapi-3.2/ioapi/fixed_src
IOAPI_LIB = /Users/IOAPI/ioapi-3.2/OSX_x86_gfortran
NETCDF_LIB = /usr/local/NetCDF4/lib
...
FC = gfortran
OPT = -mcmodel=medium -O2 -fno-align-commons -fconvert=big-endian -frecord-marker=4 -ffixed-line-length-0
LIB = -L$(IOAPI_LIB) -lioapi -L$(NETCDF_LIB) -lnetcdf -lnetcdff -lgomp
INC = -I$(IOAPI_INC)
執行轉檔
三支程式用途
項次 | 程式 | 處理對象 | 說明 |
---|
1 | spcmap | CMAQ濃度或排放量物種對應 | 每一類檔案都需先執行 |
2 | cmaq2uam | CMAQ轉換到CAMx | 主程式 |
3 | ptht | 點源後處理 | 按照逐時有效高度加入點源檔中的高度位置資訊 |
所有腳本內容
程式 | env var / std input | 變數/前導 | 內容 | 說明 | |
---|
spcmap | e | INFILE | CMAQ輸入檔 | 可以是前述4種檔案(點源為排放量檔) | |
spcmap | e | OUTFILE | spcmap輸出之暫存檔 | 連到以下CMAQEMIS, CMAQICON, CMAQBCON | 最終會將其移除 |
spcmap | e | MAPTBL | 物種對照表 | 如下表 | |
cmaq2uam | e | CMAQEMIS | 地面或點源排放量 | 經spcmap轉換結果,適用2者排放量檔 | |
cmaq2uam | e | CMAQICON | 初始檔 | 經spcmap轉換結果 | |
cmaq2uam | e | CMAQBCON | 邊界檔 | 經spcmap轉換結果 | |
cmaq2uam | e | STKGROUP | 點源參數檔 | CMAQ原始檔。只有點源需要 | |
cmaq2uam | s | File Type | 4碼字元 | BCON, ICON, EMIS, IPNT 4擇1 | |
cmaq2uam | s | OutFile1 (IC,BC,AR) | 第1輸出檔 | $OUTPUT_CAMx_BC | |
cmaq2uam | s | OutFile2 (TopC,PT) | 第2輸出檔 | 上層濃度或CAMx點源檔 | |
cmaq2uam | s | Output Timezone | $OUTPUT_TIMEZONE | CAMx時區8=PST, -8=TPE | |
ptht | s | Input CAMx PT | IPNT處理的第2輸出檔 | | |
ptht | s | Input CAMx Z | 舊版的高度壓力檔或新版的3D檔 | $CAMx_HEIGHT | |
ptht | s | Output CAMx PT | 輸出CAMx點源結果檔案 | $OUTPUT_CAMx_PNT | |
ptht | s | No. of MET layers | 輸出層數 | $OUTPUT_N_LAYERS | |
$SPECIES_MAPPING的選項
- 這些對照表仍然停留在2016年的狀態
- Ramboll提供了MAPTBL.sample檔案針對未知或其他反應機制,讓使用者可以自行撰寫適用的對照表。
CAMx版本 | CAMx機制 | CMAQ機制 | 排放/邊界 | 檔名 |
---|
CAMx6.2 | CB05_CF | CB05_AE5 | EMIS | MAPTBL.CAMx6.2_CB05_CF.CMAQ_CB05_AE5_EMIS |
CAMx6.2 | CB05_CF | CB05_AE5 | ICBC | MAPTBL.CAMx6.2_CB05_CF.CMAQ_CB05_AE5_ICBC |
CAMx6.2 | CB05_CF | CB05_AE6 | EMIS | MAPTBL.CAMx6.2_CB05_CF.CMAQ_CB05_AE6_EMIS |
CAMx6.2 | CB05_CF | CB05_AE6 | ICBC | MAPTBL.CAMx6.2_CB05_CF.CMAQ_CB05_AE6_ICBC |
CAMx6.2 | SAPRC99_CF | SAPRC99_AE5 | EMIS | MAPTBL.CAMx6.2_SAPRC99_CF.CMAQ_SAPRC99_AE5_EMIS |
CAMx6.2 | SAPRC99_CF | SAPRC99_AE5 | ICBC | MAPTBL.CAMx6.2_SAPRC99_CF.CMAQ_SAPRC99_AE5_ICBC |