有點混亂的 2020 年,台灣還有可能創下 56 年來全年無颱登陸的記錄(只剩下不到兩個半月,估計颱風侵台機率不高),慶幸無災之餘卻得擔心各地水庫蓄水量吃緊。

上週好奇想知道水庫水位狀況,意外找到水利署有個防災資訊服務網提供各水庫蓄水量的視覺化展示網頁,做得頗為精美(我還偷偷研究它的下雨跟水面波紋動畫是怎麼做的),當時翡翠水庫的水位降到 50% 以下,感覺不妙!

上週四起連下好幾天雨,帶來好消息,翡翠水庫的水位10/19 已回升到 65%,依翡翠水庫管理局預估,目前的蓄水量應付大台北地區到明年一月底的用水應該沒問題。但我該死的好奇心又來了,想知道水庫一年 12 個月的水量變化,哪個月份最低?哪個月份最高?依照直覺,應該會從梅雨季開始累積,夏天颱風季節達到最高點,到了冬天(台灣旳枯水期為 11 月到隔年 4 月)再一路下滑到隔年梅雨季完成循環?(後來證明我猜錯了)

只要有地方抓資料,寫個小程式再加上強大的 Excel,不難自己算出答案。

防災資訊服務網有個水庫水情比對分析介面可查各水庫某年某月某一天的蓄水百分比、集水區雨量、進水量及出水量... 等,很好,夠權威的資料來源有了。

懶得研究 Web API,用 Chrome F12 工具監看查詢動作,轉存成 PowerShell 指令:

利用之前學的 PowerShell 知識,打開 Visual Studio Code 稍作修改,我寫了一小段程式去撈 2008/1/1 到今天為止的翡翠水庫水情資料:(大推 VSCode。要寫 C#/ASP.NET,Visual Studio 是首選;至於其他的程式語言(PowerShell、JavaScript、Python、C++),用 Visual Studio Code 就對了! )

將 CSV 結果匯入 Excel,用公式抓出年份跟月份,原始資料就準備好了。

有些日期沒有資料,我在抓資料時已過濾掉,原本也想看看雨量、進水量、出水量與蓄水百分比的關聯,但這部分的數字品質較差,除了如上圖會出現 -999,還有下圖這種連續多天數字相同的狀況,最後我只對蓄水百分比做分析:

將資料轉成樞鈕分析表,可輕易算出各年度各月份的蓄水百分比月平均值,並做出圖表:

順便再看今年跟歷年月平均比較:

由上述結果得出以下結論:

  1. 每年各月水位變異還蠻大的,但 12 月到 1 月幾乎都是蓄水百分比最高的時候(接近 90%),故一開始的提問有個明確答案 - 翡翠水庫的最高水位多半出現在 12 月到 1 月,在枯水期而非颱風季,登楞! (我猜想了幾個原因:冬天水分蒸發較少、主要供應民生用水的特性始然、靠東北季風補充雨量)
  2. 依據統計數字,蓄水量最少的月份落在 7 - 9 月間,歷年平均分別為為 70.3%、67.8%、68.8%。(是的,最低點出現在颱風最多的季節)
  3. 2020 到 10 月為止的年平均蓄水百分比為 71.3%,是 2008 以來的第三低,前兩名是 2010 的 70.2% 跟 2009 的 71.1%。
  4. 雖然今年至今的平均值是倒數第三,但過往 8 - 12 月百分比會逐步上升,今年則是一路下探,往年 10 月應該要到 80% 以上,今年靠連續幾天降雨從 50% 拉上來。而 2010 很有趣,9 月低到 46%,10 月急拉到 69%、11 月到達 89% (查資料是拜梅姬颱風

PowerShell + Excel 練習完畢。

A example using PowerShell to crawl data from web site and analyzing them with Excel pivot tables and charts.


Comments

Be the first to post a comment

Post a comment


5 - 1 =