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。
-
avrg 檔名(如 ROOT.S.grd,必須包括所有的附加檔名、大小寫會分辨、若有目錄須先建立,最多60個字元)
-
挑選物質的序號(若是是shk結果*S.grd,序號物質配對分別是: 1O3 2NO2 3SO2 4VOC 5PM25 6PM10 7PNO3 8PSO4)
-
時間頻道(小時, O3為逐時1, PM's為逐日24及逐月720或744)
- ROOT.S.grd**specnam.ga (GrADS二進位檔案,specnam** = 物質名稱)
- ROOT.S.grd**specnam**.ctl (grads 控制ASCII檔)
camx600
/slim
/shk
/dmavrg
/tmavrg
... etc 各項數據處理
- for i in 5 6;do
avrg2grads
1309_Hs.S.grd02LD $i 24;done (5及6分別為 PM2.5 and PM10) -
grads
-p -b -c 'run XX.gs' (XX=o3或pm,將會產生 png's) -
~/bin/monpm.cs
amn (amn=jan~dec, 將4 圖拼貼在一頁面之內,並產生pdf圖檔,做各個月的逐日平均圖檔,或是做逐日的日間每三小時臭氧分布,再編成全月31頁的pdf圖檔: - for i in {01..31};do -geometry +4+4 ??L$i"DEC2010.png" $i.pdf;done; pdf_all ?? dec_O3
- 結果 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.相關批次檔
[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
montage
是 ImageMagick命令列指令,若無指令可以由管理員身分自網路下載裝置sudo yum install ImageMagick
利用linux內設ghostscipt指令gs將一頁頁pdf檔彙集成全月檔。
avrg2grads_all
與avrg2grads
類似,但沒有物質種類輸出選項,全部物種輸出在一個檔案。前述avrg2grads
應用在測試階段還算方便,然而會產生太多檔案,不便管理,因此需要全部物質種類存在一個.ga檔,及同一個.ctl控制,以避免太多不必要的中間檔案。尤有進者,O3與PM繪圖的時間頻率與要求不同,因此用不同的.gs控制會比較方便。
avrg2grads_all FILE檔名
檔名如_ROOT.S.grd_,必須包括所有的附加檔名、大小寫會分辨、若有目錄須先建立,最多60個字元。
- ROOT.S.grd.ga (GrADS二進位檔案,變數名稱順序與ROOT.S.grd相同)
- ROOT.S.grd.ctl (grads 控制ASCII檔)