## ----setup, include = FALSE--------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ## ----load-package------------------------------------------------------------- library(Rfactor) ## ----create-example----------------------------------------------------------- event_1_time <- seq( from = as.POSIXct( "2025-07-01 12:00:00", tz = "UTC" ), by = "1 min", length.out = 30 ) event_2_time <- seq( from = as.POSIXct( "2025-08-01 12:00:00", tz = "UTC" ), by = "1 min", length.out = 30 ) example_rainfall <- data.frame( datetime = format( c( event_1_time, event_2_time ), "%Y-%m-%d %H:%M:%S", tz = "UTC" ), precip_mm = c( rep(1.0, 30), rep(0.1, 30) ) ) example_file <- tempfile( fileext = ".csv" ) utils::write.csv( example_rainfall, example_file, row.names = FALSE ) ## ----read-rainfall------------------------------------------------------------ rain <- rf_read_rainfall( example_file, datetime_col = "datetime", precip_col = "precip_mm", tz = "UTC", expected_interval_min = 1 ) head(rain) ## ----settings----------------------------------------------------------------- settings <- rf_settings() settings ## ----identify-events---------------------------------------------------------- storms <- rf_identify_storms( rain, settings = settings ) unique( storms$storm_id ) ## ----calculate-ei30----------------------------------------------------------- events <- rf_calculate_ei30( storms ) events[ , c( "storm_id", "event_start", "event_end", "duration_min", "precip_mm", "i15_mm_h", "i30_mm_h", "energy_mj_ha", "ei30", "omitted", "erosive" ) ] ## ----monthly------------------------------------------------------------------ monthly <- rf_calculate_rfactor( events, period = "monthly" ) monthly ## ----yearly------------------------------------------------------------------- yearly <- rf_calculate_rfactor( events, period = "yearly" ) yearly ## ----mean-annual-rfactor------------------------------------------------------ yearly_multi_year <- data.frame( year = 2020:2024, R = c( 800, 900, NA, 700, 0 ) ) annual_mean <- rf_calculate_mean_rfactor( yearly_multi_year, period = "yearly" ) annual_mean ## ----mean-monthly-rfactor----------------------------------------------------- monthly_multi_year <- data.frame( year = c( 2020, 2021, 2022, 2020, 2021, 2022 ), month = c( 7, 7, 7, 8, 8, 8 ), R = c( 400, 500, 300, 0, NA, 20 ) ) monthly_mean <- rf_calculate_mean_rfactor( monthly_multi_year, period = "monthly" ) monthly_mean ## ----include-all-------------------------------------------------------------- include_all <- rf_settings( omit_precip = FALSE, omit_intensity = FALSE ) all_storms <- rf_identify_storms( rain, settings = include_all ) all_events <- rf_calculate_ei30( all_storms ) all_events[ , c( "event_start", "precip_mm", "omitted", "erosive" ) ] ## ----energy-equation---------------------------------------------------------- mcgregor_settings <- rf_settings( energy_equation = "mcgregor_1995" ) mcgregor_settings$energy_equation ## ----ten-minute-settings------------------------------------------------------ settings_10min <- rf_settings( intensity_durations_min = c( 10, 20, 30, 60 ), omit_intensity_duration_min = 10 ) settings_10min