disdrodb 0.1.4__tar.gz → 0.2.0__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.4 → disdrodb-0.2.0}/CONTRIBUTING.rst +1 -1
- {disdrodb-0.1.4/disdrodb.egg-info → disdrodb-0.2.0}/PKG-INFO +2 -1
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/__init__.py +1 -5
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/_version.py +3 -3
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/accessor/methods.py +14 -3
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/api/checks.py +10 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/api/create_directories.py +0 -2
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/api/io.py +14 -17
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/api/path.py +42 -77
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/api/search.py +89 -23
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_create_summary.py +11 -1
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_create_summary_station.py +10 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_run_l0.py +1 -1
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_run_l0a.py +1 -1
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_run_l0b.py +1 -1
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_run_l0c.py +1 -1
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_run_l1.py +1 -1
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_run_l2e.py +1 -1
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_run_l2m.py +1 -1
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/configs.py +30 -83
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/constants.py +4 -3
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/data_transfer/download_data.py +4 -2
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/docs.py +2 -2
- disdrodb-0.1.4/disdrodb/etc/products/L1/global.yaml → disdrodb-0.2.0/disdrodb/etc/products/L1/1MIN.yaml +1 -1
- disdrodb-0.2.0/disdrodb/etc/products/L1/LPM/1MIN.yaml +13 -0
- disdrodb-0.2.0/disdrodb/etc/products/L1/PARSIVEL/1MIN.yaml +13 -0
- disdrodb-0.2.0/disdrodb/etc/products/L1/PARSIVEL2/1MIN.yaml +13 -0
- disdrodb-0.2.0/disdrodb/etc/products/L1/PWS100/1MIN.yaml +13 -0
- disdrodb-0.2.0/disdrodb/etc/products/L1/RD80/1MIN.yaml +13 -0
- disdrodb-0.2.0/disdrodb/etc/products/L1/SWS250/1MIN.yaml +13 -0
- disdrodb-0.2.0/disdrodb/etc/products/L1/global.yaml +19 -0
- disdrodb-0.2.0/disdrodb/etc/products/L2E/1MIN.yaml +1 -0
- disdrodb-0.2.0/disdrodb/etc/products/L2E/5MIN.yaml +1 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/etc/products/L2E/global.yaml +1 -1
- disdrodb-0.2.0/disdrodb/etc/products/L2M/MODELS/GAMMA_GS_ND_MAE.yaml +6 -0
- {disdrodb-0.1.4/disdrodb/etc/products/L2M → disdrodb-0.2.0/disdrodb/etc/products/L2M/MODELS}/GAMMA_ML.yaml +1 -1
- disdrodb-0.2.0/disdrodb/etc/products/L2M/MODELS/LOGNORMAL_GS_LOG_ND_MAE.yaml +6 -0
- disdrodb-0.2.0/disdrodb/etc/products/L2M/MODELS/LOGNORMAL_GS_ND_MAE.yaml +6 -0
- disdrodb-0.2.0/disdrodb/etc/products/L2M/MODELS/LOGNORMAL_ML.yaml +8 -0
- disdrodb-0.2.0/disdrodb/etc/products/L2M/MODELS/NGAMMA_GS_R_MAE.yaml +6 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/etc/products/L2M/global.yaml +11 -3
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/check_configs.py +49 -16
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/LPM/l0a_encodings.yml +2 -2
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/LPM/l0b_cf_attrs.yml +2 -2
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/LPM/l0b_encodings.yml +2 -2
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/LPM/raw_data_format.yml +2 -2
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/PARSIVEL/l0b_encodings.yml +1 -1
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/PWS100/l0b_encodings.yml +1 -0
- disdrodb-0.2.0/disdrodb/l0/configs/SWS250/bins_diameter.yml +108 -0
- disdrodb-0.2.0/disdrodb/l0/configs/SWS250/bins_velocity.yml +83 -0
- disdrodb-0.2.0/disdrodb/l0/configs/SWS250/l0a_encodings.yml +18 -0
- disdrodb-0.2.0/disdrodb/l0/configs/SWS250/l0b_cf_attrs.yml +72 -0
- disdrodb-0.2.0/disdrodb/l0/configs/SWS250/l0b_encodings.yml +155 -0
- disdrodb-0.2.0/disdrodb/l0/configs/SWS250/raw_data_format.yml +148 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/l0_reader.py +2 -2
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/l0b_processing.py +70 -15
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/l0c_processing.py +7 -3
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/LPM/ARM/ARM_LPM.py +1 -1
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/LPM/AUSTRALIA/MELBOURNE_2007_LPM.py +2 -2
- disdrodb-0.2.0/disdrodb/l0/readers/LPM/BELGIUM/ULIEGE.py +256 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/LPM/BRAZIL/CHUVA_LPM.py +2 -2
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/LPM/BRAZIL/GOAMAZON_LPM.py +2 -2
- disdrodb-0.2.0/disdrodb/l0/readers/LPM/GERMANY/DWD.py +491 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/LPM/ITALY/GID_LPM.py +2 -2
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/LPM/ITALY/GID_LPM_W.py +2 -2
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/LPM/KIT/CHWALA.py +2 -2
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/LPM/SLOVENIA/ARSO.py +107 -12
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/LPM/SLOVENIA/UL.py +3 -3
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/LPM/SWITZERLAND/INNERERIZ_LPM.py +2 -2
- disdrodb-0.2.0/disdrodb/l0/readers/PARSIVEL/BASQUECOUNTRY/EUSKALMET_OTT.py +227 -0
- {disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL/GPM → disdrodb-0.2.0/disdrodb/l0/readers/PARSIVEL/NASA}/LPVEX.py +1 -1
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/NCAR/VORTEX2_2010.py +5 -14
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/NCAR/VORTEX2_2010_UF.py +8 -17
- disdrodb-0.2.0/disdrodb/l0/readers/PARSIVEL/SLOVENIA/UL.py +230 -0
- disdrodb-0.2.0/disdrodb/l0/readers/PARSIVEL2/BASQUECOUNTRY/EUSKALMET_OTT2.py +232 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/BRAZIL/CHUVA_PARSIVEL2.py +10 -14
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/BRAZIL/GOAMAZON_PARSIVEL2.py +10 -14
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/DENMARK/DTU.py +8 -14
- disdrodb-0.2.0/disdrodb/l0/readers/PARSIVEL2/DENMARK/EROSION_raw.py +382 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/FINLAND/FMI_PARSIVEL2.py +4 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/FRANCE/OSUG.py +1 -1
- disdrodb-0.2.0/disdrodb/l0/readers/PARSIVEL2/GREECE/NOA.py +127 -0
- disdrodb-0.2.0/disdrodb/l0/readers/PARSIVEL2/ITALY/HYDROX.py +239 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/NCAR/FARM_PARSIVEL2.py +5 -11
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/NCAR/PERILS_MIPS.py +4 -17
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/NCAR/RELAMPAGO_PARSIVEL2.py +5 -14
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/NCAR/SNOWIE_PJ.py +10 -13
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/NCAR/SNOWIE_SB.py +10 -13
- disdrodb-0.2.0/disdrodb/l0/readers/PARSIVEL2/PHILIPPINES/PAGASA.py +232 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/SPAIN/CENER.py +6 -18
- disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL/SLOVENIA/UL.py → disdrodb-0.2.0/disdrodb/l0/readers/PARSIVEL2/SPAIN/GRANADA.py +35 -36
- disdrodb-0.2.0/disdrodb/l0/readers/PARSIVEL2/SWEDEN/SMHI.py +189 -0
- disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL2/USA/C3WE.py → disdrodb-0.2.0/disdrodb/l0/readers/PARSIVEL2/USA/CW3E.py +10 -28
- disdrodb-0.2.0/disdrodb/l0/readers/PWS100/AUSTRIA/HOAL.py +321 -0
- disdrodb-0.2.0/disdrodb/l0/readers/SW250/BELGIUM/KMI.py +239 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l1/beard_model.py +31 -129
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l1/fall_velocity.py +136 -83
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l1/filters.py +25 -28
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l1/processing.py +16 -17
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l1/resampling.py +101 -38
- disdrodb-0.2.0/disdrodb/l1_env/routines.py +82 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l2/empirical_dsd.py +6 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l2/processing.py +6 -5
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/metadata/geolocation.py +0 -2
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/metadata/search.py +3 -4
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/psd/fitting.py +16 -13
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/routines/l0.py +2 -2
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/routines/l1.py +173 -60
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/routines/l2.py +148 -284
- disdrodb-0.2.0/disdrodb/routines/options.py +345 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/routines/wrappers.py +14 -1
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/scattering/axis_ratio.py +90 -84
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/scattering/permittivity.py +6 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/summary/routines.py +735 -670
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/utils/archiving.py +51 -44
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/utils/attrs.py +3 -1
- disdrodb-0.2.0/disdrodb/utils/dict.py +33 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/utils/encoding.py +6 -1
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/utils/routines.py +9 -8
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/utils/time.py +11 -3
- disdrodb-0.2.0/disdrodb/viz/__init__.py +17 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/viz/plots.py +231 -1
- {disdrodb-0.1.4 → disdrodb-0.2.0/disdrodb.egg-info}/PKG-INFO +2 -1
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb.egg-info/SOURCES.txt +44 -12
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb.egg-info/requires.txt +1 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/pyproject.toml +2 -1
- disdrodb-0.1.4/disdrodb/etc/products/L2M/10MIN.yaml +0 -12
- disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL2/NASA/LPVEX.py +0 -109
- disdrodb-0.1.4/disdrodb/l1_env/routines.py +0 -53
- disdrodb-0.1.4/disdrodb/viz/__init__.py +0 -30
- {disdrodb-0.1.4 → disdrodb-0.2.0}/.codebeatignore +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/.coveragerc +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/.gitignore +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/.pre-commit-config.yaml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/.readthedocs.yaml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/AUTHORS.md +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/CHANGELOG.md +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/CODE_OF_CONDUCT.md +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/LICENSE +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/MANIFEST.in +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/Makefile +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/README.md +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/SECURITY.md +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/_config.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/accessor/__init__.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/api/__init__.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/api/configs.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/api/info.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_check_metadata_archive.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_data_archive_directory.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_download_archive.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_download_metadata_archive.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_download_station.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_initialize_station.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_metadata_archive_directory.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_open_data_archive.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_open_logs_directory.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_open_metadata_archive.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_open_metadata_directory.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_open_product_directory.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_open_readers_directory.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_run_l0_station.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_run_l0a_station.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_run_l0b_station.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_run_l0c_station.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_run_l1_station.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_run_l2e_station.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_run_l2m_station.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_upload_archive.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/cli/disdrodb_upload_station.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/data_transfer/__init__.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/data_transfer/upload_data.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/data_transfer/zenodo.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/etc/configs/attributes.yaml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/etc/configs/encodings.yaml +0 -0
- disdrodb-0.1.4/disdrodb/etc/products/L2E/1MIN.yaml → disdrodb-0.2.0/disdrodb/etc/products/L2E/10MIN.yaml +0 -0
- {disdrodb-0.1.4/disdrodb/etc/products/L2E → disdrodb-0.2.0/disdrodb/etc/products/L2M}/10MIN.yaml +0 -0
- {disdrodb-0.1.4/disdrodb/etc/products/L2M → disdrodb-0.2.0/disdrodb/etc/products/L2M/MODELS}/NGAMMA_GS_LOG_ND_MAE.yaml +0 -0
- {disdrodb-0.1.4/disdrodb/etc/products/L2M → disdrodb-0.2.0/disdrodb/etc/products/L2M/MODELS}/NGAMMA_GS_ND_MAE.yaml +0 -0
- {disdrodb-0.1.4/disdrodb/etc/products/L2M → disdrodb-0.2.0/disdrodb/etc/products/L2M/MODELS}/NGAMMA_GS_Z_MAE.yaml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/issue/__init__.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/issue/checks.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/issue/reader.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/issue/writer.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/__init__.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/check_standards.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/LPM/bins_diameter.yml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/LPM/bins_velocity.yml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/PARSIVEL/bins_diameter.yml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/PARSIVEL/bins_velocity.yml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/PARSIVEL/l0a_encodings.yml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/PARSIVEL/l0b_cf_attrs.yml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/PARSIVEL/raw_data_format.yml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/PARSIVEL2/bins_diameter.yml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/PARSIVEL2/bins_velocity.yml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/PARSIVEL2/l0a_encodings.yml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/PARSIVEL2/l0b_cf_attrs.yml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/PARSIVEL2/l0b_encodings.yml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/PARSIVEL2/raw_data_format.yml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/PWS100/bins_diameter.yml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/PWS100/bins_velocity.yml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/PWS100/l0a_encodings.yml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/PWS100/l0b_cf_attrs.yml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/PWS100/raw_data_format.yml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/RD80/bins_diameter.yml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/RD80/bins_velocity.yml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/RD80/l0a_encodings.yml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/RD80/l0b_cf_attrs.yml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/RD80/l0b_encodings.yml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/configs/RD80/raw_data_format.yml +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/l0a_processing.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/l0b_nc_processing.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/manuals/LPM.pdf +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/manuals/ODM470.pdf +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/manuals/PARSIVEL.pdf +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/manuals/PARSIVEL2.pdf +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/manuals/PWS100.pdf +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/manuals/RD80.pdf +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/manuals/SWS250.pdf +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/manuals/VPF730.pdf +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/manuals/VPF750.pdf +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/LPM/NETHERLANDS/DELFT_LPM_NC.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/LPM/UK/DIVEN.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/AUSTRALIA/MELBOURNE_2007_PARSIVEL.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/CHINA/CHONGQING.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/EPFL/ARCTIC_2021.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/EPFL/COMMON_2011.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/EPFL/DAVOS_2009_2011.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_2009.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_ROOF_2008.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_ROOF_2010.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_ROOF_2011.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_ROOF_2012.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/EPFL/GENEPI_2007.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/EPFL/GRAND_ST_BERNARD_2007.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/EPFL/GRAND_ST_BERNARD_2007_2.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/EPFL/HPICONET_2010.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/EPFL/HYMEX_LTE_SOP2.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/EPFL/HYMEX_LTE_SOP3.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/EPFL/HYMEX_LTE_SOP4.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/EPFL/LOCARNO_2018.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/EPFL/LOCARNO_2019.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/EPFL/PARADISO_2014.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/EPFL/PARSIVEL_2007.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/EPFL/PLATO_2019.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/EPFL/RACLETS_2019.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/EPFL/RACLETS_2019_WJF.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/EPFL/RIETHOLZBACH_2011.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/EPFL/SAMOYLOV_2017.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/EPFL/SAMOYLOV_2019.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/EPFL/UNIL_2022.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/JAPAN/JMA.py +0 -0
- {disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL/GPM → disdrodb-0.2.0/disdrodb/l0/readers/PARSIVEL/NASA}/IFLOODS.py +0 -0
- {disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL/GPM → disdrodb-0.2.0/disdrodb/l0/readers/PARSIVEL/NASA}/MC3E.py +0 -0
- {disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL/GPM → disdrodb-0.2.0/disdrodb/l0/readers/PARSIVEL/NASA}/PIERS.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/NCAR/CCOPE_2015.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/NCAR/OWLES_MIPS.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/NCAR/PECAN_MOBILE.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/NCAR/PLOWS_MIPS.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL/NCAR/VORTEX2_2009.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/ARM/ARM_PARSIVEL2.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/BELGIUM/ILVO.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/CANADA/UQAM_NC.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/DENMARK/EROSION_nc.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/FRANCE/ENPC_PARSIVEL2.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/FRANCE/SIRTA_PARSIVEL2.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/ITALY/GID_PARSIVEL2.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/KIT/BURKINA_FASO.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/KIT/TEAMX.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/MEXICO/OH_IIUNAM_nc.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/MPI/BCO_PARSIVEL2.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/MPI/BOWTIE.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/NASA/APU.py +0 -0
- {disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL2/GPM → disdrodb-0.2.0/disdrodb/l0/readers/PARSIVEL2/NASA}/GCPEX.py +0 -0
- {disdrodb-0.1.4/disdrodb/l0/readers/PARSIVEL2/GPM → disdrodb-0.2.0/disdrodb/l0/readers/PARSIVEL2/NASA}/NSSTC.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/NCAR/PECAN_FP3.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/NCAR/PECAN_MIPS.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/NCAR/PERILS_PIPS.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/NCAR/VORTEX_SE_2016_P1.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/NCAR/VORTEX_SE_2016_P2.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/NCAR/VORTEX_SE_2016_PIPS.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/NETHERLANDS/DELFT_NC.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/SPAIN/CR1000DL.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PARSIVEL2/SPAIN/LIAISE.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PWS100/FRANCE/ENPC_PWS100.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/PWS100/FRANCE/ENPC_PWS100_SIRTA.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/RD80/BRAZIL/CHUVA_RD80.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/RD80/BRAZIL/GOAMAZON_RD80.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/RD80/NCAR/CINDY_2011_RD80.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/RD80/NCAR/RELAMPAGO_RD80.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/RD80/NOAA/PSL_RD80.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/__init__.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/template_reader_raw_netcdf_data.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/readers/template_reader_raw_text_data.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/standards.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l0/template_tools.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l1/__init__.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l1_env/__init__.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/l2/__init__.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/metadata/__init__.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/metadata/checks.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/metadata/download.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/metadata/info.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/metadata/manipulation.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/metadata/reader.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/metadata/standards.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/metadata/writer.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/psd/__init__.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/psd/models.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/routines/__init__.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/scattering/__init__.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/scattering/routines.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/summary/__init__.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/utils/__init__.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/utils/cli.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/utils/compression.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/utils/dask.py +4 -4
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/utils/dataframe.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/utils/decorators.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/utils/directories.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/utils/event.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/utils/list.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/utils/logger.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/utils/manipulations.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/utils/subsetting.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/utils/warnings.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/utils/writer.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/utils/xarray.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb/utils/yaml.py +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb.egg-info/dependency_links.txt +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb.egg-info/entry_points.txt +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/disdrodb.egg-info/top_level.txt +0 -0
- {disdrodb-0.1.4 → disdrodb-0.2.0}/setup.cfg +0 -0
|
@@ -118,7 +118,7 @@ Please define the name of your branch based on the scope of the contribution. Tr
|
|
|
118
118
|
|
|
119
119
|
|
|
120
120
|
\* Guidelines for the ``<data_source>``
|
|
121
|
-
- We use the institution name when campaign data spans more than 1 country (i.e. ARM,
|
|
121
|
+
- We use the institution name when campaign data spans more than 1 country (i.e. ARM, NASA)
|
|
122
122
|
- We use the country name when all campaigns (or sensor networks) are inside a given country.
|
|
123
123
|
|
|
124
124
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: disdrodb
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
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: bottleneck
|
|
36
37
|
Requires-Dist: matplotlib
|
|
37
38
|
Provides-Extra: dev
|
|
38
39
|
Requires-Dist: jupyter; extra == "dev"
|
|
@@ -39,8 +39,6 @@ from disdrodb.configs import (
|
|
|
39
39
|
define_configs,
|
|
40
40
|
get_data_archive_dir,
|
|
41
41
|
get_metadata_archive_dir,
|
|
42
|
-
get_model_options,
|
|
43
|
-
get_product_options,
|
|
44
42
|
get_scattering_table_dir,
|
|
45
43
|
)
|
|
46
44
|
from disdrodb.data_transfer.download_data import download_archive, download_station
|
|
@@ -145,8 +143,6 @@ __all__ = [
|
|
|
145
143
|
"generate_l2m",
|
|
146
144
|
"get_data_archive_dir",
|
|
147
145
|
"get_metadata_archive_dir",
|
|
148
|
-
"get_model_options",
|
|
149
|
-
"get_product_options",
|
|
150
146
|
"get_reader",
|
|
151
147
|
"get_scattering_table_dir",
|
|
152
148
|
"get_station_reader",
|
|
@@ -177,7 +173,7 @@ __all__ = [
|
|
|
177
173
|
]
|
|
178
174
|
|
|
179
175
|
|
|
180
|
-
|
|
176
|
+
package_dir = os.path.dirname(os.path.realpath(__file__))
|
|
181
177
|
|
|
182
178
|
|
|
183
179
|
def is_pytmatrix_available():
|
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '0.
|
|
32
|
-
__version_tuple__ = version_tuple = (0,
|
|
31
|
+
__version__ = version = '0.2.0'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 2, 0)
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'g81fde4173'
|
|
@@ -89,6 +89,12 @@ class DISDRODB_Base_Accessor:
|
|
|
89
89
|
|
|
90
90
|
return align(self._obj, *args)
|
|
91
91
|
|
|
92
|
+
def plot_spectrum(self, **kwargs):
|
|
93
|
+
"""Plot spectrum."""
|
|
94
|
+
from disdrodb.viz.plots import plot_spectrum
|
|
95
|
+
|
|
96
|
+
plot_spectrum(self._obj, **kwargs)
|
|
97
|
+
|
|
92
98
|
|
|
93
99
|
@xr.register_dataset_accessor("disdrodb")
|
|
94
100
|
class DISDRODB_Dataset_Accessor(DISDRODB_Base_Accessor):
|
|
@@ -97,7 +103,7 @@ class DISDRODB_Dataset_Accessor(DISDRODB_Base_Accessor):
|
|
|
97
103
|
def __init__(self, xarray_obj):
|
|
98
104
|
super().__init__(xarray_obj)
|
|
99
105
|
|
|
100
|
-
def resample(self,
|
|
106
|
+
def resample(self, temporal_resolution):
|
|
101
107
|
"""Resample a L1 or L2 DISDRODB Product."""
|
|
102
108
|
from disdrodb.l1.resampling import resample_dataset
|
|
103
109
|
|
|
@@ -105,8 +111,7 @@ class DISDRODB_Dataset_Accessor(DISDRODB_Base_Accessor):
|
|
|
105
111
|
ds = resample_dataset(
|
|
106
112
|
self._obj,
|
|
107
113
|
sample_interval=sample_interval,
|
|
108
|
-
|
|
109
|
-
rolling=rolling,
|
|
114
|
+
temporal_resolution=temporal_resolution,
|
|
110
115
|
)
|
|
111
116
|
return ds
|
|
112
117
|
|
|
@@ -116,6 +121,12 @@ class DISDRODB_Dataset_Accessor(DISDRODB_Base_Accessor):
|
|
|
116
121
|
|
|
117
122
|
plot_nd(self._obj, **kwargs)
|
|
118
123
|
|
|
124
|
+
def plot_raw_and_filtered_spectra(self, **kwargs):
|
|
125
|
+
"""Plot the raw and filtered spectra."""
|
|
126
|
+
from disdrodb.viz.plots import plot_raw_and_filtered_spectra
|
|
127
|
+
|
|
128
|
+
plot_raw_and_filtered_spectra(self._obj, **kwargs)
|
|
129
|
+
|
|
119
130
|
|
|
120
131
|
@xr.register_dataarray_accessor("disdrodb")
|
|
121
132
|
class DISDRODB_DataArray_Accessor(DISDRODB_Base_Accessor):
|
|
@@ -154,6 +154,16 @@ def check_rolling(rolling):
|
|
|
154
154
|
raise TypeError("'rolling' must be a boolean.")
|
|
155
155
|
|
|
156
156
|
|
|
157
|
+
def check_temporal_resolution(temporal_resolution):
|
|
158
|
+
"""Check temporal resolution validity."""
|
|
159
|
+
from disdrodb.utils.time import get_sampling_information
|
|
160
|
+
|
|
161
|
+
if not isinstance(temporal_resolution, str):
|
|
162
|
+
raise TypeError("'temporal_resolution' must be a string.")
|
|
163
|
+
# If correct, the follow should not raise error
|
|
164
|
+
sample_interval, rolling = get_sampling_information(temporal_resolution)
|
|
165
|
+
|
|
166
|
+
|
|
157
167
|
def check_folder_partitioning(folder_partitioning):
|
|
158
168
|
"""
|
|
159
169
|
Check if the given folder partitioning scheme is valid.
|
|
@@ -85,8 +85,6 @@ def create_l0_directory_structure(
|
|
|
85
85
|
``product = "L0A"`` will call ``run_l0a``.
|
|
86
86
|
``product = "L0B"`` will call ``run_l0b_nc``.
|
|
87
87
|
"""
|
|
88
|
-
from disdrodb.configs import get_data_archive_dir, get_metadata_archive_dir
|
|
89
|
-
|
|
90
88
|
# Retrieve the DISDRODB Metadata Archive directory
|
|
91
89
|
data_archive_dir = get_data_archive_dir(data_archive_dir)
|
|
92
90
|
metadata_archive_dir = get_metadata_archive_dir(metadata_archive_dir)
|
|
@@ -40,6 +40,7 @@ from disdrodb.api.path import (
|
|
|
40
40
|
define_station_dir,
|
|
41
41
|
)
|
|
42
42
|
from disdrodb.l0.l0_reader import define_readers_directory
|
|
43
|
+
from disdrodb.utils.dict import extract_product_kwargs
|
|
43
44
|
from disdrodb.utils.directories import list_files
|
|
44
45
|
from disdrodb.utils.logger import (
|
|
45
46
|
log_info,
|
|
@@ -117,7 +118,7 @@ def filter_by_time(filepaths, start_time=None, end_time=None):
|
|
|
117
118
|
start_time, end_time = check_start_end_time(start_time, end_time)
|
|
118
119
|
|
|
119
120
|
# -------------------------------------------------------------------------.
|
|
120
|
-
# - Retrieve start_time and end_time
|
|
121
|
+
# - Retrieve files start_time and end_time
|
|
121
122
|
l_start_time, l_end_time = get_start_end_time_from_filepaths(filepaths)
|
|
122
123
|
|
|
123
124
|
# -------------------------------------------------------------------------.
|
|
@@ -165,12 +166,9 @@ def find_files(
|
|
|
165
166
|
|
|
166
167
|
Other Parameters
|
|
167
168
|
----------------
|
|
168
|
-
|
|
169
|
-
The
|
|
170
|
-
It must be specified only for product L2E and L2M !
|
|
171
|
-
rolling : bool, optional
|
|
172
|
-
Whether the dataset has been resampled by aggregating or rolling.
|
|
173
|
-
It must be specified only for product L2E and L2M !
|
|
169
|
+
temporal_resolution : str, optional
|
|
170
|
+
The temporal resolution of the product (e.g., "1MIN", "10MIN", "1H").
|
|
171
|
+
It must be specified only for product L1, L2E and L2M !
|
|
174
172
|
model_name : str
|
|
175
173
|
The model name of the statistical distribution for the DSD.
|
|
176
174
|
It must be specified only for product L2M !
|
|
@@ -411,21 +409,19 @@ def open_dataset(
|
|
|
411
409
|
The name of the station.
|
|
412
410
|
product : str
|
|
413
411
|
The name DISDRODB product.
|
|
414
|
-
sample_interval : int, optional
|
|
415
|
-
The sampling interval in seconds of the product.
|
|
416
|
-
It must be specified only for product L2E and L2M !
|
|
417
|
-
rolling : bool, optional
|
|
418
|
-
Whether the dataset has been resampled by aggregating or rolling.
|
|
419
|
-
It must be specified only for product L2E and L2M !
|
|
420
|
-
model_name : str
|
|
421
|
-
The model name of the statistical distribution for the DSD.
|
|
422
|
-
It must be specified only for product L2M !
|
|
423
412
|
debugging_mode : bool, optional
|
|
424
413
|
If ``True``, it select maximum 3 files for debugging purposes.
|
|
425
414
|
The default value is ``False``.
|
|
426
415
|
data_archive_dir : str, optional
|
|
427
416
|
The base directory of DISDRODB, expected in the format ``<...>/DISDRODB``.
|
|
428
417
|
If not specified, the path specified in the DISDRODB active configuration will be used.
|
|
418
|
+
**product_kwargs : optional
|
|
419
|
+
DISDRODB product options
|
|
420
|
+
It must be specified only for product L1, L2E and L2M products !
|
|
421
|
+
For L1, L2E and L2M products, temporal_resolution is required
|
|
422
|
+
FOr L2M product, model_name is required.
|
|
423
|
+
**open_kwargs : optional
|
|
424
|
+
Additional keyword arguments passed to ``xarray.open_mfdataset()``.
|
|
429
425
|
|
|
430
426
|
Returns
|
|
431
427
|
-------
|
|
@@ -434,7 +430,8 @@ def open_dataset(
|
|
|
434
430
|
"""
|
|
435
431
|
from disdrodb.l0.l0a_processing import read_l0a_dataframe
|
|
436
432
|
|
|
437
|
-
|
|
433
|
+
# Extract product kwargs from open_kwargs
|
|
434
|
+
product_kwargs = extract_product_kwargs(open_kwargs, product=product)
|
|
438
435
|
|
|
439
436
|
# List product files
|
|
440
437
|
filepaths = find_files(
|
|
@@ -336,13 +336,13 @@ def define_issue_filepath(
|
|
|
336
336
|
|
|
337
337
|
def define_config_dir(product):
|
|
338
338
|
"""Define the config directory path of a given DISDRODB product."""
|
|
339
|
-
from disdrodb import
|
|
339
|
+
from disdrodb import package_dir
|
|
340
340
|
|
|
341
341
|
if product.upper() in ["RAW", "L0A", "L0B"]:
|
|
342
342
|
dir_name = "l0"
|
|
343
343
|
else:
|
|
344
344
|
raise NotImplementedError(f"Product {product} not implemented.")
|
|
345
|
-
config_dir = os.path.join(
|
|
345
|
+
config_dir = os.path.join(package_dir, dir_name, "configs")
|
|
346
346
|
return config_dir
|
|
347
347
|
|
|
348
348
|
|
|
@@ -448,12 +448,9 @@ def define_product_dir_tree(
|
|
|
448
448
|
----------
|
|
449
449
|
product : str
|
|
450
450
|
The DISDRODB product. See ``disdrodb.available_products()``.
|
|
451
|
-
|
|
452
|
-
The
|
|
453
|
-
It must be specified only for product L2E and L2M !
|
|
454
|
-
rolling : bool, optional
|
|
455
|
-
Whether the dataset has been resampled by aggregating or rolling.
|
|
456
|
-
It must be specified only for product L2E and L2M !
|
|
451
|
+
temporal_resolution : str, optional
|
|
452
|
+
The temporal resolution of the product.
|
|
453
|
+
It must be specified only for product L1, L2E and L2M !
|
|
457
454
|
model_name : str
|
|
458
455
|
The custom model name of the fitted statistical distribution.
|
|
459
456
|
It must be specified only for product L2M !
|
|
@@ -463,28 +460,23 @@ def define_product_dir_tree(
|
|
|
463
460
|
data_dir : str
|
|
464
461
|
Station data directory path
|
|
465
462
|
"""
|
|
466
|
-
from disdrodb.api.checks import check_product, check_product_kwargs,
|
|
463
|
+
from disdrodb.api.checks import check_product, check_product_kwargs, check_temporal_resolution
|
|
467
464
|
|
|
468
465
|
product = check_product(product)
|
|
469
466
|
product_kwargs = check_product_kwargs(product, product_kwargs)
|
|
470
467
|
if product.upper() == "RAW":
|
|
471
468
|
return ""
|
|
472
|
-
if product.upper() in ["L0A", "L0B", "L0C"
|
|
469
|
+
if product.upper() in ["L0A", "L0B", "L0C"]:
|
|
473
470
|
return ""
|
|
474
|
-
if product
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
check_sample_interval(sample_interval)
|
|
479
|
-
temporal_resolution = define_temporal_resolution(seconds=sample_interval, rolling=rolling)
|
|
480
|
-
return os.path.join(temporal_resolution)
|
|
471
|
+
if product in ["L1", "L2E"]:
|
|
472
|
+
temporal_resolution = product_kwargs.get("temporal_resolution")
|
|
473
|
+
check_temporal_resolution(temporal_resolution)
|
|
474
|
+
return temporal_resolution
|
|
481
475
|
# L2M if product == "L2M":
|
|
482
|
-
|
|
483
|
-
|
|
476
|
+
temporal_resolution = product_kwargs.get("temporal_resolution")
|
|
477
|
+
check_temporal_resolution(temporal_resolution)
|
|
484
478
|
model_name = product_kwargs.get("model_name")
|
|
485
|
-
|
|
486
|
-
check_sample_interval(sample_interval)
|
|
487
|
-
temporal_resolution = define_temporal_resolution(seconds=sample_interval, rolling=rolling)
|
|
479
|
+
|
|
488
480
|
return os.path.join(model_name, temporal_resolution)
|
|
489
481
|
|
|
490
482
|
|
|
@@ -611,12 +603,9 @@ def define_data_dir(
|
|
|
611
603
|
If not specified, the path specified in the DISDRODB active configuration will be used.
|
|
612
604
|
check_exists : bool, optional
|
|
613
605
|
Whether to check if the directory exists. The default value is ``False``.
|
|
614
|
-
|
|
615
|
-
The
|
|
616
|
-
It must be specified only for product L2E and L2M !
|
|
617
|
-
rolling : bool, optional
|
|
618
|
-
Whether the dataset has been resampled by aggregating or rolling.
|
|
619
|
-
It must be specified only for product L2E and L2M !
|
|
606
|
+
temporal_resolution : str, optional
|
|
607
|
+
The temporal resolution of the product.
|
|
608
|
+
It must be specified only for product L1, L2E and L2M !
|
|
620
609
|
model_name : str
|
|
621
610
|
The name of the fitted statistical distribution for the DSD.
|
|
622
611
|
It must be specified only for product L2M !
|
|
@@ -701,11 +690,8 @@ def define_filename(
|
|
|
701
690
|
end_time : datetime.datatime, optional
|
|
702
691
|
End time.
|
|
703
692
|
Required if add_time_period = True.
|
|
704
|
-
|
|
705
|
-
The
|
|
706
|
-
It must be specified only for product L0C, L1, L2E and L2M !
|
|
707
|
-
rolling : bool, optional
|
|
708
|
-
Whether the dataset has been resampled by aggregating or rolling.
|
|
693
|
+
temporal_resolution : str, optional
|
|
694
|
+
The temporal resolution of the product.
|
|
709
695
|
It must be specified only for product L1, L2E and L2M !
|
|
710
696
|
model_name : str
|
|
711
697
|
The model name of the fitted statistical distribution for the DSD.
|
|
@@ -716,7 +702,7 @@ def define_filename(
|
|
|
716
702
|
str
|
|
717
703
|
L0B file name.
|
|
718
704
|
"""
|
|
719
|
-
from disdrodb.api.checks import check_product, check_product_kwargs
|
|
705
|
+
from disdrodb.api.checks import check_product, check_product_kwargs, check_temporal_resolution
|
|
720
706
|
|
|
721
707
|
product = check_product(product)
|
|
722
708
|
product_kwargs = check_product_kwargs(product, product_kwargs)
|
|
@@ -729,16 +715,9 @@ def define_filename(
|
|
|
729
715
|
product_name = f"{product}"
|
|
730
716
|
|
|
731
717
|
# L0C ... sample interval known only per-file
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
# sample_interval = product_kwargs.get("sample_interval", 0)
|
|
736
|
-
# temporal_resolution = define_temporal_resolution(seconds=sample_interval, rolling=False)
|
|
737
|
-
# product_name = f"{product}.{temporal_resolution}"
|
|
738
|
-
if product in ["L2E", "L2M"]:
|
|
739
|
-
rolling = product_kwargs.get("rolling")
|
|
740
|
-
sample_interval = product_kwargs.get("sample_interval")
|
|
741
|
-
temporal_resolution = define_temporal_resolution(seconds=sample_interval, rolling=rolling)
|
|
718
|
+
if product in ["L1", "L2E", "L2M"]:
|
|
719
|
+
temporal_resolution = product_kwargs.get("temporal_resolution")
|
|
720
|
+
check_temporal_resolution(temporal_resolution)
|
|
742
721
|
product_name = f"{product}.{temporal_resolution}"
|
|
743
722
|
if product in ["L2M"]:
|
|
744
723
|
model_name = product_kwargs.get("model_name")
|
|
@@ -828,7 +807,7 @@ def define_l0b_filename(ds, campaign_name: str, station_name: str) -> str:
|
|
|
828
807
|
|
|
829
808
|
def define_l0c_filename(ds, campaign_name: str, station_name: str) -> str:
|
|
830
809
|
"""Define L0C file name."""
|
|
831
|
-
# TODO: add sample_interval as function argument
|
|
810
|
+
# TODO: add sample_interval as function argument
|
|
832
811
|
sample_interval = int(ensure_sample_interval_in_seconds(ds["sample_interval"]).data.item())
|
|
833
812
|
temporal_resolution = define_temporal_resolution(sample_interval, rolling=False)
|
|
834
813
|
starting_time, ending_time = get_file_start_end_time(ds)
|
|
@@ -839,37 +818,26 @@ def define_l0c_filename(ds, campaign_name: str, station_name: str) -> str:
|
|
|
839
818
|
return filename
|
|
840
819
|
|
|
841
820
|
|
|
842
|
-
def define_l1_filename(ds, campaign_name, station_name: str) -> str:
|
|
821
|
+
def define_l1_filename(ds, campaign_name, station_name: str, temporal_resolution: str) -> str:
|
|
843
822
|
"""Define L1 file name."""
|
|
844
|
-
# TODO: add sample_interval and rolling as function argument
|
|
845
|
-
|
|
846
823
|
starting_time, ending_time = get_file_start_end_time(ds)
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
# start_time=starting_time,
|
|
861
|
-
# end_time=ending_time,
|
|
862
|
-
# add_version=True,
|
|
863
|
-
# add_time_period=True,
|
|
864
|
-
# add_extension=True,
|
|
865
|
-
# # Product options
|
|
866
|
-
# # sample_interval=sample_interval,
|
|
867
|
-
# # rolling=rolling,
|
|
868
|
-
# )
|
|
824
|
+
filename = define_filename(
|
|
825
|
+
product="L1",
|
|
826
|
+
campaign_name=campaign_name,
|
|
827
|
+
station_name=station_name,
|
|
828
|
+
# Filename options
|
|
829
|
+
start_time=starting_time,
|
|
830
|
+
end_time=ending_time,
|
|
831
|
+
add_version=True,
|
|
832
|
+
add_time_period=True,
|
|
833
|
+
add_extension=True,
|
|
834
|
+
# Product options
|
|
835
|
+
temporal_resolution=temporal_resolution,
|
|
836
|
+
)
|
|
869
837
|
return filename
|
|
870
838
|
|
|
871
839
|
|
|
872
|
-
def define_l2e_filename(ds, campaign_name: str, station_name: str,
|
|
840
|
+
def define_l2e_filename(ds, campaign_name: str, station_name: str, temporal_resolution: str) -> str:
|
|
873
841
|
"""Define L2E file name."""
|
|
874
842
|
starting_time, ending_time = get_file_start_end_time(ds)
|
|
875
843
|
filename = define_filename(
|
|
@@ -883,8 +851,7 @@ def define_l2e_filename(ds, campaign_name: str, station_name: str, sample_interv
|
|
|
883
851
|
add_time_period=True,
|
|
884
852
|
add_extension=True,
|
|
885
853
|
# Product options
|
|
886
|
-
|
|
887
|
-
rolling=rolling,
|
|
854
|
+
temporal_resolution=temporal_resolution,
|
|
888
855
|
)
|
|
889
856
|
return filename
|
|
890
857
|
|
|
@@ -893,8 +860,7 @@ def define_l2m_filename(
|
|
|
893
860
|
ds,
|
|
894
861
|
campaign_name: str,
|
|
895
862
|
station_name: str,
|
|
896
|
-
|
|
897
|
-
rolling: bool,
|
|
863
|
+
temporal_resolution: str,
|
|
898
864
|
model_name: str,
|
|
899
865
|
) -> str:
|
|
900
866
|
"""Define L2M file name."""
|
|
@@ -910,8 +876,7 @@ def define_l2m_filename(
|
|
|
910
876
|
add_time_period=True,
|
|
911
877
|
add_extension=True,
|
|
912
878
|
# Product options
|
|
913
|
-
|
|
914
|
-
rolling=rolling,
|
|
879
|
+
temporal_resolution=temporal_resolution,
|
|
915
880
|
model_name=model_name,
|
|
916
881
|
)
|
|
917
882
|
return filename
|