Rcpp due to a change in the behaviour of the package causing ERRORs on CRAN checkscategory() so that categories are based on temperature greater (lesser) than the thresholds and not greater (lesser) than or equal togeom_flame() to work with plotly now that it is no longer directly supportedts2clm(), detect_event(), and exceedance()categories argument to detect_event()
category() functionexceedance now outputs a one row all NA data.frame when there are no events in exceedance of the thresholdplotly dependencies were removed due to the orphaning of the package
geom_flame to work with plotly may be found here: https://github.com/robwschlegel/MHWapp/blob/master/shiny/functions.Rproto_event that caused joinAcrossGaps argument to flag the first n days of a time series as part of an eventzoo from make_whole.MCScorrect argument to catgegory function that allows the user to bound the bottom threshold for MCS categories to -1.8Cdplyr v1.0.0 no longer handles empty data.frames the same
detect_event and category return single row NA data.frames insteadThinking about phasing out data.table
category() now works with MCS generated by detect_event()data.table and dplyrdplyr v1.0.0 did not introduce any bugsFixed bug in detect_event() caused by data.table
data.table no longer allows rounding of NA valuesevent_line() caused by data.tableevent_line()make_whole_fast()heatwaveR packagedplyr and tibble dependenciesdplyr functions with plyr as they appear to be slightly faster and also don’t have the same multicore issues that more recent dplyr developments have createdroundRes argument to detect_event() to allow users to decide the rounding precision of the returned resultsts2clm() that does not alter any functionalitytidyverse from the list of suggested packages and the important bug fixes to category()Fixed bug in category() that incorrectly returned the difference between seas and thresh as the daily intensity value, rather than the actual temperature anomaly above seas
thresh as Moderate, they are now NAcategory() now adds lower case letters to the ends of event names if there were multiple large events within the same year
Added roundVal argument to category() to allow users to decide the rounding precision of the returned results
tidyverse from the list of suggested packagesNA values was not as rare of a problem as first thought1:n vector creation, detect_event() and category() now produce empty data.frames and not one row NA dataframeA bug was discovered where the ts2clm() function does not first check that the time series being fed to it is in correct chronological order
An update to data.table sometime in August, 2019 reduced the packages tolerance for code with 1:n in it
1:n has been replaced with seq_len(n)An update to the ggplot2 package some time back in August, 2019 changed slightly how Geoms work internally
geom_lolli() to fall over in very rare circumstances so this issue has been addressedUpdated the OISST Preparation vignette to match the improvements to the rerddap package
Also updated the vignette to be more clear to contact NOAA about data retrieval issues
Added season argument to category(), which allows the user to specify which season of the MHWs they are interested in:
Algiers time series for examples on using multiple thresholds for atmospheric dataevent_line()data.table and ggplot2 dependencies to importsheatwaveR is now dependency freets2clm()heatwaveR to 2018-12-31n and n_gap arguments to geom_flame() to allow proper screening of heatspikesgeom2trace.GeomFlameevent_line() to allow users to manipulate the output more without having to get into the source code.geom2trace.GeomFlame that now allows geom_flame() to be converted to an interactive plotly object via plotly::ggplotly()Finished Alternative Thresholds (Complex Climatologies) vignette
Bumped code coverage back up to 100%
AN important potential backwards compatibility breaking change is that by default ts2clm() and exceedance() will no longer produce a var column
var = TRUE may be given to produce this columnSubmitted v0.3.6 to CRAN
exceedance(maxPadLength) from 3 to FALSE to match the new default for ts2clm()event_line() to no longer require the user to provide start_date and end_date argumentsdetect_events.R() for returning the proto events rather than a table for the event metricsevent_line() outputexceedance() so that it is the same as ts2clm()event_line() that caused it to graph events outside of the spread rangemaxPadLength behaviour in ts2clm() to match the Python default settingsblock_average() outputblock_average()clim_calc() reinstated to allow for calculation of clims with missing datavar calculations reinstated for documentation issuests2clm() no longer calls clim_calc(), but clim_calc_cpp() onlysmooth_percentile() no longer provides option to create variance climatology (the need to no longer create var seemed to not be fully implemented in 0.3.4)ts2clm() no longer calculates variance column by defaultmake_whole() has been deprecated in favour of make_whole_fast()proto_event() to return no events than to stop message with an error.detect_event() without any required changescategory() required a bit of cajoling to also output a blank dataframemake_whole_fast() to provide a cleaner internal outputts2clm() that prevented calculation of clims with large contiguous missing periods of data (e.g. ice coverage).category() that allows one to have the function also output the day-to-day (long) category values, rather than just the summary (wide) output.clim_calc_cpp not being able to calculate clims from baselines not beginning and ending on the Julian year by making clim_spread plug the gaps beforehand with row-wise means.make_whole_fast which did not create a whole, complete time series (i.e. missing dates were still present); the missing dates caused clim_calc_cpp to failggplot2 changesproto_event now handles all event calculations ‘in house’detect_event to now be given a theoretically limitless number of thresholdslolli_plot being asked to highlight more events than are presentts2clmdetect_event and exceedancemake_whole and testingblock_averagemake_whole and make_whole_fastdetect_event to better match Python versiondetect_event outputclim_calc_ccp() for faster climatology calculations; speed of climatology calculation comes down from 50.6 ms in R to 3.4 ms in C++ on my MacBook Pro (15-inch, 2017) 2.9 GHz Intel Core i7 16 GB RAM computerlolli_plot() and event_line()ts2clm()detect_event()smooth_percentile() by using RcppRollgeom_lolli() n argumentlolli_plot() y-axis rangemake_whole()clim_spread() now returns a matrix, not a data frame. This makes the loop in clim_calc() much faster. In testing with the sst_WA data, it leads to a 3.7 fold speed improvement (520 ms down to 140 ms).make_whole() (60 ms down to 40 ms)detect() in favour of the new pipelineexceedance() to utilise the internal functionsblock_average()ts2clm() and detect_event() pipeline returns the same results as the old make_whole() and detect() pipelinedetect_event() now passing checksdetect() function was unpacked and simplified. Internal code is now in new functions, most of which will not be seen by the user. They are make_whole() proto_event(), clim_calc(), smooth_percentile(), clim_spread(), and ts2clm()ts2clm() used instead of detect_clim()exceedance() function testthat checks updated to account for change in variable namingdetect() has now been broken into detect_clim() and detect_event()detect()category()block_average()detect()exceedance()threshold for exceedance()exceedance() error messagesevent_line()lolli_plot()lolli_plot() error messagescategory() function returns the category results for eventsgeoms.RheatwaveR hex logo added to sitecategory option to event_line()detect()event_line() not plotting MCSs correctlydetect()raster::quantile() to stats::quantile()detect() as requested by Maxime Marin (), The University of Tasmania (IMAS) – CSIRO (O&A), and which is present in the python version of the packagedetect()block_average()make_whole()event_line() to acknowledge column names other than t and templolli_plot() to use underlying geom_lolli()NEWS.md file to track changes to the package.RmarineHeatWaves package to this repopkgdown site live