-
Notifications
You must be signed in to change notification settings - Fork 74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GSTools 1.3 *Pure Pink* release #110
Merged
Merged
+11,607
−3,986
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Automatic Binning
Co-authored-by: LSchueler <[email protected]>
…and 'vario_estimate'
…eturn return fitted normalizer
Krige: Adapting to PyKrige
…s not allowed here
Pylint fixes
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Release Notes
A big step forward for GSTools. We now support geographical coordinates, directional variograms, auto-binning, arbitrary dimensions, normalizers and trends and much much more.
Installation
You can install GSTools with conda:
or with pip:
Documentation
The documentation can be found at: https://gstools.readthedocs.io/
What's new?
Topics
Geographical Coordinates Support (#113)
latlon
to indicate a geographic model. When given, spatial dimension is fixed todim=3
,anis
andangles
will be ignored, since anisotropy is not well-defined on a sphere.field_dim
to indicate the dimension of the resulting field. Will be 2 iflatlon=True
zeta
:vario_yadrenko
: given byvariogram(2 * np.sin(zeta / 2))
cov_yadrenko
: given bycovariance(2 * np.sin(zeta / 2))
cor_yadrenko
: given bycorrelation(2 * np.sin(zeta / 2))
isometrize
andanisometrize
methods will convertlatlon
tuples (given in degree) to points on the unit-sphere in 3D and vice versadim
,anis
andangles
parameters, butlatlon=True
fit_variogram
will expect an estimated variogram with great-circle distances given in radianslatlon
switch implemented inestimate_vario
routineKrige Unification (#97)
Krige
class now provides everything in one placeonly_mean
in the call routineSimple
/Ordinary
/Universal
/ExtDrift
/Detrended
are only shortcuts toKrige
with limited input parameter listcovariance
function to build up the kriging matrix (instead of variogram)unbiased
switch was added to enable simple kriging (where the unbiased condition is not given)exact
switch was added to allow smother results, if anugget
is present in the modelcond_err
parameter was added, where measurement error variances can be given for each conditional pointpseudo_inv
), this is equal to solving the system with least-squares and prevents numerical errorsfit_normalizer
andfit_variogram
to automatically fit normalizer and variogram to given dataDirectional Variograms and Auto-binning (#87, #106, #131)
vario_estimate
instead ofvario_estimate_unstructured
(old kept for legacy code) for simplicityvario_estimate_axis
instead ofvario_estimate_structured
(old kept for legacy code) for simplicityno_data
option added to allow missing valuesmask
keyword was added to provide an external maskno_data
option added to allow missing values (sovles #83)"x"
,"y"
,"z"
) or axis number (0
,1
,2
,3
, ...)Better Variogram fitting (#78, #145)
loss
is now selectable for smoother handling of outlierslen_scale
is now mean of given bin-centersvar
andnugget
is now mean of given variogram valuesCovModel update (#109, #122, #157)
rescale
argument and attribute to theCovModel
class to be able to rescale thelen_scale
(usefull for unit conversion or rescalinglen_scale
to coincide with theintegral_scale
like it's the case with the Gaussian model)See: #90, GeoStat-Framework/PyKrige#119
len_rescaled
attribute to theCovModel
class, which is the rescaledlen_scale
:len_rescaled = len_scale / rescale
default_rescale
to provide default rescale factor (can be overridden)doctest
callscor
routine and make use of therescale
argument (See: #90)HyperSpherical
: (Replaces the oldIntersection
model) Derived from the intersection of hyper-spheres in arbitrary dimensions. Coincides with the linear model in 1D, the circular model in 2D and the classical spherical model in 3DSuperSpherical
: like the HyperSpherical, but the shape parameter derived from dimension can be set by the user. Coincides with the HyperSpherical model by defaultJBessel
: a hole model valid in all dimensions. The shape parameter controls the dimension it was derived from. Fornu=0.5
this model coincides with the well knownwave
hole model.TPLSimple
: a simple truncated power law controlled by a shape parameternu
. Coincides with the truncated linear model fornu=1
Cubic
: to be compatible with scikit-gstat in the futureCovModel
class is now using a float precision (CovModel._prec=3
) to truncate longish outputCovModel
class now only showsanis
andangles
if model is anisotropic resp. rotatedNormalizer, Trend and Mean (#124)
normalize
submodule containing power-transforms for data to gain normalityNormalizer
providing basic functionality including maximum likelihood fittingLogNormal
,BoxCox
,BoxCoxShift
,YeoJohnson
,Modulus
andManly
Arbitrary dimensions (#112)
isometrize
andanisometrize
routines to convert pointsNew Class for Conditioned Random Fields (#130)
CondSRF
replaces the conditioning feature of the SRF class, which was cumbersome and limited to Ordinary and Simple krigingCondSRF
behaves similar to theSRF
class, but instead of a covariance model, it takes a kriging class as input. With this kriging class, all conditioning related settings are defined.Enhancements
dim
orshape
shape
(variogram helper)field.tools
subpackagemeshio>=4.0
and add as dependencyEARTH_RADIUS
as constant providing earths radius in km (can be used to rescale models)latlon2pos
andpos2latlon
to convert lat-lon coordinates to points on unit-sphere and vice versaRandMeth
class got a switch to select the sampling strategypyproject.toml
to care about build dependencies, see #154Changes
pos2xyz
andxyz2pos
pre_pos
routine to save pos tuple and reformat it an unstructured tuple"unstructured"
keyword is recognized everywhere, everything else is interpreted as"structured"
(e.g."rectilinear"
)GSTOOLS_BUILD_PARALLEL=1
, see #154[dev]
dropped, can be reproduced bypip install gstools[test, doc]
, see #154Bugfixes
CovModel.opt_arg
now sorted #103