disdrodb 0.1.2__tar.gz → 0.1.4__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.2/disdrodb.egg-info → disdrodb-0.1.4}/PKG-INFO +4 -3
- {disdrodb-0.1.2 → disdrodb-0.1.4}/README.md +2 -2
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/__init__.py +68 -34
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/_config.py +5 -4
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/_version.py +16 -3
- disdrodb-0.1.4/disdrodb/accessor/__init__.py +20 -0
- disdrodb-0.1.4/disdrodb/accessor/methods.py +125 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/api/checks.py +177 -24
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/api/configs.py +3 -3
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/api/info.py +13 -13
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/api/io.py +281 -22
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/api/path.py +184 -195
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/api/search.py +18 -9
- disdrodb-0.1.4/disdrodb/cli/disdrodb_create_summary.py +103 -0
- disdrodb-0.1.4/disdrodb/cli/disdrodb_create_summary_station.py +91 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_run_l0.py +1 -1
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_run_l0_station.py +1 -1
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_run_l0a_station.py +1 -1
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_run_l0b.py +1 -1
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_run_l0b_station.py +3 -3
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_run_l0c.py +1 -1
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_run_l0c_station.py +3 -3
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_run_l1_station.py +2 -2
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_run_l2e_station.py +2 -2
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_run_l2m_station.py +2 -2
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/configs.py +149 -4
- disdrodb-0.1.4/disdrodb/constants.py +61 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/data_transfer/download_data.py +127 -11
- disdrodb-0.1.4/disdrodb/etc/configs/attributes.yaml +339 -0
- disdrodb-0.1.4/disdrodb/etc/configs/encodings.yaml +473 -0
- disdrodb-0.1.4/disdrodb/etc/products/L1/global.yaml +13 -0
- disdrodb-0.1.4/disdrodb/etc/products/L2E/10MIN.yaml +12 -0
- disdrodb-0.1.4/disdrodb/etc/products/L2E/1MIN.yaml +1 -0
- disdrodb-0.1.4/disdrodb/etc/products/L2E/global.yaml +22 -0
- disdrodb-0.1.4/disdrodb/etc/products/L2M/10MIN.yaml +12 -0
- disdrodb-0.1.4/disdrodb/etc/products/L2M/GAMMA_ML.yaml +8 -0
- disdrodb-0.1.4/disdrodb/etc/products/L2M/NGAMMA_GS_LOG_ND_MAE.yaml +6 -0
- disdrodb-0.1.4/disdrodb/etc/products/L2M/NGAMMA_GS_ND_MAE.yaml +6 -0
- disdrodb-0.1.4/disdrodb/etc/products/L2M/NGAMMA_GS_Z_MAE.yaml +6 -0
- disdrodb-0.1.4/disdrodb/etc/products/L2M/global.yaml +26 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/issue/writer.py +2 -0
- {disdrodb-0.1.2/disdrodb/scattering → disdrodb-0.1.4/disdrodb/l0}/__init__.py +11 -9
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/LPM/l0b_cf_attrs.yml +4 -4
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/PARSIVEL/l0b_cf_attrs.yml +1 -1
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/PARSIVEL/l0b_encodings.yml +3 -3
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/PARSIVEL/raw_data_format.yml +1 -1
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/PARSIVEL2/l0b_cf_attrs.yml +5 -5
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/PARSIVEL2/l0b_encodings.yml +3 -3
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/PARSIVEL2/raw_data_format.yml +1 -1
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/PWS100/l0b_cf_attrs.yml +4 -4
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/PWS100/raw_data_format.yml +1 -1
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/l0a_processing.py +37 -32
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/l0b_nc_processing.py +118 -8
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/l0b_processing.py +30 -65
- disdrodb-0.1.4/disdrodb/l0/l0c_processing.py +737 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/LPM/ARM/ARM_LPM.py +7 -0
- disdrodb-0.1.4/disdrodb/l0/readers/LPM/NETHERLANDS/DELFT_LPM_NC.py +66 -0
- disdrodb-0.1.2/disdrodb/l0/readers/LPM/SLOVENIA/CRNI_VRH.py → disdrodb-0.1.4/disdrodb/l0/readers/LPM/SLOVENIA/UL.py +3 -0
- disdrodb-0.1.4/disdrodb/l0/readers/LPM/SWITZERLAND/INNERERIZ_LPM.py +195 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/GPM/PIERS.py +0 -2
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/JAPAN/JMA.py +4 -1
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/NCAR/PECAN_MOBILE.py +1 -1
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/NCAR/VORTEX2_2009.py +1 -1
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL2/ARM/ARM_PARSIVEL2.py +4 -0
- disdrodb-0.1.2/disdrodb/l0/readers/PARSIVEL2/FRANCE/ENPC_PARSIVEL2.py → disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL2/BELGIUM/ILVO.py +13 -34
- disdrodb-0.1.2/disdrodb/l0/readers/PARSIVEL2/NETHERLANDS/DELFT_NC.py → disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL2/CANADA/UQAM_NC.py +3 -1
- disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL2/DENMARK/DTU.py +165 -0
- disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL2/FINLAND/FMI_PARSIVEL2.py +69 -0
- disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL2/FRANCE/ENPC_PARSIVEL2.py +310 -0
- disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL2/FRANCE/OSUG.py +525 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL2/FRANCE/SIRTA_PARSIVEL2.py +1 -1
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL2/GPM/GCPEX.py +9 -7
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL2/KIT/BURKINA_FASO.py +1 -1
- disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL2/KIT/TEAMX.py +123 -0
- disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL2/MPI/BCO_PARSIVEL2.py +136 -0
- disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL2/MPI/BOWTIE.py +220 -0
- disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL2/NASA/APU.py +120 -0
- disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL2/NASA/LPVEX.py +109 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL2/NCAR/FARM_PARSIVEL2.py +1 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL2/NCAR/PECAN_FP3.py +1 -1
- disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL2/NCAR/PERILS_MIPS.py +126 -0
- disdrodb-0.1.2/disdrodb/l0/readers/PARSIVEL2/NCAR/VORTEX_SE_2016_PIPS.py → disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL2/NCAR/PERILS_PIPS.py +16 -12
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL2/NCAR/VORTEX_SE_2016_P2.py +1 -1
- disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL2/NCAR/VORTEX_SE_2016_PIPS.py +169 -0
- disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL2/NETHERLANDS/DELFT_NC.py +72 -0
- disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL2/SPAIN/CENER.py +144 -0
- disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL2/SPAIN/CR1000DL.py +201 -0
- disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL2/SPAIN/LIAISE.py +137 -0
- disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL2/USA/C3WE.py +146 -0
- disdrodb-0.1.4/disdrodb/l0/readers/PWS100/FRANCE/ENPC_PWS100.py +156 -0
- disdrodb-0.1.2/disdrodb/l0/readers/PWS100/FRANCE/ENPC_PWS100.py → disdrodb-0.1.4/disdrodb/l0/readers/PWS100/FRANCE/ENPC_PWS100_SIRTA.py +16 -15
- {disdrodb-0.1.2/disdrodb/l0 → disdrodb-0.1.4/disdrodb/l1}/__init__.py +6 -1
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l1/fall_velocity.py +46 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l1/filters.py +34 -20
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l1/processing.py +46 -45
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l1/resampling.py +77 -66
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l1_env/routines.py +18 -3
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l2/__init__.py +7 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l2/empirical_dsd.py +58 -10
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l2/processing.py +268 -117
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/metadata/checks.py +132 -125
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/metadata/standards.py +3 -1
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/psd/fitting.py +631 -345
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/psd/models.py +9 -6
- disdrodb-0.1.4/disdrodb/routines/__init__.py +54 -0
- disdrodb-0.1.2/disdrodb/l0/routines.py → disdrodb-0.1.4/disdrodb/routines/l0.py +316 -355
- disdrodb-0.1.2/disdrodb/l1/routines.py → disdrodb-0.1.4/disdrodb/routines/l1.py +76 -116
- disdrodb-0.1.4/disdrodb/routines/l2.py +1019 -0
- disdrodb-0.1.2/disdrodb/routines.py → disdrodb-0.1.4/disdrodb/routines/wrappers.py +98 -10
- disdrodb-0.1.4/disdrodb/scattering/__init__.py +40 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/scattering/axis_ratio.py +61 -37
- disdrodb-0.1.4/disdrodb/scattering/permittivity.py +504 -0
- disdrodb-0.1.4/disdrodb/scattering/routines.py +1018 -0
- {disdrodb-0.1.2/disdrodb/l1 → disdrodb-0.1.4/disdrodb/summary}/__init__.py +1 -1
- disdrodb-0.1.4/disdrodb/summary/routines.py +4196 -0
- disdrodb-0.1.4/disdrodb/utils/archiving.py +434 -0
- disdrodb-0.1.4/disdrodb/utils/attrs.py +151 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/utils/cli.py +5 -5
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/utils/compression.py +30 -1
- disdrodb-0.1.4/disdrodb/utils/dask.py +174 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/utils/dataframe.py +61 -7
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/utils/decorators.py +31 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/utils/directories.py +35 -15
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/utils/encoding.py +37 -19
- {disdrodb-0.1.2/disdrodb/l2 → disdrodb-0.1.4/disdrodb/utils}/event.py +15 -173
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/utils/logger.py +14 -7
- disdrodb-0.1.4/disdrodb/utils/manipulations.py +81 -0
- disdrodb-0.1.4/disdrodb/utils/routines.py +166 -0
- disdrodb-0.1.4/disdrodb/utils/subsetting.py +214 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/utils/time.py +35 -177
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/utils/writer.py +20 -7
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/utils/xarray.py +5 -4
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/viz/__init__.py +13 -0
- disdrodb-0.1.4/disdrodb/viz/plots.py +415 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4/disdrodb.egg-info}/PKG-INFO +4 -3
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb.egg-info/SOURCES.txt +51 -10
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb.egg-info/entry_points.txt +2 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb.egg-info/requires.txt +1 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/pyproject.toml +10 -1
- disdrodb-0.1.2/disdrodb/l0/l0c_processing.py +0 -627
- disdrodb-0.1.2/disdrodb/l0/readers/PARSIVEL2/NETHERLANDS/DELFT.py +0 -166
- disdrodb-0.1.2/disdrodb/l1/encoding_attrs.py +0 -642
- disdrodb-0.1.2/disdrodb/l2/processing_options.py +0 -213
- disdrodb-0.1.2/disdrodb/l2/routines.py +0 -868
- disdrodb-0.1.2/disdrodb/scattering/routines.py +0 -456
- disdrodb-0.1.2/disdrodb/utils/attrs.py +0 -208
- disdrodb-0.1.2/disdrodb/utils/dask.py +0 -62
- disdrodb-0.1.2/disdrodb/viz/plots.py +0 -17
- {disdrodb-0.1.2 → disdrodb-0.1.4}/.codebeatignore +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/.coveragerc +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/.gitignore +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/.pre-commit-config.yaml +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/.readthedocs.yaml +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/AUTHORS.md +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/CHANGELOG.md +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/CODE_OF_CONDUCT.md +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/CONTRIBUTING.rst +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/LICENSE +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/MANIFEST.in +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/Makefile +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/SECURITY.md +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/api/__init__.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/api/create_directories.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_check_metadata_archive.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_data_archive_directory.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_download_archive.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_download_metadata_archive.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_download_station.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_initialize_station.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_metadata_archive_directory.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_open_data_archive.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_open_logs_directory.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_open_metadata_archive.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_open_metadata_directory.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_open_product_directory.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_open_readers_directory.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_run_l0a.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_run_l1.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_run_l2e.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_run_l2m.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_upload_archive.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/cli/disdrodb_upload_station.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/data_transfer/__init__.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/data_transfer/upload_data.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/data_transfer/zenodo.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/docs.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/issue/__init__.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/issue/checks.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/issue/reader.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/check_configs.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/check_standards.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/LPM/bins_diameter.yml +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/LPM/bins_velocity.yml +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/LPM/l0a_encodings.yml +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/LPM/l0b_encodings.yml +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/LPM/raw_data_format.yml +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/PARSIVEL/bins_diameter.yml +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/PARSIVEL/bins_velocity.yml +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/PARSIVEL/l0a_encodings.yml +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/PARSIVEL2/bins_diameter.yml +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/PARSIVEL2/bins_velocity.yml +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/PARSIVEL2/l0a_encodings.yml +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/PWS100/bins_diameter.yml +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/PWS100/bins_velocity.yml +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/PWS100/l0a_encodings.yml +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/PWS100/l0b_encodings.yml +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/RD80/bins_diameter.yml +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/RD80/bins_velocity.yml +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/RD80/l0a_encodings.yml +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/RD80/l0b_cf_attrs.yml +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/RD80/l0b_encodings.yml +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/configs/RD80/raw_data_format.yml +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/l0_reader.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/manuals/LPM.pdf +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/manuals/ODM470.pdf +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/manuals/PARSIVEL.pdf +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/manuals/PARSIVEL2.pdf +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/manuals/PWS100.pdf +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/manuals/RD80.pdf +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/manuals/SWS250.pdf +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/manuals/VPF730.pdf +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/manuals/VPF750.pdf +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/LPM/AUSTRALIA/MELBOURNE_2007_LPM.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/LPM/BRAZIL/CHUVA_LPM.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/LPM/BRAZIL/GOAMAZON_LPM.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/LPM/ITALY/GID_LPM.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/LPM/ITALY/GID_LPM_W.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/LPM/KIT/CHWALA.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/LPM/SLOVENIA/ARSO.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/LPM/UK/DIVEN.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/AUSTRALIA/MELBOURNE_2007_PARSIVEL.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/CHINA/CHONGQING.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/EPFL/ARCTIC_2021.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/EPFL/COMMON_2011.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/EPFL/DAVOS_2009_2011.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_2009.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_ROOF_2008.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_ROOF_2010.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_ROOF_2011.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_ROOF_2012.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/EPFL/GENEPI_2007.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/EPFL/GRAND_ST_BERNARD_2007.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/EPFL/GRAND_ST_BERNARD_2007_2.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/EPFL/HPICONET_2010.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/EPFL/HYMEX_LTE_SOP2.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/EPFL/HYMEX_LTE_SOP3.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/EPFL/HYMEX_LTE_SOP4.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/EPFL/LOCARNO_2018.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/EPFL/LOCARNO_2019.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/EPFL/PARADISO_2014.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/EPFL/PARSIVEL_2007.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/EPFL/PLATO_2019.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/EPFL/RACLETS_2019.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/EPFL/RACLETS_2019_WJF.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/EPFL/RIETHOLZBACH_2011.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/EPFL/SAMOYLOV_2017.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/EPFL/SAMOYLOV_2019.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/EPFL/UNIL_2022.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/GPM/IFLOODS.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/GPM/LPVEX.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/GPM/MC3E.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/NCAR/CCOPE_2015.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/NCAR/OWLES_MIPS.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/NCAR/PLOWS_MIPS.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/NCAR/VORTEX2_2010.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL/NCAR/VORTEX2_2010_UF.py +0 -0
- /disdrodb-0.1.2/disdrodb/l0/readers/PARSIVEL/SLOVENIA/UL_FGG.py → /disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL/SLOVENIA/UL.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL2/BRAZIL/CHUVA_PARSIVEL2.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL2/BRAZIL/GOAMAZON_PARSIVEL2.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL2/DENMARK/EROSION_nc.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL2/GPM/NSSTC.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL2/ITALY/GID_PARSIVEL2.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL2/MEXICO/OH_IIUNAM_nc.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL2/NCAR/PECAN_MIPS.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL2/NCAR/RELAMPAGO_PARSIVEL2.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL2/NCAR/SNOWIE_PJ.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL2/NCAR/SNOWIE_SB.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/PARSIVEL2/NCAR/VORTEX_SE_2016_P1.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/RD80/BRAZIL/CHUVA_RD80.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/RD80/BRAZIL/GOAMAZON_RD80.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/RD80/NCAR/CINDY_2011_RD80.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/RD80/NCAR/RELAMPAGO_RD80.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/RD80/NOAA/PSL_RD80.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/__init__.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/template_reader_raw_netcdf_data.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/readers/template_reader_raw_text_data.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/standards.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l0/template_tools.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l1/beard_model.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/l1_env/__init__.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/metadata/__init__.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/metadata/download.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/metadata/geolocation.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/metadata/info.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/metadata/manipulation.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/metadata/reader.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/metadata/search.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/metadata/writer.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/psd/__init__.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/utils/__init__.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/utils/list.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/utils/warnings.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb/utils/yaml.py +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb.egg-info/dependency_links.txt +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/disdrodb.egg-info/top_level.txt +0 -0
- {disdrodb-0.1.2 → disdrodb-0.1.4}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: disdrodb
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
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
|
|
@@ -33,6 +33,7 @@ Requires-Dist: numpy
|
|
|
33
33
|
Requires-Dist: scipy
|
|
34
34
|
Requires-Dist: dask[distributed]
|
|
35
35
|
Requires-Dist: xarray
|
|
36
|
+
Requires-Dist: matplotlib
|
|
36
37
|
Provides-Extra: dev
|
|
37
38
|
Requires-Dist: jupyter; extra == "dev"
|
|
38
39
|
Requires-Dist: pre-commit; extra == "dev"
|
|
@@ -190,9 +191,9 @@ disdrodb_run_l2e
|
|
|
190
191
|
disdrodb_run_l2m
|
|
191
192
|
```
|
|
192
193
|
|
|
193
|
-
### 💫 Analyze Analysis
|
|
194
|
+
### 💫 Analyze Analysis-Ready Products
|
|
194
195
|
|
|
195
|
-
The software
|
|
196
|
+
The software's `open_dataset` function **lazily** opens all station files of a given product:
|
|
196
197
|
|
|
197
198
|
```python
|
|
198
199
|
import disdrodb
|
|
@@ -141,9 +141,9 @@ disdrodb_run_l2e
|
|
|
141
141
|
disdrodb_run_l2m
|
|
142
142
|
```
|
|
143
143
|
|
|
144
|
-
### 💫 Analyze Analysis
|
|
144
|
+
### 💫 Analyze Analysis-Ready Products
|
|
145
145
|
|
|
146
|
-
The software
|
|
146
|
+
The software's `open_dataset` function **lazily** opens all station files of a given product:
|
|
147
147
|
|
|
148
148
|
```python
|
|
149
149
|
import disdrodb
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
"""DISDRODB software."""
|
|
18
18
|
|
|
19
19
|
import contextlib
|
|
20
|
-
import importlib
|
|
21
20
|
import os
|
|
22
21
|
from importlib.metadata import PackageNotFoundError, version
|
|
23
22
|
|
|
23
|
+
import disdrodb.accessor # noqa
|
|
24
24
|
from disdrodb._config import config # noqa
|
|
25
25
|
from disdrodb.api.configs import available_sensor_names
|
|
26
26
|
from disdrodb.api.io import (
|
|
@@ -35,11 +35,26 @@ from disdrodb.api.search import (
|
|
|
35
35
|
available_data_sources,
|
|
36
36
|
available_stations,
|
|
37
37
|
)
|
|
38
|
-
from disdrodb.configs import
|
|
39
|
-
|
|
38
|
+
from disdrodb.configs import (
|
|
39
|
+
define_configs,
|
|
40
|
+
get_data_archive_dir,
|
|
41
|
+
get_metadata_archive_dir,
|
|
42
|
+
get_model_options,
|
|
43
|
+
get_product_options,
|
|
44
|
+
get_scattering_table_dir,
|
|
45
|
+
)
|
|
40
46
|
from disdrodb.data_transfer.download_data import download_archive, download_station
|
|
41
47
|
from disdrodb.docs import open_documentation, open_sensor_documentation
|
|
42
|
-
from disdrodb.l0
|
|
48
|
+
from disdrodb.l0 import (
|
|
49
|
+
available_readers,
|
|
50
|
+
generate_l0a,
|
|
51
|
+
generate_l0b,
|
|
52
|
+
generate_l0b_from_nc,
|
|
53
|
+
get_reader,
|
|
54
|
+
get_station_reader,
|
|
55
|
+
)
|
|
56
|
+
from disdrodb.l1 import generate_l1
|
|
57
|
+
from disdrodb.l2 import generate_l2_radar, generate_l2e, generate_l2m
|
|
43
58
|
from disdrodb.metadata import download_metadata_archive, read_metadata_archive, read_station_metadata
|
|
44
59
|
from disdrodb.metadata.checks import (
|
|
45
60
|
check_metadata_archive,
|
|
@@ -47,6 +62,8 @@ from disdrodb.metadata.checks import (
|
|
|
47
62
|
check_station_metadata,
|
|
48
63
|
)
|
|
49
64
|
from disdrodb.routines import (
|
|
65
|
+
create_summary,
|
|
66
|
+
create_summary_station,
|
|
50
67
|
run_l0,
|
|
51
68
|
run_l0_station,
|
|
52
69
|
run_l0a,
|
|
@@ -62,22 +79,25 @@ from disdrodb.routines import (
|
|
|
62
79
|
run_l2m,
|
|
63
80
|
run_l2m_station,
|
|
64
81
|
)
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
DIAMETER_COORDS
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
OPTICAL_SENSORS
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
82
|
+
from disdrodb.utils.manipulations import convert_from_decibel as idecibel
|
|
83
|
+
from disdrodb.utils.manipulations import convert_to_decibel as decibel
|
|
84
|
+
|
|
85
|
+
from .constants import (
|
|
86
|
+
ARCHIVE_VERSION,
|
|
87
|
+
CONVENTIONS,
|
|
88
|
+
COORDINATES,
|
|
89
|
+
DIAMETER_COORDS,
|
|
90
|
+
DIAMETER_DIMENSION,
|
|
91
|
+
GEOLOCATION_COORDS,
|
|
92
|
+
IMPACT_SENSORS,
|
|
93
|
+
OPTICAL_SENSORS,
|
|
94
|
+
PRODUCTS,
|
|
95
|
+
PRODUCTS_ARGUMENTS,
|
|
96
|
+
PRODUCTS_REQUIREMENTS,
|
|
97
|
+
SOFTWARE_VERSION,
|
|
98
|
+
VELOCITY_COORDS,
|
|
99
|
+
VELOCITY_DIMENSION,
|
|
100
|
+
)
|
|
81
101
|
|
|
82
102
|
|
|
83
103
|
def available_products():
|
|
@@ -85,21 +105,21 @@ def available_products():
|
|
|
85
105
|
return PRODUCTS
|
|
86
106
|
|
|
87
107
|
|
|
88
|
-
PRODUCTS_ARGUMENTS = {
|
|
89
|
-
"L2E": ["rolling", "sample_interval"],
|
|
90
|
-
"L2M": ["rolling", "sample_interval", "model_name"],
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
PRODUCTS_REQUIREMENTS = {
|
|
94
|
-
"L0A": "RAW",
|
|
95
|
-
"L0B": "L0A",
|
|
96
|
-
"L0C": "L0B",
|
|
97
|
-
"L1": "L0C",
|
|
98
|
-
"L2E": "L1",
|
|
99
|
-
"L2M": "L2E",
|
|
100
|
-
}
|
|
101
|
-
|
|
102
108
|
__all__ = [
|
|
109
|
+
"ARCHIVE_VERSION",
|
|
110
|
+
"CONVENTIONS",
|
|
111
|
+
"COORDINATES",
|
|
112
|
+
"DIAMETER_COORDS",
|
|
113
|
+
"DIAMETER_DIMENSION",
|
|
114
|
+
"GEOLOCATION_COORDS",
|
|
115
|
+
"IMPACT_SENSORS",
|
|
116
|
+
"OPTICAL_SENSORS",
|
|
117
|
+
"PRODUCTS",
|
|
118
|
+
"PRODUCTS_ARGUMENTS",
|
|
119
|
+
"PRODUCTS_REQUIREMENTS",
|
|
120
|
+
"SOFTWARE_VERSION",
|
|
121
|
+
"VELOCITY_COORDS",
|
|
122
|
+
"VELOCITY_DIMENSION",
|
|
103
123
|
"available_campaigns",
|
|
104
124
|
"available_data_sources",
|
|
105
125
|
"available_readers",
|
|
@@ -108,15 +128,29 @@ __all__ = [
|
|
|
108
128
|
"check_metadata_archive",
|
|
109
129
|
"check_metadata_archive_geolocation",
|
|
110
130
|
"check_station_metadata",
|
|
131
|
+
"create_summary",
|
|
132
|
+
"create_summary_station",
|
|
133
|
+
"decibel",
|
|
111
134
|
"define_configs",
|
|
112
135
|
"download_archive",
|
|
113
136
|
"download_metadata_archive",
|
|
114
137
|
"download_station",
|
|
115
138
|
"find_files",
|
|
139
|
+
"generate_l0a",
|
|
140
|
+
"generate_l0b",
|
|
141
|
+
"generate_l0b_from_nc",
|
|
142
|
+
"generate_l1",
|
|
143
|
+
"generate_l2_radar",
|
|
144
|
+
"generate_l2e",
|
|
145
|
+
"generate_l2m",
|
|
116
146
|
"get_data_archive_dir",
|
|
117
147
|
"get_metadata_archive_dir",
|
|
148
|
+
"get_model_options",
|
|
149
|
+
"get_product_options",
|
|
118
150
|
"get_reader",
|
|
151
|
+
"get_scattering_table_dir",
|
|
119
152
|
"get_station_reader",
|
|
153
|
+
"idecibel",
|
|
120
154
|
"open_dataset",
|
|
121
155
|
"open_documentation",
|
|
122
156
|
"open_logs_directory",
|
|
@@ -22,13 +22,13 @@ See https://donfig.readthedocs.io/en/latest/configuration.html for more info.
|
|
|
22
22
|
"""
|
|
23
23
|
from donfig import Config
|
|
24
24
|
|
|
25
|
-
from disdrodb.configs import
|
|
25
|
+
from disdrodb.configs import read_configs
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
def
|
|
28
|
+
def _get_default_configs():
|
|
29
29
|
"""Retrieve the default DISDRODB settings from the ``.config_disdrodb.yml`` file."""
|
|
30
30
|
try:
|
|
31
|
-
config_dict =
|
|
31
|
+
config_dict = read_configs()
|
|
32
32
|
config_dict = {key: value for key, value in config_dict.items() if value is not None}
|
|
33
33
|
except Exception:
|
|
34
34
|
config_dict = {}
|
|
@@ -38,11 +38,12 @@ def _get_disdrodb_default_configs():
|
|
|
38
38
|
_CONFIG_DEFAULTS = {
|
|
39
39
|
"data_archive_dir": None,
|
|
40
40
|
"metadata_archive_dir": None,
|
|
41
|
+
"scattering_table_dir": None,
|
|
41
42
|
"zenodo_sandbox_token": None,
|
|
42
43
|
"zenodo_token": None,
|
|
43
44
|
"folder_partitioning": "year/month",
|
|
44
45
|
}
|
|
45
|
-
_CONFIG_DEFAULTS.update(
|
|
46
|
+
_CONFIG_DEFAULTS.update(_get_default_configs())
|
|
46
47
|
|
|
47
48
|
_CONFIG_PATHS = []
|
|
48
49
|
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
# file generated by setuptools-scm
|
|
2
2
|
# don't change, don't track in version control
|
|
3
3
|
|
|
4
|
-
__all__ = [
|
|
4
|
+
__all__ = [
|
|
5
|
+
"__version__",
|
|
6
|
+
"__version_tuple__",
|
|
7
|
+
"version",
|
|
8
|
+
"version_tuple",
|
|
9
|
+
"__commit_id__",
|
|
10
|
+
"commit_id",
|
|
11
|
+
]
|
|
5
12
|
|
|
6
13
|
TYPE_CHECKING = False
|
|
7
14
|
if TYPE_CHECKING:
|
|
@@ -9,13 +16,19 @@ if TYPE_CHECKING:
|
|
|
9
16
|
from typing import Union
|
|
10
17
|
|
|
11
18
|
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
|
19
|
+
COMMIT_ID = Union[str, None]
|
|
12
20
|
else:
|
|
13
21
|
VERSION_TUPLE = object
|
|
22
|
+
COMMIT_ID = object
|
|
14
23
|
|
|
15
24
|
version: str
|
|
16
25
|
__version__: str
|
|
17
26
|
__version_tuple__: VERSION_TUPLE
|
|
18
27
|
version_tuple: VERSION_TUPLE
|
|
28
|
+
commit_id: COMMIT_ID
|
|
29
|
+
__commit_id__: COMMIT_ID
|
|
19
30
|
|
|
20
|
-
__version__ = version = '0.1.
|
|
21
|
-
__version_tuple__ = version_tuple = (0, 1,
|
|
31
|
+
__version__ = version = '0.1.4'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 1, 4)
|
|
33
|
+
|
|
34
|
+
__commit_id__ = commit_id = 'gdceb2f453'
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# -----------------------------------------------------------------------------.
|
|
2
|
+
# Copyright (c) 2021-2023 DISDRODB developers
|
|
3
|
+
#
|
|
4
|
+
# This program is free software: you can redistribute it and/or modify
|
|
5
|
+
# it under the terms of the GNU General Public License as published by
|
|
6
|
+
# the Free Software Foundation, either version 3 of the License, or
|
|
7
|
+
# (at your option) any later version.
|
|
8
|
+
#
|
|
9
|
+
# This program is distributed in the hope that it will be useful,
|
|
10
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
# GNU General Public License for more details.
|
|
13
|
+
#
|
|
14
|
+
# You should have received a copy of the GNU General Public License
|
|
15
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
16
|
+
# -----------------------------------------------------------------------------.
|
|
17
|
+
"""This directory defines DISDRODB xarray accessors."""
|
|
18
|
+
from .methods import DISDRODB_DataArray_Accessor, DISDRODB_Dataset_Accessor
|
|
19
|
+
|
|
20
|
+
__all__ = ["DISDRODB_DataArray_Accessor", "DISDRODB_Dataset_Accessor"]
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# -----------------------------------------------------------------------------.
|
|
2
|
+
# Copyright (c) 2021-2023 DISDRODB developers
|
|
3
|
+
#
|
|
4
|
+
# This program is free software: you can redistribute it and/or modify
|
|
5
|
+
# it under the terms of the GNU General Public License as published by
|
|
6
|
+
# the Free Software Foundation, either version 3 of the License, or
|
|
7
|
+
# (at your option) any later version.
|
|
8
|
+
#
|
|
9
|
+
# This program is distributed in the hope that it will be useful,
|
|
10
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
# GNU General Public License for more details.
|
|
13
|
+
#
|
|
14
|
+
# You should have received a copy of the GNU General Public License
|
|
15
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
16
|
+
# -----------------------------------------------------------------------------.
|
|
17
|
+
"""This module defines DISDRODB xarray accessors."""
|
|
18
|
+
import xarray as xr
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class DISDRODB_Base_Accessor:
|
|
22
|
+
"""DISDRODB Xarray Base Accessor."""
|
|
23
|
+
|
|
24
|
+
def __init__(self, xarray_obj):
|
|
25
|
+
if not isinstance(xarray_obj, (xr.DataArray, xr.Dataset)):
|
|
26
|
+
raise TypeError("The 'gpm' accessor is available only for xarray.Dataset and xarray.DataArray.")
|
|
27
|
+
self._obj = xarray_obj
|
|
28
|
+
|
|
29
|
+
@property
|
|
30
|
+
def start_time(self):
|
|
31
|
+
"""Return start time."""
|
|
32
|
+
from disdrodb.api.checks import check_time
|
|
33
|
+
|
|
34
|
+
if "time" in self._obj.coords:
|
|
35
|
+
start_time = self._obj["time"].to_numpy()[0]
|
|
36
|
+
else:
|
|
37
|
+
raise ValueError("Time coordinate not found")
|
|
38
|
+
return check_time(start_time)
|
|
39
|
+
|
|
40
|
+
@property
|
|
41
|
+
def end_time(self):
|
|
42
|
+
"""Return end time."""
|
|
43
|
+
from disdrodb.api.checks import check_time
|
|
44
|
+
|
|
45
|
+
if "time" in self._obj.coords:
|
|
46
|
+
end_time = self._obj["time"].to_numpy()[-1]
|
|
47
|
+
else:
|
|
48
|
+
raise ValueError("Time coordinate not found")
|
|
49
|
+
return check_time(end_time)
|
|
50
|
+
|
|
51
|
+
@property
|
|
52
|
+
def sample_interval(self):
|
|
53
|
+
"""Return the sample interval in seconds."""
|
|
54
|
+
from disdrodb.utils.time import ensure_sample_interval_in_seconds
|
|
55
|
+
|
|
56
|
+
if "sample_interval" not in self._obj.coords:
|
|
57
|
+
raise ValueError("The sample interval is not specified in the xarray object.")
|
|
58
|
+
return int(ensure_sample_interval_in_seconds(self._obj["sample_interval"].to_numpy()))
|
|
59
|
+
|
|
60
|
+
@property
|
|
61
|
+
def diameter_bin_edges(self):
|
|
62
|
+
"""Return diameter bin edges."""
|
|
63
|
+
from disdrodb.utils.manipulations import get_diameter_bin_edges
|
|
64
|
+
|
|
65
|
+
return get_diameter_bin_edges(self._obj)
|
|
66
|
+
|
|
67
|
+
def regularize(self):
|
|
68
|
+
"""Regularize timesteps."""
|
|
69
|
+
from disdrodb.utils.time import regularize_dataset
|
|
70
|
+
|
|
71
|
+
sample_interval = self._obj.disdrodb.sample_interval
|
|
72
|
+
return regularize_dataset(self._obj, freq=f"{sample_interval}s")
|
|
73
|
+
|
|
74
|
+
def isel(self, indexers=None, drop=False, **indexers_kwargs):
|
|
75
|
+
"""Perform index-based dimension selection."""
|
|
76
|
+
from disdrodb.utils.subsetting import isel
|
|
77
|
+
|
|
78
|
+
return isel(self._obj, indexers=indexers, drop=drop, **indexers_kwargs)
|
|
79
|
+
|
|
80
|
+
def sel(self, indexers=None, drop=False, method=None, **indexers_kwargs):
|
|
81
|
+
"""Perform value-based coordinate selection."""
|
|
82
|
+
from disdrodb.utils.subsetting import sel
|
|
83
|
+
|
|
84
|
+
return sel(self._obj, indexers=indexers, drop=drop, method=method, **indexers_kwargs)
|
|
85
|
+
|
|
86
|
+
def align(self, *args):
|
|
87
|
+
"""Align DISDRODB products over time, velocity and diameter dimensions."""
|
|
88
|
+
from disdrodb.utils.subsetting import align
|
|
89
|
+
|
|
90
|
+
return align(self._obj, *args)
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
@xr.register_dataset_accessor("disdrodb")
|
|
94
|
+
class DISDRODB_Dataset_Accessor(DISDRODB_Base_Accessor):
|
|
95
|
+
"""DISDRODB Xarray Dataset Accessor."""
|
|
96
|
+
|
|
97
|
+
def __init__(self, xarray_obj):
|
|
98
|
+
super().__init__(xarray_obj)
|
|
99
|
+
|
|
100
|
+
def resample(self, accumulation_interval, rolling=True):
|
|
101
|
+
"""Resample a L1 or L2 DISDRODB Product."""
|
|
102
|
+
from disdrodb.l1.resampling import resample_dataset
|
|
103
|
+
|
|
104
|
+
sample_interval = self._obj.disdrodb.sample_interval
|
|
105
|
+
ds = resample_dataset(
|
|
106
|
+
self._obj,
|
|
107
|
+
sample_interval=sample_interval,
|
|
108
|
+
accumulation_interval=accumulation_interval,
|
|
109
|
+
rolling=rolling,
|
|
110
|
+
)
|
|
111
|
+
return ds
|
|
112
|
+
|
|
113
|
+
def plot_nd(self, **kwargs):
|
|
114
|
+
"""Plot drop number concentration N(D) timeseries."""
|
|
115
|
+
from disdrodb.viz.plots import plot_nd
|
|
116
|
+
|
|
117
|
+
plot_nd(self._obj, **kwargs)
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
@xr.register_dataarray_accessor("disdrodb")
|
|
121
|
+
class DISDRODB_DataArray_Accessor(DISDRODB_Base_Accessor):
|
|
122
|
+
"""DISDRODB Xarray DataArray Accessor."""
|
|
123
|
+
|
|
124
|
+
def __init__(self, xarray_obj):
|
|
125
|
+
super().__init__(xarray_obj)
|