逐日排放檔案之切割程式

 

背景

  • 雖然空品預報是模擬當天的空氣品質,但是大多數排放數據資料庫仍然是舊有數據,除了需要校正到正確的月份與星期,以符合氣候與星期週期的排放變化,也需要將舊的日期標籤改換成新的標籤,以符合CMAQ的要求。
    • d01、d02仍然使用REAS v3.1數據,
    • d03則使用TEDS11數據
    • 即期排放(如電廠運轉率、CEMS數據、即時交通數據或預報數據)仍然有待發展
  • 本項工作乃空品預報中的一環,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點源的處理

  • 由於公版模式將點源併入網格之中,大幅降低其解析度,此處只取其第一層結果。
  • 高空部分

程式下載點

  1. https://sinotec2.github.io/FAQ/2022/08/20/CMAQ_fcst.html “ 運用GFS/CWB/CAMS數值預報數進行台灣地區CMAQ模擬”