Link Search Menu Expand Document

使用WACCM全球預報作為東亞邊界條件

Table of contents

背景

  • WACCM全球空品預報結果做為地區CMAQ預報模式的邊界條件(BCON)並不是一件新事,範例如[Vaughan, et. al (2018,2020)]1所示(AIRPACT)。
  • 數據來源與處理詳WACCM模式結果之下載、讀取及應用,此處詳述銜接過程與問題。
  • 問題:
    • Ramboll公司提供的mz2cmaq.job,為舊版CAMQ化學物質,與新版無法配搭,還需將污染物名稱予以重新命名。
    • 即使重新命名、修改nc檔案的全域屬性,仍然不被CMAQ接受,原因不明,還得再將數據內容填入BCON模版。

舊版CMAQ化學物質重新命名

o2n.cs

  • 似乎是CB05與cb6之對照
  • 粒狀物完全沒有CMAQ之特徵
  • 還有5項物質完全對應不到CMAQ(CCRS,DMS,HCN,MECN,TRP)
  • 由於'NA'字母數太少,出現在很多污染物名稱之中,因此置換是將會出現錯誤,需在前後都加上空格,才能精準置換。
  • 變數名稱不能含有空格,bash中可以使用xargs去除空格,詳Linux系統xargs指令範例與教學
  • 使用NCO指令
    • ncrename -v:重新命名
    • ncatted -a:更新屬性值
$ cat o2n.cs
ncrn=/usr/bin/ncrename
ncat=/usr/bin/ncatted

#CCRS,DMS,HCN,MECN,TRP
lis="NO              NO2             O3              H2O2            N2O5            HNO3            PNA             PAN             OPAN            CO              PAR             OLE             IOLE            FORM            ALD2            MGLY            ETHA            ETH             ETHY            PRPA            ACET            ETOH            MEOH            MEPX            FACD            AACD            KET             ISOP            ISPD            TERP            TOL             XYL             BENZ            CRES            SO2             NH3             MECN            HCN             TOLA            XYLA            BNZA            ISP             TRP             CH4             DMS             GLY             PSO4            PNH4            SOA3            SOA4            POA             PEC             FCRS            CCRS            NA              PCL             NUMATKN         NUMACC          NUMCOR          SRFATKN         SRFACC          SRFCOR          "
old=( 'BENZ   ' 'BNZA   ' 'FCRS ' 'CH4 ' 'ISP ' ' NA  ' 'PCL ' 'PEC ' 'PNH4 ' 'POA  ' 'PSO4 ' 'SOA3 ' 'SOA4 ' 'TOLA  ' 'XYL  ' 'XYLA  ')
new=( 'BENZENE' 'BENZRO2' 'ASOIL' 'ECH4' 'ISPX' ' ANAJ' 'ACLK' 'AECJ' 'ANH4J' 'APOCJ' 'ASO4J' 'AMT3J' 'AMT4J' 'TOLRO2' 'XYLMN' 'XYLRO2')
nv=$(echo ${#old[@]})
for ((i=0;i < $nv; i+=1));do
  o=${old[$i]};n=${new[$i]}
  lis=${lis/$o/$n}
done
$ncat -a VAR-LIST,global,o,c,"${lis}" $1
for ((i=0;i < $nv; i+=1));do
  o=${old[$i]};n=${new[$i]}
  o=$(echo ${o}|xargs)
  n=$(echo ${n}|xargs)
echo ,${o},${n},
  $ncrn -v ${o},${n} $1
  $ncat -a long_name,${n},o,c,"${n}" $1
done

合併CAMS與WACCM數據檔

原理說明

  • 合併2個數值預報產品的努力幾乎是不可能完成的任務,2個模式的時間變化特性完全一樣嗎?空品項目的定義完全一樣嗎?物質之間的化學平衡可以在CCTM裏仍然維持嗎?汙染煙團的通過時間會一致嗎?有許多合理的懷疑點。
  • 雖然知道不可能,此處還是假設2個模式的定義、模擬結果的時間、空間特性完全一樣,作為程式設計的原理,按照5天(CAMS的預報長度nt1)為一個分界:
    • 0~nt1:完全使用CAMS數據
    • nt1~nt2:以WACCM為主,如果沒有這個空品項目,則採用CAMS第5天之預報結果(24小時循環)

程式碼

$ cat mergeBC.py 
import numpy as np
import netCDF4
import sys, os
import datetime
from dtconvertor import jul2dt, dt2jul
# WACCM BC
nc = netCDF4.Dataset(sys.argv[1],'r')
V=[list(filter(lambda x:nc.variables[x].ndim==j, [i for i in nc.variables])) for j in [1,2,3,4]]
nt,nrow,ncol=nc.variables[V[2][0]].shape
v='TFLAG'
bdate=jul2dt(nc[v][0,0,:])
SDATE=[bdate+datetime.timedelta(hours=int(i*nc.TSTEP/10000)) for i in range(nt)]

#expand the bcon file
fname=' /nas2/cmaqruns/2022fcst/grid45/bcon/BCON_today_CWBWRF_45k'
nc1 = netCDF4.Dataset(fname,'r+')
V1=[list(filter(lambda x:nc1.variables[x].ndim==j, [i for i in nc1.variables])) for j in [1,2,3,4]]
nt1,nrow,ncol=nc1.variables[V1[2][0]].shape
bdate1=jul2dt(nc1[v][0,0,:])
idx=SDATE.index(bdate1)
for t in range(nt1-1,nt-idx):
  nc1.variables['TFLAG'][t,0,:]=nc.variables['TFLAG'][t+idx,0,:]
var=np.array(nc1.variables['TFLAG'][:,0,:])
var3=np.zeros(shape=nc1.variables['TFLAG'].shape)
var3[:,:,:]=var[:,None,:]
nc1.variables['TFLAG'][:]=var3[:]

for v in V1[2]:
  if v=='TFLAG':continue
  if v in V[2]:
    for t in range(nt1-1,nt-idx):
      nc1[v][t,:,:]=nc[v][t+idx,:,:]
  else:
    for t in range(nt1-1,nt-idx):
      nc1[v][t,:,:]=nc1[v][t-idx,:,:]
  for t in range(nt-idx,nt):
    nc1[v][t,:,:]=nc1[v][t-idx,:,:]
nc1.close()

結果評估

  • 邊界濃度對D1模擬範圍內空氣品質的影響似乎隨著時間逐步降低、10天的模擬則會加劇此一趨勢。這個結果疑似來自
    1. 全球模式(CAMS/WACCM)與CMAQ反應機制的差異、也可能來自
    2. 2個模式沉降量的顯著差異,CMAQ模式傾向較大的沉降損失,全球模式的損失似乎並沒有那麼大。
    3. 這項趨勢與全球模式的選擇並沒有太大的差異。
  • CAMS與WSCCM之間的差異
  1. 詳見NW AIRQUEST/REGIONAL MODELING CONSORTIUM MEETINGS(2018,~2020)及華盛頓州立大學土木系Joe Vaughan教授參與之AIRPACT(Air Indicator Report for Public Awareness and Community Tracking) 計畫