Learn R Programming

Ditwah

The Dithwa storm that hit Sri Lanka on November 28, 2025, led to this package, which focuses on data, monitoring, and early warning.

Installation

You can install the development version of Ditwah from GitHub with:

# install.packages("pak")
pak::pak("thiyangt/Ditwah")

Load Data 3 Hour Weather Data

library(Ditwah)
head(ditwah_3hr_weather_data)
#> # A tibble: 6 × 7
#>   Station_ID Station_Name   Report_Time         Rainfall_mm Temperature_C `RH_%`
#>        <dbl> <chr>          <dttm>                    <dbl>         <dbl>  <dbl>
#> 1      43404 JAFFNA         2025-11-28 08:30:00         32           24      100
#> 2      43413 MANNAR         2025-11-28 08:30:00        103.          24.3     95
#> 3      43415 VAVUNIYA       2025-11-28 08:30:00        358.          23.8     98
#> 4      43418 TRINCOMALEE    2025-11-28 08:30:00        262.          24.6     99
#> 5      43421 ANURADHAPURA   2025-11-28 08:30:00        331           21.4    100
#> 6      43422 MAHA ILLUPPAL… 2025-11-28 08:30:00        273.          22       99
#> # ℹ 1 more variable: report <dbl>

Data Visualisation

Flood Level Data

#> # A tibble: 154 × 16
#>    Report_Date Report_Time         River_Basin   Tributory_River Gauging_Station
#>    <chr>       <dttm>              <chr>         <chr>           <chr>          
#>  1 28-11-2025  2025-11-28 09:30:00 "Kelani Gang… Kelani Ganga    Nagalagam Stre…
#>  2 28-11-2025  2025-11-28 09:30:00 "Kelani Gang… Kelani Ganga    Nagalagam Stre…
#>  3 28-11-2025  2025-11-28 09:30:00 "Kelani Gang… Kelani Ganga    Hanwella       
#>  4 28-11-2025  2025-11-28 09:30:00 "Kelani Gang… Kelani Ganga    Hanwella       
#>  5 28-11-2025  2025-11-28 09:30:00 "Kelani Gang… Kelani Ganga    Glencourse     
#>  6 28-11-2025  2025-11-28 09:30:00 "Kelani Gang… Kelani Ganga    Glencourse     
#>  7 28-11-2025  2025-11-28 09:30:00 "Kelani Gang… Kelani Ganga    Kithulgala     
#>  8 28-11-2025  2025-11-28 09:30:00 "Kelani Gang… Kelani Ganga    Kithulgala     
#>  9 28-11-2025  2025-11-28 09:30:00 "Kelani Gang… Gurugoda Oya    Holombuwa      
#> 10 28-11-2025  2025-11-28 09:30:00 "Kelani Gang… Gurugoda Oya    Holombuwa      
#> # ℹ 144 more rows
#> # ℹ 11 more variables: Unit <chr>, AlertLevel <dbl>, MinorFloodLevel <dbl>,
#> #   MajorFloodLevel <dbl>, Remarks <chr>, WaterLevelRising_or_Falling <chr>,
#> #   Water_Level_Time <chr>, Water_Level <dbl>, RFmm <dbl>,
#> #   RFmm_measured_at <chr>, Water_Level_DateTime <dttm>

Situation Report

situation_report_30NOV1600
#> # A tibble: 25 × 8
#>    Districts    Families Persons Deaths Missing Safety_centres
#>    <chr>           <dbl>   <dbl>  <dbl>   <dbl>          <dbl>
#>  1 Puttlama        36098  135922     NA       2             59
#>  2 Badulla          7973   32760     71      53            180
#>  3 Moneragala        968    3346      3       1              5
#>  4 Matale            806    4836     20      10             40
#>  5 Colombo         40740  174255      2       1             97
#>  6 Batticola       16257   47856      2      NA             17
#>  7 Kegalle           557    2095      2       1             14
#>  8 Trincomalee     16604   54107     NA      NA             21
#>  9 Anuradhapura     7429   25800      5      NA             92
#> 10 Mullaitivu       1550    4592      1      NA            102
#> # ℹ 15 more rows
#> # ℹ 2 more variables: Families_safetycentres <dbl>, Persons_safetycentres <dbl>

