disdrodb 0.1.2__tar.gz → 0.1.4__tar.gz

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