What’s New
v0.3.10
Enhancements
added more flexible handling of input for a_b() function (by maxmargraf in PR #141)
updaetd WAA example notebook with WAA example with method from Pastorek (by cchwala in PR #136)
Maintenance
Refactoring of nearby-link approach code (by maxmargraf in PR #139)
Bug fixes
Fixed some errors in the nearby-link approach code (by maxmargraf in PR #139)
Fixed bug in read_cmlh5_file_to_xarray() (by maxmargraf in PR #138)
v0.3.9
Enhancements
Added IDW and Kriging interpolation comparison noteboook (by cchwala in PR #132)
Maintenance
Updated README with current list of example notebooks
Removed pinning of scipy and pandas versions (by cchwala in PR #132)
Bug fixes
Added test for Kriging and fixed wrong naming of IDW test (by cchwala in PR #132)
v0.3.8
Enhancements
Extended implementation of “nearby wet-dry approach” and added some fixes and more test (by maxmargraf in PR #129)
v0.3.7
Maintenance
Change absolute imports of pycomlink to relative imports (by cchwala in PR #119)
Drop Python 3.7 and Python 3.8 support in CI (by cchwala in PR #120)
Replaced depreciated np.complex and np.bool (by maxmargraf in PR #122, #123 and #124)
Bug fixes
Fix problems related to missing pol argument in example workflow (by cchwala in PR #116)
v0.3.6
Enhancements
Implemented “nearby wet-dry approach” from RAINLINK (by maxmargraf in PR #113)
Updated ITU recommendation for k-R power law to version from 2005 (by nblettner in PR #110)
Maintenance
remove parameters from model.compile() in wet-dry CNN method (by cchwala in PR #112)
v0.3.5
Enhancements
Added bottelneck as dependency to allow max_gap keyword in xarray.DataArray.interpolate (by maxmargraf in PR #99)
Added WAA model after Pastorek et al. 2021 (by nblettern via direct commit to master branch)
Added function and example notebook for blackout gap detection (by maxmargraf in PR #101)
Refactore and extended grid intersction code, now using sparse matrices (by cchwala in PR #106)
Maintenance
Pinned scipy to < 1.9 because of problem in pykrige
Bug fixes
Fixed problems in IDW code (by cchwala in PR #105)
v0.3.4
Bug fixes
Reference files are now included in conda-forge build (PR #97)
Maintenance
tensorflow-gpu dependency (which seems to be obsolete) was removed from requirements (PR #97)
v0.3.3
Enhancements
Added xarray-wrapper for WAA Leijnse and updated WAA example notebook (by cchwala in PR #82)
Add CNN-based anomaly detection for CML data (by Glawion in PR#87)
xarray wrapper now uses xr.apply_ufunc to apply processing functions along time dimension, instead of looping over the channel_id dimension. This should be a lot more flexible. (by cchwala in PR #89)
Bug fixes
Fixed problem with xarray_wrapper for calc_R_from_A (by cchwala in PR #89)
Maintenance
Move CI from Travis to Github Actions (by maxmargraf in PR #85)
Add readthedocs and zenodo badge to README (by maxmargraaf in PR #85)
v0.3.2
minor fix to include example NetCDF data in source distribution (by cchwala in PR #84)
v0.3.1
small update to how the dependencies are defined
testing for Python verions 3.7, 3.8 and 3.9
v0.3.0
Backward Incompatible Changes
The old API using pycomlink.core.Comlink objects has been removed. All processing functions now work with xarray.DataArrays or pure numpy.ndarray. Most of the original functions and notebooks from v0.2.x do not work anymore, but the basic parts have already been refactored so that the full processing chain, from raw CML data to rainfall fields works in v0.3.0.
Enhancements
Added new example notebook for basic processing workflow (by cchwala in PR #77)
Added new example data (by maxmargraf in PR #75)
started docs from scratch with working integration to readthedocs (by jpolz in PR #74)
read data from cmlh5 files to xarray.Dataset (by maxmargraf in PR #68)
Added functions to perform wet-dry classification with trained CNN (by jpolz in PR #67)
applied black formatting to codebase (by nblettner in PR #66)
make repo runnable via mybinder (by jpolz in PR #64)
v0.2.4
Added WAA calculation and test for method proposed by Leijnse et al 2008
Added function to calculate WAA directly from A_obs for Leijnse et al 2008 method.
Added WAA example notebook
Added function to derive attenuation value A_min_max from min/max CML measurements (these measurements periodically provide the min and max value over a defined time period, typically 15 minutes). (by DanSereb in PR #37 and #45)
Added function to derive rain rate R from A_min_max (by DanSereb in PR #37 and #45)
Added example notebook with simple comparison of processing of “instantaneous” and “min-max” CML data (by DanSereb in PR #37 and #45)
v0.2.3
Bug fixes
Added missing kwarg for polarization in calc_A in Processor. Before, calc_A always used the default polarization for the A-R relation which leads to rain rate overestimation!
Changed reference values in test for Ordinary Kriging interpolator, because pykrige v1.4.0 seems to produce slightly different results than v1.3.1
v0.2.2
Enhancements
Codebase is Python 3 now, keeping backwards compatibility to Python 2.7 via using the future module.
min-max CML data can now be written to and read from cmlh5. Standard column names are tx_min, tx_max, rx_min and rx_max. When reading from cmlh5 without specifying dedicated column names, the function tries out the standard column names for min-max and instantaneous. If it does not find any match it will print an error message.
Added example file with min-max data for 75 CMLs. This dataset is derived from the existing example dataset of 75 CMLs with instantaneous measurements.
Added example notebook comparing min-max and instantaneous CML data
Added TravisCI and Codecov and increased the test coverage a little
Extended functionality for append_data. A maximum length or maximum allowed age for the data can be specified
More options for interpolation. Added option to pass max_distance for IDW and Added option for resampling in Interpolator (instead of just doing hourly means of variable R)
Interpolated fields are now always transformed into an xarray.Dataset. The Dataset is also stored as attribute if the Interpolator object
Improved grid intersection calculation in validator
Bug fixes
t_start and t_stop have not been taken into account in the main interpolation loop
Fix: Catching LinAlgError in Kriging interpolation
v0.2.1
Minor update
removing geopandas dependecy
update MANIFEST.in to include notebooks and example data in pypi releases
v0.2.0
Backward Incompatible Changes
Complete rewrite of interpolator classes. The old interpolator class spatial.interpol.Interpolator() is depreciated. New interpolator base classes for IDW and Kriging have been added together with a convenience inteprolator for CML data. Usage is showcased in a new example notebook.
- Some old functionality has moved to separate files.
resampling to a given DatetimeIndex is now availabel in util.temporal and will be removed from validatoin.validator.Validation() class soon.
calculation of wet-dry error is now in module validation.stats
calculation of spatial coverage with CMLs was moved to function spatial.coverage.calc_coverage_mask().
error metric for performance evaluation of wet-dry classification is now in validation.stats. Errors are now returned with meaningful names as namedtuples. validation.validator.calc_wet_dry_error() is depreciated now.
Enhancements
Read and write to and from multiple cmlh5 files (#12)
Improved NaN handling in wet indicator for baseline determination
Speed up of KDtreeIDW using numba and by reusing previously calculated variables
Added example notebook for baseline determination
Added data set of 75 CMLs (with fake locations)
Added example notebook to show usage of new interpolator classes
Added decorator to mark depreciated code
Bug fixes
setup.py now reads all packages subdirectories correctly
Force integers for shape in nans helper function in stft module
Always use first value of dry_stop timestamp list in stft module. The old code did not work anyway for a list with length = 1 and would have failed if dry_stop would have been a scalar value. Now we assume that we always get a list of values (which should be true for mlab.find.
v0.1.1
No info for older version…