FitWave()
and related functions return NA
s when the inputted signal has NA
s.
FitLm()
accepts a weights
argument to perform weighted regression.
ReadNetCDF()
now can read files directly from DAP servers and other urls, and objects returned by [ncdf4::nc_open()].
ReadNetCDF()
won’t try to parse “time” dimensions that are not dates and will try to parse as time all dimensions.seasonaly()
is now correctly called seasonally()
. This proves that you don’t put an ESL person in charge of naming stuff.EPflux()
computes Eliassen-Palm fluxes (experimental).
geom_arrow()
and geom_vector()
should plot faster.
New functions is.full_season()
and seasonaly()
.
FitLm()
returns model \(r^2\) and adjusted \(r^2\).
FitLm()
adds names to unnamed terms.
New function WaveEnvelope()
that computes… the wave envelope.
geom_contour2()
, geom_contour_fill()
and geom_text_contour()
now accept a global.breaks
argument that controls whether breaks should be computed once using the range of the whole dataset or once for every grouping (e.g. faceting). TRUE
(the default) ensures that intervals between contours are comparable between panels. Setting it to FALSE
computes contours compatible with ggplot2::geom_conotur()
(#109, thanks @freeseek)
A reworked non-equispaced derivative gives better results in Derivate()
.
ReadNetCDF()
will not fail if the first variable was called “v” (yeah, I know.. weird error related to data.table’s non standard evaluation).
Subsets in ReadNetCDF()
won’t fail if no element is named (#107, thanks @m-saenger)
Fixed bug in WaveFlux()
(#110, thanks @salvatirehbein)
ReadNetCDF()
supports using NA
in subset to refer to max or min value.
ReadNetCDF()
’s subset argument supports more complex queries. (see the help section at?ReadNetCDF()
).
ReadNetCDF()
now has a simple date-time parser that is tried if the udunits2 package is not installed.
GetSMNData()
gains the ability to cache results in a file.
Derivate()
now can derive in a non-equispaced grid.
geom_contour_fill()
imputation method is fixed for some special cases (#96; thanks @bergmul).
predict.eof()
handles complex value svd correctly.
Accommodates new grid implementation of units (#105 thanks @pmur002).
New GlanceNetCDF()
function that is an alias for ReadNetCDF(out = "vars")
but now prints a human readable summary of the contents of the NetCDF file.
geom_streamline()
now uses 4th order Runge-Kutta instead of plain old Euler. It also draws arrows in the middle of the streamline.
ReadNetCDF()
is slightly faster and should use less memory.
ReadNetCDF()
supports more complex subsetting operations now.
The df
element returned by FitLm()
now has the same length as the rest.
ReadNetCDF()
result will print correctly.Anomaly()
has a new baseline
argument.
New function Trajectory()
that computes trajectories in time-varying velocity fields.
ReadNetCDF()
now accepts dates as elements for subset
.
ReadNetCDF()
will read all dates correctly (#91; thanks to @m-saenger).
The es
argument from MixingRatio()
changes to e
, to be consistent with the rest of the variables. Sorry, thermodynamics is not my forte! (thanks @PaoCorrales)
Arrow heads in geom_arrow()
are now scaled correctly in faceted plots (fixes, #92; thanks to @m-saenger)
There has been some changes in the interface of some functions for the sake of consistency.
In Derivate()
(and it’s derivated functions –see what I did there?), the data
argument has been moved back. This is because this function is intended to be called inside a data.table
of mutate()
call, where you don’t need to explicitly specify the data.
In EOF()
the dcast-style formula interface has been removed. The data
argument was also moved back so you can use the n
argument more easily without naming it.
ImputeEOF()
follows the same conventions. The dcast-style interface has been removed and the data
argument has been moved after the max.eof
argument.
BuildQsWave()
and FitQsWave()
have been removed and should had never even existed.
The default skip
argument for geom_text_contour()
is now 0.
Removed hemisphere
argument from season()
since the function returns the trimester so it made no sense.
Contour functions now compute breaks globally (using all the data) instead of per panel. This means default intercomparabilty between faceted plots but also a considerable deviation from ggplot2::geom_contour()
.
The Between
operators are removed since they were already implemented in data.table
.
The default geom
for stat_na()
is changed to point
for consistency with stat_subset()
geom_arrow()
and geom_vector()
scale with vector magnitude.geom_streamline()
for visualizing vector fields.dlon()
, dlat()
, dx()
, dy()
for converting physical units into spherical units.geom_contour_tanaka()
that plots illuminated contours.Interpolate()
for bilinear interpolation.FitWave()
with wavenumber 0. Now it returns the mean.FitWave()
runs slightly faster and BuildWave()
runs much faster.GeomContourFill
object since it was just a polygon.EOF()
now use factors instead of numbers to identify each PCscale_mag()
and guide guide_vector()
for controlling and communicating the scale of vectors. These are highly experimental and will change in the future, but provide some very needed functionality so I decided to export them as they are.geom_arrow()
gains new pivot
argument to control point of rotation and preserve.dir
to tell if angle should be preserved.stat_contour_fill()
and stat_contour2()
print a warning when no contours can be made.EOF()
now supports estimation of confidence intervals via bootstrap.EOF()
supports varimax rotation. Rotated components are labelled accordingly.geom_relief()
is much faster now (but see package rayshader
).geom_shadow()
for casting shadows in topographic maps.StatContour2
are memoised so they are only computed once even adding several layers with the same contours (geom_contour() + geom_text_contour()
) or running the same plot while tweaking it’s appearance.FitLm()
for getting fast estimates of linear fits.FilterWave()
for filtering waves.RepeatCircular()
was deprecated in favour of WrapCircular()
which is more robust, and then WrapCircular()
was deprecated in favour of the ggperiodic
package.stat_contour2()
, stat_contour_fill()
and geom_streamlines()
handle circular dimensions has changed. Now you need to use xwrap
/ywrap
to explicitly set the domain. This makes the implementation more robust and also allow to easily wrap to an arbitrary domain.ggperiodic
, which can handle this stuff better. The above mentioned arguments still work but are not documented and will be deprecated.EOF()
gains a fill
argument for sparse-ish data.geom_text_contour()
now has the ability to draw a stroke around text.geom_contour_fill()
now can impute missing values with bivariate interpolation.BuildField()
actually renamed BuildWave()
(which should’ve happen in the previous release according to this News).as.path()
and added functionality to Interpolate()
that allows to interpolate values along a path of locations.Impute2D()
which is an exported version of the method used by geom_contour_fill()
to (soft) impute missing values.subset
argument in ReadNetCDF()
now accepts character vectors for time components.GetTopography()
ReadNetCDF()
now can output arrays and vectors.pkgdown
.coriolis()
and coriolis.dy()
.Anomaly()
(can’t believe I did that).EOF()
principal components are numeric instead of “PC1”, etc…stat_contour()
created geom_contour_fill()
which works just like stat_contour_fill()
.stat_na()
for easy masking of NA
values.geom_arrow()
now is geom_vector()
with better documentation and more parameters and geom_arrow()
is a new geom for arrows that preserve direction.ReadNetCDF()
now handles more date formats.Laplacian()
, Divercence()
and Vorticity()
DerivatePhysical()
is removed since it was made redundant by the extended functionality in Derivate()
geom_text_contour()
and geom_label_contour()
for labelling contours.GeostrophicWind()
.ReadNetCDF()
and as.POSIXct
.ReadNetCDF()
now supports timezones via de udunits2
package.stat_contour_fill()
.MakeBreaks()
and AnchorBreaks()
.guide_colorstrip()
displays discretized values of a continuous colour or fill scale.stat_contour_fill()
geom_relief()
for generating relief shading.ReadNetCDF()
gains a subset
argument for subsetting data.AnchorBreaks()
is a new way of generating breaks.geom_contour2()
that takes a function as argument in breaks
and geom_contour_fill()
also does the same.stat_subset()
that makes subsetting data on the fly easier.ReadNetCDF()
can return a keyed data.table.FitQsWave()
and BuildQsWave()
renamed to FitWave()
and BuildWave()
, respectively.GetSMNData()
is updated to include the new SMN website and data types.geom_contour2()
and geom_contour_fill()
gain a circular
argument to specify a circular dimension.RepeatCircular()
renamed to RepeatCircular()
.LonLabel()
and LatLabel()
aid labelling latitude and longitude.EOF()
and ImputeEOF()
.