v6_to_v7.py程式說明
背景
檔案準備
CAMx7點源檔案模版
- 檔案位置:
/nas1/TEDS/teds10_camx/HourlyWeighted/ptse/template_v7.nc
- 檔案內容
$ ncdump -h $nc|H
netcdf template_v7 {
dimensions:
TSTEP = UNLIMITED ; // (2 currently)
COL = 1 ;
CPStrLen = 12 ;
VAR = 25 ;
DATE-TIME = 2 ;
variables:
float ALD2(TSTEP, COL) ;
ALD2:long_name = "ALD2 " ;
...
- 只有一支煙囪(開發計畫之集束煙囪)
- 時間可增加(unlimited)
CAMx6點源檔案
引數
- 無
- 程式內執行月份之迴圈
執行程式
python v6-to-v7.py
對時間維度進行開展
...
tflag =nc.variables['TFLAG'][:,:nvs,:]
etflag=nc.variables['ETFLAG'][:,:nvs,:]
...
res=os.system('cp template_v7.nc '+fnameO)
nc = netCDF4.Dataset(fnameO, 'r+')
...
for t in range(nt):
nc.variables['TFLAG'][t,:,:]=tflag[t,:,:]
nc.variables['ETFLAG'][t,:,:]=etflag[t,:,:]
建立2個版本的參數對照
- 主要煙囪參數,為2個版本所共有部分
PRM='XYHDTV'
names={7:['xcoord','ycoord','stkheight','stkdiam','stktemp','stkspeed'],
6:[v+'STK' for v in PRM]}
v2c6={PRM[i]:names[6][i] for i in range(6)}
v2c7={PRM[i]:names[7][i] for i in range(6)}
- 以exec()在迴圈中將新檔案填滿
for v in PRM:
exec('nc.variables["'+v2c7[v]+'"][:]='+v)
程式下載
Download: CAMx6點源檔案更新至CAMx7之轉接程式:v6_to_v7.py
結果確認
- 可以使用pt2em_d01.py以地面排放檔將點源nc檔網格化,再以VERDI檢視是否在開發計畫位置確有增加排放量。