Releases: pySTEPS/pysteps
pystep v1.6.1
- Fix duplicate link in the README
- Fix imports of optional dependencies in
pysteps.blending.utils - Skip tests if missing optional dependency
pysteps v1.6.0
What's Changed
New features
- New STEPS blending module by @RubenImhoff @cvelascof @ladc @wdewettin in #233 (including #231, #232, #236, #255)
- New linear blending module by @wdewettin in #229
- New SAL verification module by @EsmailGhaemi in #248
Docs and others
- Update contributing guide by @aperezhortal in #241
- Use new theme for docs by @dnerini in #259
- Replace miniconda by micromamba in CI by @aperezhortal in #257
- Apply black new stable release (22.1.0) by @dnerini in #261
- Set minimum python version to 3.7 by @dnerini in #253
Breaking changes
New Contributors
- @EsmailGhaemi made his first contribution in #248
- @wdewettin made his first contribution in #229 and #233
- @ladc made her first contribution in #233
Full Changelog: v1.5.1...v1.6.0
pysteps v1.5.1
This release includes minor fixes and documentation updates.
What's Changed
- Update contributing guide by @aperezhortal in #241
- document tdating by @feldmann-m in #245
- Fix compatibility with matplotlib>=3.5 by @dnerini in #246
- Add project_urls by @dnerini in #247
New Contributors
- @feldmann-m made their first contribution in #245
Full Changelog: v1.5.0...v1.5.1
pysteps v1.5.0
Pysteps v1.5.0 is now available with some exciting new features! We would like to thank everyone who contributed to this release.
Key updates
- Add new ensemble nowcast model: Lagrangian INtegro-Difference equation model with Autoregression (LINDA) by Pulkkinen et al. (2021). [#221, gallery]
- Implement the local Lagrangian approach for probabilistic nowcasting by Germann and Zawadzki (2004). [#207, gallery]
- Refactor the
utils.interpolatemodule. Therbfinterp2dmethod now wraps the scipy's Rbf class, while the old version is renamed toidwinterp2d(inverse distance interpolation). [#210] - Implement the
max_num_featureskeyword argument for all methods in thepysteps.featuremodule. With this argument, the user can specify the maximum number of detected features. [#225]
Bug fixes
- Fix a bug in
utils.spectral.rapsdfunction causing negative frequency for evenly-sized images. [#211] - Fix coordinates of the bounding box in
io.importers.import_mrms_grib. [#222]
Installation
You can upgrade to the latest release using pip install pysteps --upgrade or conda update pysteps -c conda-forge. It is also possible to build from source following these instructions.
Important note
This release represents our last feature release for pysteps v1, while our efforts will now focus on the upcoming v2! See #216 to learn more about this.
Contributors
Thanks to the following developers for their contributions in this release (alphabetical order):
@aperezhortal, @dnerini, @loforest, @pulkkins, @RubenImhoff
pysteps v1.4.1
Summary
- Major refactoring of the
pysteps.visualizationmodule 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.forecastto fail with argumentvel_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
pysteps v1.4
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.semilagrangianD_prevargument renamed todisplacement_prev[#184]
pysteps.utils.imagespysteps.motion.lucaskandepysteps.motion.lucaskanade.track_featuresmethod migrated topysteps.tracking.lucaskanade.track_features[#178]
pysteps.visualization
Contributors
@aperezhortal @chiara-arpae @dnerini @edigiacomo @feldmann-m @jleinonen @loforest @pulkkins @RubenImhoff
pysteps v1.3.2
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_fftfunction.
- Compute cascade level statistics by default in the
motion- Fix the issue with the padding keyword in the
motion.vetfunction to correctly handle masked and non-masked input arrays.
- Fix the issue with the padding keyword in the
noise- Add a very small offset to the tapering window to avoid zero values causing some artifacts with the
ssftandnestedfilters.
- Add a very small offset to the tapering window to avoid zero values causing some artifacts with the
nowcasts- Set out-of-domain values to nan in
sprog.forecastandsteps.forecast. - Set negative values in
anvil.forecastto zero. - Add option to disable localization in
anvil.forecastby passingar_window_radius=None. - Change default to
probmatching_method='cdf'insprog.forecast.
- Set out-of-domain values to nan in
pystepsrc- Convert the value of pixelsize to km for
knmidata.
- Convert the value of pixelsize to km for
verification- Fix error in
plot.plot_rankhistcaused by a different number of ticks and tick labels.
- Fix error in
visualization- Fix interfaces in
motionfieldsroutines with respect tobasemaps.plot_geography. - Update docstrings in
motionfields.
- Fix interfaces in
Future Warnings:
v1.4.0:- Rename keyword argument
maptoplot_mapfor all routines in thevisualizationmodule.
- Rename keyword argument
pysteps v1.3.1
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 newutils.images.blob_detectionfeature detection method can be used in themotion.lucaskanademodule to track cells in radar data. - Fix installation errors in windows which caused permissions errors in
datasets.download_pysteps_dataanddatasets.download_mrms_datafunctions. - 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_dataanddownload_mrms_datafunctions - Update installation instructions for Windows systems
- Fix permissions errors in
motion.lucaskanade.dense_lucaskanade- Add option to use
blob_detectionas feature detection method
- Add option to use
nowcasts.anvil- Implement precipitation mask when rainrate is set to None
- Minor changes to default values, masking and thresholding
utils.images- Add
blob_detectionmethod
- Add
pysteps v1.3
Summary of main changes and new features:
- Code formatting and bug fixes.
- Improve documentation and test coverage.
- New deterministic nowcasting module
nowcasts.anvilimplementing 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_gribfor the for NSSL’s Multi-Radar/Multi-Sensor System (MRMS). - New
datasetmodule to facilitate downloading the pysteps example data and create the configuration file. - New interactive notebook
my_first_nowcast.ipynbavailable on Google Colab.
Pysteps v1.3.0 changelog:
dataset- add function
download_pysteps_datato download the example data from the pysteps-data GitHub repo - add function
create_default_pystepsrcto 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)
- add function
io.importers:- add function
import_mrms_gribto import NSSL’s Multi-Radar/Multi-Sensor System (MRMS) grib data - change spatial units from meters to kilometers in
import_knmi_hdf5and fix definition ofy1andy2parameters 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
- add function
motion.constantconstantmethod returns two-dimensional advection field instead of one motion vector
motion.lucaskanade- fix bug in
dense_lucaskanadehandling 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
- fix bug in
motion.vet- fix bug in
vetkeywords handling. Previously, the method argument passed to the minimizer was ignored
- fix bug in
nowcasts- add deterministic nowcasting module
nowcasts.anvil
- add deterministic nowcasting module
utils.dimensions- include option
triminaggregate_fieldsfunction to allow aggregation along axes that are not perfectly divisible by a given window
- include option
utils.images- rename
ShiTomasi_detectionfunction to lowercaseshitomasi_detectionto comply with PEP8 - change default value for the
buffer_maskargument in theshitomasi_detectionfunction from 0 to 5 to provide a minimum buffer to no-data in themotion.lucaskanade.dense_lucaskanademethod
- rename
utils.interpolate- change default value for the
epsilonargument in therbfinterp2dfunction from 5 to 10 to provide a more localized interpolation of motion vectors in themotion.lucaskanade.dense_lucaskanademethod
- change default value for the
Contributors to this release:
@aperezhortal @dnerini @pulkkins @RubenImhoff
pysteps v1.2
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