Changelog¶
Version 1.2.0¶
Released on: 2019/07/23
Bug fixes:
- Return the correct coordinates when passing
pixel_register=True
andshape
toverde.grid_coordinates
. The returned coordinates had 1 too few elements in each dimension (and the wrong values). This is because we generate grid-line registered points first and then shift them to the center of the pixels and drop the last point. This only works when specifyingspacing
because it will generate the right amount of points. Whenshape
is given, we need to first convert it to “grid-line” shape (with 1 extra point per dimension) before generating coordinates. (#183) - Reset force coordinates when refitting splines. Previously, the splines set the force
coordinates from the data coordinates only the first time
fit
was called. This means that when fitting on different data, the spline would still use the old coordinates leading to a poor prediction score. Now, the spline will use the coordinates of the current data passed tofit
. This only affects cases whereforce_coords=None
. It’s a slight change and only affects some of the scores for cross-validation. (#191)
New functions/classes:
- New class
verde.SplineCV
: a cross-validated version ofSpline
. that performs grid search cross-validation to automatically tune the parameters of aSpline
. (#185) - New function
verde.longitude_continuity
to format longitudes to a continuous range so that they can be indexed withverde.inside
(#181) - New function
verde.load_surfer
to load grid data from a Surfer ASCII file (a contouring, griding and surface mapping software from GoldenSoftware). (#169) - New function
verde.median_distance
that calculates the median near neighbor distance between each point in the given dataset. (#163)
Improvements:
- Allow
verde.block_split
andverde.BlockReduce
to take ashape
argument instead ofspacing
. Useful when the size of the block is less meaningful than the number of blocks. (#184) - Allow zero degree polynomials in
verde.Trend
, which represents a mean value. (#162) - Function
verde.cross_val_score
returns a numpy array instead of a list for easier computations on the results. (#160) - Function
verde.maxabs
now handles inputs with NaNs automatically. (#158)
Documentation:
- New tutorial to explain the intricacies of grid coordinates generation, adjusting spacing vs region, pixel registration, etc. (#192)
Maintenance:
- Drop support for Python 3.5. (#178)
- Add support for Python 3.7. (#150)
- More functions are now part of the base API:
n_1d_arrays
,check_fit_input
andleast_squares
are now included inverde.base
. (#156)
This release contains contributions from:
- Goto15
- Lindsey Heagy
- Jesse Pisel
- Santiago Soler
- Leonardo Uieda
Version 1.1.0¶
Released on: 2018/11/06
New features:
- New
verde.grid_to_table
function that converts grids to xyz tables with the coordinate and data values for each grid point (#148) - Add an
extra_coords
option to coordinate generators (grid_coordinates
,scatter_points
, andprofile_coordinates
) to specify a constant value to be used as an extra coordinate (#145) - Allow gridders to pass extra keyword arguments (
**kwargs
) for the coordinate generator functions (#144)
Improvements:
- Don’t use the Jacobian matrix for predictions to avoid memory overloads. Use dedicated and numba wrapped functions instead. As a consequence, predictions are also a bit faster when numba is installed (#149)
- Set the default
n_splits=5
when usingKFold
from scikit-learn (#143)
Bug fixes:
- Use the xarray grid’s pcolormesh method instead of matplotlib to plot grids in the examples. The xarray method takes care of shifting the pixels by half a spacing when grids are not pixel registered (#151)
New contributors to the project:
- Jesse Pisel
Version 1.0.0¶
Released on: 2018/09/13
- First release of Verde. Establishes the gridder API and includes blocked reductions, bi-harmonic splines [Sandwell1987], coupled 2D interpolation [SandwellWessel2016], chaining operations to form a pipeline, and more.