Link Search Menu Expand Document

測站模擬值之讀取

Table of contents

前言/背景

  • CMAQ系統提供的後處理程序中,按照執行程序有combine.exe及wsite.exe,前者於綜合空品項目之計算詳述,後者則於此處說明。

腳本說明

引數及環境變數

  • 引數為月份(01~12)、層數(d02或d04)
  • 各案相關環境變數
    • $STKCASEE:排放方案之標記,每次執行前要注意設定
    • $START_DATE 、$END_DATE :程式是用開始與結束的日期來控制範圍,如果有別於全月8個RUN的設定,可以修改此2值

輸入文字檔

  • $SITE_FILE :此檔案內有測站座標
  • $TZFILE :測站之時差資訊

SITE_FILE 範例

kuang@master /nas1/cmaqruns/2016base/data/sites
$ head sites.txt
1,121.76,25.129166666666666
2,121.64055555555555,25.065555555555555
3,121.68972222222223,25.179444444444453
4,121.53777777777779,24.977222222222217
5,121.45166666666668,24.9825
6,121.45861111111113,25.01277777777777
7,121.4325,25.03777777777778
8,121.48083333333334,25.06888888888889
9,121.36555555555556,25.07833333333333
10,121.44916666666668,25.16444444444444  

TZFILE 範例:

kuang@master /nas1/cmaqruns/2016base/data/sites
$ head tz.csv
78, 8.0,Taiwan
121.76,25.129166666666666
121.64055555555555,25.065555555555555
121.68972222222223,25.179444444444453
121.53777777777779,24.977222222222217
121.45166666666668,24.9825
121.45861111111113,25.01277777777777
121.4325,25.03777777777778
121.48083333333334,25.06888888888889
121.36555555555556,25.07833333333333

輸入及輸出檔位置

  • CCTM_COMB檔案放在$POSTDIR即可
  • 程式將會輸出MDL_*csv檔案,也是在$POSTDIR內出現,這些檔案會進一步與測站數據比較,並進行性能評估。

CMAQ的測站比對

  • 使用cat_mdl.cs連結逐日MDL*.csv結果
  • 此腳本將wsite逐日之結果予以整併,與環保署測站測值(在CAMx系統中整理成ovm.dat),進行比較及性能評估。

abi_inp.txt檔案之定義及產生

abi_inp.txt檔案中指定比對起迄的時間點

  • 格式:%y%m%d%H共8碼,中間空1格
  • LST,非UTC
    • 如以模擬時間為準,起於8:00、迄於7:00
    • 如以全月為準:起於前月最後日之20時,迄於本月最後日的23時
  • 各批次之起迄時間:由mk_inp.cs計算、置換、產生abi_inp$RUN.txt檔案備用
  • $POST :COMBINE及WRITE_SITE結果目錄
  • $ROOT :網格層數(d02/d04)
  • head.txt:
    • 即為MDL.csv的標頭。
    • 因為在run_wsiteMM_DM.csh將表頭關閉了(setenv PRTHEAD N,line 98~99),所以此處要將其還原。
  • MDL*csv分成2個群組,以cat程式將逐日檔予以組合,以避免排序時,含有run10等字元的檔名排在run5的前面。
kuang@node03 /nas1/cmaqruns/2016base/data/sites
$ cat cat_mdl.cs
yymm=$(echo $PWD|cut -d'/' -f7)
yy=$(echo $yymm|cut -c1-2)
POST=/nas1/cmaqruns/20${yy}base/data/output_CCTM_v53_gcc_${yymm}/POST
test $yy == 16 && TEDS=10
test $yy == 19 && TEDS=11

ROOT=$1
test $ROOT == 'd04' && GRID='TWN_3X3'
test $ROOT == 'd01' && GRID='EAsia_81K'
test $ROOT == 'd02' && GRID='sChina_27k'
FRST=20$(head -n2 abi_inp.txt|tail -n1|awkk 1|cut -c1-6)
YM=$(date -ud "20${yymm}01 -1 day" +%Y%m)
BEGD=$(date -ud "${YM}15 + 16 day" +%Y%m%d)
if [ $FRST -lt $BEGD ];then
for ((d=$FRST;d<=$BEGD;d=$(date -ud "${d} + 1 day" +%Y%m%d)));do
if ! [ -e $POST/MDL_v53_gcc_${yymm}_run5_${d}_${GRID}_${TEDS}.csv ];then
PYM=$(date -ud "20${yymm}01 -1 month" +%y%m)
PPST=/nas1/cmaqruns/20${yy}base/data/output_CCTM_v53_gcc_${PYM}/POST
ln -sf $PPST/MDL_v53_gcc_${PYM}_run12_${d}_${GRID}_${TEDS}.csv \
$POST/MDL_v53_gcc_${yymm}_run5_${d}_${GRID}_${TEDS}.csv
fi
done
fi
cat ../head.txt \
$POST/MDL_v53_gcc_${yymm}_run[5-9]*_${GRID}_${TEDS}.csv \
$POST/MDL_v53_gcc_${yymm}_run1[012]*_${GRID}_${TEDS}.csv \
> MDL.csv

#filtering the dates wanted
../datesIn.py

~/bin/abi/abi_cmaq.x $ROOT

MDL.csv檔案之讀取

  • 使用datesIn.py
    1. 讀取abi_inp.txt的起迄時間、
    2. sta_ll.csv的測站編號-名稱對照表,
    3. 修減全月結果(MDL.csv及ovm.dat)到指定的時間範圍內。
  • 詳見datesIN.py程式說明

模擬及時測值之比對

  • 使用abi_cmaq.f程式。
  • 程式設計與abi_camx.f類似
  • 引數:$ROOT 將會出現在結果檔名中
  • 結果檔:abi_d04.txt
kuang@master /nas1/cmaqruns/2019base/data/wsites
$ head 1912/abi_d04.txt
STA NAME  MB_O3  OB_O3  GE_O3 OB_PMT GE_PMT OB_PMf GE_PMf OB_NO2 GE_NO2 OB_HC  GE_HC   OB_SO2 GE_SO2
  1 ▒▒  0.24   0.16   0.18* -0.55   0.59* -0.42*  0.62* -0.38*  0.64* -0.36*  0.51* -0.01*  0.73*
  2 ▒▒▒  0.25   0.20   0.22* -0.54   0.59* -0.47*  0.63* -0.66   0.70*   NaN    NaN  -0.22*  0.59*
  3 ▒U▒▒  0.23   0.17   0.19* -0.65   0.74* -0.66   0.72* -0.09*  0.66*   NaN    NaN  -0.35*  0.55*
...
 69 ▒ˤs  0.08*  0.16   0.22* -0.43*  0.53* -0.35*  0.51* -0.04*  0.40*   NaN    NaN  -0.40*  0.54*
101 all   0.20   0.17   0.21* -0.47*  0.57* -0.38*  0.56* -0.25*  0.54*  0.12*  0.50* -0.36*  0.60*
Attainment MB_O3 OB_O3  GE_O3 OB_PMT GE_PMT OB_PMf GE_PMf OB_NO2 GE_NO2 OB_HC  GE_HC  OB_SO2  GE_SO2
   68.3%  17.2%  31.0% 100.0%  53.4% 100.0%  84.5% 100.0%  67.2%  94.8%  88.9%  92.6%  56.9%  93.1%