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/cli/disdrodb_run_l0b.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
2
|
# -----------------------------------------------------------------------------.
|
|
3
|
-
# Copyright (c) 2021-
|
|
3
|
+
# Copyright (c) 2021-2026 DISDRODB developers
|
|
4
4
|
#
|
|
5
5
|
# This program is free software: you can redistribute it and/or modify
|
|
6
6
|
# it under the terms of the GNU General Public License as published by
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
# -----------------------------------------------------------------------------.
|
|
18
18
|
"""Script to run the DISDRODB L0B processing."""
|
|
19
|
+
|
|
19
20
|
import sys
|
|
20
|
-
from typing import Optional
|
|
21
21
|
|
|
22
22
|
import click
|
|
23
23
|
|
|
@@ -42,9 +42,9 @@ sys.tracebacklimit = 0 # avoid full traceback error if occur
|
|
|
42
42
|
@click_metadata_archive_dir_option
|
|
43
43
|
def disdrodb_run_l0b(
|
|
44
44
|
# Stations options
|
|
45
|
-
data_sources:
|
|
46
|
-
campaign_names:
|
|
47
|
-
station_names:
|
|
45
|
+
data_sources: str | None = None,
|
|
46
|
+
campaign_names: str | None = None,
|
|
47
|
+
station_names: str | None = None,
|
|
48
48
|
# Processing options
|
|
49
49
|
force: bool = False,
|
|
50
50
|
verbose: bool = True,
|
|
@@ -52,53 +52,53 @@ def disdrodb_run_l0b(
|
|
|
52
52
|
debugging_mode: bool = False,
|
|
53
53
|
remove_l0a: bool = False,
|
|
54
54
|
# DISDRODB root directories
|
|
55
|
-
data_archive_dir:
|
|
56
|
-
metadata_archive_dir:
|
|
55
|
+
data_archive_dir: str | None = None,
|
|
56
|
+
metadata_archive_dir: str | None = None,
|
|
57
57
|
):
|
|
58
|
-
"""
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
"""
|
|
58
|
+
"""Run the DISDRODB L0B processing chain for many/all DISDRODB stations.
|
|
59
|
+
|
|
60
|
+
It produces a DISDRODB L0B file for each DISDRODB L0A Apache Parquet file of the specified stations.
|
|
61
|
+
|
|
62
|
+
\b
|
|
63
|
+
Station Selection:
|
|
64
|
+
If no station filters are specified, processes ALL available stations.
|
|
65
|
+
Use data_sources, campaign_names, and station_names to filter stations.
|
|
66
|
+
Filters work together to narrow down the selection (AND logic).
|
|
67
|
+
|
|
68
|
+
\b
|
|
69
|
+
Performance Options:
|
|
70
|
+
--parallel: Uses multiple processes for faster processing (default: True)
|
|
71
|
+
If parallel processing is enabled, each process will use a single thread
|
|
72
|
+
to avoid issues with the HDF/netCDF library.
|
|
73
|
+
The DASK_NUM_WORKERS environment variable controls the number of processes
|
|
74
|
+
to use.A sensible default is automatically set by the software.
|
|
75
|
+
--debugging_mode: Processes only a subset of data for testing
|
|
76
|
+
--force: Overwrites existing output files (default: False)
|
|
77
|
+
|
|
78
|
+
\b
|
|
79
|
+
Examples:
|
|
80
|
+
# Process all stations
|
|
81
|
+
disdrodb_run_l0b
|
|
82
|
+
|
|
83
|
+
# Process a specific data source and force overwrite existing files
|
|
84
|
+
disdrodb_run_l0b --data_sources EPFL --force True --verbose True
|
|
85
|
+
|
|
86
|
+
# Process specific data sources
|
|
87
|
+
disdrodb_run_l0b --data_sources 'USA EPFL'
|
|
88
|
+
|
|
89
|
+
# Process specific campaigns in debugging mode
|
|
90
|
+
disdrodb_run_l0b --campaign_names 'DELFT IMPACTS' --debugging_mode True
|
|
91
|
+
|
|
92
|
+
# Process specific stations with custom number of workers
|
|
93
|
+
DASK_NUM_WORKERS=8 disdrodb_run_l0b --data_sources NASA --station_names 'apu01 apu02'
|
|
94
|
+
|
|
95
|
+
\b
|
|
96
|
+
Important Notes:
|
|
97
|
+
- Data source names must be UPPER CASE
|
|
98
|
+
- Campaign names must be UPPER CASE
|
|
99
|
+
- To specify multiple values, use space-separated strings in quotes
|
|
100
|
+
- Use --debugging_mode for initial testing with reduced data volumes
|
|
101
|
+
""" # noqa: D301
|
|
102
102
|
from disdrodb.routines import run_l0b
|
|
103
103
|
|
|
104
104
|
# Parse data_sources, campaign_names and station arguments
|
|
@@ -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,8 +15,8 @@
|
|
|
15
15
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
16
16
|
# -----------------------------------------------------------------------------.
|
|
17
17
|
"""Script to run the DISDRODB L0B station processing."""
|
|
18
|
+
|
|
18
19
|
import sys
|
|
19
|
-
from typing import Optional
|
|
20
20
|
|
|
21
21
|
import click
|
|
22
22
|
|
|
@@ -53,44 +53,45 @@ def disdrodb_run_l0b_station(
|
|
|
53
53
|
debugging_mode: bool = False,
|
|
54
54
|
remove_l0a: bool = False,
|
|
55
55
|
# DISDRODB root directories
|
|
56
|
-
data_archive_dir:
|
|
57
|
-
metadata_archive_dir:
|
|
56
|
+
data_archive_dir: str | None = None,
|
|
57
|
+
metadata_archive_dir: str | None = None,
|
|
58
58
|
):
|
|
59
|
-
"""Run the L0B processing
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
If
|
|
73
|
-
|
|
74
|
-
The
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
59
|
+
"""Run the DISDRODB L0B processing chain for a specific DISDRODB station.
|
|
60
|
+
|
|
61
|
+
It produces a DISDRODB L0B netCDF file for each DISDRODB L0A Apache Parquet file
|
|
62
|
+
of the specified station.
|
|
63
|
+
|
|
64
|
+
\b
|
|
65
|
+
Station Specification:
|
|
66
|
+
Requires exact specification of data_source, campaign_name, and station_name.
|
|
67
|
+
All three parameters must be provided and are case-sensitive (UPPER CASE required).
|
|
68
|
+
|
|
69
|
+
\b
|
|
70
|
+
Performance Options:
|
|
71
|
+
--parallel: Uses multiple processes for faster processing (default: True)
|
|
72
|
+
If parallel processing is enabled, each process will use a single thread
|
|
73
|
+
to avoid issues with the HDF/netCDF library.
|
|
74
|
+
The DASK_NUM_WORKERS environment variable controls the number of processes
|
|
75
|
+
to use.A sensible default is automatically set by the software.
|
|
76
|
+
--debugging_mode: Processes only a subset of data for testing
|
|
77
|
+
--force: Overwrites existing output files (default: False)
|
|
78
|
+
|
|
79
|
+
\b
|
|
80
|
+
Examples:
|
|
81
|
+
# Process a single station with full processing chain
|
|
82
|
+
disdrodb_run_l0b_station EPFL HYMEX_LTE_SOP2 10
|
|
83
|
+
|
|
84
|
+
# Force overwrite existing files with verbose output
|
|
85
|
+
disdrodb_run_l0b_station EPFL HYMEX_LTE_SOP2 10 --force True --verbose True
|
|
86
|
+
|
|
87
|
+
# Process station with debugging mode and custom workers
|
|
88
|
+
DASK_NUM_WORKERS=4 disdrodb_run_l0b_station NETHERLANDS DELFT PAR001_Cabauw --debugging_mode True
|
|
89
|
+
|
|
90
|
+
\b
|
|
91
|
+
Important Notes:
|
|
92
|
+
- Data source, campaign, and station names must be UPPER CASE
|
|
93
|
+
- All three station identifiers are required (no wildcards or filtering)
|
|
94
|
+
""" # noqa: D301
|
|
94
95
|
from disdrodb.routines.l0 import run_l0b_station
|
|
95
96
|
from disdrodb.utils.dask import close_dask_cluster, initialize_dask_cluster
|
|
96
97
|
|
disdrodb/cli/disdrodb_run_l0c.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
2
|
# -----------------------------------------------------------------------------.
|
|
3
|
-
# Copyright (c) 2021-
|
|
3
|
+
# Copyright (c) 2021-2026 DISDRODB developers
|
|
4
4
|
#
|
|
5
5
|
# This program is free software: you can redistribute it and/or modify
|
|
6
6
|
# it under the terms of the GNU General Public License as published by
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
# -----------------------------------------------------------------------------.
|
|
18
18
|
"""Script to run the DISDRODB L0C processing."""
|
|
19
|
+
|
|
19
20
|
import sys
|
|
20
|
-
from typing import Optional
|
|
21
21
|
|
|
22
22
|
import click
|
|
23
23
|
|
|
@@ -42,9 +42,9 @@ sys.tracebacklimit = 0 # avoid full traceback error if occur
|
|
|
42
42
|
@click_metadata_archive_dir_option
|
|
43
43
|
def disdrodb_run_l0c(
|
|
44
44
|
# Stations options
|
|
45
|
-
data_sources:
|
|
46
|
-
campaign_names:
|
|
47
|
-
station_names:
|
|
45
|
+
data_sources: str | None = None,
|
|
46
|
+
campaign_names: str | None = None,
|
|
47
|
+
station_names: str | None = None,
|
|
48
48
|
# L0C processing options
|
|
49
49
|
remove_l0b: bool = False,
|
|
50
50
|
# Processing options
|
|
@@ -53,55 +53,58 @@ def disdrodb_run_l0c(
|
|
|
53
53
|
parallel: bool = True,
|
|
54
54
|
debugging_mode: bool = False,
|
|
55
55
|
# DISDRODB root directories
|
|
56
|
-
data_archive_dir:
|
|
57
|
-
metadata_archive_dir:
|
|
56
|
+
data_archive_dir: str | None = None,
|
|
57
|
+
metadata_archive_dir: str | None = None,
|
|
58
58
|
):
|
|
59
|
-
"""
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
59
|
+
"""Run the DISDRODB L0C processing chain for many/all DISDRODB stations.
|
|
60
|
+
|
|
61
|
+
It produces DISDRODB L0C files from existing DISDRODB L0B data of the specified stations.
|
|
62
|
+
DISDRODB L0B files must be available before launching the DISDRODB L0C processing.
|
|
63
|
+
|
|
64
|
+
The DISDRODB L0C processing chain performs time-based quality control by
|
|
65
|
+
removing duplicate timesteps and correcting trailing-second offsets.
|
|
66
|
+
Then, it consolidate L0B data into by default daily netCDF files.
|
|
67
|
+
|
|
68
|
+
\b
|
|
69
|
+
Station Selection:
|
|
70
|
+
If no station filters are specified, processes ALL available stations.
|
|
71
|
+
Use data_sources, campaign_names, and station_names to filter stations.
|
|
72
|
+
Filters work together to narrow down the selection (AND logic).
|
|
73
|
+
|
|
74
|
+
\b
|
|
75
|
+
Performance Options:
|
|
76
|
+
--parallel: Uses multiple processes for faster processing (default: True)
|
|
77
|
+
If parallel processing is enabled, each process will use a single thread
|
|
78
|
+
to avoid issues with the HDF/netCDF library.
|
|
79
|
+
The DASK_NUM_WORKERS environment variable controls the number of processes
|
|
80
|
+
to use.A sensible default is automatically set by the software.
|
|
81
|
+
--debugging_mode: Processes only a subset of data for testing
|
|
82
|
+
--force: Overwrites existing output files (default: False)
|
|
83
|
+
|
|
84
|
+
\b
|
|
85
|
+
Examples:
|
|
86
|
+
# Process all stations
|
|
87
|
+
disdrodb_run_l0c
|
|
88
|
+
|
|
89
|
+
# Process a specific data source and force overwrite existing files
|
|
90
|
+
disdrodb_run_l0c --data_sources EPFL --force True --verbose True
|
|
91
|
+
|
|
92
|
+
# Process specific data sources
|
|
93
|
+
disdrodb_run_l0c --data_sources 'USA EPFL'
|
|
94
|
+
|
|
95
|
+
# Process specific campaigns in debugging mode
|
|
96
|
+
disdrodb_run_l0c --campaign_names 'DELFT IMPACTS' --debugging_mode True
|
|
97
|
+
|
|
98
|
+
# Process specific stations with custom number of workers
|
|
99
|
+
DASK_NUM_WORKERS=8 disdrodb_run_l0c --data_sources NASA --station_names 'apu01 apu02'
|
|
100
|
+
|
|
101
|
+
\b
|
|
102
|
+
Important Notes:
|
|
103
|
+
- Data source names must be UPPER CASE
|
|
104
|
+
- Campaign names must be UPPER CASE
|
|
105
|
+
- To specify multiple values, use space-separated strings in quotes
|
|
106
|
+
- Use --debugging_mode for initial testing with reduced data volumes
|
|
107
|
+
""" # noqa: D301
|
|
105
108
|
from disdrodb.routines import run_l0c
|
|
106
109
|
|
|
107
110
|
# Parse data_sources, campaign_names and station arguments
|
|
@@ -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,8 +15,8 @@
|
|
|
15
15
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
16
16
|
# -----------------------------------------------------------------------------.
|
|
17
17
|
"""Script to run the DISDRODB L0C station processing."""
|
|
18
|
+
|
|
18
19
|
import sys
|
|
19
|
-
from typing import Optional
|
|
20
20
|
|
|
21
21
|
import click
|
|
22
22
|
|
|
@@ -54,46 +54,49 @@ def disdrodb_run_l0c_station(
|
|
|
54
54
|
parallel: bool = True,
|
|
55
55
|
debugging_mode: bool = False,
|
|
56
56
|
# DISDRODB root directories
|
|
57
|
-
data_archive_dir:
|
|
58
|
-
metadata_archive_dir:
|
|
57
|
+
data_archive_dir: str | None = None,
|
|
58
|
+
metadata_archive_dir: str | None = None,
|
|
59
59
|
):
|
|
60
|
-
"""Run the L0C processing
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
60
|
+
"""Run the DISDRODB L0C processing chain for a specific DISDRODB station.
|
|
61
|
+
|
|
62
|
+
It produces DISDRODB L0C files from existing DISDRODB L0B data of the specified station.
|
|
63
|
+
DISDRODB L0B files must be available before launching the DISDRODB L0C processing.
|
|
64
|
+
|
|
65
|
+
The DISDRODB L0C processing chain performs time-based quality control by
|
|
66
|
+
removing duplicate timesteps and correcting trailing-second offsets.
|
|
67
|
+
Then, it consolidate L0B data into by default daily netCDF files.
|
|
68
|
+
|
|
69
|
+
\b
|
|
70
|
+
Station Specification:
|
|
71
|
+
Requires exact specification of data_source, campaign_name, and station_name.
|
|
72
|
+
All three parameters must be provided and are case-sensitive (UPPER CASE required).
|
|
73
|
+
|
|
74
|
+
\b
|
|
75
|
+
Performance Options:
|
|
76
|
+
--parallel: Uses multiple processes for faster processing (default: True)
|
|
77
|
+
If parallel processing is enabled, each process will use a single thread
|
|
78
|
+
to avoid issues with the HDF/netCDF library.
|
|
79
|
+
The DASK_NUM_WORKERS environment variable controls the number of processes
|
|
80
|
+
to use.A sensible default is automatically set by the software.
|
|
81
|
+
--debugging_mode: Processes only a subset of data for testing
|
|
82
|
+
--force: Overwrites existing output files (default: False)
|
|
83
|
+
|
|
84
|
+
\b
|
|
85
|
+
Examples:
|
|
86
|
+
# Process a single station with full processing chain
|
|
87
|
+
disdrodb_run_l0c_station EPFL HYMEX_LTE_SOP2 10
|
|
88
|
+
|
|
89
|
+
# Force overwrite existing files with verbose output
|
|
90
|
+
disdrodb_run_l0c_station EPFL HYMEX_LTE_SOP2 10 --force True --verbose True
|
|
91
|
+
|
|
92
|
+
# Process station with debugging mode and custom workers
|
|
93
|
+
DASK_NUM_WORKERS=4 disdrodb_run_l0c_station NETHERLANDS DELFT PAR001_Cabauw --debugging_mode True
|
|
94
|
+
|
|
95
|
+
\b
|
|
96
|
+
Important Notes:
|
|
97
|
+
- Data source, campaign, and station names must be UPPER CASE
|
|
98
|
+
- All three station identifiers are required (no wildcards or filtering)
|
|
99
|
+
""" # noqa: D301
|
|
97
100
|
from disdrodb.routines.l0 import run_l0c_station
|
|
98
101
|
from disdrodb.utils.dask import close_dask_cluster, initialize_dask_cluster
|
|
99
102
|
|
disdrodb/cli/disdrodb_run_l1.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
2
|
# -----------------------------------------------------------------------------.
|
|
3
|
-
# Copyright (c) 2021-
|
|
3
|
+
# Copyright (c) 2021-2026 DISDRODB developers
|
|
4
4
|
#
|
|
5
5
|
# This program is free software: you can redistribute it and/or modify
|
|
6
6
|
# it under the terms of the GNU General Public License as published by
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
# -----------------------------------------------------------------------------.
|
|
18
18
|
"""Script to run the DISDRODB L1B processing."""
|
|
19
|
+
|
|
19
20
|
import sys
|
|
20
|
-
from typing import Optional
|
|
21
21
|
|
|
22
22
|
import click
|
|
23
23
|
|
|
@@ -40,62 +40,66 @@ sys.tracebacklimit = 0 # avoid full traceback error if occur
|
|
|
40
40
|
@click_metadata_archive_dir_option
|
|
41
41
|
def disdrodb_run_l1(
|
|
42
42
|
# Stations options
|
|
43
|
-
data_sources:
|
|
44
|
-
campaign_names:
|
|
45
|
-
station_names:
|
|
43
|
+
data_sources: str | None = None,
|
|
44
|
+
campaign_names: str | None = None,
|
|
45
|
+
station_names: str | None = None,
|
|
46
46
|
# Processing options
|
|
47
47
|
force: bool = False,
|
|
48
48
|
verbose: bool = True,
|
|
49
49
|
parallel: bool = True,
|
|
50
50
|
debugging_mode: bool = False,
|
|
51
51
|
# DISDRODB root directories
|
|
52
|
-
data_archive_dir:
|
|
53
|
-
metadata_archive_dir:
|
|
52
|
+
data_archive_dir: str | None = None,
|
|
53
|
+
metadata_archive_dir: str | None = None,
|
|
54
54
|
):
|
|
55
|
-
"""
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
55
|
+
"""Run the DISDRODB L1 processing chain for many/all DISDRODB stations.
|
|
56
|
+
|
|
57
|
+
It produces DISDRODB L1 files from existing DISDRODB L0C data of the specified stations.
|
|
58
|
+
DISDRODB L0C files must be available before launching the DISDRODB L1 processing.
|
|
59
|
+
|
|
60
|
+
The DISDRODB L1 processing chain temporally aggregates L0C data at the specified temporal intervals,
|
|
61
|
+
applies quality control (QC) algorithms, and detetermines precipitation phase and hydrometeor types.
|
|
62
|
+
|
|
63
|
+
\b
|
|
64
|
+
Station Selection:
|
|
65
|
+
If no station filters are specified, processes ALL available stations.
|
|
66
|
+
Use data_sources, campaign_names, and station_names to filter stations.
|
|
67
|
+
Filters work together to narrow down the selection (AND logic).
|
|
68
|
+
|
|
69
|
+
\b
|
|
70
|
+
Performance Options:
|
|
71
|
+
--parallel: Uses multiple processes for faster processing (default: True)
|
|
72
|
+
If parallel processing is enabled, each process will use a single thread
|
|
73
|
+
to avoid issues with the HDF/netCDF library.
|
|
74
|
+
The DASK_NUM_WORKERS environment variable controls the number of processes
|
|
75
|
+
to use.A sensible default is automatically set by the software.
|
|
76
|
+
--debugging_mode: Processes only a subset of data for testing
|
|
77
|
+
--force: Overwrites existing output files (default: False)
|
|
78
|
+
|
|
79
|
+
\b
|
|
80
|
+
Examples:
|
|
81
|
+
# Process all stations
|
|
82
|
+
disdrodb_run_l1
|
|
83
|
+
|
|
84
|
+
# Process a specific data source and force overwrite existing files
|
|
85
|
+
disdrodb_run_l1 --data_sources EPFL --force True --verbose True
|
|
86
|
+
|
|
87
|
+
# Process specific data sources
|
|
88
|
+
disdrodb_run_l1 --data_sources 'USA EPFL'
|
|
89
|
+
|
|
90
|
+
# Process specific campaigns in debugging mode
|
|
91
|
+
disdrodb_run_l1 --campaign_names 'DELFT IMPACTS' --debugging_mode True
|
|
92
|
+
|
|
93
|
+
# Process specific stations with custom number of workers
|
|
94
|
+
DASK_NUM_WORKERS=8 disdrodb_run_l1 --data_sources NASA --station_names 'apu01 apu02'
|
|
95
|
+
|
|
96
|
+
\b
|
|
97
|
+
Important Notes:
|
|
98
|
+
- Data source names must be UPPER CASE
|
|
99
|
+
- Campaign names must be UPPER CASE
|
|
100
|
+
- To specify multiple values, use space-separated strings in quotes
|
|
101
|
+
- Use --debugging_mode for initial testing with reduced data volumes
|
|
102
|
+
""" # noqa: D301
|
|
99
103
|
from disdrodb.routines import run_l1
|
|
100
104
|
|
|
101
105
|
# Parse data_sources, campaign_names and station arguments
|