Releases: pySTEPS/pysteps
Releases · pySTEPS/pysteps
pysteps v1.4.1
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 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.semilagrangian
D_prev
argument renamed todisplacement_prev
[#184]
pysteps.utils.images
pysteps.motion.lucaskande
pysteps.motion.lucaskanade.track_features
method 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_fft
function.
- Compute cascade level statistics by default in the
motion
- Fix the issue with the padding keyword in the
motion.vet
function 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
ssft
andnested
filters.
- 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.forecast
andsteps.forecast
. - Set negative values in
anvil.forecast
to zero. - Add option to disable localization in
anvil.forecast
by 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
knmi
data.
- Convert the value of pixelsize to km for
verification
- Fix error in
plot.plot_rankhist
caused by a different number of ticks and tick labels.
- Fix error in
visualization
- Fix interfaces in
motionfields
routines with respect tobasemaps.plot_geography
. - Update docstrings in
motionfields
.
- Fix interfaces in
Future Warnings:
v1.4.0
:- Rename keyword argument
map
toplot_map
for all routines in thevisualization
module.
- 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_detection
feature detection method can be used in themotion.lucaskanade
module to track cells in radar data. - Fix installation errors in windows which caused permissions errors in
datasets.download_pysteps_data
anddatasets.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
anddownload_mrms_data
functions - Update installation instructions for Windows systems
- Fix permissions errors in
motion.lucaskanade.dense_lucaskanade
- Add option to use
blob_detection
as 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_detection
method
- 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.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)
- add function
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 ofy1
andy2
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
- add function
motion.constant
constant
method 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
- fix bug in
motion.vet
- fix bug in
vet
keywords 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
trim
inaggregate_fields
function to allow aggregation along axes that are not perfectly divisible by a given window
- include option
utils.images
- rename
ShiTomasi_detection
function to lowercaseshitomasi_detection
to comply with PEP8 - change default value for the
buffer_mask
argument in theshitomasi_detection
function from 0 to 5 to provide a minimum buffer to no-data in themotion.lucaskanade.dense_lucaskanade
method
- rename
utils.interpolate
- change default value for the
epsilon
argument in therbfinterp2d
function from 5 to 10 to provide a more localized interpolation of motion vectors in themotion.lucaskanade.dense_lucaskanade
method
- 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
pysteps v1.1.1
- 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
- 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
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
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