disdrodb 0.1.0__tar.gz → 0.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {disdrodb-0.1.0 → disdrodb-0.1.1}/.pre-commit-config.yaml +1 -1
- {disdrodb-0.1.0 → disdrodb-0.1.1}/CONTRIBUTING.rst +11 -12
- {disdrodb-0.1.0/disdrodb.egg-info → disdrodb-0.1.1}/PKG-INFO +34 -61
- {disdrodb-0.1.0 → disdrodb-0.1.1}/README.md +33 -60
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/__init__.py +1 -1
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/_version.py +2 -2
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/api/io.py +12 -2
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/check_standards.py +15 -10
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/configs/LPM/l0a_encodings.yml +4 -4
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/configs/LPM/l0b_cf_attrs.yml +22 -6
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/configs/LPM/l0b_encodings.yml +41 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/configs/LPM/raw_data_format.yml +40 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/configs/PARSIVEL/l0b_cf_attrs.yml +1 -1
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/configs/PARSIVEL/raw_data_format.yml +1 -1
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/configs/PARSIVEL2/l0b_cf_attrs.yml +4 -4
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/configs/PARSIVEL2/raw_data_format.yml +10 -10
- disdrodb-0.1.1/disdrodb/l0/configs/PWS100/bins_diameter.yml +173 -0
- disdrodb-0.1.1/disdrodb/l0/configs/PWS100/bins_velocity.yml +173 -0
- disdrodb-0.1.1/disdrodb/l0/configs/PWS100/l0a_encodings.yml +19 -0
- disdrodb-0.1.1/disdrodb/l0/configs/PWS100/l0b_cf_attrs.yml +76 -0
- disdrodb-0.1.1/disdrodb/l0/configs/PWS100/l0b_encodings.yml +176 -0
- disdrodb-0.1.1/disdrodb/l0/configs/PWS100/raw_data_format.yml +182 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/configs/RD80/raw_data_format.yml +2 -6
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/l0b_nc_processing.py +1 -1
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/l0b_processing.py +12 -10
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/LPM/AUSTRALIA/MELBOURNE_2007_LPM.py +23 -13
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/LPM/BRAZIL/CHUVA_LPM.py +3 -3
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/LPM/BRAZIL/GOAMAZON_LPM.py +5 -3
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/LPM/ITALY/GID_LPM.py +36 -20
- disdrodb-0.1.1/disdrodb/l0/readers/LPM/ITALY/GID_LPM_W.py +210 -0
- disdrodb-0.1.1/disdrodb/l0/readers/LPM/KIT/CHWALA.py +225 -0
- disdrodb-0.1.1/disdrodb/l0/readers/LPM/SLOVENIA/ARSO.py +197 -0
- disdrodb-0.1.1/disdrodb/l0/readers/LPM/SLOVENIA/CRNI_VRH.py +197 -0
- disdrodb-0.1.1/disdrodb/l0/readers/PARSIVEL/KIT/BURKINA_FASO.py +133 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/NCAR/PECAN_MOBILE.py +1 -1
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/NCAR/VORTEX2_2009.py +1 -1
- disdrodb-0.1.1/disdrodb/l0/readers/PARSIVEL/SLOVENIA/UL_FGG.py +121 -0
- disdrodb-0.1.1/disdrodb/l0/readers/PARSIVEL2/FRANCE/ENPC_PARSIVEL2.py +189 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL2/NCAR/PECAN_FP3.py +1 -1
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL2/NCAR/VORTEX_SE_2016_P2.py +1 -1
- disdrodb-0.1.1/disdrodb/l0/readers/PWS100/FRANCE/ENPC_PWS100.py +150 -0
- disdrodb-0.1.1/disdrodb/l0/readers/RD80/NOAA/PSL_RD80.py +274 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/template_reader_raw_netcdf_data.py +1 -1
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/standards.py +7 -4
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/template_tools.py +2 -2
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l1/encoding_attrs.py +21 -6
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l1/processing.py +6 -4
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l1/resampling.py +1 -1
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l1/routines.py +2 -1
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l2/empirical_dsd.py +100 -2
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l2/event.py +3 -3
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l2/processing.py +21 -12
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l2/processing_options.py +7 -7
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l2/routines.py +3 -3
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/metadata/checks.py +15 -6
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/metadata/manipulation.py +2 -2
- disdrodb-0.1.1/disdrodb/metadata/standards.py +104 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/metadata/writer.py +2 -2
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/routines.py +246 -10
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/scattering/routines.py +1 -1
- disdrodb-0.1.1/disdrodb/utils/dataframe.py +342 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1/disdrodb.egg-info}/PKG-INFO +34 -61
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb.egg-info/SOURCES.txt +16 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb.egg-info/entry_points.txt +3 -3
- {disdrodb-0.1.0 → disdrodb-0.1.1}/pyproject.toml +3 -3
- disdrodb-0.1.0/disdrodb/metadata/standards.py +0 -100
- {disdrodb-0.1.0 → disdrodb-0.1.1}/.codebeatignore +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/.coveragerc +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/.gitignore +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/.readthedocs.yaml +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/AUTHORS.md +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/CHANGELOG.md +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/CODE_OF_CONDUCT.md +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/LICENSE +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/MANIFEST.in +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/Makefile +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/SECURITY.md +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/_config.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/api/__init__.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/api/checks.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/api/configs.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/api/create_directories.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/api/info.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/api/path.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/api/search.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_check_metadata_archive.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_data_archive_directory.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_download_archive.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_download_metadata_archive.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_download_station.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_initialize_station.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_metadata_archive_directory.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_open_data_archive.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_open_logs_directory.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_open_metadata_archive.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_open_metadata_directory.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_open_product_directory.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_open_readers_directory.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_run_l0.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_run_l0_station.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_run_l0a.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_run_l0a_station.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_run_l0b.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_run_l0b_station.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_run_l0c.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_run_l0c_station.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_run_l1.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_run_l1_station.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_run_l2e.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_run_l2e_station.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_run_l2m.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_run_l2m_station.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_upload_archive.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/cli/disdrodb_upload_station.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/configs.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/data_transfer/__init__.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/data_transfer/download_data.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/data_transfer/upload_data.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/data_transfer/zenodo.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/docs.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/issue/__init__.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/issue/checks.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/issue/reader.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/issue/writer.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/__init__.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/check_configs.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/configs/LPM/bins_diameter.yml +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/configs/LPM/bins_velocity.yml +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/configs/PARSIVEL/bins_diameter.yml +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/configs/PARSIVEL/bins_velocity.yml +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/configs/PARSIVEL/l0a_encodings.yml +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/configs/PARSIVEL/l0b_encodings.yml +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/configs/PARSIVEL2/bins_diameter.yml +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/configs/PARSIVEL2/bins_velocity.yml +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/configs/PARSIVEL2/l0a_encodings.yml +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/configs/PARSIVEL2/l0b_encodings.yml +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/configs/RD80/bins_diameter.yml +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/configs/RD80/bins_velocity.yml +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/configs/RD80/l0a_encodings.yml +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/configs/RD80/l0b_cf_attrs.yml +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/configs/RD80/l0b_encodings.yml +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/l0_reader.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/l0a_processing.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/l0c_processing.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/manuals/LPM.pdf +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/manuals/ODM470.pdf +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/manuals/PARSIVEL.pdf +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/manuals/PARSIVEL2.pdf +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/manuals/PWS100.pdf +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/manuals/RD80.pdf +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/LPM/ARM/ARM_LPM.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/LPM/UK/DIVEN.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/AUSTRALIA/MELBOURNE_2007_PARSIVEL.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/CHINA/CHONGQING.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/EPFL/ARCTIC_2021.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/EPFL/COMMON_2011.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/EPFL/DAVOS_2009_2011.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_2009.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_ROOF_2008.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_ROOF_2010.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_ROOF_2011.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_ROOF_2012.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/EPFL/GENEPI_2007.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/EPFL/GRAND_ST_BERNARD_2007.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/EPFL/GRAND_ST_BERNARD_2007_2.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/EPFL/HPICONET_2010.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/EPFL/HYMEX_LTE_SOP2.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/EPFL/HYMEX_LTE_SOP3.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/EPFL/HYMEX_LTE_SOP4.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/EPFL/LOCARNO_2018.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/EPFL/LOCARNO_2019.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/EPFL/PARADISO_2014.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/EPFL/PARSIVEL_2007.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/EPFL/PLATO_2019.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/EPFL/RACLETS_2019.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/EPFL/RACLETS_2019_WJF.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/EPFL/RIETHOLZBACH_2011.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/EPFL/SAMOYLOV_2017.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/EPFL/SAMOYLOV_2019.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/EPFL/UNIL_2022.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/GPM/IFLOODS.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/GPM/LPVEX.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/GPM/MC3E.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/NCAR/CCOPE_2015.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/NCAR/OWLES_MIPS.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/NCAR/PLOWS_MIPS.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/NCAR/VORTEX2_2010.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL/NCAR/VORTEX2_2010_UF.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL2/ARM/ARM_PARSIVEL2.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL2/BRAZIL/CHUVA_PARSIVEL2.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL2/BRAZIL/GOAMAZON_PARSIVEL2.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL2/DENMARK/EROSION_nc.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL2/FRANCE/SIRTA_PARSIVEL2.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL2/GPM/GCPEX.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL2/GPM/NSSTC.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL2/ITALY/GID_PARSIVEL2.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL2/MEXICO/OH_IIUNAM_nc.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL2/NCAR/PECAN_MIPS.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL2/NCAR/RELAMPAGO_PARSIVEL2.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL2/NCAR/SNOWIE_PJ.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL2/NCAR/SNOWIE_SB.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL2/NCAR/VORTEX_SE_2016_P1.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL2/NCAR/VORTEX_SE_2016_PIPS.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/PARSIVEL2/NETHERLANDS/DELFT.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/RD80/BRAZIL/CHUVA_RD80.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/RD80/BRAZIL/GOAMAZON_RD80.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/RD80/NCAR/CINDY_2011_RD80.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/RD80/NCAR/RELAMPAGO_RD80.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/__init__.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/readers/template_reader_raw_text_data.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l0/routines.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l1/__init__.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l1/beard_model.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l1/fall_velocity.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l1/filters.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l1_env/__init__.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l1_env/routines.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/l2/__init__.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/metadata/__init__.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/metadata/download.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/metadata/geolocation.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/metadata/info.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/metadata/reader.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/metadata/search.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/psd/__init__.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/psd/fitting.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/psd/models.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/scattering/__init__.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/scattering/axis_ratio.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/utils/__init__.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/utils/attrs.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/utils/cli.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/utils/compression.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/utils/dask.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/utils/decorators.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/utils/directories.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/utils/encoding.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/utils/list.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/utils/logger.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/utils/time.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/utils/warnings.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/utils/writer.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/utils/xarray.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/utils/yaml.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/viz/__init__.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb/viz/plots.py +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb.egg-info/dependency_links.txt +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb.egg-info/requires.txt +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/disdrodb.egg-info/top_level.txt +0 -0
- {disdrodb-0.1.0 → disdrodb-0.1.1}/setup.cfg +0 -0
|
@@ -1,43 +1,43 @@
|
|
|
1
1
|
Contributors Guidelines
|
|
2
2
|
===========================
|
|
3
3
|
|
|
4
|
-
Hi!
|
|
4
|
+
Hi! Thank you for taking the time to contribute to DISDRODB.
|
|
5
5
|
|
|
6
6
|
You can contribute in many ways:
|
|
7
7
|
|
|
8
8
|
- Join the `GitHub discussions <https://github.com/ltelab/disdrodb/discussions>`__
|
|
9
9
|
- Report software `issues <#issue-reporting-guidelines>`__
|
|
10
|
-
- Help us
|
|
10
|
+
- Help us develop new readers
|
|
11
11
|
- Add new data to the DISDRODB Decentralized Data Archive
|
|
12
12
|
- Implement new products
|
|
13
13
|
- ...
|
|
14
|
-
- Any code improvements are welcome
|
|
14
|
+
- Any code improvements are welcome!
|
|
15
15
|
|
|
16
|
-
**We
|
|
16
|
+
**We develop with GitHub!**
|
|
17
17
|
|
|
18
18
|
We use GitHub to host code, to track issues and feature requests, as well as accept Pull Requests.
|
|
19
19
|
We use `GitHub flow <https://docs.github.com/en/get-started/quickstart/github-flow>`__.
|
|
20
20
|
So all code changes happen through Pull Requests (PRs).
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
**First
|
|
23
|
+
**First-Time Contributors?**
|
|
24
24
|
|
|
25
|
-
Before
|
|
25
|
+
Before contributing, please take a moment to read through the following sections:
|
|
26
26
|
|
|
27
27
|
- The `Installation for contributors <https://disdrodb.readthedocs.io/en/latest/installation.html#installation-for-contributors>`__ help you to set up the developing environment and the pre-commit hooks.
|
|
28
28
|
- The section `Contributing process <#contributing-process>`__ provides you with a brief overview of the steps that each DISDRODB developer must follow to contribute to the repository.
|
|
29
29
|
- The `Code review checklist <#code-review-checklist>`__ enable to speed up the code review process.
|
|
30
30
|
- The `Code of conduct <https://github.com/ltelab/disdrodb/blob/main/CODE_OF_CONDUCT.md>`__ details the expected behavior of all contributors.
|
|
31
31
|
|
|
32
|
-
Initiating a discussion about your ideas or proposed implementations is a vital step before starting your contribution
|
|
32
|
+
Initiating a discussion about your ideas or proposed implementations is a vital step before starting your contribution!
|
|
33
33
|
Engaging with the community early on can provide valuable insights, ensure alignment with the project's goals, and prevent potential overlap with existing work.
|
|
34
34
|
Here are some guidelines to facilitate this process:
|
|
35
35
|
|
|
36
36
|
1. Start with a conversation
|
|
37
37
|
|
|
38
|
-
Before start coding, open a `GitHub Discussion <https://github.com/ltelab/disdrodb/discussions>`__, a `GitHub Feature Request Issue <https://github.com/ltelab/disdrodb/issues/new/choose>`__ or
|
|
38
|
+
Before you start coding, open a `GitHub Discussion <https://github.com/ltelab/disdrodb/discussions>`__, a `GitHub Feature Request Issue <https://github.com/ltelab/disdrodb/issues/new/choose>`__ or
|
|
39
39
|
just start a discussion in the `DISDRODB Slack Workspace <https://join.slack.com/t/disdrodbworkspace/shared_invite/zt-25l4mvgo7-cfBdXalzlWGd4Pt7H~FqoA>`__.
|
|
40
|
-
These channels of communication
|
|
40
|
+
These channels of communication provide an opportunity to gather feedback, understand the project's current state, and improve your contributions.
|
|
41
41
|
|
|
42
42
|
2. Seek guidance and suggestions
|
|
43
43
|
|
|
@@ -91,8 +91,7 @@ If you do not have yet Git installed on your computer, please install it followi
|
|
|
91
91
|
Then, please follow the guidelines in the `Installation for contributors <https://disdrodb.readthedocs.io/en/latest/installation.html#installation-for-contributors>`__ section
|
|
92
92
|
to create the local copy of the disdrodb repository, set up the developing environment and the pre-commit hooks.
|
|
93
93
|
|
|
94
|
-
Once you have
|
|
95
|
-
contribute to the project!
|
|
94
|
+
Once you have a local copy of the disdrodb repository on your machine, you're ready to contribute!
|
|
96
95
|
|
|
97
96
|
|
|
98
97
|
2. Create a new branch
|
|
@@ -244,7 +243,7 @@ Refer to the table below for a comprehensive summary of all CI tools employed to
|
|
|
244
243
|
5. Code testing with pytest
|
|
245
244
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
246
245
|
|
|
247
|
-
DISDRODB tests are written using the third-party `pytest <https://docs.pytest.org>`_ package. Every code change must be tested
|
|
246
|
+
DISDRODB tests are written using the third-party `pytest <https://docs.pytest.org>`_ package. Every code change must be tested!
|
|
248
247
|
|
|
249
248
|
The tests are organized within the ``/disdrodb/tests`` directory and are structured to comprehensively assess various aspects of the code.
|
|
250
249
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: disdrodb
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1
|
|
4
4
|
Summary: disdrodb provides tools to download, standardize, share and analyze global disdrometer data.
|
|
5
5
|
Author: Gionata Ghiggi
|
|
6
6
|
Project-URL: homepage, https://github.com/ltelab/disdrodb
|
|
@@ -47,7 +47,7 @@ Requires-Dist: twine; extra == "dev"
|
|
|
47
47
|
Requires-Dist: loghub; extra == "dev"
|
|
48
48
|
Dynamic: license-file
|
|
49
49
|
|
|
50
|
-
# 📦 DISDRODB - A package to standardize, process and analyze global disdrometer data
|
|
50
|
+
# 📦 DISDRODB - A package to standardize, process and analyze global disdrometer data
|
|
51
51
|
|
|
52
52
|
| | |
|
|
53
53
|
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
@@ -60,17 +60,16 @@ Dynamic: license-file
|
|
|
60
60
|
| Linting | [](https://github.com/psf/black) [](https://github.com/astral-sh/ruff) [](https://github.com/codespell-project/codespell) |
|
|
61
61
|
| Code Coverage | [](https://coveralls.io/github/ltelab/disdrodb?branch=main) [](https://codecov.io/gh/ltelab/disdrodb) |
|
|
62
62
|
| Code Quality | [](https://www.codefactor.io/repository/github/ltelab/disdrodb) [](https://codebeat.co/projects/github-com-ltelab-disdrodb-main) [](https://app.codacy.com/gh/ltelab/disdrodb/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade) [](https://codescene.io/projects/36773) |
|
|
63
|
-
| License | [](https://github.com/ltelab/disdrodb/blob/main/LICENSE)
|
|
64
|
-
| Community | [](https://join.slack.com/t/disdrodbworkspace/shared_invite/zt-25l4mvgo7-cfBdXalzlWGd4Pt7H~FqoA) [](https://github.com/ltelab/disdrodb/discussions)
|
|
65
|
-
| Citation | [](https://zenodo.org/doi/10.5281/zenodo.7680581)
|
|
63
|
+
| License | [](https://github.com/ltelab/disdrodb/blob/main/LICENSE) |
|
|
64
|
+
| Community | [](https://join.slack.com/t/disdrodbworkspace/shared_invite/zt-25l4mvgo7-cfBdXalzlWGd4Pt7H~FqoA) [](https://github.com/ltelab/disdrodb/discussions) |
|
|
65
|
+
| Citation | [](https://zenodo.org/doi/10.5281/zenodo.7680581) |
|
|
66
66
|
|
|
67
67
|
[**Slack**](https://join.slack.com/t/disdrodbworkspace/shared_invite/zt-25l4mvgo7-cfBdXalzlWGd4Pt7H~FqoA) | [**Documentation**](https://disdrodb.readthedocs.io/en/latest/)
|
|
68
68
|
|
|
69
69
|
DISDRODB is part of an international joint effort to index, collect and homogenize drop size distribution (DSD) data from around the world.
|
|
70
70
|
|
|
71
71
|
The DISDRODB project also aims to establish a global standard for sharing disdrometer observations.
|
|
72
|
-
Built on FAIR data principles and Climate & Forecast (CF) conventions, DISDRODB standards
|
|
73
|
-
|
|
72
|
+
Built on FAIR data principles and Climate & Forecast (CF) conventions, DISDRODB standards facilitate the processing, analysis and visualization of disdrometer data.
|
|
74
73
|
|
|
75
74
|
## ℹ️ Software Overview
|
|
76
75
|
|
|
@@ -87,13 +86,13 @@ The software enables you to:
|
|
|
87
86
|
- Compute empirical and model-based drop size distribution parameters and derive geophysical and polarimetric radar variables of interest (DISDRODB L2 product)
|
|
88
87
|
|
|
89
88
|
Currently, the DISDRODB Working Group is finalizing the development of the L1 and L2 scientific products.
|
|
90
|
-
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
|
|
89
|
+
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!!!
|
|
91
90
|
|
|
92
|
-
Join the [**DISDRODB Slack Workspace**](https://join.slack.com/t/disdrodbworkspace/shared_invite/zt-25l4mvgo7-cfBdXalzlWGd4Pt7H~FqoA) to meet the DISDRODB Community
|
|
91
|
+
Join the [**DISDRODB Slack Workspace**](https://join.slack.com/t/disdrodbworkspace/shared_invite/zt-25l4mvgo7-cfBdXalzlWGd4Pt7H~FqoA) to meet the DISDRODB Community!
|
|
93
92
|
|
|
94
93
|
## 🚀 Quick Start
|
|
95
94
|
|
|
96
|
-
|
|
95
|
+
Create your own DISDRODB Local Data Archive.
|
|
97
96
|
|
|
98
97
|
### 📚 Download the DISDRODB Metadata Archive
|
|
99
98
|
|
|
@@ -102,76 +101,62 @@ The DISDRODB Metadata Archive is a collection of metadata files that describe th
|
|
|
102
101
|
To download the DISDRODB Metadata Archive, navigate to the desired directory and run:
|
|
103
102
|
|
|
104
103
|
```bash
|
|
105
|
-
|
|
106
104
|
git clone https://github.com/ltelab/DISDRODB-METADATA.git
|
|
107
|
-
|
|
108
105
|
```
|
|
109
106
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
Alternatively, you can download a static version of the DISDRODB Metadata Archive using:
|
|
107
|
+
Or download a static snapshot without using git:
|
|
113
108
|
|
|
114
109
|
```bash
|
|
115
|
-
disdrodb_download_metadata_archive /
|
|
110
|
+
disdrodb_download_metadata_archive /path/to/DISDRODB-METADATA
|
|
116
111
|
```
|
|
117
112
|
|
|
118
113
|
### 📚 Define the DISDRODB Configuration File
|
|
119
114
|
|
|
120
|
-
The disdrodb software
|
|
121
|
-
is stored on your local machine, as well as where you want to download the raw stations data
|
|
122
|
-
as well as where to save the DISDRODB products you will generate.
|
|
123
|
-
|
|
124
|
-
Within the `disdrodb` package, the argument `metadata_archive_dir` refers to the base directory of your local DISDRODB Metadata Archive, while `data_archive_dir` refers to the base directory of your local DISDRODB Data Archive.
|
|
115
|
+
The disdrodb software requires to know two directories:
|
|
125
116
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
all DISDRODB products will be saved.
|
|
117
|
+
- `metadata_archive_dir`: the base of your local DISDRODB Metadata Archive
|
|
118
|
+
- `data_archive_dir`: the base of your local DISDRODB Data Archive
|
|
129
119
|
|
|
130
|
-
|
|
131
|
-
Please note that on Windows these paths must end with `\DISDRODB`, while on macOS/Linux they must end with `/DISDRODB`.
|
|
120
|
+
On Windows, paths must end with `\DISDRODB`; on macOS/Linux, they must end with `/DISDRODB`.
|
|
132
121
|
|
|
133
122
|
```python
|
|
134
123
|
import disdrodb
|
|
135
124
|
|
|
136
125
|
metadata_archive_dir = "/<path_to>/DISDRODB-METADATA/DISDRODB"
|
|
137
|
-
data_archive_dir = "/<
|
|
126
|
+
data_archive_dir = "/<path_to>/DISDRODB"
|
|
138
127
|
disdrodb.define_configs(
|
|
139
128
|
metadata_archive_dir=metadata_archive_dir, data_archive_dir=data_archive_dir
|
|
140
129
|
)
|
|
141
130
|
```
|
|
142
131
|
|
|
143
|
-
|
|
144
|
-
that will be used as default configuration file when running the disdrodb software.
|
|
132
|
+
This creates a `.config_disdrodb.yml` file in your home directory (e.g., `~/.config_disdrodb.yml`).
|
|
145
133
|
|
|
146
|
-
|
|
147
|
-
should get the `metadata_archive_dir` and `data_archive_dir` paths you just defined in the DISDRODB Configuration File:
|
|
134
|
+
To verify the configuration, open a new Python session and run:
|
|
148
135
|
|
|
149
136
|
```python
|
|
150
137
|
import disdrodb
|
|
151
138
|
|
|
152
|
-
print("
|
|
153
|
-
print("
|
|
139
|
+
print("Metadata Archive Directory:", disdrodb.get_metadata_archive_dir())
|
|
140
|
+
print("Data Archive Directory:", disdrodb.get_data_archive_dir())
|
|
154
141
|
```
|
|
155
142
|
|
|
156
|
-
|
|
157
|
-
by typing the following command in the terminal:
|
|
143
|
+
Or in the shell:
|
|
158
144
|
|
|
159
145
|
```bash
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
disdrodb_metadata_archive_directory
|
|
163
|
-
|
|
146
|
+
disdrodb_metadata_archive_directory
|
|
147
|
+
disdrodb_data_archive_directory
|
|
164
148
|
```
|
|
165
149
|
|
|
166
150
|
### 📥 Download the DISDRODB Raw Data Archive
|
|
167
151
|
|
|
168
|
-
To download all data stored into the DISDRODB Decentralized Data Archive,
|
|
152
|
+
To download all data stored into the DISDRODB Decentralized Data Archive,
|
|
153
|
+
you just have to run the following command:
|
|
169
154
|
|
|
170
155
|
```bash
|
|
171
156
|
disdrodb_download_archive
|
|
172
157
|
```
|
|
173
158
|
|
|
174
|
-
|
|
159
|
+
To download from a specific source (e.g., EPFL):
|
|
175
160
|
|
|
176
161
|
```bash
|
|
177
162
|
disdrodb_download_archive --data-sources EPFL
|
|
@@ -185,7 +170,7 @@ To open the local DISDRODB Data Archive directory, type:
|
|
|
185
170
|
disdrodb_open_data_archive
|
|
186
171
|
```
|
|
187
172
|
|
|
188
|
-
### 💫 Transform
|
|
173
|
+
### 💫 Transform Raw Data to Standardized netCDFs
|
|
189
174
|
|
|
190
175
|
If you want to convert all stations raw data into standardized netCDF4 files, run the following command in the terminal:
|
|
191
176
|
|
|
@@ -195,40 +180,28 @@ disdrodb_run_l0
|
|
|
195
180
|
|
|
196
181
|
Type `disdrodb_run_l0 --help` to see further options.
|
|
197
182
|
|
|
198
|
-
### 💫 Generate
|
|
183
|
+
### 💫 Generate DISDRODB L1 and p2 products
|
|
199
184
|
|
|
200
|
-
To generate
|
|
185
|
+
To generate DISDRODB L1 and L2 products, run the following commands in the terminal:
|
|
201
186
|
|
|
202
187
|
```bash
|
|
203
188
|
disdrodb_run_l1
|
|
204
|
-
```
|
|
205
|
-
```bash
|
|
206
189
|
disdrodb_run_l2e
|
|
207
|
-
```
|
|
208
|
-
```bash
|
|
209
190
|
disdrodb_run_l2m
|
|
210
191
|
```
|
|
211
192
|
|
|
212
|
-
### 💫
|
|
193
|
+
### 💫 Analyze Analysis‐Ready Products
|
|
213
194
|
|
|
214
|
-
The
|
|
215
|
-
a DISDRODB product into a `xarray.Dataset` (or `pandas.DataFrame` for the DISDRODB L0A product).
|
|
195
|
+
The software’s `open_dataset` function **lazily** opens all station files of a given product:
|
|
216
196
|
|
|
217
197
|
```python
|
|
218
198
|
import disdrodb
|
|
219
199
|
|
|
220
|
-
# Define station arguments
|
|
221
|
-
data_source = "EPFL"
|
|
222
|
-
campaign_name = "HYMEX_LTE_SOP3"
|
|
223
|
-
station_name = "10"
|
|
224
|
-
|
|
225
|
-
# Open all station files of a specific product
|
|
226
200
|
ds = disdrodb.open_dataset(
|
|
227
201
|
product="L0C",
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
station_name=station_name,
|
|
202
|
+
data_source="EPFL",
|
|
203
|
+
campaign_name="HYMEX_LTE_SOP3",
|
|
204
|
+
station_name="10",
|
|
232
205
|
)
|
|
233
206
|
ds
|
|
234
207
|
```
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# 📦 DISDRODB - A package to standardize, process and analyze global disdrometer data
|
|
1
|
+
# 📦 DISDRODB - A package to standardize, process and analyze global disdrometer data
|
|
2
2
|
|
|
3
3
|
| | |
|
|
4
4
|
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
@@ -11,17 +11,16 @@
|
|
|
11
11
|
| Linting | [](https://github.com/psf/black) [](https://github.com/astral-sh/ruff) [](https://github.com/codespell-project/codespell) |
|
|
12
12
|
| Code Coverage | [](https://coveralls.io/github/ltelab/disdrodb?branch=main) [](https://codecov.io/gh/ltelab/disdrodb) |
|
|
13
13
|
| Code Quality | [](https://www.codefactor.io/repository/github/ltelab/disdrodb) [](https://codebeat.co/projects/github-com-ltelab-disdrodb-main) [](https://app.codacy.com/gh/ltelab/disdrodb/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade) [](https://codescene.io/projects/36773) |
|
|
14
|
-
| License | [](https://github.com/ltelab/disdrodb/blob/main/LICENSE)
|
|
15
|
-
| Community | [](https://join.slack.com/t/disdrodbworkspace/shared_invite/zt-25l4mvgo7-cfBdXalzlWGd4Pt7H~FqoA) [](https://github.com/ltelab/disdrodb/discussions)
|
|
16
|
-
| Citation | [](https://zenodo.org/doi/10.5281/zenodo.7680581)
|
|
14
|
+
| License | [](https://github.com/ltelab/disdrodb/blob/main/LICENSE) |
|
|
15
|
+
| Community | [](https://join.slack.com/t/disdrodbworkspace/shared_invite/zt-25l4mvgo7-cfBdXalzlWGd4Pt7H~FqoA) [](https://github.com/ltelab/disdrodb/discussions) |
|
|
16
|
+
| Citation | [](https://zenodo.org/doi/10.5281/zenodo.7680581) |
|
|
17
17
|
|
|
18
18
|
[**Slack**](https://join.slack.com/t/disdrodbworkspace/shared_invite/zt-25l4mvgo7-cfBdXalzlWGd4Pt7H~FqoA) | [**Documentation**](https://disdrodb.readthedocs.io/en/latest/)
|
|
19
19
|
|
|
20
20
|
DISDRODB is part of an international joint effort to index, collect and homogenize drop size distribution (DSD) data from around the world.
|
|
21
21
|
|
|
22
22
|
The DISDRODB project also aims to establish a global standard for sharing disdrometer observations.
|
|
23
|
-
Built on FAIR data principles and Climate & Forecast (CF) conventions, DISDRODB standards
|
|
24
|
-
|
|
23
|
+
Built on FAIR data principles and Climate & Forecast (CF) conventions, DISDRODB standards facilitate the processing, analysis and visualization of disdrometer data.
|
|
25
24
|
|
|
26
25
|
## ℹ️ Software Overview
|
|
27
26
|
|
|
@@ -38,13 +37,13 @@ The software enables you to:
|
|
|
38
37
|
- Compute empirical and model-based drop size distribution parameters and derive geophysical and polarimetric radar variables of interest (DISDRODB L2 product)
|
|
39
38
|
|
|
40
39
|
Currently, the DISDRODB Working Group is finalizing the development of the L1 and L2 scientific products.
|
|
41
|
-
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
|
|
40
|
+
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!!!
|
|
42
41
|
|
|
43
|
-
Join the [**DISDRODB Slack Workspace**](https://join.slack.com/t/disdrodbworkspace/shared_invite/zt-25l4mvgo7-cfBdXalzlWGd4Pt7H~FqoA) to meet the DISDRODB Community
|
|
42
|
+
Join the [**DISDRODB Slack Workspace**](https://join.slack.com/t/disdrodbworkspace/shared_invite/zt-25l4mvgo7-cfBdXalzlWGd4Pt7H~FqoA) to meet the DISDRODB Community!
|
|
44
43
|
|
|
45
44
|
## 🚀 Quick Start
|
|
46
45
|
|
|
47
|
-
|
|
46
|
+
Create your own DISDRODB Local Data Archive.
|
|
48
47
|
|
|
49
48
|
### 📚 Download the DISDRODB Metadata Archive
|
|
50
49
|
|
|
@@ -53,76 +52,62 @@ The DISDRODB Metadata Archive is a collection of metadata files that describe th
|
|
|
53
52
|
To download the DISDRODB Metadata Archive, navigate to the desired directory and run:
|
|
54
53
|
|
|
55
54
|
```bash
|
|
56
|
-
|
|
57
55
|
git clone https://github.com/ltelab/DISDRODB-METADATA.git
|
|
58
|
-
|
|
59
56
|
```
|
|
60
57
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
Alternatively, you can download a static version of the DISDRODB Metadata Archive using:
|
|
58
|
+
Or download a static snapshot without using git:
|
|
64
59
|
|
|
65
60
|
```bash
|
|
66
|
-
disdrodb_download_metadata_archive /
|
|
61
|
+
disdrodb_download_metadata_archive /path/to/DISDRODB-METADATA
|
|
67
62
|
```
|
|
68
63
|
|
|
69
64
|
### 📚 Define the DISDRODB Configuration File
|
|
70
65
|
|
|
71
|
-
The disdrodb software
|
|
72
|
-
is stored on your local machine, as well as where you want to download the raw stations data
|
|
73
|
-
as well as where to save the DISDRODB products you will generate.
|
|
74
|
-
|
|
75
|
-
Within the `disdrodb` package, the argument `metadata_archive_dir` refers to the base directory of your local DISDRODB Metadata Archive, while `data_archive_dir` refers to the base directory of your local DISDRODB Data Archive.
|
|
66
|
+
The disdrodb software requires to know two directories:
|
|
76
67
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
all DISDRODB products will be saved.
|
|
68
|
+
- `metadata_archive_dir`: the base of your local DISDRODB Metadata Archive
|
|
69
|
+
- `data_archive_dir`: the base of your local DISDRODB Data Archive
|
|
80
70
|
|
|
81
|
-
|
|
82
|
-
Please note that on Windows these paths must end with `\DISDRODB`, while on macOS/Linux they must end with `/DISDRODB`.
|
|
71
|
+
On Windows, paths must end with `\DISDRODB`; on macOS/Linux, they must end with `/DISDRODB`.
|
|
83
72
|
|
|
84
73
|
```python
|
|
85
74
|
import disdrodb
|
|
86
75
|
|
|
87
76
|
metadata_archive_dir = "/<path_to>/DISDRODB-METADATA/DISDRODB"
|
|
88
|
-
data_archive_dir = "/<
|
|
77
|
+
data_archive_dir = "/<path_to>/DISDRODB"
|
|
89
78
|
disdrodb.define_configs(
|
|
90
79
|
metadata_archive_dir=metadata_archive_dir, data_archive_dir=data_archive_dir
|
|
91
80
|
)
|
|
92
81
|
```
|
|
93
82
|
|
|
94
|
-
|
|
95
|
-
that will be used as default configuration file when running the disdrodb software.
|
|
83
|
+
This creates a `.config_disdrodb.yml` file in your home directory (e.g., `~/.config_disdrodb.yml`).
|
|
96
84
|
|
|
97
|
-
|
|
98
|
-
should get the `metadata_archive_dir` and `data_archive_dir` paths you just defined in the DISDRODB Configuration File:
|
|
85
|
+
To verify the configuration, open a new Python session and run:
|
|
99
86
|
|
|
100
87
|
```python
|
|
101
88
|
import disdrodb
|
|
102
89
|
|
|
103
|
-
print("
|
|
104
|
-
print("
|
|
90
|
+
print("Metadata Archive Directory:", disdrodb.get_metadata_archive_dir())
|
|
91
|
+
print("Data Archive Directory:", disdrodb.get_data_archive_dir())
|
|
105
92
|
```
|
|
106
93
|
|
|
107
|
-
|
|
108
|
-
by typing the following command in the terminal:
|
|
94
|
+
Or in the shell:
|
|
109
95
|
|
|
110
96
|
```bash
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
disdrodb_metadata_archive_directory
|
|
114
|
-
|
|
97
|
+
disdrodb_metadata_archive_directory
|
|
98
|
+
disdrodb_data_archive_directory
|
|
115
99
|
```
|
|
116
100
|
|
|
117
101
|
### 📥 Download the DISDRODB Raw Data Archive
|
|
118
102
|
|
|
119
|
-
To download all data stored into the DISDRODB Decentralized Data Archive,
|
|
103
|
+
To download all data stored into the DISDRODB Decentralized Data Archive,
|
|
104
|
+
you just have to run the following command:
|
|
120
105
|
|
|
121
106
|
```bash
|
|
122
107
|
disdrodb_download_archive
|
|
123
108
|
```
|
|
124
109
|
|
|
125
|
-
|
|
110
|
+
To download from a specific source (e.g., EPFL):
|
|
126
111
|
|
|
127
112
|
```bash
|
|
128
113
|
disdrodb_download_archive --data-sources EPFL
|
|
@@ -136,7 +121,7 @@ To open the local DISDRODB Data Archive directory, type:
|
|
|
136
121
|
disdrodb_open_data_archive
|
|
137
122
|
```
|
|
138
123
|
|
|
139
|
-
### 💫 Transform
|
|
124
|
+
### 💫 Transform Raw Data to Standardized netCDFs
|
|
140
125
|
|
|
141
126
|
If you want to convert all stations raw data into standardized netCDF4 files, run the following command in the terminal:
|
|
142
127
|
|
|
@@ -146,40 +131,28 @@ disdrodb_run_l0
|
|
|
146
131
|
|
|
147
132
|
Type `disdrodb_run_l0 --help` to see further options.
|
|
148
133
|
|
|
149
|
-
### 💫 Generate
|
|
134
|
+
### 💫 Generate DISDRODB L1 and p2 products
|
|
150
135
|
|
|
151
|
-
To generate
|
|
136
|
+
To generate DISDRODB L1 and L2 products, run the following commands in the terminal:
|
|
152
137
|
|
|
153
138
|
```bash
|
|
154
139
|
disdrodb_run_l1
|
|
155
|
-
```
|
|
156
|
-
```bash
|
|
157
140
|
disdrodb_run_l2e
|
|
158
|
-
```
|
|
159
|
-
```bash
|
|
160
141
|
disdrodb_run_l2m
|
|
161
142
|
```
|
|
162
143
|
|
|
163
|
-
### 💫
|
|
144
|
+
### 💫 Analyze Analysis‐Ready Products
|
|
164
145
|
|
|
165
|
-
The
|
|
166
|
-
a DISDRODB product into a `xarray.Dataset` (or `pandas.DataFrame` for the DISDRODB L0A product).
|
|
146
|
+
The software’s `open_dataset` function **lazily** opens all station files of a given product:
|
|
167
147
|
|
|
168
148
|
```python
|
|
169
149
|
import disdrodb
|
|
170
150
|
|
|
171
|
-
# Define station arguments
|
|
172
|
-
data_source = "EPFL"
|
|
173
|
-
campaign_name = "HYMEX_LTE_SOP3"
|
|
174
|
-
station_name = "10"
|
|
175
|
-
|
|
176
|
-
# Open all station files of a specific product
|
|
177
151
|
ds = disdrodb.open_dataset(
|
|
178
152
|
product="L0C",
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
station_name=station_name,
|
|
153
|
+
data_source="EPFL",
|
|
154
|
+
campaign_name="HYMEX_LTE_SOP3",
|
|
155
|
+
station_name="10",
|
|
183
156
|
)
|
|
184
157
|
ds
|
|
185
158
|
```
|
|
@@ -73,7 +73,7 @@ DIAMETER_COORDS = ["diameter_bin_center", "diameter_bin_width", "diameter_bin_lo
|
|
|
73
73
|
VELOCITY_COORDS = ["velocity_bin_center", "velocity_bin_width", "velocity_bin_lower", "velocity_bin_upper"]
|
|
74
74
|
VELOCITY_DIMENSION = "velocity_bin_center"
|
|
75
75
|
DIAMETER_DIMENSION = "diameter_bin_center"
|
|
76
|
-
OPTICAL_SENSORS = ["PARSIVEL", "PARSIVEL2", "LPM"]
|
|
76
|
+
OPTICAL_SENSORS = ["PARSIVEL", "PARSIVEL2", "LPM", "PWS100"]
|
|
77
77
|
IMPACT_SENSORS = ["RD80"]
|
|
78
78
|
|
|
79
79
|
|
|
@@ -141,6 +141,7 @@ def open_dataset(
|
|
|
141
141
|
product_kwargs=None,
|
|
142
142
|
debugging_mode: bool = False,
|
|
143
143
|
data_archive_dir: Optional[str] = None,
|
|
144
|
+
parallel=False,
|
|
144
145
|
**open_kwargs,
|
|
145
146
|
):
|
|
146
147
|
"""Retrieve DISDRODB product files for a give station.
|
|
@@ -205,8 +206,17 @@ def open_dataset(
|
|
|
205
206
|
# Open DISDRODB netCDF files using xarray
|
|
206
207
|
# - TODO: parallel option and add closers !
|
|
207
208
|
# - decode_timedelta -- > sample_interval not decoded to timedelta !
|
|
208
|
-
list_ds = [xr.open_dataset(fpath, decode_timedelta=False, **open_kwargs) for fpath in filepaths]
|
|
209
|
-
ds = xr.concat(list_ds, dim="time")
|
|
209
|
+
# list_ds = [xr.open_dataset(fpath, decode_timedelta=False, **open_kwargs) for fpath in filepaths]
|
|
210
|
+
# ds = xr.concat(list_ds, dim="time")
|
|
211
|
+
ds = xr.open_mfdataset(
|
|
212
|
+
filepaths,
|
|
213
|
+
engine="netcdf4",
|
|
214
|
+
combine="nested", # 'by_coords',
|
|
215
|
+
concat_dim="time",
|
|
216
|
+
decode_timedelta=False,
|
|
217
|
+
parallel=parallel,
|
|
218
|
+
**open_kwargs,
|
|
219
|
+
)
|
|
210
220
|
return ds
|
|
211
221
|
|
|
212
222
|
|
|
@@ -80,7 +80,12 @@ def _check_valid_values(df, dict_valid_values):
|
|
|
80
80
|
raise ValueError(f"Columns {list_wrong_columns} have invalid values.")
|
|
81
81
|
|
|
82
82
|
|
|
83
|
-
def _check_raw_fields_available(
|
|
83
|
+
def _check_raw_fields_available(
|
|
84
|
+
df: pd.DataFrame,
|
|
85
|
+
sensor_name: str, # noqa: ARG001
|
|
86
|
+
logger=None, # noqa: ARG001
|
|
87
|
+
verbose: bool = False, # noqa: ARG001
|
|
88
|
+
) -> None:
|
|
84
89
|
"""Check the presence of the raw spectrum data according to the type of sensor.
|
|
85
90
|
|
|
86
91
|
Parameters
|
|
@@ -95,22 +100,22 @@ def _check_raw_fields_available(df: pd.DataFrame, sensor_name: str, logger=None,
|
|
|
95
100
|
ValueError
|
|
96
101
|
Error if the ``raw_drop_number`` field is missing.
|
|
97
102
|
"""
|
|
98
|
-
from disdrodb.l0.standards import get_raw_array_nvalues
|
|
99
|
-
|
|
100
|
-
# Retrieve raw arrays that could be available (based on sensor_name)
|
|
101
|
-
n_bins_dict = get_raw_array_nvalues(sensor_name=sensor_name)
|
|
102
|
-
raw_vars = np.array(list(n_bins_dict.keys()))
|
|
103
|
+
# from disdrodb.l0.standards import get_raw_array_nvalues
|
|
103
104
|
|
|
104
105
|
# Check that raw_drop_number is present
|
|
105
106
|
if "raw_drop_number" not in df.columns:
|
|
106
107
|
msg = "The 'raw_drop_number' column is not present in the dataframe."
|
|
107
108
|
raise ValueError(msg)
|
|
108
109
|
|
|
110
|
+
# Retrieve raw arrays that could be available (based on sensor_name)
|
|
111
|
+
# n_bins_dict = get_raw_array_nvalues(sensor_name=sensor_name)
|
|
112
|
+
|
|
109
113
|
# Report additional raw arrays that are missing
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
+
# raw_vars = np.array(list(n_bins_dict.keys()))
|
|
115
|
+
# missing_vars = raw_vars[np.isin(raw_vars, list(df.columns), invert=True)]
|
|
116
|
+
# if len(missing_vars) > 0:
|
|
117
|
+
# msg = f"The following raw array variable are missing: {missing_vars}"
|
|
118
|
+
# log_info(logger=logger, msg=msg, verbose=verbose)
|
|
114
119
|
|
|
115
120
|
|
|
116
121
|
def check_l0a_column_names(df: pd.DataFrame, sensor_name: str) -> None:
|
|
@@ -74,7 +74,7 @@ number_particles_class_8_internal_data: "float32"
|
|
|
74
74
|
number_particles_class_9: "float32" # 'uint16'
|
|
75
75
|
number_particles_class_9_internal_data: "float32"
|
|
76
76
|
raw_drop_number: "str"
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
77
|
+
air_temperature: "float32"
|
|
78
|
+
relative_humidity: "float32"
|
|
79
|
+
wind_speed: "float32"
|
|
80
|
+
wind_direction: "float32"
|