cmaq2camx背景
- 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的實作歷程發現
- 此處詳細說明程式之下載、編譯、輸入環境變數或標準輸入的選項內容。
- camx2cmaq詳參[[2022-07-04-camx2cmaqd4.py]]1、[[2022-07-04-emis]]2、[[2022-07-04-CAMx2IOapi]]3
下載及編譯
- 下載點:https://camx-wp.azurewebsites.net/getmedia/cmaq2camx.22sep16.tgz
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
- 編譯器(gfortran)
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 | 點源後處理 | 按照逐時有效高度加入點源檔中的高度位置資訊 |
所有腳本內容
項次 | 處理對象 | 範本 |
---|---|---|
1 | 轉換邊界濃度 | conv_bcon.job |
2 | 轉換排放量檔 | conv_emis.job |
3 | 轉換初始濃度(1轉2) | conv_icon.job |
4 | 轉換點源(2合1) | conv_ipnt.job |
環境變數(env var)與程式標準輸入(std input)
程式 | 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 |