VOODOO
Revealing supercooled liquid beyond lidar attenuation
Explore the docs »
Report Bug · Request Feature
Table of Contents
About The Project VOODOO
Machine learning approach using a convolutional neural network (CNN) classifier to relate Doppler spectra morphologies to the presence of (supercooled) liquid cloud droplets in mixed-phase clouds. Preprint will be available soon!
The release version provides the pre-trained machine learning model. Predictions are made by providing a list of Doppler radar time-spectrograms with dimensions:
- number of spectral bins = 256
- number of time steps = 6 (equivalent to 30 sec of observations)
The model was trained on RPG-FMCW94 data collected during DACAPO-PESO, therefore we recommend using this device for analysis. Supervision and validiation is provided by the CloudnetPy target classification and detection status.
Two examples are provided:
- RPG-FMCW94 Doppler cloud radar
Voodoo_predictor_RPG-FMCW94.ipynb
test data is provided in the examples_data folder. The script requires a (hourly) LV0 binary file from RPG-FMCW94 and the corresponding Cloundet categorization file (for quicklooks and temporal resolution). - for KAZR Doppler cloud radar:
Voodoo_predictor_KAZR.ipynb
- help me test and add more devices :)
The CNN will ultimately be a feature within the Cloudnet processing suite.
Getting Started
The examples given use hourly radar spectra files in there specific file formats, i.e. LV0 binaries form RPG-FMCW94 and NetCDF files from KAZR. Th Cloudnet categorization file provides the temporal resolution where the high resolution radar profiels are mappend onto the 30 sec Cloudnet grid. Additionately, radar reflectivity and attenuated backscatter coefficient are plotted.
Installation
Below is an example of how run the example script, which prepares the data, makes predictions and plots quicklooks. This method relies on external dependencies such as torch, xarray and others (see setup.py
).
-
Clone the repo
git clone https://github.com/remsens-lim/Voodoo.git
-
Install the package
python setup.py install
Examples
Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.
- Open jupyter notebook
jupyter notebook
- Open one of the example files
Voodoo_predictor_KAZR.ipynb
orVoodoo_predictor_RPG-FMCW94.ipynb
to review the processing chain.
Roadmap
- Released version 1
- Add Tests
- ???
See the open issues for a full list of proposed features (and known issues).
Contributing
Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
Distributed under the MIT License. See LICENSE
for more information.
Contact
Willi Schimmel - @KarlJohnsonnn - [email protected]
Project Link: https://github.com/remsens-lim/Voodoo
Acknowledgments
Special thanks for templates and help during implementation.