A python toolbox for deriving rainfall information from commercial microwave link (CML) data.
pycomlink is tested with Python 3.9, 3.10 and 3.11. There have been problems with Python 3.8, see pycomlink#120. Many things might work with older version, but there is no support for this.
It can be installed via conda-forge:
$ conda install -c conda-forge pycomlink
If you are new to conda or if you are unsure, it is recommended to create a new conda environment, activate it, add the conda-forge channel and then install.
Installation via pip is also possible:
$ pip install pycomlink
At the time of writing, with pycomlink v0.4.0 which dropped tensorflow as dependency, pip install works fine. But, if we add new dependencies in the future, we might again run into issues with pip install.
To run the example notebooks you will also need the Jupyter Notebook
and ipython, both also available via conda or pip.
If you want to clone the repository for developing purposes follow these steps (installation of Jupyter Notebook included):
$ git clone https://github.com/pycomlink/pycomlink.git
$ cd pycomlink
$ conda env create -f environment_dev.yml
$ conda activate pycomlink-dev
$ cd ..
$ pip install -e pycomlink
The following jupyter notebooks showcase some use cases of pycomlink
- Basic example CML processing workflow
- Compare interpolation methods
- Get radar data along CML paths
- Nearby-link approach for rain event detection from RAINLINK
- Compare different WAA methods
- Detect data gaps stemming from heavy rainfall events that cause a loss of connection along a CML
Note that the links point to static versions of the example notebooks. You can run all these notebook online via mybinder if you click on the "launch binder" buttom at the top.
- Perform all required CML data processing steps to derive rainfall information from raw signal levels:
- data sanity checks
anomaly detection(removed because using outdatedtensorflowcode)- wet/dry classification
- baseline calculation
- wet antenna correction
- transformation from attenuation to rain rate
- Generate rainfall maps from the data of a CML network
- Validate you results against gridded rainfall data or rain gauges networks
The documentation is hosted by readthedocs.org: https://pycomlink.readthedocs.io/en/latest/