背景
- 雖然空品預報是模擬當天的空氣品質,但是大多數排放數據資料庫仍然是舊有數據,除了需要校正到正確的月份與星期,以符合氣候與星期週期的排放變化,也需要將舊的日期標籤改換成新的標籤,以符合CMAQ的要求。
- 本項工作乃空品預報中的一環,see also [[2022-08-20-CMAQ_fcst]]1
程式說明
IO
- 引數:模擬開始日期
$BEGD
,格式為+%Y-%m-%d
- 程式也會讀取工作目錄,從中讀取網格設定,以開啟正確的排放資料母體檔案
網格 | 工作目錄 | 排放資料母體檔案 | 說明 |
---|---|---|---|
d01 | /nas2/cmaqruns/2022fcst/grid45/smoke | /nas1/TEDS/REAS3.2/origins/2015_D7.nc | |
d02 | /nas2/cmaqruns/2022fcst/grid09/smoke | /nas1/TEDS/REAS3.2/origins/2015_D8.nc | |
d03 | /nas2/cmaqruns/2022fcst/grid09/smoke | /nas2/cmaq2019/download-20220503/input/2019+mm+/grid03/smoke/ | mm=01~12,檔名詳下說明 |
公版模式排放檔案命名規則
- 該模式自每月前7天起始(
bdate7
),同時將模擬總日數寫在檔案名稱之中,而每月的日數不同,因此需予以計算(data_date
)。 - 該模式共讀取3個網格排放檔案,生物源、TEDS排放源、以及粗網格貢獻量。依序讀取(
fnames
)。
mm=tdy.split('-')[1]
smk='/nas2/cmaq2019/download-20220503/input/2019'+mm+'/grid03/smoke/'
ymn,ymp=rel_mon(bdate,+1)[:],rel_mon(bdate,-1)[:] #next and previous month and year[y,m sequence]
bdate7=datetime.datetime.strptime(tdy[:-2]+'01',"%Y-%m-%d")+datetime.timedelta(days=-7)
days=str((datetime.datetime(ymn[0],ymn[1],1)-bdate7).days)
data_date='2019'+'{:04d}'.format(ymp[1]*100+bdate7.day)+'.'+days
doms=['d4.ea2019_d4','TW3-d4.BaseEms','d4.ea2019_d4']
kind=['b3gts_l.','cmaq_cb06r3_ae7_aq.'+mm+'-','egts_l.']
fnameO=['begts.ncf','TEDS.ncf','egts.ncf']
fnames=[smk+kind[i]+data_date+'.'+doms[i]+'.ncf' for i in range(nf)]
d03點源的處理
- 由於公版模式將點源併入網格之中,大幅降低其解析度,此處只取其第一層結果。
- 高空部分
- 以CMAQ點源檔案型式輸入,檔案引用Focus-on-Air-Quality/EmisProc/ptse之處理結果。
- 在mk_ptse.py中對時間標籤加以處理。
程式下載點
Download: 逐日排放檔案之切割程式mk_emis.py
Download: 逐日點源排放檔案之切割程式mk_ptse.py
-
https://sinotec2.github.io/FAQ/2022/08/20/CMAQ_fcst.html “ 運用GFS/CWB/CAMS數值預報數進行台灣地區CMAQ模擬” ↩