Skip to content

ltelab/disdrodb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

28ae0cd · May 13, 2025
May 9, 2025
Apr 28, 2025
May 9, 2025
May 12, 2025
May 13, 2025
May 13, 2025
Dec 1, 2023
Nov 29, 2023
May 9, 2025
May 13, 2025
May 9, 2025
May 9, 2025
Jun 5, 2024
May 9, 2025
May 13, 2025
Aug 18, 2022
Apr 5, 2024
Mar 22, 2024
May 13, 2025
May 9, 2025
May 9, 2025

📦 DISDRODB - A package to standardize, process and analyze global disdrometer data

Deployment PyPI Conda
Activity PyPI Downloads Conda Downloads
Python Versions Python Versions
Supported Systems Linux macOS Windows
Project Status Project Status
Build Status Tests Lint Docs
Linting Black Ruff Codespell
Code Coverage Coveralls Codecov
Code Quality Codefactor Codebeat Codacy Codescene
License License
Community Slack GitHub Discussions
Citation DOI

Slack | Documentation

DISDRODB is part of an international joint effort to index, collect and homogenize drop size distribution (DSD) data from around the world.

The DISDRODB project also aims to establish a global standard for sharing disdrometer observations. Built on FAIR data principles and Climate & Forecast (CF) conventions, DISDRODB standards facilitate the processing, analysis and visualization of disdrometer data.

ℹ️ Software Overview

The software enables you to:

  • Upload raw data of new disdrometer stations to the DISDRODB Decentralized Data Archive

  • Download the raw disdrometer data from stations included in the DISDRODB Decentralized Data Archive

  • Convert raw disdrometer data into a standard NetCDF format (DISDRODB L0 product)

  • Generate standardized, homogenized, and quality-checked disdrometer measurements (DISDRODB L1 product)

  • Compute empirical and model-based drop size distribution parameters and derive geophysical and polarimetric radar variables of interest (DISDRODB L2 product)

Currently, the DISDRODB Working Group is finalizing the development of the L1 and L2 scientific products. If you have ideas, algorithms, data, or expertise to share, or you want to contribute to the future DISDRODB products, do not hesitate to get in touch!!!

Join the DISDRODB Slack Workspace to meet the DISDRODB Community!

🚀 Quick Start

Create your own DISDRODB Local Data Archive.

📚 Download the DISDRODB Metadata Archive

The DISDRODB Metadata Archive is a collection of metadata files that describe the disdrometer stations included in DISDRODB.

To download the DISDRODB Metadata Archive, navigate to the desired directory and run:

git clone https://github.com/ltelab/DISDRODB-METADATA.git

Or download a static snapshot without using git:

disdrodb_download_metadata_archive /path/to/DISDRODB-METADATA

📚 Define the DISDRODB Configuration File

The disdrodb software requires to know two directories:

  • metadata_archive_dir: the base of your local DISDRODB Metadata Archive
  • data_archive_dir: the base of your local DISDRODB Data Archive

On Windows, paths must end with \DISDRODB; on macOS/Linux, they must end with /DISDRODB.

import disdrodb

metadata_archive_dir = "/<path_to>/DISDRODB-METADATA/DISDRODB"
data_archive_dir = "/<path_to>/DISDRODB"
disdrodb.define_configs(
    metadata_archive_dir=metadata_archive_dir, data_archive_dir=data_archive_dir
)

This creates a .config_disdrodb.yml file in your home directory (e.g., ~/.config_disdrodb.yml).

To verify the configuration, open a new Python session and run:

import disdrodb

print("Metadata Archive Directory:", disdrodb.get_metadata_archive_dir())
print("Data Archive Directory:", disdrodb.get_data_archive_dir())

Or in the shell:

disdrodb_metadata_archive_directory
disdrodb_data_archive_directory

📥 Download the DISDRODB Raw Data Archive

To download all data stored into the DISDRODB Decentralized Data Archive, you just have to run the following command:

disdrodb_download_archive

To download from a specific source (e.g., EPFL):

disdrodb_download_archive --data-sources EPFL

Type disdrodb_download_archive --help to see further options.

To open the local DISDRODB Data Archive directory, type:

disdrodb_open_data_archive

💫 Transform Raw Data to Standardized netCDFs

If you want to convert all stations raw data into standardized netCDF4 files, run the following command in the terminal:

disdrodb_run_l0

Type disdrodb_run_l0 --help to see further options.

💫 Generate DISDRODB L1 and p2 products

To generate DISDRODB L1 and L2 products, run the following commands in the terminal:

disdrodb_run_l1
disdrodb_run_l2e
disdrodb_run_l2m

💫 Analyze Analysis‐Ready Products

The software’s open_dataset function lazily opens all station files of a given product:

import disdrodb

ds = disdrodb.open_dataset(
    product="L0C",
    data_source="EPFL",
    campaign_name="HYMEX_LTE_SOP3",
    station_name="10",
)
ds

This allows you to jump directly into analyzing disdrometer data without worrying about processing steps.

💫 Explore the DISDRODB Metadata Archive

To explore the DISDRODB Metadata Archive, you can type into the terminal:

disdrodb_open_metadata_archive

If you wish to analyze the DISDRODB Metadata Archive information of all stations, the read_metadata_archive python function returns all stations metadata information into an easy to analyze pandas.DataFrame:

import disdrodb

df = disdrodb.read_metadata_archive()
print(df)

📖 Explore the DISDRODB documentation

With this introduction, we just scratched the surface of the disdrodb software capabilities. To discover more about the DISDRODB products, the download and processing options, or how to contribute your own data to DISDRODB, please read the software documentation available at https://disdrodb.readthedocs.io/en/latest/.

🛠️ Installation

conda

DISDRODB can be installed via conda on Linux, Mac, and Windows. Install the package by typing the following command in the terminal:

conda install disdrodb

In case conda-forge is not set up for your system yet, see the easy to follow instructions on conda-forge.

pip

DISDRODB can be installed also via pip on Linux, Mac, and Windows. On Windows you can install WinPython to get Python and pip running.

Then, install the DISDRODB package by typing the following command in the terminal:

pip install disdrodb

To install the latest development version via pip, see the documentation.

💭 Feedback and Contributing Guidelines

If you aim to contribute your data or discuss the future development of DISDRODB, we highly recommend to join the DISDRODB Slack Workspace

Feel free to also open a GitHub Issue or a GitHub Discussion specific to your questions or ideas.

✍️ Contributors

Citation

You can cite the DISDRODB software by:

Gionata Ghiggi, Kim Candolfi, Régis Longchamp, Charlotte Weil, Alexis Berne (2023). ltelab/disdrodb Zenodo. https://doi.org/10.5281/zenodo.7680581

If you want to cite a specific version, have a look at the Zenodo site

License

The content of this repository is released under the terms of the GPL 3.0 license.