Skip to main content

Machine learning application for detecting liquid droplets in mixed-phase clouds using Doppler cloud radar spectra

Project description

VoodooNet CI PyPI version DOI

VoodooNet

Predicting liquid droplets in mixed-phase clouds beyond lidar attenuation using artificial neural nets and Doppler cloud radar spectra

VOODOO is a machine learning approach based convolutional neural networks (CNN) to relate Doppler spectra morphologies to the presence of (supercooled) liquid cloud droplets in mixed-phase clouds.

Installation

Prerequisites

VoodooNet requires Python 3.10.

Before installing VoodooNet, install PyTorch according to your infrastructure. For example on a Linux machine without GPU you might run:

pip3 install torch --extra-index-url https://download.pytorch.org/whl/cpu

From PyPI

pip3 install voodoonet

Locally for development

pip3 install -e .[dev]

Usage

Make predictions using the default model and settings

import glob
import voodoonet

rpg_files = glob.glob('/path/to/rpg/files/*.LV0')
probability_liquid = voodoonet.infer(rpg_files)

Generate a training data set

Download some RPG-FMCW-94 raw files and corresponding classification files from the Cloudnet data portal API. For example, for Leipzig LIM between 2021-01-10 and 2021-01-15:

curl "https://cloudnet.fmi.fi/api/raw-files?dateFrom=2021-01-10&dateTo=2021-01-15&site=leipzig-lim&instrument=rpg-fmcw-94&filenameSuffix=.LV0" | jq '.[]["downloadUrl"]' | xargs -n1 curl -O
curl "https://cloudnet.fmi.fi/api/files?dateFrom=2021-01-10&dateTo=2021-01-15&site=leipzig-lim&product=classification" | jq '.[]["downloadUrl"]' | xargs -n1 curl -O
import glob
import voodoonet

rpg_files = glob.glob('*.LV0')
classification_files = glob.glob('*classification.nc')
voodoonet.generate_training_data(rpg_files, classification_files, 'training-data-set.pt')

Alternatively, just use N random days:

import voodoonet
voodoonet.generate_training_data_for_cloudnet('leipzig-lim', 'training-data-set.pt', n_days=5)

Train a VoodooNet model

import voodoonet

pre_computed_training_data_set = 'training-data-set.pt'
voodoonet.train(pre_computed_training_data_set, 'trained-model.pt')

Make predictions using the new model

import glob
import voodoonet
from voodoonet.utils import VoodooOptions

rpg_files = glob.glob('/path/to/rpg/files/*.LV0')
options = VoodooOptions(trained_model='new_model.pt')
probability_liquid = voodoonet.infer(rpg_files, options=options)

You can for example plot the resulting liquid probability:

import matplotlib.pyplot as plt

plt.pcolor(probability_liquid.T)
plt.show()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

voodoonet-0.1.11.tar.gz (10.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

voodoonet-0.1.11-py3-none-any.whl (10.5 MB view details)

Uploaded Python 3

File details

Details for the file voodoonet-0.1.11.tar.gz.

File metadata

  • Download URL: voodoonet-0.1.11.tar.gz
  • Upload date:
  • Size: 10.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for voodoonet-0.1.11.tar.gz
Algorithm Hash digest
SHA256 e8f4bed37ecbb426a30f188f28b98848deade2bb461baefd7b5f6a6b381e8b48
MD5 5be6ae4dc0f60fc94848e91667661ca7
BLAKE2b-256 abb8abc0306b0ec661aec92401993ace7328cdcbffc2f8c3a5199c3240a64dfe

See more details on using hashes here.

Provenance

The following attestation bundles were made for voodoonet-0.1.11.tar.gz:

Publisher: publish.yml on actris-cloudnet/voodoonet

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file voodoonet-0.1.11-py3-none-any.whl.

File metadata

  • Download URL: voodoonet-0.1.11-py3-none-any.whl
  • Upload date:
  • Size: 10.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for voodoonet-0.1.11-py3-none-any.whl
Algorithm Hash digest
SHA256 e0d60cf6a7ad1ec2ce622ee4c5582cefa75d4e6d36ac68aa97654e0be58f8a7c
MD5 8c7ab713a671173949e8f56be8a597d6
BLAKE2b-256 6f26471909adbc462cf05ae90d985c8e31cbb3aad01306d5efdbccb48b442ba6

See more details on using hashes here.

Provenance

The following attestation bundles were made for voodoonet-0.1.11-py3-none-any.whl:

Publisher: publish.yml on actris-cloudnet/voodoonet

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page