From 7f0351313c96a5df97ea86feb1f0194d87947e5b Mon Sep 17 00:00:00 2001 From: gareth Date: Wed, 19 Aug 2020 15:26:51 +1000 Subject: [PATCH] updates to support discussion in nearshore testign paper --- .../tsunami_size/analysis.R | 23 +++++++++++++++++++ .../tsunami_size/parse_gauge_outputs.R | 10 +++++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/misc/nearshore_testing_2020/analysis_nearshore2020/tsunami_size/analysis.R b/misc/nearshore_testing_2020/analysis_nearshore2020/tsunami_size/analysis.R index d32d5208..d86e1bad 100644 --- a/misc/nearshore_testing_2020/analysis_nearshore2020/tsunami_size/analysis.R +++ b/misc/nearshore_testing_2020/analysis_nearshore2020/tsunami_size/analysis.R @@ -1022,3 +1022,26 @@ model_vs_model_maxima_change<-function(){ dev.off() } model_vs_model_maxima_change() + +# +# A few checks to support the discussion. +# + +# For the linear-with-delayed-linear-friction model, only 2 of the 68 model-vs-observed series +# do not have BOTH modelled-max < 14hours AND modelled-max > 3hours-post-arrival +late_model_maxima = (model_stats_nearshore$LinearDelayedFriction$model_time_of_max > 14*3600) & + # Modelled maxima occurs well after 12 hours + (model_stats_nearshore$LinearDelayedFriction$model_time_of_max - + model_stats_nearshore$LinearDelayedFriction$model_time_to_arrive > 3*3600) + # Modelled maxima is well after arrival time. + +summary(late_model_maxima) +#> summary(late_model_maxima) +# Mode FALSE TRUE +#logical 2 66 +late_observed_maxima = model_stats_nearshore$LinearDelayedFriction$obs_max_time_to_arrive/3600 < 18 +model_stats_nearshore$LinearDelayedFriction$site_and_event[which(late_observed_maxima)] +#> model_stats_nearshore$LinearDelayedFriction$site_and_event[which(late_observed_maxima)] +#[1] "Sumatra-2004_Hillarys_BOM_1min_2004" "Sumatra-2004_Hillarys_BOM_1min_2004" +#[3] "Sumatra-2004_Hillarys_BOM_1min_2004" + diff --git a/misc/nearshore_testing_2020/analysis_nearshore2020/tsunami_size/parse_gauge_outputs.R b/misc/nearshore_testing_2020/analysis_nearshore2020/tsunami_size/parse_gauge_outputs.R index a072d07e..0a9a057a 100644 --- a/misc/nearshore_testing_2020/analysis_nearshore2020/tsunami_size/parse_gauge_outputs.R +++ b/misc/nearshore_testing_2020/analysis_nearshore2020/tsunami_size/parse_gauge_outputs.R @@ -84,6 +84,7 @@ get_statistics_at_site<-function(site_data){ model_time_to_arrive = NA obs_max_time_to_arrive = NA + model_time_of_max = NA }else{ wave_threshold = WAVE_ARRIVAL_TIME_RELATIVE_THRESHOLD *max(abs(model$resid)) @@ -155,6 +156,10 @@ get_statistics_at_site<-function(site_data){ model_keep = which( (model$juliant >= model$juliant[n]-1.5) & (model$juliant <= (model$juliant[n]-1)) ) model_range_24to36 = range(model$resid[model_keep]) data_range_24to36 = range(obs$resid[obs_keep], na.rm=TRUE) + + # Time of modelled maxima + k = which.max(model$resid) + model_time_of_max = site_data$model_time[k] } # For the output, make sensible names @@ -218,7 +223,10 @@ get_statistics_at_site<-function(site_data){ # model_arrival_time = model_arrival_time, model_time_to_arrive = model_time_to_arrive, - obs_max_time_to_arrive = obs_max_time_to_arrive + obs_max_time_to_arrive = obs_max_time_to_arrive, + # + model_time_of_max = model_time_of_max + ) # We could have "Inf" or "-Inf" values above if the data didn't cover the