ptsEnHRBE.py程式說明

 

背景

  • CAMx及CMAQ模式基本上是可以接受多個點源檔案的,但因CMAQv531還不能接受全月整併成一個檔案,如果再區分許多的點源來源,那檔案個數就會倍數成長,因此需要進行煙囪維度方向的整併。
  • 雖然是不論是輸入或輸出檔案格式,都還是CAMx7的nc格式,然而因是CMAQ點源處理的必要過程,因此歸類在CMAQ的程序之一。
  • 高空點源(ptsE)與港區船舶排放(HRBR)檔案的產生,可以詳見CAMx高空點源排放檔案之產生港區船舶之點源排放
  • 結果檔案將提供給CMAQ點源程式pt_constpt_timvar使用。

程式之執行

檔案準備

確認ptsE結果檔

ptsE檔案是用來做為成果的模版,因此需要確認的項目較多

確認HRBR檔案

  • 時間的長度,必須與ptsE一致
  • 污染物變數項目,必須全部含括在ptsE檔案之內。

確認檔案路徑

  • 因檔案路徑是寫在程式內(path='/nas1/TEDS/teds11/'),需要確認確實找得到檔案,包括
    • $path/ptse路徑下有 P=path+'ptse/fortBE.413_teds10.ptsE'+mm+'.nc'
    • $path/ship路徑下有 P=path+'ptse/fortBE.413_teds10.HRBR'+mm+'.nc'

引數

  • 因為檔案不小,分月、同步執行較為省時,引數為月份(1~12)

執行程式

  • for m in {1..12};do sub python ptsEnHRBE.py $m

程式說明

  • 先延長較單純的變數,如CP_NO,將結果檔的維度向COL方向拉長,
  • 再依變數的形狀(rank)將HRBR檔案,轉貼在ptsE檔案之後。
  • 為避免未給定值造成遮蔽,即使船舶排放檔沒有排放量內容的變數,也必須給0。
  v='CP_NO'
  for c in range(noptsp,nopts):
    nco.variables[v][c,:]=ncs.variables[v][c-noptsp,:]
  for v in v1:
    for c in range(noptsp,nopts):
      nco.variables[v][c]=ncs.variables[v][c-noptsp]
  for v in v2p1:
    for c in range(noptsp,nopts):
      nco.variables[v][:,c]=0.
      if v in v2s:
        nco.variables[v][:,c]=ncs.variables[v][:,c-noptsp]
  nco.NCOLS=nopts
  nco.close()

程式下載

結果確認

  • 可以使用pt2em_d04.py以地面排放檔將點源nc檔網格化,再以VERDI檢視是否在港區範圍有增加排放量。