Load dashboard

load_dashboard()

Flood Progression

library(lubridate)
#> 
#> Attaching package: 'lubridate'
#> The following objects are masked from 'package:base':
#> 
#>     date, intersect, setdiff, union
realtime_waterlevel_kelani_ganga <- realtime_waterlevel_kelani_ganga |>
 dplyr::mutate(
 DateTime = ymd_h(paste(Date, Time), tz = "UTC"))
 sub <- realtime_waterlevel_kelani_ganga |>
 filter(HydrometricStation =="Deraniyagala")
compute_flood_stats(data=sub,
DataTime,
RiverWaterLevel,
alert = 3,
major = 4,
minor = 5)
#> [[1]]
#> # A tibble: 97 × 12
#>    Date                 Time RiverBasin   HydrometricStation Rainfall_mm
#>    <dttm>              <dbl> <chr>        <chr>              <chr>      
#>  1 2025-11-26 00:00:00     8 Kelani Ganga Deraniyagala       0          
#>  2 2025-11-26 00:00:00     9 Kelani Ganga Deraniyagala       0.9        
#>  3 2025-11-26 00:00:00    10 Kelani Ganga Deraniyagala       2          
#>  4 2025-11-26 00:00:00    11 Kelani Ganga Deraniyagala       1.3        
#>  5 2025-11-26 00:00:00    12 Kelani Ganga Deraniyagala       0.5        
#>  6 2025-11-26 00:00:00    13 Kelani Ganga Deraniyagala       NA         
#>  7 2025-11-26 00:00:00    14 Kelani Ganga Deraniyagala       NA         
#>  8 2025-11-26 00:00:00    15 Kelani Ganga Deraniyagala       2.1        
#>  9 2025-11-26 00:00:00    16 Kelani Ganga Deraniyagala       1.3        
#> 10 2025-11-26 00:00:00    17 Kelani Ganga Deraniyagala       1.7        
#> # ℹ 87 more rows
#> # ℹ 7 more variables: RiverWaterLevel <dbl>, RiverWaterLevel_Unit <chr>,
#> #   Alert_level <dbl>, Minor_Flood_Level <dbl>, Major_Flood_level <dbl>,
#> #   DateTime <dttm>, state <chr>
#> 
#> [[2]]
#> # A tibble: 3 × 2
#>   state  hours
#>   <chr>  <dbl>
#> 1 alert      9
#> 2 major     66
#> 3 normal    21

This package was developed for educational purposes using weather data recorded by the Department of Meteorology, Sri Lanka, Disaster Management Centre and Hydrology and Disaster Management Division, Irrigation Department, Sri Lanka. All data provided in this package have been obtained from publicly available sources and transformed into a tidy format to support reproducible and user-friendly analysis.

Copy Link

Version

Install

install.packages('Ditwah')

Version

1.0.0

License

GPL (>= 3)

Maintainer

Thiyanga S. Talagala

Last Published

December 5th, 2025

Functions in Ditwah (1.0.0)

weather_report

Daily rainfall data during the Ditwah storm period
compute_flood_stats

Computes number of hours in alert, minor and major levels starting from 26 Nov 2025
load_dashboard

Load dashboard
ditwah_3hr_weather_data

Ditwah storm 3 hour weather station data – November 2025, Sri Lanka
situation_report_30NOV1600

Disaster impact summary by district on 2025.11.30 at 16.00 p.m
flood_water_level

Ditwah storm flood monitoring data
realtime_waterlevel_kelani_ganga

Real-time water level data for Kelani river basin