BPIPPRM之遠端計算服務範例
背景
- 由於BPIPPRM並沒有長時間的積分計算,因此其計算對工作站而言較為容易。
- 比較繁雜的程序是座標、夾角的量測、旋轉平移的計算。
- 然其描圖、座標平移則需依賴許多python模組,以及Fortran的編譯,都會需要與作業系統持續保持更新。
- 細部CGI-python程式設計詳見bpipprim.py之說明。
CaaS的作業方式
- 先在地圖數位板上點選煙囪及建築物頂點位置、存成kml檔案(大致上取代前述步驟1-4,結果詳下圖1)
- 利用rotate_kml程式將kml檔案旋轉成廠區座標系統,並另存BPIPPRM的輸入檔,即為前述步驟5-7,確認如下圖2。
- 執行BPIPPRM計算(步驟8)
- ISCPARSER解讀器會將BPIP.INP內容讀成圖像(kml檔案),然須在輸入檔的第一行(標題說明)找到廠區的原點位置,座標系統為TWD97,單位為m,詳見污染源空間解讀器-建築物之設定說明,範例如:
'BPIP input file with 1 bldg and 1 stacks,originated at [170249.3,2531503.5](TWD97m).'
圖1實例廠區數位化結果,雖然數位板點選結果有些歪斜,rotate_kml程式會將其均化修正 |
圖2實例廠區rotate_kml旋轉後之輸入檔,經ISCPARSER解讀結果 |
遠端計算服務實例
圖3建築物前處理(BPIPPRIME)遠端計算服務實例之畫面 |
檔案架構
- EXE:
BPIP='/Users/1.PlumeModels/ISC/BPIPPRM/bpipprm'
- HTML
- $web/BPIPPRIM.html
- 使用filepicker開啟使用者指定上傳的檔案
- CGI-PY:$cgi/isc/bpipprim.py、詳說明。
- 輸入檔
- BPIP input file:BPIP.INP (from html, filename not limited)
- CGI wabpage header:$cgi/isc/header.txt
- 輸出檔
- 工作目錄:$web/isc_results/bpip__ RAND/
- build.txt(SO listings, used to paste into the runstream INP file)
- fort.12(Process results)
- fort.14(Execution Summary, GEP checking)
- RAND為隨機產生之6碼文字
結果&討論
- 執行結果檔案連結(範例)
- ``` filename given and save as: fort.10
BPIPPRIN_results: The download process should start shortly. If it doesn’t, click:
build.txt fort.12 fort.14 ```
Reference
- Petersen, R. L. and Guerra, S. A., (2018). PRIME2: Development and evaluation of improved building downwash algorithms for rectangular and streamlined structures. Atmospheric Environment, 173, 67-78.
- USEPA, Building Downwash Alpha Options in AERMOD, www.epa.gov, downwash_alpha_options_white_paper, 05-13-2019