title_delta_notation
is available
to modify the delta notation for all plotted isoscapes. The can be use,
for example, to fix some issues with the display of the delta character,
or for using another stable isotope than deuterium. See
?options_IsoriX
for details.CalibDataBatRev
,
CalibDataBat2Rev
, AssignDataRev
and
AssignData2Rev
which are revised version of
CalibDataBat,
CalibDataBat2,
AssignDataand
AssignData2`
(respectively). The bat fur isotope values were corrected to align with
the current delta values for keratin reference materials (Soto et
al. 2017, https://doi.org/10.1002/rcm.7893) ensuring comparability
between formerly and more recently normalized datasets of delta values
for deuterium.CalibDataBat2
now contains slightly
different elevation values (the one reported by field workers as opposed
to those extracted from a specific elevation map).CalibDataBat
now contains different values
for the column “site_ID”.prepsources()
, calibfit()
and isofind()
emit warnings if some locations share the
same location IDs or if several locations IDs correspond to a unique
location. This should help users to spot issues in their data (fixes
#133).terra::extract()
and
lattice::lpolygon()
now re-exported and
lattice::panel.points())
no longer is.getprecip()
was no longer working.usethis::use_github_release()
to create new releases (fixes
#177).saveRDS()
and readRDS()
). (#172)As compared to IsoriX versions < 0.9.1, the following changes may break existing code:
code for plots:
layer(sp.polygons(CountryBorders, col = "white")) +
layer(sp.polygons(OceanMask, col = "white", fill = "lightgreen"))
now needs to be replaced by:
layer(lpolygon(CountryBorders, border = "white")) +
layer(lpolygon(OceanMask, border = "white", col = "lightgrey"))
Notice both the change in the function used to plot polygons and the
change in the arguments used to control the colour of the borders and
the colour of the fill. Similarly, the function sp.points()
should be replaced by lpoints()
and so on.
saving and reloading objects save()
&
load()
can no longer be used, one must instead use
saveRDS()
& readRDS()
.
NEWS.md
rather than in inst/NEWS.Rd
and use a
markdown syntax.plotting methods for polygons, lines and points have been removed from IsoriX and are now handled by lattice and rasterVis.
new S3 and S4 methods saveRDS()
for objects of the
class ISOSCAPE
, CALIBFIT
&
ISOFIND
(see ?serialize
for details).
new S3 and S4 method readRDS()
which should be able
to read objects created in IsoriX, as well as objects created with
terra and objects created otherwise.
In case of issues reading RDS files not created by IsoriX, try using
base::readRDS()
with the namespace base::
mentioned explicitly and please let us know of this issue.
isomultiscape()
was still using
raster instead of terra.PrecipBrickDE
was still using
raster instead of terra..safe_and_quiet_predictions()
which turns
wraps around spaMM::predict.HLfit()
, turns warnings into
messages, allows not to display the same messages many times, and
outputs NA
s when spaMM::predict.HLfit()
fails.
For testing, options_IsoriX(spaMM_debug = TRUE)
may be used
to restore the original behaviour of
spaMM::predict.HLfit()
.ISOSCAPE
, CALIBFIT
&
ISOFIND
are now also defined as S4 classes, which was
necessary to design methods for saveRDS()
which are
compatible with terra.WORDLIST
file which is used
by devtools::spell_check()
(via
spelling::spell_check_package
) to check for typos in the
documentation.|
or &
which should have
always been ||
or &&
(spotted via
lintr::lint_package()
).1:...
which should
have always been handled by seq_along
or
seq_len
to avoid NULL issues (spotted via
lintr::lint_package()
).withr::defer
).getprecip()
now normalizes the input file and returns
the path where the precipitation rasters are stored.prepcipitate()
can now handle as input for
path =
either the full path to the files returned by
getprecip()
– which contains the folder provided to
path
when calling getprecip()
in addition to
"/wc2.1_30s_prec"
– or the reduced path which only contains
the folder provided to path
when calling
getprecip()
.getprecip()
now changes the timeout R options
temporarily so as to avoid the download to fail because the default
timeout setting is too short. (#148)GNIPDataALLagg
and
GNIPDataEUagg
was incorrect. (#158)OceanMask
and CountryBorders
are no longer
stored as RDA files in /data
, but as RDS files in
/extata
since objects created with terra
cannot be saved as RDA files. These files are automatically loaded when
the package is attached.the function calibfit()
gains an argument method
that allows for selecting one of four calibration methods (“wild”,
“lab”, “desk”, “desk_inverse”). This allows for users to use:
Note: the “desk” methods allow for the consideration of a
fractionation factor too (i.e. slope = 0). See ?calibfit
for details. (#20 & #142)
the function getelev()
has been completely rewritten
so as to rely on the package elevatr to download
elevation data. You should check ?getelev
for learning how
to use the new version of the function, but we retained the core
principle of the previous function so that old workflow will only
require minor adjustments. The new version still saves a
*.tif
file on the disk, albeit using a different file name
to avoid (data) confusion. (#140 & #107)
the function isofind()
gains an argument
neglect_covPredCalib
that allows for the computation of a
covariance term that was so far neglected in IsoriX. See
?isofind
for details. (#143)
the function prepraster()
gains an argument
values_to_zero
to turn a range of elevation values to zeros
(nullify negative elevation values by default). This is particular
useful because the new version of get_elev()
download an
elevation raster that includes bathymetry.
new internal function .invert_reg()
to invert
regression (used for method “desk_inverse” in
calibfit()
.
plot()
on an object created with
calibfit()
, the plotting function now returns the fitted
values and CI for users to be able to make alternative plots. (#44)xlim
for the plotting function for
calibration fits.line
for customizing how to plot the
regression line in calibration fits.calibfit()
performs more check on extrapolation.
(#119)plot()
on an object of class ISOFIT, the
x-axis for the plot showing the Matérn correlation should have a range
more adequate irrespective when autocorrelation is strong over short
distances. (#134)?plot()
now contains a description of
what symbols mean in plots. (#138)plot()
on an object created with
isofind()
, the plotting function now detects sample of size
1 and no longer displays “Group” in the title of the assignment plot
even if who
= “group”. (#120)data.frame
as input should
also now be compatible when provided with a tibble
.
(#118)calibfit()
long_min
, long_max
,
lat_min
& lat_max
function
prepsources()
now have explicit default values and should
no longer be missing.ylim
for the plotting function for
calibration fits.CountryBorders
and
OceanMask
have been rebuilt for possibly improving the
compatibility with new sp &
rgdal.WorlClim
has now changed address, so
links have been updated.PrecipBrickDE
containing monthly
precipitation amounts for Germany.y_title
for the plotting function for
isoscapes to allow one to simply change the title.xlab
and ylab
for the plotting
function for calibration fits.bla.bla
have been
renamed so as to match the structure bla_bla
.calibfit()
gains an argument
...
for more control.rasterLayer
has been included for
convenience.relevate()
is now called
prepraster()
.prepdata()
is now called
prepsources()
.elevation.raster
has
been renamed as raster
.xxx.data
has been
renamed as data
.zzz.R
.dontrun
and donttest
calls have been
replaced by comments due to new R CMD check flags.downloadfile()
is now exported.predict.HLfit()
, the prediction are now being made by chunk
of 1000 points instead of 150. This should lead to a tiny gain in
performance.isoscape()
was performing predictions
twice every 150 (or now 1000) locations, this was not influencing the
isoscapes produced, but this has now been corrected.prepraster()
now produces an raster stored
in memory if it is possible. This should prevent bugs that appears when
using loaded rasters that were previously saved (the temporary link to
the hard drive location is no longer correct in this case)..objective_fn_calib()
has been moved
within the function calibfit()
as it is not used
elsewhere.calibfit()
as been prepared for a possible
activation of a random effect for species ID in the future. But whether
it would make sense or not remains to be determined..Fisher_method()
now directly computes the
exponential of the log pv if only one value is provided. This leads to
much faster assignment in the case of a single observation.getprecip()
and
prepcipitate()
were not handling paths manually defined
properly.MULTIISOFIT
.queryGNIP()
has been renamed and is now
called prepdata()
, this function can also handle other
datasets than GNIP.relevate()
has been modified to make crop
possible around the pacific meridian -180/180 (but several issues remain
to handle extra plot layers automatically)..converts_months_to_numbers()
.IsoriX.options(example_maxtime = XX)
.relevate()
now allows for a cropping
larger than the extent of the weather stations by means of the argument
margin_pct
.prepcipitate()
to prepare the
precipitation brick.getprecip()
to download monthly
precipitation rasters from WorldClim.isomultifit()
fitting isoscapes per strata
(month, year, or any “split”).isomultiscape()
building isoscapes
averaged across strata.create_aliens()
simulating of organism
data.queryGNIP()
have changed.isofit()
has changed.getelev()
was breaking in some cases.GNIPdata
has been updated and now contains
data for 2014.downloadfile()
to download non standard
elevation raster or any other file.getelev()
can perform MD5 sum checks if the
package tools is installed.getelev()
can display additional information
during download if verbose
> 1.animalID
in the assignment dataset can now
handle names with spaces.set_ll_warn
from the
sp package has been moved to .onLoad()
(instead of .onAttach()
) and the original state is now
restored while unloading IsoriX.getelev()
lost its address
argument as downloadfile()
should now be used to download
non-standard elevation rasters.*.Rd
files for documentation are now generated with
Roxygen2.queryGNIP()
is now provided with a single month
argument specifying the months to select.