- Added links to
heatwave3
package on home page and gridded detection vignette.
- Addressed CodeCov and created stable version for CRAN
- Changed behaviour of
category()
to address edge case in polar MCS - Corrected bug in
category()
that did not change the 'V Ice' category in the climatology output - Also a bug that didn't return all of a users columns that are not part of the normal
category()
output - And a bug that allowed users to unintentionally assign 'V Ice' category to MHWs
- Addressed extreme edge case in
category()
when no Moderate I MCS are detected, just higher categories
- Improvements to main pipeline to ensure
lat
column is passed forward for correct category seasons
- Bug hunting in the build-up to v1.0.0
- Addressed issue of y column not passing through correctly from
detect_event()
tocategory()
when called internally - Changed documentation for
category()
to more accurately match the output ofclimatology = TRUE
- Looked into behaviour of
protoEvents
indetect_event()
- Added
lat_col
argument tocategory()
to detect if time series are in N or S hemisphere
- Major update in preparation of removing all dependencies and releasing v1.0.0
- Also necessary due to cryptic CRAN error
- Removed all dependencies from
event_line()
andblock_average()
exceptplyr
- Added
line_colours
argument toevent_line()
, allowing users to choose colours of line geoms
- Removed all dependencies from
category()
andexceedance()
except forplyr
- Starting to remove as many dependencies as possible
- Started by removing all but
**plyr**
dependency fromproto_event()
anddetect_event()
- Updated SST data to end of 2022
- Changed behaviour of
lolli_plot()
andevent_line()
to now use tidyeval - Note that this is a backwards compatibility breaking change that was required due to changes in
ggplot2 v3.0.0
- Updated citations page for all references to
heatwaveR
from 2022 - Added package names to all functions used in the downloading OISST vignette
- Added the
MCSice
argument tocategory()
, 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)
- Added two new vignettes
- Alternatives to downloading NOAA OISST data
- Trend and break point analyses for MHW metrics
- Updated SST time series to 2021-12-31
- Updated SST time series to 2020-12-31
- Explicitly loading
Rcpp
due to a change in the behaviour of the package causing ERRORs on CRAN checks
- Updated the MCS colour palette throughout the package
- The new colour palette is very similar, but with improved contrast
- Made a minor but important change to
category()
so that categories are based on temperature greater (lesser) than the thresholds and not greater (lesser) than or equal to
- Updated the visualisation vignette to now include the code necessary to get
geom_flame()
to work withplotly
now that it is no longer directly supported
- Improved error trapping for
ts2clm()
,detect_event()
, andexceedance()
- Added more citations of the package
- Added a
categories
argument todetect_event()
- This allows one to determine the categories of events directly, rather than as a second step using the
category()
function
- This allows one to determine the categories of events directly, rather than as a second step using the
- Created a new vignette that shows how to save gridded MHW results to a NetCDF file
- Pushed new major version to CRAN
- Some minor tweaks to satisfy CRAN
- Pushing to GitHub actions now triggers codecov correctly
exceedance
now outputs a one row all NA data.frame when there are no events in exceedance of the threshold- The previous version would return an error if no exceedances were detected, making it generally unusable in gridded data
- All
plotly
dependencies were removed due to the orphaning of the package- The code to allow
geom_flame
to work withplotly
may be found here: https://github.com/robwschlegel/MHWapp/blob/master/shiny/functions.R
- The code to allow
- Moved away from Travis CI to GitHub actions
- Fixed bug in
proto_event
that causedjoinAcrossGaps
argument to flag the first n days of a time series as part of an event
- Minor fixes for passing build
- Remove the last offending trace of
zoo
frommake_whole
. - Fix miscellaneous typos and formatting inconsistencies.
- Added
MCScorrect
argument tocatgegory
function that allows the user to bound the bottom threshold for MCS categories to -1.8C
-
dplyr v1.0.0 no longer handles empty data.frames the same
- It now forces them to logical type, so empty data.frames no longer unnest with normal results
- This was fixed by having
detect_event
andcategory
return single row NA data.frames instead
-
Thinking about phasing out
data.table
- Released v0.4.4 to CRAN
- Re-wrote OISST and gridded detection vignettes after finding an ERDDAP server that hosts the NOAA OISST v2.1 data.
- Updated the packaged time series to now use v2.1 data from 1982 to 2019
- Minor bug fix in gridded detection vignette
category()
now works with MCS generated bydetect_event()
- codecov pushed back up to 100%
- Release pushed to CRAN in light of changes to
data.table
anddplyr
- Waiting until NOAA OISST data area available on an ERDDAP server before updating them
- Updated the gridded data vignette to work with OISST v2.1
- Ensured that newly released
dplyr
v1.0.0 did not introduce any bugs - Updated vignettes to now work with v2.1 of the OISST data
-
Fixed bug in
detect_event()
caused bydata.table
data.table
no longer allows rounding of NA values
- Fixed bug in
event_line()
caused bydata.table
- Cleaned up the CITATION file
- Improvement to legend appearance for
event_line()
- Improvement to plotting in category vignette
- Minor spelling error fixes
- Minor tweak to
make_whole_fast()
- Added a new citation that used the
heatwaveR
package
- Minor internal tweak to exceedance function
- Added one small test to get codecov back up to 100%
- Beginning to phase out
dplyr
andtibble
dependencies - Replacing some
dplyr
functions withplyr
as they appear to be slightly faster and also don't have the same multicore issues that more recentdplyr
developments have created - Added
roundRes
argument todetect_event()
to allow users to decide the rounding precision of the returned results
- Minor change to
ts2clm()
that does not alter any functionality
- Publishing new stable version to CRAN due to removal of
tidyverse
from the list of suggested packages and the important bug fixes tocategory()
-
Fixed bug in
category()
that incorrectly returned the difference betweenseas
andthresh
as the daily intensity value, rather than the actual temperature anomaly aboveseas
- Also fixed the labelling of days below
thresh
asModerate
, they are nowNA
- Also fixed the labelling of days below
-
category()
now adds lower case letters to the ends of event names if there were multiple large events within the same year- This may cause backwards compatibility issues in very rare cases, but is a necessary change
-
Added
roundVal
argument tocategory()
to allow users to decide the rounding precision of the returned results
- Tripled the resolution of the logo in anticipation of creating hex stickers
- Removed
tidyverse
from the list of suggested packages
- The potentially backward compatibility breaking design change to have empty data.frames returned as one row of
NA
values was not as rare of a problem as first thought - While still respecting the need to not use
1:n
vector creation,detect_event()
andcategory()
now produce empty data.frames and not one rowNA
dataframe - This should ensure continued backwards compatibility
-
A bug was discovered where the
ts2clm()
function does not first check that the time series being fed to it is in correct chronological order- This was fixed by ordering the data being fed to the function before beginning of the further calculations
-
An update to
data.table
sometime in August, 2019 reduced the packages tolerance for code with1:n
in it- As this is a potential memory weakness, when this creates an empty vector in multicore calculations it causes the entire run to fall over
- Therefore, all use of
1:n
has been replaced withseq_len(n)
- This changed the list outputs when no MHWs are detected to be one row of NA values, rather than an empty list
- This may cause backward compatibility issues, but is extremely unlikely
-
An update to the
ggplot2
package some time back in August, 2019 changed slightly how Geoms work internally- This allowed
geom_lolli()
to fall over in very rare circumstances so this issue has been addressed
- This allowed
-
Updated the
OISST Preparation
vignette to match the improvements to thererddap
package -
Also updated the vignette to be more clear to contact NOAA about data retrieval issues
-
Added
season
argument tocategory()
, which allows the user to specify which season of the MHWs they are interested in:- 'range' - The beginning and ending season of the MHW
- 'start' - The season during the start of the MHW
- 'peak' - The season during the peak of the MHW
- 'end' - The season during the end of the MHW
- Updated NOAA OISST data downloading tutorial to account for minor changes to NOAA ERDDAP servers
- Introduced the
Algiers
time series for examples on using multiple thresholds for atmospheric data - Fixed a bug in
event_line()
- Changed the
data.table
andggplot2
dependencies to imports heatwaveR
is now dependency free
- Added the ability to choose the number of digits rounded to for the output of
ts2clm()
- Updated the end date for three time series packaged with
heatwaveR
to 2018-12-31
- Added
n
andn_gap
arguments togeom_flame()
to allow proper screening of heatspikes - These additions also propagate through to
geom2trace.GeomFlame
- Added some additional options to
event_line()
to allow users to manipulate the output more without having to get into the source code.
- Added S3 object
geom2trace.GeomFlame
that now allowsgeom_flame()
to be converted to an interactive plotly object viaplotly::ggplotly()
- Updated Zenodo badge to reflect the upload of v0.3.6
-
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()
andexceedance()
will no longer produce avar
column- The argument
var = TRUE
may be given to produce this column
- The argument
-
Submitted v0.3.6 to CRAN
- Began editing Alternative (Complex) Climatology vignette
- Changed the default argument for
exceedance(maxPadLength)
from3
toFALSE
to match the new default forts2clm()
- Changed the default behaviour of
event_line()
to no longer require the user to providestart_date
andend_date
arguments
- Corrected some typos in the gridded event detection vignette
- First update of 2019
- Added 'protoEvents' argument to
detect_events.R()
for returning the proto events rather than a table for the event metrics
- Boxing day update
- Updated text for the OISST preparation vignette
- Updated text for the gridded event detection vignette
- Updated text on the landing page to better reflect the updates that have been made over the past few months
- Fixed typo in
event_line()
output - Updated text for the detection and visualisation vignette
- Updated text for the exceedance vignette
- Updated text for the categories vignette
- Updated text for the OISST preparation vignette
- Changed time series checking behaviour of
exceedance()
so that it is the same asts2clm()
- Fixed bug in
event_line()
that caused it to graph events outside of thespread
range - Expanded testing back up to 100%
- Fixed bug caused by R not liking dates older than 1970-01-01
- Changed
maxPadLength
behaviour ints2clm()
to match the Python default settings
- Added 'duration_max' to
block_average()
output - Resumed correct version numbering
- Increased functionality of
block_average()
- Updated one figure in a vignette
clim_calc()
reinstated to allow for calculation of clims with missing datavar
calculations reinstated for documentation issues
ts2clm()
no longer callsclim_calc()
, butclim_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 ofmake_whole_fast()
- All major functions now produce results only up to the fourth decimal place
- Clarified some information on the basic detection vignette
- Corrected a link that went to the wrong page
- Changed error handling in
proto_event()
to return no events than to stop message with an error. - This change was picked up by
detect_event()
without any required changes category()
required a bit of cajoling to also output a blank dataframe
- Minor tweak to
make_whole_fast()
to provide a cleaner internal output
- Removed several unnecessary columns from category climatology output
- Fixed bug in
ts2clm()
that prevented calculation of clims with large contiguous missing periods of data (e.g. ice coverage). - Added argument to
category()
that allows one to have the function also output the day-to-day (long) category values, rather than just the summary (wide) output. - Added lon/lat values to documentation for built-in time series
- Added CITATION file so that package citation is now set to JOSS article
- Added Zenodo DOI badge
- JOSS review process complete
- Added JOSS DOI badge
- BUG FIX: corrected issue with
clim_calc_cpp
not being able to calculate clims from baselines not beginning and ending on the Julian year by makingclim_spread
plug the gaps beforehand with row-wise means. - Rebuilt pkgdown site to reflect version increase
- v0.3.3 submitted to CRAN
- Edits suggested through JOSS review
- Remove unneeded copies of data from functions to improve memory-use efficiency.
- BUG FIX: corrected issue with
make_whole_fast
which did not create a whole, complete time series (i.e. missing dates were still present); the missing dates causedclim_calc_cpp
to fail
- Re-submitted to CRAN in anticipation of
ggplot2
changes proto_event
now handles all event calculations 'in house'- This allows
detect_event
to now be given a theoretically limitless number of thresholds
- Logic catch for
lolli_plot
being asked to highlight more events than are present - New vignette that looks at calculating more complex climatologies
- Tweak to
ts2clm
- Tweaks to
detect_event
andexceedance
- Unused Rcpp code removed from master branch
- Logo changed slightly
- Codecov back up to 100%
- Addressed one testthat issue that was causing the OSX CRAN build to fail
- Added CRAN link to pkgdown site
- Added Bug Report link to pkgdown site
- Accepted on CRAN
- Submitted to CRAN
- Fixes to
make_whole
and testing - Fixes to
block_average
- No longer exporting
make_whole
andmake_whole_fast
- No longer uses zoo for time series NA handling--made custom function to replace it
- Additional speed improvements
- Repair testthat tests
- Moved all vignettes relating to the upcoming MHW_detection paper to that repo
- This helps to unclutter this repo as it should be primarily kept for package content
- Added vignette that shows how tweaking arguments for detect changes the outputs between languages and how those outputs may differ
- Changed output of
detect_event
to better match Python version - Corrections to testthat to match changes to
detect_event
output
- Added C++ function,
clim_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 computer
- Updated testthat for
lolli_plot()
andevent_line()
- Updated testthat for
ts2clm()
- Updated testthat for
detect_event()
- Take advantage of C++ speed enhancement in
smooth_percentile()
by using RcppRoll - Update testthat accordingly
- Basic R vs Python vignette finished
- Minor fix to testthat
- codecov up to 100%
- Fix to
geom_lolli()
n argument - Fix to
lolli_plot()
y-axis range - Minor fix to
make_whole()
- Skeleton of R vs Python vignette added
- Major speed-up in the climatology creation function.
clim_spread()
now returns a matrix, not a data frame. This makes the loop inclim_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). - Speed-up of
make_whole()
(60 ms down to 40 ms)
- Removed all instances of
detect()
in favour of the new pipeline - Updated
exceedance()
to utilise the internal functions - Updated object names in
block_average()
- Micro edits to documentation
- Testing for all exported and internal functions brought up to speed
- Ensuring that new
ts2clm()
anddetect_event()
pipeline returns the same results as the oldmake_whole()
anddetect()
pipeline
- Phasing in identical names as in the python version
detect_event()
now passing checks- Must still test for MCSs
- The old
detect()
function was unpacked and simplified. Internal code is now in new functions, most of which will not be seen by the user. They aremake_whole()
proto_event()
,clim_calc()
,smooth_percentile()
,clim_spread()
, andts2clm()
ts2clm()
used instead ofdetect_clim()
- Climatologies can now be calculated independently of the detect functionality
exceedance()
function testthat checks updated to account for change in variable naming
detect()
has now been broken intodetect_clim()
anddetect_event()
- These now also rely on internal functions
- The purpose of this is to create a family of functions that provide different options
- New vignette on making short climatologies.
- One may now provide alternative baselines and climatologies to
detect()
- Testing for
category()
- Testing for
block_average()
- Testing for
detect()
- Testing
exceedance()
- Removed default
threshold
forexceedance()
- Tweaks to
exceedance()
error messages - Testing for
event_line()
- Testing for
lolli_plot()
- Tweaks to
lolli_plot()
error messages
- New
category()
function returns the category results for events - Still requires testing and improved event naming scheme
- Minor touch up to examples in
geoms.R
- First draft of
heatwaveR
hex logo added to site - Added
category
option toevent_line()
- Simplifications and consistency checks to
detect()
- Some writing on Baselines and climatology vignette
- Fix to
event_line()
not plotting MCSs correctly - Fix error with smooth_percentile and smooth_percentile_width descriptions that were interchanged in
detect()
- Simplify initial lines of leap year calculations (remove redundant code)
- change from
raster::quantile()
tostats::quantile()
- Add option to use a custom baseline to
detect()
as requested by Maxime Marin (), The University of Tasmania (IMAS) -- CSIRO (O&A), and which is present in the python version of the package
- Remove restriction to require full years for start/end points of climatology calculations in
detect()
- Documentation updated accordingly
- Vignette on OISST data processing added
- Removed rlang dependency
- Touch-up to
block_average()
- Tested
make_whole()
- Basic testing for other functions
- Established theme for changelog
- Synced ganalytics
- Fixed
event_line()
to acknowledge column names other thant
andtemp
- Fixed
lolli_plot()
to use underlyinggeom_lolli()
- Search bar now live
- Removed all but one use of plyr code
- Added a
NEWS.md
file to track changes to the package. - Cloned
RmarineHeatWaves
package to this repo - First build of
pkgdown
site live