Link Search Menu Expand Document

OMI-Aura_L3-OMSO2e下載轉檔

Table of contents

背景

  • 這是個鄉鎮區平均氣象要素與空品濃度系列作業的一部份。作業方式主要的說明可以參考EARR。此處介紹OMI-Aura_L3-OMSO2e數據特殊的地方、以及因應的處理方式。

檔案名稱之管理

日期規則

  • OMI檔名之日期規則為YYYYmMMDD中間多了一個m,這是比較特別的地方。

檔名尾部

  • OMI檔案名稱中還加了檔案產生時間到秒之紀錄做為檔名的尾端,這點無法規則化,必須由前述的urls.txt中讀取、或者由實際目錄中存在的檔案名稱中讀取。
    • 前者不包括喪失後補遺的67個檔案
    • 後者可以用python與外卡指令fname=subprocess.check_output('ls OMI-Aura_L3-OMI_MINDS_NO2d_'+nowd+'*',shell=True).decode('utf8').strip('\n')
    • 但如果遇到補遺錯誤,同一天有2個或以上檔案,前述check_output結果會是個序列,而不是字串。
  • 程式相關檔名之段落如下
...
  nowd=ndate.strftime("%Ym%m%d")
  fname=subprocess.check_output('ls OMI-Aura_L3-OMI_MINDS_NO2d_'+nowd+'*',shell=True).decode('utf8').strip('\n')
  nc = netCDF4.Dataset(fname,'r')
...

座標系統

  • OMI檔案的經緯度也是1維的向量,但名稱為[‘Longitude’, ‘Latitude’]
  • 要讀取的3維矩陣的順序是(Time, Latitude, Longitude)
  • 其他新舊座標系統轉換與內插的作法,詳見EARR網格內插的說明
$ diff OMI2csv.py ../aTZPP/LGHAP.PM25.D001/LGHAP2csv.py
32c35
< ln,lt=np.meshgrid(Longitude, Latitude)
---
> ln,lt=np.meshgrid(lon, lat)

數據內容與處理

數據內容

  • OMI檔案中有4個3維實質物理量,分別是
    • ColumnAmountNO2:原觀測量
    • ColumnAmountNO2CloudScreened:經雲量修正
    • ColumnAmountNO2TropCloudScreened:同上,但僅限對流層部分。為此次讀取分析之對象。
    • Weight:網格加權量
  • 變數說明
$ ncdump -h $nc|group 

  • 矩陣中有不少是負值,原因不明。程式不納入內插及行政區平均。

遮蔽值之處理

  • L3 SO2e最佳處理結果仍未臻完全,即使是日均值,仍有許多缺值的情形。此處每日進行特別排除。
  • 只取正值、非遮蔽值進行內插
  • 因解析度較低(0.25度~20km),內插方式採cubic spline。
while ndate < edate:
  ...
  he = netCDF4.Dataset(fname,'r')
  nc = he.groups['HDFEOS']['GRIDS']['OMI Total Column Amount SO2']['Data Fields']
  var=nc[v][:,:].data
  var=np.where(var>0,var,0)
  boo=(x<=maxx+ncXCELL*50) & (x>=minx-ncXCELL*50) & (y<=maxy+ncYCELL*50) & (y>=miny-ncYCELL*50) & (var>0)
  idx = np.where(boo)
  mp=len(idx[0])
  if mp<=10: continue
  xyc= [(x[idx[0][i],idx[1][i]],y[idx[0][i],idx[1][i]]) for i in range(mp)]
  c=np.array([var[idx[0][i], idx[1][i]] for i in range(mp)])
  zz=griddata(xyc, c[:], (x1, y1), method='cubic')
  ...

單位轉換

  • 單位為DU。程式並未加以轉換。

程式下載

處理結果

OMI05_SO2.pngOMI22_SO2.png
OMI-Aura_L3-OMSO2e衛星觀測2005年平均值。單位DU同左,但為2022平均值