Skip to content

Releases: pySTEPS/pysteps

pysteps v1.4.1

15 Jan 18:04
8806e5b
Compare
Choose a tag to compare

Summary

  • Major refactoring of the pysteps.visualization module to improve the code quality, documentation, and coverage. As a consequence, there have been few changes in the interfaces to the plotting functionalities that will produce new deprecation warnings for v1.6 [#199]
  • Fix incompatibility that appeared with scipy>=1.6 causing pysteps.nowcasts.steps.forecast to fail with argument vel_pert_method="bps" and a zero velocity field [#203]
  • Fix bug introduced in v1.4.0 concerning the usage of the netcdf exporter in pysteps.nowcasts.steps.forecast [#200]
  • Fix bug in pysteps.utils.cleansing.decluster [#194]

For a more comprehensive list of all changes please have a look at the release v1.4.1 Milestone.

Contributors

@aperezhortal @dnerini @pulkkins

pysteps v1.4

14 Dec 14:23
19ad057
Compare
Choose a tag to compare

Summary

  • Introducing the thunderstorm detection and tracking (DATing) modules [example] [doc1] [doc2] [#178]
  • Introducing the RainFARM (Rebora et al. 2006) module for downscaling precipitation fields [example] [doc] [#173]
  • Introducing the pysteps importers plugins [doc] [#174]
  • Improving the semi-lagrangian extrapolation method [doc] [#176] [#191]
  • Improving pysteps netCDF exporter [doc] [#175]
  • Implementing a more general importer for ODIM-compliant data sources [doc] [#171] [#172]
  • Improving plotting of basemaps [doc] [#177] [#180] [#192]

... and plenty of smaller bug fixes and general improvements. For more info please have a look at the release v1.4 Milestone.

Breaking changes

  • pysteps.extrapolation.semilagrangian
    • D_prevargument renamed to displacement_prev [#184]
  • pysteps.utils.images
    • pysteps.utils.images.shitomasi method migrated to pysteps.feature.shitomasi [#178]
    • pysteps.utils.images.blob method migrated to pysteps.feature.blob [#178]
  • pysteps.motion.lucaskande
    • pysteps.motion.lucaskanade.track_features method migrated to pysteps.tracking.lucaskanade.track_features [#178]
  • pysteps.visualization
    • map argument renamed to plot_map [#177] [#180]

Contributors

@aperezhortal @chiara-arpae @dnerini @edigiacomo @feldmann-m @jleinonen @loforest @pulkkins @RubenImhoff

pysteps v1.3.2

12 Aug 13:19
Compare
Choose a tag to compare

Summary of main changes :

  • Improve documentation
  • Fix bug in the VET padding
  • Fix visualization routines for motion fields
  • Update default pystepsrc
  • Minor code adjustments and fixes

Pysteps v1.3.2 changelog:

  • cascade
    • Compute cascade level statistics by default in the decomposition.decomposition_fft function.
  • motion
    • Fix the issue with the padding keyword in the motion.vet function to correctly handle masked and non-masked input arrays.
  • noise
    • Add a very small offset to the tapering window to avoid zero values causing some artifacts with the ssft and nested filters.
  • nowcasts
    • Set out-of-domain values to nan in sprog.forecast and steps.forecast.
    • Set negative values in anvil.forecast to zero.
    • Add option to disable localization in anvil.forecast by passing ar_window_radius=None.
    • Change default to probmatching_method='cdf' in sprog.forecast.
  • pystepsrc
    • Convert the value of pixelsize to km for knmi data.
  • verification
    • Fix error in plot.plot_rankhist caused by a different number of ticks and tick labels.
  • visualization
    • Fix interfaces in motionfields routines with respect to basemaps.plot_geography.
    • Update docstrings in motionfields.

Future Warnings:

  • v1.4.0:
    • Rename keyword argument map to plot_map for all routines in the visualization module.

pysteps v1.3.1

18 May 05:53
Compare
Choose a tag to compare

Summary of main changes and new features:

  • Add an interface to the feature.blob_* methods from scikit-image. A blob is defined as a local maximum of a Gaussian-filtered image. This new utils.images.blob_detection feature detection method can be used in the motion.lucaskanade module to track cells in radar data.
  • Fix installation errors in windows which caused permissions errors in datasets.download_pysteps_data and datasets.download_mrms_data functions.
  • Fix bug with the precipitation mask of nowcasts.anvil. This caused the method to produce too much rain in non-rainy areas when rain rate was used as input.
  • Run Black on the whole source code for consistent, reproducible code formatting.
  • Add pre-commit hooks as part of the development workflow.
  • Improve documentation.

Pysteps v1.3.1 changelog:

  • dataset
    • Fix permissions errors in download_pysteps_data and download_mrms_data functions
    • Update installation instructions for Windows systems
  • motion.lucaskanade.dense_lucaskanade
    • Add option to use blob_detection as feature detection method
  • nowcasts.anvil
    • Implement precipitation mask when rainrate is set to None
    • Minor changes to default values, masking and thresholding
  • utils.images
    • Add blob_detection method

pysteps v1.3

22 Apr 06:30
2eaed83
Compare
Choose a tag to compare

Summary of main changes and new features:

  • Code formatting and bug fixes.
  • Improve documentation and test coverage.
  • New deterministic nowcasting module nowcasts.anvil implementing the ANVIL method published in Pulkkinen et al. (2020): Nowcasting of Convective Rainfall Using Volumetric Radar Observations. Learn how to use it in this example script.
  • New importer io.importers.import_mrms_grib for the for NSSL’s Multi-Radar/Multi-Sensor System (MRMS).
  • New dataset module to facilitate downloading the pysteps example data and create the configuration file.
  • New interactive notebook my_first_nowcast.ipynb available on Google Colab.

Pysteps v1.3.0 changelog:

  • dataset
    • add function download_pysteps_data to download the example data from the pysteps-data GitHub repo
    • add function create_default_pystepsrc to create a default configuration file pointing to the local pysteps data directory
    • add helper functions to easily load the example data for each data source (fmi, mch, opera, etc)
  • io.importers:
    • add function import_mrms_grib to import NSSL’s Multi-Radar/Multi-Sensor System (MRMS) grib data
    • change spatial units from meters to kilometers in import_knmi_hdf5 and fix definition of y1and y2 parameters in the metadata.
    • allow all the importers to specify the output array data type (dtype keyword) and fill invalid data with a predefined value (fillna keyword)
    • add function to safely and consistently get the rain/no rain threshold
  • motion.constant
    • constantmethod returns two-dimensional advection field instead of one motion vector
  • motion.lucaskanade
    • fix bug in dense_lucaskanade handling of MaskedArrays inputs. Previously, the method ignored the input mask, unless the masked values where set as nans
    • require ndarrays or MaskedArrays as input data to dense_lucaskanade
  • motion.vet
    • fix bug in vet keywords handling. Previously, the method argument passed to the minimizer was ignored
  • nowcasts
    • add deterministic nowcasting module nowcasts.anvil
  • utils.dimensions
    • include option trim in aggregate_fields function to allow aggregation along axes that are not perfectly divisible by a given window
  • utils.images
    • rename ShiTomasi_detection function to lowercase shitomasi_detection to comply with PEP8
    • change default value for the buffer_mask argument in the shitomasi_detection function from 0 to 5 to provide a minimum buffer to no-data in the motion.lucaskanade.dense_lucaskanade method
  • utils.interpolate
    • change default value for the epsilon argument in the rbfinterp2d function from 5 to 10 to provide a more localized interpolation of motion vectors in the motion.lucaskanade.dense_lucaskanade method

Contributors to this release:
@aperezhortal @dnerini @pulkkins @RubenImhoff

pysteps v1.2

19 Feb 08:29
Compare
Choose a tag to compare

Summary of main changes and new features:

  • Code formatting and bug fixes
  • Improve documentation and test coverage
  • Implementation of advanced ARI/VARI time series models, including options for localization and differencing, as well as the estimation of the parameters by OLS
  • Implementation of S-PROG and STEPS in the spectral domain for improved performance
  • New importer for EUMETSAT SAF CRRI data
  • Fix error during gcc installation in travis-ci for osx
  • Compatibility fixes for Numpy 1.18 and pyproj 2.2.0
  • Remove Basemap as optional dependency

Pysteps v1.2.0 changelog:

  • cascade.decomposition:
    • add a method for recomposing the cascade
    • add option to normalize the cascade levels
    • make computation of the cascade level statistics (mean and std) optional
    • add options to choose the input and output domains: spatial or spectral
    • in addition, implement option to use compact output in the spectral domain
    • use lowercase names for the field and mask arguments
  • cascade.interface:
    • modify get_method so that two functions are returned: one for decomposing and one for recomposing the cascade
  • extrapolation.semilagrangian:
    • add option to specify arbitrary time steps
  • motion.lucaskanade:
    • fix error when only one sparse vector is found
  • noise.fftgenerators:
    • add option to choose the output domain for the noise: spatial or spectral
  • nowcasts.sprog and nowcasts.steps:
    • add option to choose the domain for the computations: spatial or spectral
  • nowcasts.utils:
    • remove computation of mean and std from stack_cascades
    • use utils.tapering module to compute window functions
  • io.importers
    • add import_saf_crri importer
  • timeseries.autoregression:
    • add VAR models
    • add OLS estimation of AR/VAR parameters
    • add localized estimation of AR/VAR parameters
    • add differencing option to compute integrated AR/VAR methods
    • use lowercase names for variables and revise docstrings
  • timeseries.correlation:
    • add options for localization and differencing
    • add computation of correlation coefficients in the spectral domain
    • add method for the estimation of multivariate temporal autocorrelation
  • travis:
    • run brew update-reset and brew update before installing gcc-9
  • utils.spectral:
    • add methods for computing mean, standard deviation and correlation coefficient in the spectral domain
    • add option to normalize the RAPSD
  • visualizations.basemaps
    • add future deprecation warning for Basemap dependency

pysteps v1.1.1

24 Oct 07:59
Compare
Choose a tag to compare
  • Code formatting and bug fixes
  • Implement GeoTIFF exporter
  • Improve existing exporters
  • Add postprocessing method to compute the band-depth of an ensemble
  • Add method to merge verification objects
  • Modify LK default parameters to increase the number of corners to track
  • Improve documentation

pysteps v1.1

19 Aug 11:35
Compare
Choose a tag to compare
  • Code formatting and bug fixes
  • Refactor build system to adopt PEP517/518 standards
  • Automate pytests with tox
  • Add Proesmans optical flow method
  • Refactor Lucas-Kanade optical flow method
  • Fix bugs in vet function
  • Optimize vet function
  • Update io interface (odim_hdf5 -> opera_hdf5)
  • Add z-r parameters to MCH, FMI and KNMI importers
  • Implement FMI GeoTIFF importer
  • Add new scores:
    • Normalized MSE
    • Matthews correlation coefficient (MCC) score
    • F1 score (harmonic mean of precision and sensitivity)
  • Implement accumulation of FSS scores from multiple forecast/observation fields
  • Distinguish between type 1 and type 2 conditional biases
  • Improve documentation:
    • Release guidelines

pysteps 1.0.1

26 Jun 13:06
Compare
Choose a tag to compare

Changelog for version 1.0.1:

  • Bug fixes, code cleanups, and syntax improvements.
  • Improve documentation.
  • Implement max correlation approach for constant motion field estimation.
  • Implement new outlier detection in LK.
  • Implement new version of SSEPS nowcasting.
  • Increase code coverage.
  • Add example scripts and tutorials.

pysteps 1.0.0

07 Apr 20:15
Compare
Choose a tag to compare

Changelog for version 1.0.0:

  • Change pysteps license to the less restrictive BSD-3
  • Move documentation to Read the Docs (https://pysteps.readthedocs.io/)
  • Include a gallery of examples
  • Modify setup.py to explicitly link libraries in macOS
  • Include Travis CI and Codecov
  • Add test suites for interfaces, and the io and verification modules
  • Remove legacy config module
  • Add CONTRIBUTING.rst
  • Several docstring improvements
  • Add exporter for KINEROS2 Rainfall files (io.exporters module)
  • Add importer for MeteoSwiss AZC radar composites (io.importers module)
  • Add importer for KNMI HDF5 radar composites (io.importers module)
  • Add scripts for estimating velocity perturbator parameters
  • Add modules for deriving the auto-correlation function (ACF) and estimating precipitation lifetime
  • Implement a separate module nowcasts.sprog for S-PROG nowcasts
  • Add nowcasting module nowcasts.sseps, an experimental version of STEPS that allows for localization
  • Implement interfaces for initializing and calling different FFT methods
  • Rework of the extrapolation interface
  • Faster implementation of the rank histogram with bug fixes
  • Improve subplot handling in plot_precip_field
  • Add visualization of Fourier spectra
  • Rework interfaces for verification scores
  • Add support for MaskedArray in motion.dense_lucaskanade
  • Improve masking in nowcasts.steps module