Release Notes#
Please note that \(\omega radlib\) releases follow semantic versioning. API breaks will be announced via deprecation warnings. All \(\omega radlib\) releases come without any warranty. Release notes might be incomplete. See commit history for a complete record of changes.
You can install the latest \(\omega radlib\) release from PyPI via $ python -m pip install wradlib
or specific version via $ pip install wradlib==x.y.z
. The recommended installation process is described in Installation.
Version 2.1.1#
Bugfixes
FIX: use bin_distance-function to calculate xarray-based bin_distance (GH675) by @katelbach and (PR676) by @kmuehlbauer
Version 2.1.0#
New features
ENH: add PZ-product (DWD station product) to RADOLAN reader (PR656) by @kmuehlbauer
Maintenance - Code
MNT: update CI, numpy2 (PR670) by @mats-knmi and @kmuehlbauer
MNT: code changes according DeprecationWarnings etc (PR673) by @kmuehlbauer
Maintenance - CI
MNT: add codecov.yml to configure coverage status checks (PR647) by @kmuehlbauer
FIX: pin sphinx-book-theme to fix rtd buildss (PR658) by @kmuehlbauer
MNT: update CI, numpy2 (PR670) by @mats-knmi and @kmuehlbauer
MNT: add codecov-token to CI (PR672) by @kmuehlbauer
Documentation
Bugfixes
FIX: make pyproj import lazy in georef.polar (PR646) by @kmuehlbauer
FIX: enable radolan backend to work without GDAL/pyproj, by falling back to trigonometric calculations (GH648, PR649) by @kmuehlbauer
FIX: update util.cross_section_ppi to work with wradlib 2.0 (RadarVolume no longer available) (PR650) by @JulianGiles
FIX: disentangle cg/normal plotting for better maintainability and apply explicit colorbar handling for cg plotting (PR652) by @kmuehlbauer
FIX: properly implement bearer token authentication adn function calling convention for plot_scan_strategy with terrain=True (GH651) by @JulianGiles, (PR652) by @kmuehlbauer
FIX: align earth radius in plot_scan_strategy for CG plots (PR655) by @kmuehlbauer
FIX: new default value for crs in cross_section_ppi is “None”: crs = kwargs.get(“crs”, “None”). This fixes an issue with the altitude value of the georeferenced object. By @JulianGiles
Version 2.0.0#
For \(\omega radlib\) 2.0.0 there have been quite some deprecations and additions. Most of the changes have been announced over the latest \(\omega radlib\) 1 versions. Nevertheless, to make a clean cut it was neccessary to change and remove code and functionality which was not yet being officially deprecated.
Please follow up at wradlib 2.0 migration.
The major new feature is the smooth integration into xradar
-based reading into xarray
-based data structures and the convenient use of xarray
-accessors. The tutorials and examples got a major overhaul to show the capabilities of \(\omega radlib\) in the light of these new developments.
This version also brings doc-folder back into wradlib repo. The wradlib-docs repo will be archived. wradlib-notebooks repo has been restructured as well, with a single point of access.
New features
ENH: introduce wradlib xarray accessor for easy access of wradlib functions from xarray.DataArray (with dp and zr modules prefilled), adapt tests (PR621) by @kmuehlbauer
DOC: reintroduce doc into wradlib repository (PR619) by @kmuehlbauer
FIX: wrong prediction_time variable in radolan xarray.Dataset (PR639) by @Hoffmann77
wradlib 2.0 preparations (PR635) by @kmuehlbauer
final wradlib 2.0.0-rc.1 preparations (PR636) by @kmuehlbauer
wradlib docstring updates (PR638) by @kmuehlbauer
wradlib 2.0 RC (PR640) by @kmuehlbauer
Maintenance - CI
Fixing wradlib version for ReadTheDocs (PR620) by @kmuehlbauer
use setup-micromamba action (PR627) by @kmuehlbauer
Maintenance - Code
Remove deprecated code (PR621) by @kmuehlbauer
Bugfixes
fix RADOLAN xarray ‘prediction_time’ for RADVOR datasets (PR639) by @Hoffmann77
Version 1.19.0#
This version is most likely the last version before wradlib 2.0. We’ve switched to use xradar for reading radar data in polar coordinates. The relevant code has been ported from wradlib to xradar and only a shallow compatibility layer is kept in wradlib.
New features
Enhance Furuno Reader to read WR110 data (PR606) by @kmuehlbauer
New function for cross sections (RHI) from radar volume (GH439) by @pandasambit15 and (PR610) by @JulianGiles
Maintenance code
Adapt codebase to use xradar, move/remove duplicate code (PR617) by @kmuehlbauer
Maintenance - CI
several updates and fixes to the CI (PR604), (PR613), (PR616), (PR618) by @kmuehlbauer
Bugfixes
Version 1.18.0#
New features
Histo cut enhancement (GH602) by @overeem11, (PR603) and (PR605) by @kmuehlbauer
Maintenance code
xradar compatibility preparations (PR599) and (PR604) by @kmuehlbauer
Maintenance - CI
MNT: update CI actions, python versions (PR604) by @kmuehlbauer
Bugfixes
Changes in # read metadata under get_radiosonde() (GH596) and (PR597) by @JulianGiles
FIX: cfradial2 coordinates (PR600) by @kmuehlbauer
Version 1.17.0#
New features
MNT: use Bearer Token instead of credentials (PR584) by @kmuehlbauer
FIX: enable ODIM reader to read
qualityN
fields (similar todataN
) (PR588) by @kmuehlbauerENH: read RADOLAN ascii format (GH593) by @SandeepAllampalli and (PR594) by @kmuehlbauer
ENH: add RADVOR products RV, RE and RQ (GH591) by @heistermann and (PR594) by @heistermann and @kmuehlbauer
Maintenance code
MNT: add pre-commit (PR577) by @kmuehlbauer
Pre Erad2022 (PR580) by @kmuehlbauer
MNT: fix SRTM testing if resource is not available, implement timeout (GH586) and (PR587) by @kmuehlbauer
Bugfixes
Use numpy.linspace in ipol.interpolate_polar (PR576) by @syedhamidali
FIX: explicitely cast ray indices to int in cfradial1 reader (PR579) by @kmuehlbauer
FIX: add missing finally (PR581) by @kmuehlbauer
FIX: cfradial1 reader alignments (PR585) by @kmuehlbauer
FIX: use ‘None’ instead of ambiguous ‘False’ (
0
) for comparison (PR595) by @kmuehlbauer
Version 1.16.0#
New features
add “ancillary”-keyword to io.radolan._radolan_file (PR574) by @kmuehlbauer
update DWD grids (PR568) by @kmuehlbauer
add open_gpm_dataset (PR571) by @kmuehlbauer
Maintenance - Code
update docstring for classify_echo_fuzzy (PR570) by @swatelet
use np.expand_dims instead of np.newaxis to make functions work with xarray DataArray (PR568) by @kmuehlbauer
Maintenance - CI
add nc-time-axis to notebook-environment (PR568) by @kmuehlbauer
Bugfixes
fix RADOLAN xarray coordinates (which have been off by 0.5km) (PR568) by @kmuehlbauer
Deprecations
removes GDAL]( 3 compatibility code (PR568) by @kmuehlbauer
Version 1.15.0#
New features
add Furuno backend (
scn
andSCNX
files) forXarray
(PR567) by @kmuehlbauer
Version 1.14.0#
New features
zonalstats enhancements, new VectorSource class, geopandas connector and more (PR558) by @kmuehlbauer
Maintenance - Code
refactor deprecated xarray functionality (PR533) by @kmuehlbauer
use f-strings where appropriate (PR537) by @kmuehlbauer
remove unnecessary object-inheritance (PR538) by @kmuehlbauer
replace distutils.version.LooseVersion with packaging.version.Version (PR539) by @kmuehlbauer
use dict-literals (PR542) by @kmuehlbauer
Maintenance - Build/CI
cancel previous CV builds (PR534) by @kmuehlbauer
use provision-with-micromamba action (PR543) by @kmuehlbauer
Bugfixes
remove zero padding of bits in rainbow format (truncate excess bits from flagmap) (GH549) (PR550) by @binomaiheu
raise ValueError if projection cannot be determined from source dataset (GH551) (PR553) @kmuehlbauer
output full timeslice when calling to_netcdf with no timestep (GH552) (PR554) @kmuehlbauer
handle variable number of gates in CfRadial1 backend (GH545) (PR555) @kmuehlbauer
use radar site altitude in bin_altitude calculation (GH546) (PR556) @kmuehlbauer
take precision into account for RADOLAN WN product (GH548) (PR557) @kmuehlbauer
correct elevation for negative angles in iris/sigmet RAW data (GH560) (reported by Ozan Pirbudak from Turkish Met Service) (PR561) @kmuehlbauer
fix AttributeError: ‘str’ object has no attribute ‘item’ (GH562) (PR561) @kmuehlbauer
use start date/time if end date/time is missing for ODIM reader (GH563) (reported by Anna Gabbert from University of Graz) (PR564) @kmuehlbauer
Version 1.13.0#
New features
add IRIS/Sigmet backend for
Xarray
(GH361) (PR520) by @kmuehlbaueradd Rainbow backend for
Xarray
(GH394, GH459) suggested by @wcwoo and @maxok (PR522) by @kmuehlbauer
Maintenance
optionalize dependencies (dask, gdal, h5netcdf, h5py, netCDF4, requests, xmltodict) (PR531) by @kmuehlbauer
utilize pytest-doctestplus (PR530) by @kmuehlbauer
update deprecated matplotlib functionality (PR530) by @kmuehlbauer
docstring updates in several functions (PR530, ) by @kmuehlbauer
docstring updates in several functions
Bugfixes
use reasonable default values in
io.xarray.to_odim
(gain, offset, nodata, undetect, fillvalue)add cf attributes when reading GAMIC files (PR523) by @kmuehlbauer
fix regression in legacy GAMIC reader (PR523) by @kmuehlbauer
catch
dt.accessor
TypeError (PR529) by @kmuehlbauerfix thread-lock issue, if dask is not installed (PR531) by @kmuehlbauer
use int instead np.int in radolan header parser (PR531) by @kmuehlbauer
fix several tests (PR531) by @kmuehlbauer
other minor fixes distributed over several PR’s
Version 1.12.0#
withdrawn, please use 1.13.0.
Version 1.11.0#
New features
add %M, %J and %Y RADOLAN products (GH504) (PR517) by @kmuehlbauer
Maintenance
rename master -> main
fix docstrings (links, types, minor issues) (PR518) by @kmuehlbauer
add .git-blame-ignore-revs (PR519) by @kmuehlbauer
Bugfixes
minor fixes in GAMIC and CfRadial readers (PR492) by @kmuehlbauer
use default values for ODIM/OPERA what-group (PR496) by @kmuehlbauer
do not restrict variables, but read all variables for Cf/Radial1 data (PR497) by @kmuehlbauer
correct calculation of angle resolution in ODIM/GAMIC xarray readers reported by @TiemoMathijssen (PR501) by @kmuehlbauer
add mode-kwarg to radolan coordinates/grid functions (GH499) reported by @gogglesguy (PR502) by @kmuehlbauer
add kwarg origin and FutureWarning to IRIS CartesianImage reader (GH493) (PR503) by @kmuehlbauer
remove unnecessary gridshape kwarg from docstring in CartesianVolume (GH444) by @fuxb (PR505) by @kmuehlbauer
correctly handle single/multiple elevations in wradlib.vis.plot_scan_strategy (PR507) by @kmuehlbauer
fix ODIM xarray reader issues (GH513), (GH514) (PR515) by @kmuehlbauer
mention dask in all open_*_mfdataset functions (GH510) by @Guruprasadhegde (PR516) by @kmuehlbauer
Version 1.10.0#
New features
add ODIM/GAMIC/CfRadial backends for
Xarray
(PR487) by @kmuehlbaueradd RADOLAN backend for
Xarray
(PR480) by @kmuehlbauerdecode IRIS
DB_XHDR
as numpy structured array (GH362) (PR488) by @kmuehlbauer
Maintenance
move CI to GitHub Actions (PR477) by @kmuehlbauer
create/use earthdata credentials for srtm data (PR481) by @kmuehlbauer
address numpy DeprecationWarnings (PR479) by @kmuehlbauer
Bugfixes
fix _FillValue and GAMIC dynamic range (PR486) by @kmuehlbauer
fix doctest example in vpr-module (PR478) by @kmuehlbauer
fix handle kwarg change scipy.cKDTree (PR474) by @kmuehlbauer
Version 1.9.0#
New features
make wradlib.io capable of consuming file-like objects (GH448) (PR469) by @kmuehlbauer
read truncated RADOLAN composites (reported by @franzmueller) (PR471) by @franzmueller and @kmuehlbauer
Maintenance
use micromamba on CI to save CI time (GH457) (PR452, PR464, PR465, PR470) by @kmuehlbauer
add Python 3.9 builds to all CI (PR463) by @kmuehlbauer
adapt to new tsring handling in h5py >= 3.0 (PR468) by @kmuehlbauer
Bugfixes
add capability to decode old DX header (GH455) reported by @GolGosh (PR467) by @kmuehlbauer
simplify dimension angle handling ODIM/GAMIC (PR462) by @kmuehlbauer
Version 1.8.0#
New features
add WN product size (1200,1000) to radolan grid, add test for correct reference point (lower left) (GH448) reported by @julste (PR449) by @kmuehlbauer
add
WN
andYW
products to radolan to xarray converter (PR450) by @kmuehlbauer
Maintenance
remove deprecated and unused code and handle upstream deprecations (PR450) by @kmuehlbauer
Bugfixes
fix srtm downloads windows path issues and region selection (PR445) by @kmuehlbauer
make
georeference_dataset
work with ND datasets (PR446) by @kmuehlbauer
Version 1.7.4#
Bugfixes
update
vis.plot_scan_strategy()
(GH441) originally reported at wradlib-users group by @pandasambit15 (PR442) by @jorahu and @kmuehlbaueradd switch to keep elevation data unaltered (DWD terrain following scan) (GH437, PR443) by @kmuehlbauer
Version 1.7.3#
Bugfixes
always translate ODIM attributes to CF attributes (GH373, PR438) by @kmuehlbauer
specify keys (sweep_groups) which should be saved using to_netcdf (PR440) by @kmuehlbauer
Maintenance
pin isort (PR438) by @kmuehlbauer
Version 1.7.2#
Bugfixes
rework ODIM RHI elevation angle retrieval (PR435) by @kmuehlbauer
Maintenance
use pytest for testing, implement “@require_data” to be able to run tests in case of missing wradlib-data (PR434) by @kmuehlbauer
enhance azure ci workflow by adding flake8 linter and uploading coverage (PR436) by @kmuehlbauer
minor changes to README.md
Version 1.7.1#
Maintenance
add azure CI tests
code formatting according to black/isort/flake8, add setup.cfg
add show_versions
use new semver parse
add github templates
all above done in (PR432) by @kmuehlbauer
Version 1.7.0#
Highlights
implement generalized :py:func:
util.derivate
function with improved NaN-handling (PR419, PR423) by @kmuehlbauercomplete rework of phidp/kdp estimation code (Vulpiani) including new keyword-parameters, handling of ndimensional arrays, using
scipy.integrate.cumtrapz
instead ofnp.cumsum
(PR412, PR422) by @kmuehlbauernew interpolators on regular grids (PR390, PR429, PR430) by @egouden and @kmuehlbauer
New features
reimplement
dp.linear_despeckle
as :py:func:util.despeckle
(PR420) by @kmuehlbauerread RHI in ODIM reader (PR424) by @kmuehlbauer
new :py:func:
.get_earth_projection
and :py:func:.get_radar_projection
functions (PR379) by @egoudennew convenience functions :py:func:
.set_raster_indexing
and :py:func:.set_coordinate_indexing
(PR429) by @kmuehlbauerimplement rainrate decoder to iris reader (PR428) by @tsmsalper
Bugfixes
correct padding and nan-filling for multidimensional arrays in
dp.texture
(PR418) by @kmuehlbauerintroduce
call_kwargs
in :py:func:comp.togrid
(GH373) reported by @jorahu (PR425) by @kmuehlbauer
Version 1.6.2#
re-add removed IRIS features (GH415, PR416) by @kmuehlbauer
Version 1.6.1#
use LooseVersion to check for dependency matching (GH413, PR414) by @kmuehlbauer
Version 1.6.0#
Highlights
implement multi-file ODIMH5-reader/writer (PR397, PR409 and PR410) by @kmuehlbauer and @egouden
simplify
zr
-module, add handling of multidimensional arrays (PR408) by @kmuehlbaueruse all in submodules (georef, io) to specify exported/documented functions (GH386, PR388) by @kmuehlbauer
New features
add STATUS product to Iris/Sigmet reader (PR378) by @kmuehlbauer
add PRF and NSAMPLES to ODIM reader (PR393) by @kmuehlbauer
add ODIM WRAD moment (PR406) by @kmuehlbauer
Bugfixes
apply correct decoding of VEL, WIDTH and KDP IrisCartesianProductFile (PR378) by @kmuehlbauer
correct error in documentation of sweep_centroids (PR383) by @ElmerJeanpierreLopez
adapt
georef.polar.sweep_centroids
to only use angles in degrees (PR385) by @kmuehlbauerwork around issue, where ODIM
startime
==endtime
(PR391) by @kmuehlbauerimprove handling of equal sized dimensions (PR393) by @kmuehlbauer
use xarray
Dataset.drop_vars
instead of deprecatedDataset.drop
(PR398) by @kmuehlbaueruse xarray.Dataset.rename instead of rename_dims (PR402) by @kmuehlbauer
add missing
+
-sign in projection string (PR405) by @kmuehlbauerfix filter_cloudtype (low cloud switch removes everything) (PR401) by @egouden
use Dataset.swap_dims instead of rename (PR406) by @kmuehlbauer
Version 1.5.0#
Highlights
consolidation of xarray based functionality, bugfixing, feature adding
speedup zonal statistics by using
/vsimem
, by creation of spatial and attribute index files as well as by faster reading of attributes and properties
New features
make OdimH5 reader accept list of files and merge into one structure
make
chunks
available for transparently use dask with OdimH5 and CfRadial readersmake gdal3 compatible (added by @egouden)
use
loaddata='xarray'
kwargs to output data as Xarray Dataset inread_radolan_composite
CI: add Appveyor to run test-suite under Windows OS
Bugfixes
use
importlib
inimport_optional
, correct multidimensional calling ingradient_along_axis
several fixes for OdimH5 and Cf/Radial readers/writers
set destination projection to destination dataset in
reproject_raster_dataset
(spotted by wradlib-forum)
Version 1.4.0#
Highlights
read sigmet/iris ingest files, redesign of sigmet reader (suggested by @aschueth)
enhance/rewrite fuzzy echo classifier (implemented with @overeem11)
New features
parametrize xarray based OdimH5-reader (suggested by @egouden)
add depolarization ratio calculation (implemented by @overeem11)
add script for test profiling (added by @egouden)
Bugfixes
remove unnecessary seek in radolan-reader (suggested by @PPazderski)
correct handling of edge cases in
dp.texture
processing (spotted by @overeem11)correct decoding of DB_FLIQUID2 (sigmet-reader) (implemented by @ckaradavut)
correct handling of non-precip in 2D hmc (spotted by and fixed with @bzohidov)
fix semver handling and install process (suggested by @s-m-e)
fix import for MutableMapping (added by @zssherman)
Version 1.3.0#
Highlights
wradlib is considered Python3 only working with Python >= 3.6
xarray-powered reader/writer for Cf/Radial 1.X and 2.0 as well as ODIM_H5
xarray-powered plotting using DataArray via xarray-DataArray Accessor
New features
creation of xarray DataArray from spherical coordinates and radar data
update test machinery to use pytest (mainly CI use)
correctly apply
semver
Bugfixes
beamblockage calculation, precisely detect clear or blocked beam
catch HTTPError in
test_radiosonde
, graceful skip testspherical_to_xyz
better aligns with input dimensions
Version 1.2.0#
Highlights
significantly speed up functions using interpolation classes
add
classify
module including 2d membershipfunctions hydrometeor classificationfix conformance, correctness and consistency issues in wradlib-docs (thanks @CAM-Gerlach)
New features
add new header token
VR
andU
to radolan header parseradd
load_vector
-method tozonaldata.DataSource
enable
zonaldata.ZonaldataBase
to takeDataSource
objects as parametersadd
get_radiosonde
toio.misc
to retrieve radiosonde data from internetadd
minalt
keyword argument tovpr.make_3d_grid
Bugfixes
update links, fix typos, improve CI workflow
fix bug in all adjustment classes when checking for None
show angle axis curvelinear grid again
align docstring with actual code and use
sweep
in iris-reader
Version 1.1.0#
Highlights
use with-statement in rainbow-reader
fix in gpm-reader and rainbow_reader
fix issues with cg-plot in vis-module
fix in gdal/ogr exception handling
update in versioning/release procedure
automatic build of devel-docs
Version 1.0.0#
Highlights
export
notebooks
into dedicated wradlib-notebooksexport
doc
into dedicated wradlib-docscomplete rewrite of CI-integration
complete rework of modules
Pre 1.0.0 Versions#
Versions before 1.0.0 are available from the wradlib-old repository.