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