Releases: pycomlink/pycomlink
v0.3.0
v0.2.6
v0.2.5
Important note: This is the last release using the v0.2.x API which is based on Comlink
objects. In the future xarray.Datasets
will be the basis for representing one CML with its data and metadata.
Enhancements
- Grid intersection now can be calculated using the coordinates at the lower-left corner for definition (#59)
Bug fixes
v0.2.4
Enhancements
-
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
fromA_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
inProcessor
. 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 thanv1.3.1
v0.2.2
Enhancements
-
Codebase is Python 3 now, keeping backwards compatibility to Python 2.7
via using thefuture
module. -
min-max CML data can now be written to and read from cmlh5. Standard column
names aretx_min
,tx_max
,rx_min
andrx_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 inInterpolator
(instead of just doing hourly means of variableR
) -
Interpolated fields are now always transformed into an
xarray.Dataset
.
TheDataset
is also stored as attribute if theInterpolator
object -
Improved grid intersection calculation in validator
Bug fixes
-
t_start
andt_stop
have not been taken into account
in the main interpolation loop -
Fix: Catching
LinAlgError
in Kriging interpolation
v0.2.1
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 inutil.temporal
and will be removed fromvalidatoin.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
invalidation.stats
. Errors are now returned with meaningful names as
namedtuples.validation.validator.calc_wet_dry_error()
is depreciated now.
- resampling to a given
Enhancements
-
Read and write to and from multiple cmlh5 files (#12)
-
Improved
NaN
handling inwet
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 instft
module -
Always use first value of
dry_stop
timestamp list instft
module.
The old code did not work anyway for a list with length = 1 and would
have failed ifdry_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
Fixes:
- PyPi tar.gz should be working now (did not contain pycomlink's submodules in 0.1.0 ...)
- Pickling of
ComlinkChannel
now works - some minor fixes
Enhancements:
- Added option to write all
ComlinkChannel
data to cmlh5 file - Interpolation methods now work:
- idw_kdtree
- kriging
- removed rbf method since the code was broken
- Wet-antenna calculation is now available via the Comlink
Processor
- Speed up in:
GridValidator
- reading from cmlh5 files
- Added export of rain rates to WaSim input CSV files
v0.1.0
New API without backwards compatibility
The core is now provdided by the classes Comlink
and ComlinkChannel
which are used to store and handle all data for a particular CML.
The functionalities for processing, interpolation, validation, etc. operate with these two classes