disdrodb 0.2.1__py3-none-any.whl → 0.4.0__py3-none-any.whl
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/__init__.py +3 -1
- disdrodb/_config.py +2 -3
- disdrodb/_version.py +2 -2
- disdrodb/accessor/__init__.py +2 -1
- disdrodb/accessor/methods.py +10 -9
- disdrodb/api/checks.py +3 -7
- disdrodb/api/configs.py +1 -3
- disdrodb/api/create_directories.py +4 -6
- disdrodb/api/info.py +1 -3
- disdrodb/api/io.py +233 -32
- disdrodb/api/path.py +3 -7
- disdrodb/cli/disdrodb_check_metadata_archive.py +3 -2
- disdrodb/cli/disdrodb_check_products_options.py +45 -0
- disdrodb/cli/disdrodb_create_summary.py +54 -28
- disdrodb/cli/disdrodb_create_summary_station.py +41 -20
- disdrodb/cli/disdrodb_data_archive_directory.py +2 -3
- disdrodb/cli/disdrodb_download_archive.py +50 -30
- disdrodb/cli/disdrodb_download_metadata_archive.py +28 -16
- disdrodb/cli/disdrodb_download_station.py +58 -29
- disdrodb/cli/disdrodb_initialize_station.py +43 -23
- disdrodb/cli/disdrodb_metadata_archive_directory.py +2 -3
- disdrodb/cli/disdrodb_open_data_archive.py +17 -13
- disdrodb/cli/disdrodb_open_logs_directory.py +31 -21
- disdrodb/cli/disdrodb_open_metadata_archive.py +26 -13
- disdrodb/cli/disdrodb_open_metadata_directory.py +34 -23
- disdrodb/cli/disdrodb_open_product_directory.py +39 -23
- disdrodb/cli/disdrodb_open_readers_directory.py +2 -3
- disdrodb/cli/disdrodb_run.py +189 -0
- disdrodb/cli/disdrodb_run_l0.py +61 -70
- disdrodb/cli/disdrodb_run_l0_station.py +50 -55
- disdrodb/cli/disdrodb_run_l0a.py +53 -51
- disdrodb/cli/disdrodb_run_l0a_station.py +41 -40
- disdrodb/cli/disdrodb_run_l0b.py +51 -51
- disdrodb/cli/disdrodb_run_l0b_station.py +40 -39
- disdrodb/cli/disdrodb_run_l0c.py +56 -53
- disdrodb/cli/disdrodb_run_l0c_station.py +44 -41
- disdrodb/cli/disdrodb_run_l1.py +55 -51
- disdrodb/cli/disdrodb_run_l1_station.py +43 -40
- disdrodb/cli/disdrodb_run_l2e.py +56 -51
- disdrodb/cli/disdrodb_run_l2e_station.py +44 -40
- disdrodb/cli/disdrodb_run_l2m.py +55 -51
- disdrodb/cli/disdrodb_run_l2m_station.py +43 -40
- disdrodb/cli/disdrodb_run_station.py +184 -0
- disdrodb/cli/disdrodb_upload_archive.py +51 -42
- disdrodb/cli/disdrodb_upload_station.py +42 -36
- disdrodb/configs.py +20 -16
- disdrodb/constants.py +5 -2
- disdrodb/data_transfer/__init__.py +1 -3
- disdrodb/data_transfer/download_data.py +45 -61
- disdrodb/data_transfer/upload_data.py +7 -11
- disdrodb/data_transfer/zenodo.py +2 -4
- disdrodb/docs.py +1 -3
- disdrodb/etc/configs/attributes.yaml +52 -2
- disdrodb/etc/configs/encodings.yaml +45 -1
- disdrodb/etc/products/L0C/ODM470/global.yaml +5 -0
- disdrodb/etc/products/L0C/global.yaml +5 -0
- disdrodb/etc/products/L1/ODM470/global.yaml +6 -0
- disdrodb/etc/products/L1/global.yaml +0 -13
- disdrodb/etc/products/L2E/LPM/1MIN.yaml +1 -0
- disdrodb/etc/products/L2E/LPM/global.yaml +36 -0
- disdrodb/etc/products/L2E/LPM_V0/1MIN.yaml +1 -0
- disdrodb/etc/products/L2E/LPM_V0/global.yaml +36 -0
- disdrodb/etc/products/L2E/ODM470/1MIN.yaml +1 -0
- disdrodb/etc/products/L2E/ODM470/global.yaml +36 -0
- disdrodb/etc/products/L2E/PARSIVEL/1MIN.yaml +1 -0
- disdrodb/etc/products/L2E/PARSIVEL/global.yaml +36 -0
- disdrodb/etc/products/L2E/PARSIVEL2/1MIN.yaml +1 -0
- disdrodb/etc/products/L2E/PARSIVEL2/global.yaml +36 -0
- disdrodb/etc/products/L2E/PWS100/1MIN.yaml +1 -0
- disdrodb/etc/products/L2E/PWS100/global.yaml +36 -0
- disdrodb/etc/products/L2E/RD80/1MIN.yaml +19 -0
- disdrodb/etc/products/L2E/SWS250/1MIN.yaml +19 -0
- disdrodb/etc/products/L2E/global.yaml +16 -2
- disdrodb/fall_velocity/__init__.py +47 -0
- disdrodb/fall_velocity/graupel.py +484 -0
- disdrodb/fall_velocity/hail.py +288 -0
- disdrodb/{l1/fall_velocity.py → fall_velocity/rain.py} +265 -44
- disdrodb/issue/__init__.py +1 -3
- disdrodb/issue/checks.py +2 -3
- disdrodb/issue/reader.py +2 -3
- disdrodb/issue/writer.py +2 -5
- disdrodb/l0/__init__.py +2 -1
- disdrodb/l0/check_configs.py +36 -29
- disdrodb/l0/check_standards.py +1 -4
- disdrodb/l0/configs/LPM/l0a_encodings.yml +17 -17
- disdrodb/l0/configs/LPM/l0b_cf_attrs.yml +55 -55
- disdrodb/l0/configs/LPM/l0b_encodings.yml +17 -17
- disdrodb/l0/configs/LPM/raw_data_format.yml +17 -17
- disdrodb/l0/configs/LPM_V0/l0a_encodings.yml +2 -2
- disdrodb/l0/configs/LPM_V0/l0b_cf_attrs.yml +2 -2
- disdrodb/l0/configs/LPM_V0/l0b_encodings.yml +2 -2
- disdrodb/l0/configs/LPM_V0/raw_data_format.yml +2 -2
- disdrodb/l0/configs/ODM470/bins_diameter.yml +643 -0
- disdrodb/l0/configs/ODM470/bins_velocity.yml +0 -0
- disdrodb/l0/configs/ODM470/l0a_encodings.yml +11 -0
- disdrodb/l0/configs/ODM470/l0b_cf_attrs.yml +46 -0
- disdrodb/l0/configs/ODM470/l0b_encodings.yml +106 -0
- disdrodb/l0/configs/ODM470/raw_data_format.yml +111 -0
- disdrodb/l0/configs/PARSIVEL/l0b_cf_attrs.yml +1 -1
- disdrodb/l0/l0_reader.py +2 -3
- disdrodb/l0/l0a_processing.py +6 -8
- disdrodb/l0/l0b_nc_processing.py +3 -6
- disdrodb/l0/l0b_processing.py +2 -16
- disdrodb/l0/l0c_processing.py +29 -12
- disdrodb/l0/readers/LPM/ARM/ARM_LPM.py +2 -1
- disdrodb/l0/readers/LPM/AUSTRALIA/MELBOURNE_2007_LPM.py +18 -18
- disdrodb/l0/readers/LPM/BRAZIL/CHUVA_LPM.py +18 -18
- disdrodb/l0/readers/LPM/BRAZIL/GOAMAZON_LPM.py +18 -18
- disdrodb/l0/readers/LPM/GERMANY/DWD.py +244 -63
- disdrodb/l0/readers/LPM/ITALY/GID_LPM.py +65 -23
- disdrodb/l0/readers/LPM/ITALY/GID_LPM_AQ.py +277 -0
- disdrodb/l0/readers/LPM/ITALY/GID_LPM_PI.py +19 -18
- disdrodb/l0/readers/LPM/ITALY/GID_LPM_T.py +23 -19
- disdrodb/l0/readers/LPM/ITALY/GID_LPM_W.py +19 -21
- disdrodb/l0/readers/LPM/KIT/CHWALA.py +19 -20
- disdrodb/l0/readers/LPM/NETHERLANDS/DELFT_LPM_NC.py +1 -1
- disdrodb/l0/readers/LPM/NETHERLANDS/DELFT_RWANDA_LPM_NC.py +18 -18
- disdrodb/l0/readers/LPM/NORWAY/HAUKELISETER_LPM.py +19 -20
- disdrodb/l0/readers/LPM/NORWAY/NMBU_LPM.py +19 -20
- disdrodb/l0/readers/LPM/SLOVENIA/ARSO.py +19 -20
- disdrodb/l0/readers/LPM/SLOVENIA/UL.py +19 -20
- disdrodb/l0/readers/LPM/SWITZERLAND/INNERERIZ_LPM.py +19 -20
- disdrodb/l0/readers/LPM/UK/DIVEN.py +1 -1
- disdrodb/l0/readers/LPM/UK/WITHWORTH_LPM.py +19 -20
- disdrodb/l0/readers/LPM/USA/CHARLESTON.py +19 -20
- disdrodb/l0/readers/LPM/USA/DEVEX.py +255 -0
- disdrodb/l0/readers/LPM_V0/BELGIUM/ULIEGE.py +3 -5
- disdrodb/l0/readers/LPM_V0/ITALY/GID_LPM_V0.py +4 -3
- disdrodb/l0/readers/ODM470/OCEAN/OCEANRAIN.py +124 -0
- disdrodb/l0/readers/PARSIVEL/AUSTRALIA/MELBOURNE_2007_PARSIVEL.py +1 -1
- disdrodb/l0/readers/PARSIVEL/BASQUECOUNTRY/EUSKALMET_OTT.py +2 -1
- disdrodb/l0/readers/PARSIVEL/CHINA/CHONGQING.py +2 -3
- disdrodb/l0/readers/PARSIVEL/EPFL/ARCTIC_2021.py +2 -1
- disdrodb/l0/readers/PARSIVEL/EPFL/COMMON_2011.py +2 -1
- disdrodb/l0/readers/PARSIVEL/EPFL/DAVOS_2009_2011.py +2 -1
- disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_2009.py +2 -1
- disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_ROOF_2008.py +2 -1
- disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_ROOF_2010.py +2 -1
- disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_ROOF_2011.py +2 -1
- disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_ROOF_2012.py +2 -1
- disdrodb/l0/readers/PARSIVEL/EPFL/GENEPI_2007.py +2 -1
- disdrodb/l0/readers/PARSIVEL/EPFL/GRAND_ST_BERNARD_2007.py +2 -1
- disdrodb/l0/readers/PARSIVEL/EPFL/GRAND_ST_BERNARD_2007_2.py +2 -1
- disdrodb/l0/readers/PARSIVEL/EPFL/HPICONET_2010.py +2 -1
- disdrodb/l0/readers/PARSIVEL/EPFL/HYMEX_LTE_SOP2.py +2 -1
- disdrodb/l0/readers/PARSIVEL/EPFL/HYMEX_LTE_SOP3.py +2 -1
- disdrodb/l0/readers/PARSIVEL/EPFL/HYMEX_LTE_SOP4.py +2 -1
- disdrodb/l0/readers/PARSIVEL/EPFL/LOCARNO_2018.py +1 -1
- disdrodb/l0/readers/PARSIVEL/EPFL/LOCARNO_2019.py +1 -1
- disdrodb/l0/readers/PARSIVEL/EPFL/PARADISO_2014.py +2 -1
- disdrodb/l0/readers/PARSIVEL/EPFL/PARSIVEL_2007.py +2 -1
- disdrodb/l0/readers/PARSIVEL/EPFL/PLATO_2019.py +1 -1
- disdrodb/l0/readers/PARSIVEL/EPFL/RACLETS_2019.py +2 -1
- disdrodb/l0/readers/PARSIVEL/EPFL/RACLETS_2019_WJF.py +2 -1
- disdrodb/l0/readers/PARSIVEL/EPFL/RIETHOLZBACH_2011.py +2 -1
- disdrodb/l0/readers/PARSIVEL/EPFL/SAMOYLOV_2017.py +2 -1
- disdrodb/l0/readers/PARSIVEL/EPFL/SAMOYLOV_2019.py +2 -1
- disdrodb/l0/readers/PARSIVEL/EPFL/UNIL_2022.py +2 -1
- disdrodb/l0/readers/PARSIVEL/JAPAN/JMA.py +1 -1
- disdrodb/l0/readers/PARSIVEL/KOREA/ICEPOP_MSC.py +159 -0
- disdrodb/l0/readers/PARSIVEL/NASA/LPVEX.py +1 -1
- disdrodb/l0/readers/PARSIVEL/NASA/MC3E.py +1 -1
- disdrodb/l0/readers/PARSIVEL/NCAR/CCOPE_2015.py +1 -1
- disdrodb/l0/readers/PARSIVEL/NCAR/OWLES_MIPS.py +1 -1
- disdrodb/l0/readers/PARSIVEL/NCAR/PECAN_MOBILE.py +1 -1
- disdrodb/l0/readers/PARSIVEL/NCAR/PLOWS_MIPS.py +1 -1
- disdrodb/l0/readers/PARSIVEL/NCAR/VORTEX2_2009.py +1 -1
- disdrodb/l0/readers/PARSIVEL/NCAR/VORTEX2_2010.py +1 -3
- disdrodb/l0/readers/PARSIVEL/NCAR/VORTEX2_2010_UF.py +1 -3
- disdrodb/l0/readers/PARSIVEL/SLOVENIA/UL.py +2 -1
- disdrodb/l0/readers/PARSIVEL2/ARM/ARM_PARSIVEL2.py +2 -1
- disdrodb/l0/readers/PARSIVEL2/BASQUECOUNTRY/EUSKALMET_OTT2.py +2 -1
- disdrodb/l0/readers/PARSIVEL2/BELGIUM/ILVO.py +2 -3
- disdrodb/l0/readers/PARSIVEL2/BRAZIL/CHUVA_PARSIVEL2.py +1 -1
- disdrodb/l0/readers/PARSIVEL2/BRAZIL/GOAMAZON_PARSIVEL2.py +1 -1
- disdrodb/l0/readers/PARSIVEL2/CANADA/UQAM_NC.py +1 -1
- disdrodb/l0/readers/PARSIVEL2/DENMARK/DTU.py +1 -1
- disdrodb/l0/readers/PARSIVEL2/DENMARK/EROSION_nc.py +2 -1
- disdrodb/l0/readers/PARSIVEL2/DENMARK/EROSION_raw.py +2 -1
- disdrodb/l0/readers/PARSIVEL2/FINLAND/FMI_PARSIVEL2.py +1 -1
- disdrodb/l0/readers/PARSIVEL2/FRANCE/ENPC_PARSIVEL2.py +2 -3
- disdrodb/l0/readers/PARSIVEL2/FRANCE/OSUG.py +2 -2
- disdrodb/l0/readers/PARSIVEL2/FRANCE/SIRTA_PARSIVEL2.py +1 -3
- disdrodb/l0/readers/PARSIVEL2/GREECE/NOA.py +4 -3
- disdrodb/l0/readers/PARSIVEL2/ITALY/GID_PARSIVEL2.py +1 -3
- disdrodb/l0/readers/PARSIVEL2/ITALY/HYDROX.py +6 -3
- disdrodb/l0/readers/PARSIVEL2/JAPAN/PRECIP.py +1 -1
- disdrodb/l0/readers/PARSIVEL2/KIT/BURKINA_FASO.py +1 -1
- disdrodb/l0/readers/PARSIVEL2/KIT/TEAMX.py +1 -1
- disdrodb/l0/readers/PARSIVEL2/KOREA/ICEPOP_MSC.py +161 -0
- disdrodb/l0/readers/PARSIVEL2/KOREA/ICEPOP_UCLM.py +126 -0
- disdrodb/l0/readers/PARSIVEL2/MEXICO/OH_IIUNAM_nc.py +2 -1
- disdrodb/l0/readers/PARSIVEL2/MPI/BCO_PARSIVEL2.py +1 -1
- disdrodb/l0/readers/PARSIVEL2/MPI/BOWTIE.py +1 -1
- disdrodb/l0/readers/PARSIVEL2/NASA/APU.py +3 -1
- disdrodb/l0/readers/PARSIVEL2/NASA/NSSTC.py +1 -1
- disdrodb/l0/readers/PARSIVEL2/NCAR/FARM_PARSIVEL2.py +2 -1
- disdrodb/l0/readers/PARSIVEL2/NCAR/PECAN_FP3.py +1 -1
- disdrodb/l0/readers/PARSIVEL2/NCAR/PECAN_MIPS.py +1 -1
- disdrodb/l0/readers/PARSIVEL2/NCAR/PERILS_MIPS.py +2 -1
- disdrodb/l0/readers/PARSIVEL2/NCAR/PERILS_PIPS.py +2 -1
- disdrodb/l0/readers/PARSIVEL2/NCAR/RELAMPAGO_PARSIVEL2.py +1 -1
- disdrodb/l0/readers/PARSIVEL2/NCAR/SNOWIE_PJ.py +1 -1
- disdrodb/l0/readers/PARSIVEL2/NCAR/SNOWIE_SB.py +1 -1
- disdrodb/l0/readers/PARSIVEL2/NCAR/VORTEX_SE_2016_P1.py +2 -3
- disdrodb/l0/readers/PARSIVEL2/NCAR/VORTEX_SE_2016_P2.py +1 -1
- disdrodb/l0/readers/PARSIVEL2/NCAR/VORTEX_SE_2016_PIPS.py +2 -1
- disdrodb/l0/readers/PARSIVEL2/NETHERLANDS/DELFT_NC.py +1 -1
- disdrodb/l0/readers/PARSIVEL2/NORWAY/UIB.py +10 -2
- disdrodb/l0/readers/PARSIVEL2/PHILIPPINES/PAGASA.py +2 -3
- disdrodb/l0/readers/PARSIVEL2/SPAIN/CENER.py +1 -1
- disdrodb/l0/readers/PARSIVEL2/SPAIN/CR1000DL.py +1 -1
- disdrodb/l0/readers/PARSIVEL2/SPAIN/GRANADA.py +2 -3
- disdrodb/l0/readers/PARSIVEL2/SPAIN/LIAISE.py +1 -1
- disdrodb/l0/readers/PARSIVEL2/SWEDEN/SMHI.py +2 -1
- disdrodb/l0/readers/PARSIVEL2/USA/CSU.py +1 -1
- disdrodb/l0/readers/PARSIVEL2/USA/CW3E.py +2 -1
- disdrodb/l0/readers/PWS100/AUSTRIA/HOAL.py +2 -3
- disdrodb/l0/readers/PWS100/FRANCE/ENPC_PWS100.py +2 -3
- disdrodb/l0/readers/PWS100/FRANCE/ENPC_PWS100_SIRTA.py +2 -1
- disdrodb/l0/readers/RD80/BRAZIL/ATTO_RD80.py +1 -3
- disdrodb/l0/readers/RD80/BRAZIL/CHUVA_RD80.py +1 -3
- disdrodb/l0/readers/RD80/BRAZIL/GOAMAZON_RD80.py +1 -3
- disdrodb/l0/readers/RD80/NCAR/CINDY_2011_RD80.py +1 -3
- disdrodb/l0/readers/RD80/NCAR/RELAMPAGO_RD80.py +1 -3
- disdrodb/l0/readers/RD80/NOAA/PSL_RD80.py +2 -3
- disdrodb/l0/readers/SWS250/BELGIUM/KMI.py +2 -3
- disdrodb/l0/readers/template_reader_raw_netcdf_data.py +2 -3
- disdrodb/l0/readers/template_reader_raw_text_data.py +2 -3
- disdrodb/l0/standards.py +4 -5
- disdrodb/l0/template_tools.py +7 -11
- disdrodb/l1/__init__.py +2 -1
- disdrodb/l1/classification.py +914 -0
- disdrodb/l1/processing.py +36 -106
- disdrodb/l1/resampling.py +13 -3
- disdrodb/l1_env/__init__.py +1 -1
- disdrodb/l1_env/routines.py +7 -6
- disdrodb/l2/__init__.py +2 -1
- disdrodb/l2/empirical_dsd.py +58 -31
- disdrodb/l2/processing.py +327 -61
- disdrodb/metadata/checks.py +10 -13
- disdrodb/metadata/download.py +5 -4
- disdrodb/metadata/geolocation.py +3 -4
- disdrodb/metadata/info.py +3 -5
- disdrodb/metadata/manipulation.py +1 -3
- disdrodb/metadata/reader.py +1 -3
- disdrodb/metadata/search.py +1 -4
- disdrodb/metadata/standards.py +1 -3
- disdrodb/metadata/writer.py +1 -3
- disdrodb/physics/__init__.py +17 -0
- disdrodb/physics/atmosphere.py +273 -0
- disdrodb/physics/water.py +131 -0
- disdrodb/physics/wrappers.py +63 -0
- disdrodb/psd/__init__.py +1 -2
- disdrodb/psd/fitting.py +23 -9
- disdrodb/psd/models.py +2 -1
- disdrodb/routines/__init__.py +6 -1
- disdrodb/routines/l0.py +39 -25
- disdrodb/routines/l1.py +23 -16
- disdrodb/routines/l2.py +12 -9
- disdrodb/routines/options.py +117 -73
- disdrodb/routines/options_validation.py +728 -0
- disdrodb/routines/wrappers.py +460 -40
- disdrodb/scattering/__init__.py +1 -2
- disdrodb/scattering/axis_ratio.py +6 -6
- disdrodb/scattering/permittivity.py +9 -8
- disdrodb/scattering/routines.py +33 -15
- disdrodb/summary/__init__.py +1 -1
- disdrodb/summary/routines.py +95 -30
- disdrodb/utils/__init__.py +1 -1
- disdrodb/utils/archiving.py +18 -10
- disdrodb/utils/attrs.py +7 -5
- disdrodb/utils/cli.py +8 -10
- disdrodb/utils/compression.py +10 -13
- disdrodb/utils/coords.py +45 -0
- disdrodb/utils/dask.py +7 -5
- disdrodb/utils/dataframe.py +5 -6
- disdrodb/utils/decorators.py +3 -4
- disdrodb/utils/dict.py +1 -1
- disdrodb/utils/directories.py +5 -7
- disdrodb/utils/encoding.py +4 -5
- disdrodb/utils/event.py +1 -1
- disdrodb/utils/list.py +1 -3
- disdrodb/utils/logger.py +1 -3
- disdrodb/utils/manipulations.py +175 -4
- disdrodb/utils/pydantic.py +81 -0
- disdrodb/utils/routines.py +2 -3
- disdrodb/utils/subsetting.py +1 -1
- disdrodb/utils/time.py +6 -4
- disdrodb/utils/warnings.py +2 -3
- disdrodb/utils/writer.py +5 -3
- disdrodb/utils/xarray.py +31 -3
- disdrodb/utils/yaml.py +1 -3
- disdrodb/viz/__init__.py +1 -1
- disdrodb/viz/plots.py +193 -18
- {disdrodb-0.2.1.dist-info → disdrodb-0.4.0.dist-info}/METADATA +5 -4
- disdrodb-0.4.0.dist-info/RECORD +361 -0
- {disdrodb-0.2.1.dist-info → disdrodb-0.4.0.dist-info}/entry_points.txt +3 -0
- disdrodb/etc/products/L1/1MIN.yaml +0 -13
- disdrodb/etc/products/L1/LPM/1MIN.yaml +0 -13
- disdrodb/etc/products/L1/LPM_V0/1MIN.yaml +0 -13
- disdrodb/etc/products/L1/PARSIVEL/1MIN.yaml +0 -13
- disdrodb/etc/products/L1/PARSIVEL2/1MIN.yaml +0 -13
- disdrodb/etc/products/L1/PWS100/1MIN.yaml +0 -13
- disdrodb/etc/products/L1/RD80/1MIN.yaml +0 -13
- disdrodb/etc/products/L1/SWS250/1MIN.yaml +0 -13
- disdrodb/etc/products/L2M/10MIN.yaml +0 -12
- disdrodb/l1/beard_model.py +0 -662
- disdrodb/l1/filters.py +0 -205
- disdrodb-0.2.1.dist-info/RECORD +0 -329
- {disdrodb-0.2.1.dist-info → disdrodb-0.4.0.dist-info}/WHEEL +0 -0
- {disdrodb-0.2.1.dist-info → disdrodb-0.4.0.dist-info}/licenses/LICENSE +0 -0
- {disdrodb-0.2.1.dist-info → disdrodb-0.4.0.dist-info}/top_level.txt +0 -0
disdrodb/issue/__init__.py
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
|
|
3
1
|
# -----------------------------------------------------------------------------.
|
|
4
|
-
# Copyright (c) 2021-
|
|
2
|
+
# Copyright (c) 2021-2026 DISDRODB developers
|
|
5
3
|
#
|
|
6
4
|
# This program is free software: you can redistribute it and/or modify
|
|
7
5
|
# it under the terms of the GNU General Public License as published by
|
disdrodb/issue/checks.py
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
|
|
3
1
|
# -----------------------------------------------------------------------------.
|
|
4
|
-
# Copyright (c) 2021-
|
|
2
|
+
# Copyright (c) 2021-2026 DISDRODB developers
|
|
5
3
|
#
|
|
6
4
|
# This program is free software: you can redistribute it and/or modify
|
|
7
5
|
# it under the terms of the GNU General Public License as published by
|
|
@@ -17,6 +15,7 @@
|
|
|
17
15
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
18
16
|
# -----------------------------------------------------------------------------.
|
|
19
17
|
"""Checks for issue YAML files."""
|
|
18
|
+
|
|
20
19
|
import logging
|
|
21
20
|
|
|
22
21
|
import numpy as np
|
disdrodb/issue/reader.py
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
|
|
3
1
|
# -----------------------------------------------------------------------------.
|
|
4
|
-
# Copyright (c) 2021-
|
|
2
|
+
# Copyright (c) 2021-2026 DISDRODB developers
|
|
5
3
|
#
|
|
6
4
|
# This program is free software: you can redistribute it and/or modify
|
|
7
5
|
# it under the terms of the GNU General Public License as published by
|
|
@@ -17,6 +15,7 @@
|
|
|
17
15
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
18
16
|
# -----------------------------------------------------------------------------.
|
|
19
17
|
"""Issue YAML File Reader."""
|
|
18
|
+
|
|
20
19
|
import logging
|
|
21
20
|
|
|
22
21
|
import yaml
|
disdrodb/issue/writer.py
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
|
|
3
1
|
# -----------------------------------------------------------------------------.
|
|
4
|
-
# Copyright (c) 2021-
|
|
2
|
+
# Copyright (c) 2021-2026 DISDRODB developers
|
|
5
3
|
#
|
|
6
4
|
# This program is free software: you can redistribute it and/or modify
|
|
7
5
|
# it under the terms of the GNU General Public License as published by
|
|
@@ -20,7 +18,6 @@
|
|
|
20
18
|
|
|
21
19
|
import logging
|
|
22
20
|
import os
|
|
23
|
-
from typing import Optional
|
|
24
21
|
|
|
25
22
|
import yaml
|
|
26
23
|
|
|
@@ -52,7 +49,7 @@ def _write_issue_docs(f):
|
|
|
52
49
|
)
|
|
53
50
|
|
|
54
51
|
|
|
55
|
-
def write_issue(filepath: str, timesteps:
|
|
52
|
+
def write_issue(filepath: str, timesteps: list | None = None, time_periods: list | None = None) -> None:
|
|
56
53
|
"""Write the issue YAML file.
|
|
57
54
|
|
|
58
55
|
Parameters
|
disdrodb/l0/__init__.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# -----------------------------------------------------------------------------.
|
|
2
|
-
# Copyright (c) 2021-
|
|
2
|
+
# Copyright (c) 2021-2026 DISDRODB developers
|
|
3
3
|
#
|
|
4
4
|
# This program is free software: you can redistribute it and/or modify
|
|
5
5
|
# it under the terms of the GNU General Public License as published by
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
16
16
|
# -----------------------------------------------------------------------------.
|
|
17
17
|
"""DISDRODB L0 software."""
|
|
18
|
+
|
|
18
19
|
from disdrodb.l0.l0_reader import available_readers, get_reader, get_station_reader
|
|
19
20
|
from disdrodb.l0.l0a_processing import generate_l0a
|
|
20
21
|
from disdrodb.l0.l0b_nc_processing import generate_l0b_from_nc
|
disdrodb/l0/check_configs.py
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
|
|
3
1
|
# -----------------------------------------------------------------------------.
|
|
4
|
-
# Copyright (c) 2021-
|
|
2
|
+
# Copyright (c) 2021-2026 DISDRODB developers
|
|
5
3
|
#
|
|
6
4
|
# This program is free software: you can redistribute it and/or modify
|
|
7
5
|
# it under the terms of the GNU General Public License as published by
|
|
@@ -19,10 +17,9 @@
|
|
|
19
17
|
"""Check configuration files."""
|
|
20
18
|
|
|
21
19
|
import os
|
|
22
|
-
from typing import Optional, Union
|
|
23
20
|
|
|
24
21
|
import numpy as np
|
|
25
|
-
from pydantic import
|
|
22
|
+
from pydantic import Field, field_validator, model_validator
|
|
26
23
|
|
|
27
24
|
from disdrodb.api.configs import available_sensor_names, get_sensor_configs_dir, read_config_file
|
|
28
25
|
from disdrodb.l0.standards import (
|
|
@@ -36,6 +33,7 @@ from disdrodb.l0.standards import (
|
|
|
36
33
|
get_velocity_bin_width,
|
|
37
34
|
)
|
|
38
35
|
from disdrodb.utils.directories import list_files
|
|
36
|
+
from disdrodb.utils.pydantic import CustomBaseModel
|
|
39
37
|
|
|
40
38
|
CONFIG_FILES_LIST = [
|
|
41
39
|
"bins_diameter.yml",
|
|
@@ -104,28 +102,24 @@ def check_variable_consistency(sensor_name: str) -> None:
|
|
|
104
102
|
raise ValueError(msg)
|
|
105
103
|
|
|
106
104
|
|
|
107
|
-
|
|
108
|
-
"""Exception raised when schema validation fails."""
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
def _schema_error(object_to_validate: Union[str, list], schema: BaseModel, message) -> bool:
|
|
105
|
+
def _schema_error(object_to_validate: str | list, schema: CustomBaseModel, message) -> bool:
|
|
112
106
|
"""Function that validate the schema of a given object with a given schema.
|
|
113
107
|
|
|
114
108
|
Parameters
|
|
115
109
|
----------
|
|
116
110
|
object_to_validate : Union[str,list]
|
|
117
111
|
Object to validate.
|
|
118
|
-
schema :
|
|
112
|
+
schema : CustomBaseModel
|
|
119
113
|
Base model.
|
|
120
114
|
|
|
121
115
|
"""
|
|
122
116
|
try:
|
|
123
117
|
schema(**object_to_validate)
|
|
124
|
-
except
|
|
125
|
-
raise
|
|
118
|
+
except ValueError as e:
|
|
119
|
+
raise ValueError(f"{message} {e!s}") from None
|
|
126
120
|
|
|
127
121
|
|
|
128
|
-
class L0BEncodingSchema(
|
|
122
|
+
class L0BEncodingSchema(CustomBaseModel):
|
|
129
123
|
"""Pydantic model for DISDRODB netCDF encodings."""
|
|
130
124
|
|
|
131
125
|
contiguous: bool
|
|
@@ -134,8 +128,10 @@ class L0BEncodingSchema(BaseModel):
|
|
|
134
128
|
complevel: int
|
|
135
129
|
shuffle: bool
|
|
136
130
|
fletcher32: bool
|
|
137
|
-
FillValue:
|
|
138
|
-
chunksizes:
|
|
131
|
+
FillValue: int | float | None = Field(default=None, alias="_FillValue")
|
|
132
|
+
chunksizes: int | list[int] | None
|
|
133
|
+
add_offset: float | None = None
|
|
134
|
+
scale_factor: float | None = None
|
|
139
135
|
|
|
140
136
|
# if contiguous=False, chunksizes specified, otherwise should be not !
|
|
141
137
|
@model_validator(mode="before")
|
|
@@ -200,6 +196,17 @@ class L0BEncodingSchema(BaseModel):
|
|
|
200
196
|
|
|
201
197
|
return values
|
|
202
198
|
|
|
199
|
+
@model_validator(mode="after")
|
|
200
|
+
def remove_offset_and_scale_if_not_int(self):
|
|
201
|
+
"""Ensure add_offset and scale_factor only apply to integer/uint dtypes."""
|
|
202
|
+
integer_types = {"int8", "int16", "int32", "int64", "uint8", "uint16", "uint32", "uint64"}
|
|
203
|
+
|
|
204
|
+
if self.dtype not in integer_types:
|
|
205
|
+
self.add_offset = None
|
|
206
|
+
self.scale_factor = None
|
|
207
|
+
|
|
208
|
+
return self
|
|
209
|
+
|
|
203
210
|
|
|
204
211
|
def check_l0b_encoding(sensor_name: str) -> None:
|
|
205
212
|
"""Check ``l0b_encodings.yml`` file based on the schema defined in the class ``L0BEncodingSchema``.
|
|
@@ -216,7 +223,7 @@ def check_l0b_encoding(sensor_name: str) -> None:
|
|
|
216
223
|
_schema_error(
|
|
217
224
|
object_to_validate=value,
|
|
218
225
|
schema=L0BEncodingSchema,
|
|
219
|
-
message=f"
|
|
226
|
+
message=f"Invalid {sensor_name} L0B Encoding YAML file '{key}' settings.",
|
|
220
227
|
)
|
|
221
228
|
|
|
222
229
|
|
|
@@ -243,19 +250,19 @@ def check_l0a_encoding(sensor_name: str) -> None:
|
|
|
243
250
|
raise TypeError(f"Expecting a string for {key} in l0a_encodings.yml for sensor {sensor_name}.")
|
|
244
251
|
|
|
245
252
|
|
|
246
|
-
class RawDataFormatSchema(
|
|
253
|
+
class RawDataFormatSchema(CustomBaseModel):
|
|
247
254
|
"""Pydantic model for the DISDRODB RAW Data Format YAML files."""
|
|
248
255
|
|
|
249
|
-
n_digits:
|
|
250
|
-
n_characters:
|
|
251
|
-
n_decimals:
|
|
252
|
-
n_naturals:
|
|
253
|
-
data_range:
|
|
254
|
-
nan_flags:
|
|
255
|
-
valid_values:
|
|
256
|
-
dimension_order:
|
|
257
|
-
n_values:
|
|
258
|
-
field_number:
|
|
256
|
+
n_digits: int | None
|
|
257
|
+
n_characters: int | None
|
|
258
|
+
n_decimals: int | None
|
|
259
|
+
n_naturals: int | None
|
|
260
|
+
data_range: list[float] | None
|
|
261
|
+
nan_flags: int | float | str | None = None
|
|
262
|
+
valid_values: list[float] | None = None
|
|
263
|
+
dimension_order: list[str] | None = None
|
|
264
|
+
n_values: int | None = None
|
|
265
|
+
field_number: str | None = None
|
|
259
266
|
|
|
260
267
|
@field_validator("data_range")
|
|
261
268
|
def check_list_length(cls, value):
|
|
@@ -282,7 +289,7 @@ def check_raw_data_format(sensor_name: str) -> None:
|
|
|
282
289
|
_schema_error(
|
|
283
290
|
object_to_validate=value,
|
|
284
291
|
schema=RawDataFormatSchema,
|
|
285
|
-
message=f"
|
|
292
|
+
message=f"Invalid {sensor_name} RawDataFormat YAML file '{key}' settings.",
|
|
286
293
|
)
|
|
287
294
|
|
|
288
295
|
|
disdrodb/l0/check_standards.py
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
|
|
3
1
|
# -----------------------------------------------------------------------------.
|
|
4
|
-
# Copyright (c) 2021-
|
|
2
|
+
# Copyright (c) 2021-2026 DISDRODB developers
|
|
5
3
|
#
|
|
6
4
|
# This program is free software: you can redistribute it and/or modify
|
|
7
5
|
# it under the terms of the GNU General Public License as published by
|
|
@@ -18,7 +16,6 @@
|
|
|
18
16
|
# -----------------------------------------------------------------------------.
|
|
19
17
|
"""Check data standards."""
|
|
20
18
|
|
|
21
|
-
|
|
22
19
|
import logging
|
|
23
20
|
|
|
24
21
|
import numpy as np
|
|
@@ -53,23 +53,23 @@ number_particles_min_diameter_internal_data: "float32"
|
|
|
53
53
|
number_particles_no_hydrometeor: "float32" # 'uint16'
|
|
54
54
|
number_particles_no_hydrometeor_internal_data: "float32"
|
|
55
55
|
number_particles_unknown_classification: "float32" # 'uint16'
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
56
|
+
total_gross_volume_unknown_classification: "float32"
|
|
57
|
+
number_particles_hail: "float32" # 'uint16'
|
|
58
|
+
total_gross_volume_hail: "float32"
|
|
59
|
+
number_particles_solid_precipitation: "float32" # 'uint16'
|
|
60
|
+
total_gross_volume_solid_precipitation: "float32"
|
|
61
|
+
number_particles_large_pellet: "float32" # 'uint16'
|
|
62
|
+
total_gross_volume_large_pellet: "float32"
|
|
63
|
+
number_particles_small_pellet: "float32" # 'uint16'
|
|
64
|
+
total_gross_volume_small_pellet: "float32"
|
|
65
|
+
number_particles_snowgrain: "float32" # 'uint16'
|
|
66
|
+
total_gross_volume_snowgrain: "float32"
|
|
67
|
+
number_particles_rain: "float32" # 'uint16'
|
|
68
|
+
total_gross_volume_rain: "float32"
|
|
69
|
+
number_particles_small_rain: "float32" # 'uint16'
|
|
70
|
+
total_gross_volume_small_rain: "float32"
|
|
71
|
+
number_particles_drizzle: "float32" # 'uint16'
|
|
72
|
+
total_gross_volume_drizzle: "float32"
|
|
73
73
|
number_particles_class_9: "float32" # 'uint16'
|
|
74
74
|
number_particles_class_9_internal_data: "float32"
|
|
75
75
|
raw_drop_number: "str"
|
|
@@ -224,81 +224,81 @@ number_particles_unknown_classification:
|
|
|
224
224
|
description: Number of particles with unknown classification
|
|
225
225
|
long_name: Number of particles with unknown classification
|
|
226
226
|
units: ""
|
|
227
|
-
|
|
228
|
-
description: Total
|
|
229
|
-
long_name:
|
|
227
|
+
total_gross_volume_unknown_classification:
|
|
228
|
+
description: Total (gross) volume of particles classified as unknown
|
|
229
|
+
long_name: Total (gross) volume of particles classified as unknown
|
|
230
230
|
units: ""
|
|
231
|
-
|
|
232
|
-
description: Number of particles
|
|
233
|
-
long_name: Number of particles
|
|
231
|
+
number_particles_hail:
|
|
232
|
+
description: Number of particles classified as hail
|
|
233
|
+
long_name: Number of particles classified as hail
|
|
234
234
|
units: ""
|
|
235
|
-
|
|
236
|
-
description: Total
|
|
237
|
-
long_name: Total volume of
|
|
235
|
+
total_gross_volume_hail:
|
|
236
|
+
description: Total (gross) volume of particles classified as hail
|
|
237
|
+
long_name: Total (gross) volume of particles classified as hail
|
|
238
238
|
units: ""
|
|
239
|
-
|
|
240
|
-
description: Number of particles
|
|
241
|
-
long_name: Number of particles
|
|
239
|
+
number_particles_solid_precipitation:
|
|
240
|
+
description: Number of particles classified as solid precipitation
|
|
241
|
+
long_name: Number of particles classified as solid precipitation
|
|
242
242
|
units: ""
|
|
243
|
-
|
|
244
|
-
description: Total
|
|
245
|
-
long_name: Total volume of
|
|
243
|
+
total_gross_volume_solid_precipitation:
|
|
244
|
+
description: Total (gross) volume of particles classified as solid precipitation
|
|
245
|
+
long_name: Total (gross) volume of particles classified as solid precipitation
|
|
246
246
|
units: ""
|
|
247
|
-
|
|
248
|
-
description: Number of particles
|
|
249
|
-
long_name: Number of particles
|
|
247
|
+
number_particles_large_pellet:
|
|
248
|
+
description: Number of particles classified as great pellet
|
|
249
|
+
long_name: Number of particles classified as great pellet
|
|
250
250
|
units: ""
|
|
251
|
-
|
|
252
|
-
description: Total
|
|
253
|
-
long_name: Total volume of
|
|
251
|
+
total_gross_volume_large_pellet:
|
|
252
|
+
description: Total (gross) volume of particles classified as great pellet
|
|
253
|
+
long_name: Total (gross) volume of particles classified as great pellet
|
|
254
254
|
units: ""
|
|
255
|
-
|
|
256
|
-
description: Number of particles
|
|
257
|
-
long_name: Number of particles
|
|
255
|
+
number_particles_small_pellet:
|
|
256
|
+
description: Number of particles classified as small pellet
|
|
257
|
+
long_name: Number of particles classified as small pellet
|
|
258
258
|
units: ""
|
|
259
|
-
|
|
260
|
-
description: Total
|
|
261
|
-
long_name: Total volume of
|
|
259
|
+
total_gross_volume_small_pellet:
|
|
260
|
+
description: Total (gross) volume of particles classified as small pellet
|
|
261
|
+
long_name: Total (gross) volume of particles classified as small pellet
|
|
262
262
|
units: ""
|
|
263
|
-
|
|
264
|
-
description: Number of particles
|
|
265
|
-
long_name: Number of particles
|
|
263
|
+
number_particles_snowgrain:
|
|
264
|
+
description: Number of particles classified as snowgrain
|
|
265
|
+
long_name: Number of particles classified as snowgrain
|
|
266
266
|
units: ""
|
|
267
|
-
|
|
268
|
-
description: Total
|
|
269
|
-
long_name: Total volume of
|
|
267
|
+
total_gross_volume_snowgrain:
|
|
268
|
+
description: Total (gross) volume of particles classified as snowgrain
|
|
269
|
+
long_name: Total (gross) volume of particles classified as snowgrain
|
|
270
270
|
units: ""
|
|
271
|
-
|
|
272
|
-
description: Number of particles
|
|
273
|
-
long_name: Number of particles
|
|
271
|
+
number_particles_rain:
|
|
272
|
+
description: Number of particles classified as rain
|
|
273
|
+
long_name: Number of particles classified as rain
|
|
274
274
|
units: ""
|
|
275
|
-
|
|
276
|
-
description: Total
|
|
277
|
-
long_name: Total volume of
|
|
275
|
+
total_gross_volume_rain:
|
|
276
|
+
description: Total (gross) volume of particles classified as rain
|
|
277
|
+
long_name: Total (gross) volume of particles classified as rain
|
|
278
278
|
units: ""
|
|
279
|
-
|
|
280
|
-
description: Number of particles
|
|
281
|
-
long_name: Number of particles
|
|
279
|
+
number_particles_small_rain:
|
|
280
|
+
description: Number of particles classified as small rain
|
|
281
|
+
long_name: Number of particles classified as small rain
|
|
282
282
|
units: ""
|
|
283
|
-
|
|
284
|
-
description: Total
|
|
285
|
-
long_name: Total volume of
|
|
283
|
+
total_gross_volume_small_rain:
|
|
284
|
+
description: Total (gross) volume of particles classified as small rain
|
|
285
|
+
long_name: Total (gross) volume of particles classified as small rain
|
|
286
286
|
units: ""
|
|
287
|
-
|
|
288
|
-
description: Number of particles
|
|
289
|
-
long_name: Number of particles
|
|
287
|
+
number_particles_drizzle:
|
|
288
|
+
description: Number of particles classified as drizzle
|
|
289
|
+
long_name: Number of particles classified as drizzle
|
|
290
290
|
units: ""
|
|
291
|
-
|
|
292
|
-
description: Total
|
|
293
|
-
long_name: Total volume of
|
|
291
|
+
total_gross_volume_drizzle:
|
|
292
|
+
description: Total (gross) volume of particles classified as drizzle
|
|
293
|
+
long_name: Total (gross) volume of particles classified as drizzle
|
|
294
294
|
units: ""
|
|
295
295
|
number_particles_class_9:
|
|
296
|
-
description: Number of particles class 9
|
|
297
|
-
long_name: Number of particles class 9
|
|
296
|
+
description: Number of particles for reserved class 9
|
|
297
|
+
long_name: Number of particles for reserved class 9
|
|
298
298
|
units: ""
|
|
299
299
|
number_particles_class_9_internal_data:
|
|
300
|
-
description: Total volume (gross)
|
|
301
|
-
long_name: Total volume of class 9
|
|
300
|
+
description: Total volume (gross) for reserved class 9
|
|
301
|
+
long_name: Total volume of reserved class 9
|
|
302
302
|
units: ""
|
|
303
303
|
raw_drop_number:
|
|
304
304
|
description: Precipitation spectrum
|
|
@@ -520,7 +520,7 @@ number_particles_unknown_classification:
|
|
|
520
520
|
contiguous: false
|
|
521
521
|
chunksizes: 5000
|
|
522
522
|
_FillValue: 65535
|
|
523
|
-
|
|
523
|
+
total_gross_volume_unknown_classification:
|
|
524
524
|
dtype: float32
|
|
525
525
|
zlib: true
|
|
526
526
|
complevel: 3
|
|
@@ -528,7 +528,7 @@ number_particles_unknown_classification_internal_data:
|
|
|
528
528
|
fletcher32: false
|
|
529
529
|
contiguous: false
|
|
530
530
|
chunksizes: 5000
|
|
531
|
-
|
|
531
|
+
number_particles_hail:
|
|
532
532
|
dtype: uint16
|
|
533
533
|
zlib: true
|
|
534
534
|
complevel: 3
|
|
@@ -537,7 +537,7 @@ number_particles_class_1:
|
|
|
537
537
|
contiguous: false
|
|
538
538
|
chunksizes: 5000
|
|
539
539
|
_FillValue: 65535
|
|
540
|
-
|
|
540
|
+
total_gross_volume_hail:
|
|
541
541
|
dtype: float32
|
|
542
542
|
zlib: true
|
|
543
543
|
complevel: 3
|
|
@@ -545,7 +545,7 @@ number_particles_class_1_internal_data:
|
|
|
545
545
|
fletcher32: false
|
|
546
546
|
contiguous: false
|
|
547
547
|
chunksizes: 5000
|
|
548
|
-
|
|
548
|
+
number_particles_solid_precipitation:
|
|
549
549
|
dtype: uint16
|
|
550
550
|
zlib: true
|
|
551
551
|
complevel: 3
|
|
@@ -554,7 +554,7 @@ number_particles_class_2:
|
|
|
554
554
|
contiguous: false
|
|
555
555
|
chunksizes: 5000
|
|
556
556
|
_FillValue: 65535
|
|
557
|
-
|
|
557
|
+
total_gross_volume_solid_precipitation:
|
|
558
558
|
dtype: float32
|
|
559
559
|
zlib: true
|
|
560
560
|
complevel: 3
|
|
@@ -562,7 +562,7 @@ number_particles_class_2_internal_data:
|
|
|
562
562
|
fletcher32: false
|
|
563
563
|
contiguous: false
|
|
564
564
|
chunksizes: 5000
|
|
565
|
-
|
|
565
|
+
number_particles_large_pellet:
|
|
566
566
|
dtype: uint16
|
|
567
567
|
zlib: true
|
|
568
568
|
complevel: 3
|
|
@@ -571,7 +571,7 @@ number_particles_class_3:
|
|
|
571
571
|
contiguous: false
|
|
572
572
|
chunksizes: 5000
|
|
573
573
|
_FillValue: 65535
|
|
574
|
-
|
|
574
|
+
total_gross_volume_large_pellet:
|
|
575
575
|
dtype: float32
|
|
576
576
|
zlib: true
|
|
577
577
|
complevel: 3
|
|
@@ -579,7 +579,7 @@ number_particles_class_3_internal_data:
|
|
|
579
579
|
fletcher32: false
|
|
580
580
|
contiguous: false
|
|
581
581
|
chunksizes: 5000
|
|
582
|
-
|
|
582
|
+
number_particles_small_pellet:
|
|
583
583
|
dtype: uint16
|
|
584
584
|
zlib: true
|
|
585
585
|
complevel: 3
|
|
@@ -588,7 +588,7 @@ number_particles_class_4:
|
|
|
588
588
|
contiguous: false
|
|
589
589
|
chunksizes: 5000
|
|
590
590
|
_FillValue: 65535
|
|
591
|
-
|
|
591
|
+
total_gross_volume_small_pellet:
|
|
592
592
|
dtype: float32
|
|
593
593
|
zlib: true
|
|
594
594
|
complevel: 3
|
|
@@ -596,7 +596,7 @@ number_particles_class_4_internal_data:
|
|
|
596
596
|
fletcher32: false
|
|
597
597
|
contiguous: false
|
|
598
598
|
chunksizes: 5000
|
|
599
|
-
|
|
599
|
+
number_particles_snowgrain:
|
|
600
600
|
dtype: uint16
|
|
601
601
|
zlib: true
|
|
602
602
|
complevel: 3
|
|
@@ -605,7 +605,7 @@ number_particles_class_5:
|
|
|
605
605
|
contiguous: false
|
|
606
606
|
chunksizes: 5000
|
|
607
607
|
_FillValue: 65535
|
|
608
|
-
|
|
608
|
+
total_gross_volume_snowgrain:
|
|
609
609
|
dtype: float32
|
|
610
610
|
zlib: true
|
|
611
611
|
complevel: 3
|
|
@@ -613,7 +613,7 @@ number_particles_class_5_internal_data:
|
|
|
613
613
|
fletcher32: false
|
|
614
614
|
contiguous: false
|
|
615
615
|
chunksizes: 5000
|
|
616
|
-
|
|
616
|
+
number_particles_rain:
|
|
617
617
|
dtype: uint16
|
|
618
618
|
zlib: true
|
|
619
619
|
complevel: 3
|
|
@@ -622,7 +622,7 @@ number_particles_class_6:
|
|
|
622
622
|
contiguous: false
|
|
623
623
|
chunksizes: 5000
|
|
624
624
|
_FillValue: 65535
|
|
625
|
-
|
|
625
|
+
total_gross_volume_rain:
|
|
626
626
|
dtype: float32
|
|
627
627
|
zlib: true
|
|
628
628
|
complevel: 3
|
|
@@ -630,7 +630,7 @@ number_particles_class_6_internal_data:
|
|
|
630
630
|
fletcher32: false
|
|
631
631
|
contiguous: false
|
|
632
632
|
chunksizes: 5000
|
|
633
|
-
|
|
633
|
+
number_particles_small_rain:
|
|
634
634
|
dtype: uint16
|
|
635
635
|
zlib: true
|
|
636
636
|
complevel: 3
|
|
@@ -639,7 +639,7 @@ number_particles_class_7:
|
|
|
639
639
|
contiguous: false
|
|
640
640
|
chunksizes: 5000
|
|
641
641
|
_FillValue: 65535
|
|
642
|
-
|
|
642
|
+
total_gross_volume_small_rain:
|
|
643
643
|
dtype: float32
|
|
644
644
|
zlib: true
|
|
645
645
|
complevel: 3
|
|
@@ -647,7 +647,7 @@ number_particles_class_7_internal_data:
|
|
|
647
647
|
fletcher32: false
|
|
648
648
|
contiguous: false
|
|
649
649
|
chunksizes: 5000
|
|
650
|
-
|
|
650
|
+
number_particles_drizzle:
|
|
651
651
|
dtype: uint16
|
|
652
652
|
zlib: true
|
|
653
653
|
complevel: 3
|
|
@@ -656,7 +656,7 @@ number_particles_class_8:
|
|
|
656
656
|
contiguous: false
|
|
657
657
|
chunksizes: 5000
|
|
658
658
|
_FillValue: 65535
|
|
659
|
-
|
|
659
|
+
total_gross_volume_drizzle:
|
|
660
660
|
dtype: float32
|
|
661
661
|
zlib: true
|
|
662
662
|
complevel: 3
|