GSTools Versions Save

GSTools - A geostatistical toolbox: random fields, variogram estimation, covariance models, kriging and much more

v1.5.2

1 week ago

Release Notes

This release brings better support for spatio-temporal models as well as some updates for models on geographic coordinates.

Installation

You can install GSTools with conda:

conda install -c conda-forge gstools

or with pip:

pip install gstools

Documentation

The documentation can be found at: https://gstools.readthedocs.io/

What's new?

Enhancements

  • added global variable config.NUM_THREADS to select number of threads for parallel computation (#336)
  • speed up sampling with emcee by setting vectorize=True in EnsembleSampler (#346)
  • prepare numpy 2 support (#340)
    • at least numpy 2.0.0rc1 for building extensions (for Python 3.9 and above)
    • check multiple numpy and scipy versions in CI
    • fixed minimal versions for numpy
    • use np.asarray everywhere with np.atleast_(n)d
    • fix long/longlong integer issue in cython on windows by always using 64bit integers

Bugfixes

  • build docs with latest sphinx version (#340)
  • fixed zero division error in spectral density of Integral model (#347)
  • minor pylint fixes for used-before-assignment issues (#350)

Changes

  • require pyvista 0.40 at least (#340)
  • require matplotlib 3.7 at least (#350)
  • remove universal2 wheels for macos (we already provide separate intel and arm64 wheels) (#350)

v1.5.1

6 months ago

Release Notes

This release brings better support for spatio-temporal models as well as some updates for models on geographic coordinates.

Installation

You can install GSTools with conda:

conda install -c conda-forge gstools

or with pip:

pip install gstools

Documentation

The documentation can be found at: https://gstools.readthedocs.io/

What's new?

Enhancements

see #317

  • added wheels for Python 3.12
  • dropped support for Python 3.7 (EOL)
  • linted Cython files with cython-lint
  • use Cython 3 to build extensions

v1.5.0

11 months ago

Release Notes

This release brings better support for spatio-temporal models as well as some updates for models on geographic coordinates.

Installation

You can install GSTools with conda:

conda install -c conda-forge gstools

or with pip:

pip install gstools

Documentation

The documentation can be found at: https://gstools.readthedocs.io/

What's new?

Enhancements

  • added temporal flag to CovModel to explicitly specify spatio-temporal models #308
    • rotation between spatial and temporal dimension will be ignored
    • added spatial_dim to CovModel to explicitly set spatial dimension for spatio-temporal models
      • if not using spatial_dim, the provided dim needs to include the possible temporal dimension
      • spatial_dim is always one less than field_dim for spatio-temporal models
    • also works with latlon=True to have a spatio-temporal model with geographic coordinates
    • all plotting routines respect this
    • the Field class now has a temporal attribute which forwards the model attribute
    • automatic variogram fitting in kriging classes for temporal=True and latlon=True will raise an error
  • added geo_scale to CovModel to have a more consistent way to set the units of the model length scale for geographic coordinates #308
    • no need to use rescale for this anymore (was rather a hack)
    • added gs.KM_SCALE which is the same as gs.EARTH_RADIUS for kilometer scaling
    • added gs.DEGREE_SCALE for great circle distance in degrees
    • added gs.RADIAN_SCALE for great circle distance in radians (default and previous behavior)
    • yadrenko variogram respects this and assumes the great circle distances is given in the respective unit
    • vario_estimate also has geo_scale now to control the units of the bins
  • vario_estimate now forwards additional kwargs to standard_bins (bin_no, max_dist) #308
  • added low and high arguments to uniform transformation #310

Changes

  • CovModels expect special arguments by keyword now #308
  • always use f-strings internally #283
  • removed verbose attribute from RandMeth classes #309
  • all arguments for RandMeth classes key-word-only now except model #309
  • rename "package" to "api" in doc structure #290

Bugfixes

  • latex equations were not rendered correctly in docs #290

v1.4.1

1 year ago

Release Notes

This release brings Python 3.11 support, a new covariance model and provides some minor bugfixes.

Installation

You can install GSTools with conda:

conda install -c conda-forge gstools

or with pip:

pip install gstools

Documentation

The documentation can be found at: https://gstools.readthedocs.io/

What's new?

Enhancements

  • new (Exponential-) Integral model added #243
  • added wheels for Python 3.11 #272

Changes

  • API documentation is polished and fully auto-generated now #271

Bugfixes

  • fixed approximation of Matern.spectrum for big nu #243
  • GSTools had wrong version when installed from git archive #272
  • Field.plot: solve long-standing mpl slider bug #273

v1.4.0

1 year ago

Release Notes

This release drops Python 3.6 support, brings a new package structure, adds some usability improvements and provides some crucial bugfixes.

Installation

You can install GSTools with conda:

conda install -c conda-forge gstools

or with pip:

pip install gstools

Documentation

The documentation can be found at: https://gstools.readthedocs.io/

What's new?

Enhancements

  • added Youtube tutorial to documentation #239
  • better support for custom generators #250 #259
  • add valid_value_types class variable to all field classes #250
  • PyKrige: fix passed variogram in case of latlon models #254
  • add bounds checks for optional arguments of CovModel when resetting by class attribute #255
  • minor coverage improvements #255
  • documentation: readability improvements #257

Changes

  • drop Python 3.6 support (setuptools>60 needs py>3.7) #241
  • move setup.cfg content to pyproject.toml (PEP 621) #241
  • move to src/ based package structure (better testing, building and structure) #241
  • use extension-helpers for openmp support in setup.py #241
  • increase minimal version of meshio to v5.1 #241

Bugfixes

  • Pyvista v0.32 deprecation warning: use point_data instead of point_arrays #237
  • remove deprecated scipy (v1.9) method pinv2 #247
  • change float comparison in tests #248
  • Cython: solve -Wsometimes-uninitialized warning #255

v1.3.5

2 years ago

Release Notes

Bugfix release.

Installation

You can install GSTools with conda:

conda install -c conda-forge gstools

or with pip:

pip install gstools

Documentation

The documentation can be found at: https://gstools.readthedocs.io/

What's new?

Changes

  • remove caps for dependencies #229
  • build linux wheels with manylinux2014 for all versions (CIBW v2.3.1) #227

Bugfixes

  • Field.mesh was not compatible with meshio v5.1+ #227

v1.3.4

2 years ago

Release Notes

This release comes with wheels for Python 3.10 and a new optional package with re-implementations of the Cython routines in Rust called GSTools-Core.

You can install the rust package as an option with

pip install gstools[rust]

Or simply by

pip install gstools-core

If the package is present it will be used instead of the Cython routines.

Installation

You can install GSTools with conda:

conda install -c conda-forge gstools

or with pip:

pip install gstools

Documentation

The documentation can be found at: https://gstools.readthedocs.io/

What's new?

Enhancements

  • add GSTools-Core as optional dependency #215
  • provide wheels for Python 3.10 #211
  • provide macOS wheels for Apple Silicon #211

Changes

  • remove unnecessary dim argument in Cython code #216

v1.3.3

2 years ago

Release Notes

This release comes with a new storage framework for all Field classes and a better transform sub-module.

Installation

You can install GSTools with conda:

conda install -c conda-forge gstools

or with pip:

pip install gstools

Documentation

The documentation can be found at: https://gstools.readthedocs.io/

What's new?

Enhancements

See: #197

  • gstools.transform:
    • add keywords field, store, process and keep_mean to all transformations to control storage and respect normalizer
    • added apply_function transformation
    • added apply as wrapper for all transformations
    • added transform method to all Field (sub)classes as interface to transform.apply
    • added checks for normal fields to work smoothly with recently added normalizer submodule
  • Field:
    • allow naming fields when generating and control storage with store keyword
    • all subclasses now have the post_process keyword (apply mean, normalizer, trend)
    • added subscription to access fields by name (Field["field"])
    • added set_pos method to set position tuple
    • allow reusing present pos tuple
    • added pos, mesh_type, field_names, field_shape, all_fields properties
  • CondSRF:
    • memory optimization by forwarding pos from underlying krige instance
    • only recalculate kriging field if pos tuple changed (optimized ensemble generation)
  • performance improvement by using np.asarray instead of np.array where possible
  • updated examples to use new features
  • added incomplete lower gamma function inc_gamma_low (for TPLGaussian spectral density)
  • filter nan values from cond_val array in all kriging routines #201

Bugfixes

  • inc_gamma was defined wrong for integer s < 0

v1.3.2

2 years ago

Release Notes

A bugfix release for GSTools v1.3.

Installation

You can install GSTools with conda:

conda install -c conda-forge gstools

or with pip:

pip install gstools

Documentation

The documentation can be found at: https://gstools.readthedocs.io/

What's new?

Bugfixes

  • vario_estimate was altering the input field unter certain circumstances #180
  • emcee v3.1 now requires nsteps in run_mcmc() to be integer (called in RNG.sample_ln_pdf) #184

v1.3.1

2 years ago

Release Notes

A bugfix release for GSTools v1.3.

Installation

You can install GSTools with conda:

conda install -c conda-forge gstools

or with pip:

pip install gstools

Documentation

The documentation can be found at: https://gstools.readthedocs.io/

What's new?

Enhancements

  • Standalone use of Field class #166
  • add social badges in README #169, #170

Bugfixes

  • use oldest-supported-numpy to build cython extensions #165