avrg2grads(cn) - sinotec2/CAMx_utility GitHub Wiki

目的

本程式用以繪製GrADS之2維等值圖,包括等值線(Contour)與等值色塊圖(Shaded-plotting)。基本上,GrADS圖檔的繪製作業流程為:資料轉換(準備.dat及.ctl)→準備.gs→執行繪圖批次檔→整併圖檔成為pdf。本程式為第一步驟資料轉換。
資料維度上,原本CAMx模式結果是5維資料,而GrADS則是2維資料,因此需要進行篩選,此程式是繪製地面特定物質並指定時間頻率之資料。 就資料格式方面,因CAMx結果檔是無格式大端序檔案,因此GrADS資料檔也是如此,必須在.ctl檔中第三行特別予以加註byteswapped

命令列引數

  1. avrg 檔名(如 ROOT.S.grd,必須包括所有的附加檔名、大小寫會分辨、若有目錄須先建立,最多60個字元)    
    
  2. 挑選物質的序號(若是是shk結果*S.grd,序號物質配對分別是: 1O3   2NO2   3SO2   4VOC   5PM25   6PM10   7PNO3   8PSO4)    
    
  3. 時間頻道(小時, O3為逐時1, PM's為逐日24及逐月720或744)    
    

執行結果檔案命名方式

  1. ROOT.S.grd**specnam.ga (GrADS二進位檔案,specnam** = 物質名稱)
  2. ROOT.S.grd**specnam**.ctl (grads 控制ASCII檔)

執行作業方式範例

  1. camx600 / slim / shk / dmavrg / tmavrg ... etc 各項數據處理
  1. for i in 5 6;do avrg2grads 1309_Hs.S.grd02LD $i 24;done (5及6分別為 PM2.5 and PM10)
  2. grads -p -b -c 'run XX.gs' (XX=o3或pm,將會產生 png's)
  3. ~/bin/monpm.cs amn (amn=jan~dec, 將4 圖拼貼在一頁面之內,並產生pdf圖檔,做各個月的逐日平均圖檔,或是做逐日的日間每三小時臭氧分布,再編成全月31頁的pdf圖檔:
  4. for i in {01..31};do -geometry +4+4 ??L$i"DEC2010.png" $i.pdf;done; pdf_all ?? dec_O3
  5. 結果 amn_spec.pdf (amn=jan~dec) (spec=O3,PM2.5, PM10 ...)

繪製等值色塊圖尚需檔案:

 1. color.gs cbar.gs    
 2. TWN_COUNTY.dbf  TWN_COUNTY.prj  TWN_COUNTY.shp  TWN_COUNTY.shx    
 3.相關批次檔    

monpm.cs

[kuang@master con09]$ cat ~/bin/monpm.cs
for sp in PM10 PM25;do
for n in {1..8};do
m=$(( n*4 ))
montage -geometry +4+4 $(ls -rt *$sp".png" |head -n$m|tail -n4) $n".pdf"
done
pdf_all ? $1_$sp
done

montageImageMagick命令列指令,若無指令可以由管理員身分自網路下載裝置sudo yum install ImageMagick

利用linux內設ghostscipt指令gs將一頁頁pdf檔彙集成全月檔。

目的

avrg2grads_allavrg2grads類似,但沒有物質種類輸出選項,全部物種輸出在一個檔案。前述avrg2grads應用在測試階段還算方便,然而會產生太多檔案,不便管理,因此需要全部物質種類存在一個.ga檔,及同一個.ctl控制,以避免太多不必要的中間檔案。尤有進者,O3與PM繪圖的時間頻率與要求不同,因此用不同的.gs控制會比較方便。

命令列引數

 avrg2grads_all FILE檔名    

檔名如_ROOT.S.grd_,必須包括所有的附加檔名、大小寫會分辨、若有目錄須先建立,最多60個字元。

執行結果檔案命名方式

  1. ROOT.S.grd.ga (GrADS二進位檔案,變數名稱順序與ROOT.S.grd相同)
  2. ROOT.S.grd.ctl (grads 控制ASCII檔)

其餘處理方式,與前述相同。

⚠️ **GitHub.com Fallback** ⚠️