event_line() to keep up with changes to
ggplot2tidync functionsevent_line() to match new
ggplot2 syntaxts2clm()detect_event()exceedance() to work with hourly
dataexceedance()exceedance() to keep
backwards compatibilityproto_event() when an event lasts for
the entire time seriesexceedance() now correctly returns extra columns in the
original data.framedetect_event() and
exceedance() where if a single MCS was detected the
returned threshold columns would be negative valuesseqDates() from packagecategory functionality from
detect_event3() to keep it more streamlineddetect_event3() and proto_event3()
with a new code base to benefit from the speed gains due to data.table
internalsts2clm() with
ts2clm3() for nowdetect_event() to return a
data.frame, rather than a data.tablereturnDF with the default behaviour of
TRUEreturnDF == FALSE the functions will return
data.tablesplyr and
grid dependencies from packagerobust argument from ts2clm() that
was deprecated years agots2clm() with ts2clm3()
throughout packagetibble dependencyts2clm3(), a drop-in
replacement for ts2clm()make_whole_fast(), na_interp(),
clim_spread(), and smooth_percentile()
included within the main functionlubridate and
dplyr dependenciesheatwave3 package on
home page and gridded detection vignette.category() to address edge case in
polar MCScategory() that did not change the ‘V
Ice’ category in the climatology outputcategory() outputcategory() when no
Moderate I MCS are detected, just higher categorieslat column is
passed forward for correct category seasonsdetect_event() to category() when called
internallycategory() to more accurately
match the output of climatology = TRUEprotoEvents in
detect_event()lat_col argument to category() to
detect if time series are in N or S hemisphereevent_line() and
block_average() except
plyrline_colours argument to
event_line(), allowing users to choose colours of line
geomscategory() and
exceedance() except for
plyr**plyr** dependency from
proto_event() and detect_event()lolli_plot() and
event_line() to now use tidyevalggplot2 v3.0.0heatwaveR
from 2022MCSice argument to category(),
which allows users to directly classify a MCS with a threshold below
-1.7°C as a category ‘V Ice’ event sensu Schlegel et al. (2021;
Marine cold-spells)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