|
RainfallToSPI.R
|
|
|
|
#1. 設定所需的時間:
|
|
* TDP.d1:每一旬的第一天
|
|
|
|
#2. 按照測站分割資料:
|
|
* STN.rain:對dataframe資料進行時,刪除第一個欄位後,還是dataframe
|
|
* N.days:對dataframe資料進行時,存下第一個欄位,形成array
|
|
* lapply() 回傳 list,而 sapply() 會簡化成向量
|
|
* rain.date:紀錄每個測站的資料時間點,如果不連續則代表有遺失值
|
|
|
|
#3. TDP rainfalls:
|
|
* 比對真實資料SSS和連續時間(Day.ini~Day.fin):
|
|
SSS中的DR(Daily Rain)[可能為不連續資料] --> Rain.Daily(list dtype)[必為連續性資料,但可能有NA值]
|
|
|
|
#3A yearlyTDPs:TDP.class:旬編號(從起始日2021/1/1-2025/12/31)
|
|
|
|
#3B TDP calculation:
|
|
* TDP.Station:計算每個測站每一旬的雨量加總
|
|
* 水文年:5上~4下
|
|
* HYR.TDP.Station:每個測站的旬雨量用矩陣紀錄,欄位是旬次(13~36, 1~12,也就是水文年),每一列表示不同年的資料
|
|
* STN_ID:刪除測站名稱中的空白
|
|
|
|
# Updating TDP rainfalls:
|
|
* Mayrain10_OLD.rds:
|
|
* 過去資料,格式和HYR.TDP.Station相同,有資料的時間是1992~2020,2021只有五月的旬資料
|
|
* 測站只有295個,HYR.TDP.Station測站有313個
|
|
* 配對不到的測站名稱:"C0A9A0" "C0M830" "C0R420"
|
|
* 將配對得到的測站資料更新,配對不到的並上NA讓每個測站的資料維度一致
|
|
|
|
* Clustering:
|
|
* "group295.csv"已紀錄測站分群(8群)
|
|
* 計算每一群在不同旬中的平均雨量值,算平均時忽略NA值
|
|
* 同一群的測站的雨量若有NA值,則使用對應的平均取代
|
|
|
|
# 台灣地圖和水庫識別
|
|
* station:測站經緯度
|
|
* map.twd97:台灣縣市位置資料
|
|
* waterid:台灣縣市編號
|
|
* rmap:水庫位置資料
|
|
* mainlandre:對應於rmap中的index,找出在台灣本島的水庫
|
|
* reserid:mainlandre的水庫對應的測站
|
|
* usere:有對應測站的水庫index(對應於rmap)
|
|
* usereid:有對應測站的水庫的對應測站index(對應於station)
|
|
|
|
# 各分區平均雨量:
|
|
* station測站可進行的分區:水庫集水區、cluster、灌區、流域、所屬水庫(usereid)
|
|
|
|
#
|
|
|
|
================================
|
|
資料特殊處理:
|
|
1. 雨量為負,轉換成0[default]/雨量為負或NA,轉換成0:轉換成旬累積雨量後,前者資料較少。在顯示水文年矩陣時,可能因為當旬中有位記錄到的雨量,就沒有資料了。
|
|
2. 測站複製:
|
|
zzz[[40]]=zzz[[43]] # Replace the Dazhi station by the Neihu station
|
|
zzz[[123]]=zzz[[250]] # Replace the Shanmei station by the Longmei station
|
|
zzz[[146]]=zzz[[261]] # Replace the MuDan station by the Shihmen-Shan station
|
|
zzz[[148]]=zzz[[263]] # Replace the MuDan-Chishan by the Shou-Ka station
|