disdrodb 0.0.21__py3-none-any.whl → 0.1.1__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.
Files changed (279) hide show
  1. disdrodb/__init__.py +132 -15
  2. disdrodb/_config.py +4 -2
  3. disdrodb/_version.py +9 -4
  4. disdrodb/api/checks.py +264 -237
  5. disdrodb/api/configs.py +4 -8
  6. disdrodb/api/create_directories.py +235 -290
  7. disdrodb/api/info.py +217 -26
  8. disdrodb/api/io.py +306 -270
  9. disdrodb/api/path.py +597 -173
  10. disdrodb/api/search.py +486 -0
  11. disdrodb/{metadata/scripts → cli}/disdrodb_check_metadata_archive.py +12 -7
  12. disdrodb/{utils/pandas.py → cli/disdrodb_data_archive_directory.py} +9 -18
  13. disdrodb/cli/disdrodb_download_archive.py +86 -0
  14. disdrodb/cli/disdrodb_download_metadata_archive.py +53 -0
  15. disdrodb/cli/disdrodb_download_station.py +84 -0
  16. disdrodb/{api/scripts → cli}/disdrodb_initialize_station.py +22 -10
  17. disdrodb/cli/disdrodb_metadata_archive_directory.py +32 -0
  18. disdrodb/{data_transfer/scripts/disdrodb_download_station.py → cli/disdrodb_open_data_archive.py} +22 -22
  19. disdrodb/cli/disdrodb_open_logs_directory.py +69 -0
  20. disdrodb/{data_transfer/scripts/disdrodb_upload_station.py → cli/disdrodb_open_metadata_archive.py} +22 -24
  21. disdrodb/cli/disdrodb_open_metadata_directory.py +71 -0
  22. disdrodb/cli/disdrodb_open_product_directory.py +74 -0
  23. disdrodb/cli/disdrodb_open_readers_directory.py +32 -0
  24. disdrodb/{l0/scripts → cli}/disdrodb_run_l0.py +38 -31
  25. disdrodb/{l0/scripts → cli}/disdrodb_run_l0_station.py +32 -30
  26. disdrodb/{l0/scripts → cli}/disdrodb_run_l0a.py +30 -21
  27. disdrodb/{l0/scripts → cli}/disdrodb_run_l0a_station.py +24 -33
  28. disdrodb/{l0/scripts → cli}/disdrodb_run_l0b.py +30 -21
  29. disdrodb/{l0/scripts → cli}/disdrodb_run_l0b_station.py +25 -34
  30. disdrodb/cli/disdrodb_run_l0c.py +130 -0
  31. disdrodb/cli/disdrodb_run_l0c_station.py +129 -0
  32. disdrodb/cli/disdrodb_run_l1.py +122 -0
  33. disdrodb/cli/disdrodb_run_l1_station.py +121 -0
  34. disdrodb/cli/disdrodb_run_l2e.py +122 -0
  35. disdrodb/cli/disdrodb_run_l2e_station.py +122 -0
  36. disdrodb/cli/disdrodb_run_l2m.py +122 -0
  37. disdrodb/cli/disdrodb_run_l2m_station.py +122 -0
  38. disdrodb/cli/disdrodb_upload_archive.py +105 -0
  39. disdrodb/cli/disdrodb_upload_station.py +98 -0
  40. disdrodb/configs.py +90 -25
  41. disdrodb/data_transfer/__init__.py +22 -0
  42. disdrodb/data_transfer/download_data.py +87 -90
  43. disdrodb/data_transfer/upload_data.py +64 -37
  44. disdrodb/data_transfer/zenodo.py +15 -18
  45. disdrodb/docs.py +1 -1
  46. disdrodb/issue/__init__.py +17 -4
  47. disdrodb/issue/checks.py +10 -23
  48. disdrodb/issue/reader.py +9 -12
  49. disdrodb/issue/writer.py +14 -17
  50. disdrodb/l0/__init__.py +17 -26
  51. disdrodb/l0/check_configs.py +35 -23
  52. disdrodb/l0/check_standards.py +46 -51
  53. disdrodb/l0/configs/{Thies_LPM → LPM}/bins_diameter.yml +44 -44
  54. disdrodb/l0/configs/{Thies_LPM → LPM}/bins_velocity.yml +40 -40
  55. disdrodb/l0/configs/LPM/l0a_encodings.yml +80 -0
  56. disdrodb/l0/configs/{Thies_LPM → LPM}/l0b_cf_attrs.yml +84 -65
  57. disdrodb/l0/configs/{Thies_LPM → LPM}/l0b_encodings.yml +50 -9
  58. disdrodb/l0/configs/{Thies_LPM → LPM}/raw_data_format.yml +285 -245
  59. disdrodb/l0/configs/{OTT_Parsivel → PARSIVEL}/bins_diameter.yml +66 -66
  60. disdrodb/l0/configs/{OTT_Parsivel → PARSIVEL}/bins_velocity.yml +64 -64
  61. disdrodb/l0/configs/PARSIVEL/l0a_encodings.yml +32 -0
  62. disdrodb/l0/configs/{OTT_Parsivel → PARSIVEL}/l0b_cf_attrs.yml +23 -21
  63. disdrodb/l0/configs/{OTT_Parsivel → PARSIVEL}/l0b_encodings.yml +17 -17
  64. disdrodb/l0/configs/{OTT_Parsivel → PARSIVEL}/raw_data_format.yml +77 -77
  65. disdrodb/l0/configs/{OTT_Parsivel2 → PARSIVEL2}/bins_diameter.yml +64 -64
  66. disdrodb/l0/configs/{OTT_Parsivel2 → PARSIVEL2}/bins_velocity.yml +64 -64
  67. disdrodb/l0/configs/PARSIVEL2/l0a_encodings.yml +39 -0
  68. disdrodb/l0/configs/{OTT_Parsivel2 → PARSIVEL2}/l0b_cf_attrs.yml +28 -26
  69. disdrodb/l0/configs/{OTT_Parsivel2 → PARSIVEL2}/l0b_encodings.yml +20 -20
  70. disdrodb/l0/configs/{OTT_Parsivel2 → PARSIVEL2}/raw_data_format.yml +107 -107
  71. disdrodb/l0/configs/PWS100/bins_diameter.yml +173 -0
  72. disdrodb/l0/configs/PWS100/bins_velocity.yml +173 -0
  73. disdrodb/l0/configs/PWS100/l0a_encodings.yml +19 -0
  74. disdrodb/l0/configs/PWS100/l0b_cf_attrs.yml +76 -0
  75. disdrodb/l0/configs/PWS100/l0b_encodings.yml +176 -0
  76. disdrodb/l0/configs/PWS100/raw_data_format.yml +182 -0
  77. disdrodb/l0/configs/{RD_80 → RD80}/bins_diameter.yml +40 -40
  78. disdrodb/l0/configs/RD80/l0a_encodings.yml +16 -0
  79. disdrodb/l0/configs/{RD_80 → RD80}/l0b_cf_attrs.yml +3 -3
  80. disdrodb/l0/configs/RD80/l0b_encodings.yml +135 -0
  81. disdrodb/l0/configs/{RD_80 → RD80}/raw_data_format.yml +46 -50
  82. disdrodb/l0/l0_reader.py +216 -340
  83. disdrodb/l0/l0a_processing.py +237 -208
  84. disdrodb/l0/l0b_nc_processing.py +227 -80
  85. disdrodb/l0/l0b_processing.py +96 -174
  86. disdrodb/l0/l0c_processing.py +627 -0
  87. disdrodb/l0/readers/{ARM → LPM/ARM}/ARM_LPM.py +36 -58
  88. disdrodb/l0/readers/LPM/AUSTRALIA/MELBOURNE_2007_LPM.py +236 -0
  89. disdrodb/l0/readers/LPM/BRAZIL/CHUVA_LPM.py +185 -0
  90. disdrodb/l0/readers/LPM/BRAZIL/GOAMAZON_LPM.py +185 -0
  91. disdrodb/l0/readers/LPM/ITALY/GID_LPM.py +195 -0
  92. disdrodb/l0/readers/LPM/ITALY/GID_LPM_W.py +210 -0
  93. disdrodb/l0/readers/{BRAZIL/GOAMAZON_LPM.py → LPM/KIT/CHWALA.py} +97 -76
  94. disdrodb/l0/readers/LPM/SLOVENIA/ARSO.py +197 -0
  95. disdrodb/l0/readers/LPM/SLOVENIA/CRNI_VRH.py +197 -0
  96. disdrodb/l0/readers/{UK → LPM/UK}/DIVEN.py +14 -35
  97. disdrodb/l0/readers/PARSIVEL/AUSTRALIA/MELBOURNE_2007_PARSIVEL.py +157 -0
  98. disdrodb/l0/readers/PARSIVEL/CHINA/CHONGQING.py +113 -0
  99. disdrodb/l0/readers/{EPFL → PARSIVEL/EPFL}/ARCTIC_2021.py +40 -57
  100. disdrodb/l0/readers/{EPFL → PARSIVEL/EPFL}/COMMON_2011.py +37 -54
  101. disdrodb/l0/readers/{EPFL → PARSIVEL/EPFL}/DAVOS_2009_2011.py +34 -51
  102. disdrodb/l0/readers/{EPFL → PARSIVEL/EPFL}/EPFL_2009.py +34 -51
  103. disdrodb/l0/readers/{EPFL/PARADISO_2014.py → PARSIVEL/EPFL/EPFL_ROOF_2008.py} +38 -50
  104. disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_ROOF_2010.py +105 -0
  105. disdrodb/l0/readers/{EPFL → PARSIVEL/EPFL}/EPFL_ROOF_2011.py +34 -51
  106. disdrodb/l0/readers/{EPFL → PARSIVEL/EPFL}/EPFL_ROOF_2012.py +33 -51
  107. disdrodb/l0/readers/{EPFL → PARSIVEL/EPFL}/GENEPI_2007.py +25 -44
  108. disdrodb/l0/readers/{EPFL → PARSIVEL/EPFL}/GRAND_ST_BERNARD_2007.py +25 -44
  109. disdrodb/l0/readers/{EPFL → PARSIVEL/EPFL}/GRAND_ST_BERNARD_2007_2.py +25 -44
  110. disdrodb/l0/readers/{EPFL → PARSIVEL/EPFL}/HPICONET_2010.py +34 -51
  111. disdrodb/l0/readers/{EPFL/EPFL_ROOF_2010.py → PARSIVEL/EPFL/HYMEX_LTE_SOP2.py} +37 -50
  112. disdrodb/l0/readers/PARSIVEL/EPFL/HYMEX_LTE_SOP3.py +111 -0
  113. disdrodb/l0/readers/{EPFL → PARSIVEL/EPFL}/HYMEX_LTE_SOP4.py +36 -54
  114. disdrodb/l0/readers/{EPFL → PARSIVEL/EPFL}/LOCARNO_2018.py +34 -52
  115. disdrodb/l0/readers/{EPFL → PARSIVEL/EPFL}/LOCARNO_2019.py +38 -56
  116. disdrodb/l0/readers/PARSIVEL/EPFL/PARADISO_2014.py +105 -0
  117. disdrodb/l0/readers/{EPFL → PARSIVEL/EPFL}/PARSIVEL_2007.py +27 -45
  118. disdrodb/l0/readers/{EPFL → PARSIVEL/EPFL}/PLATO_2019.py +24 -44
  119. disdrodb/l0/readers/PARSIVEL/EPFL/RACLETS_2019.py +140 -0
  120. disdrodb/l0/readers/{EPFL → PARSIVEL/EPFL}/RACLETS_2019_WJF.py +41 -59
  121. disdrodb/l0/readers/{EPFL → PARSIVEL/EPFL}/RIETHOLZBACH_2011.py +34 -51
  122. disdrodb/l0/readers/PARSIVEL/EPFL/SAMOYLOV_2017.py +117 -0
  123. disdrodb/l0/readers/PARSIVEL/EPFL/SAMOYLOV_2019.py +137 -0
  124. disdrodb/l0/readers/{EPFL → PARSIVEL/EPFL}/UNIL_2022.py +42 -55
  125. disdrodb/l0/readers/PARSIVEL/GPM/IFLOODS.py +104 -0
  126. disdrodb/l0/readers/{GPM → PARSIVEL/GPM}/LPVEX.py +29 -48
  127. disdrodb/l0/readers/PARSIVEL/GPM/MC3E.py +184 -0
  128. disdrodb/l0/readers/PARSIVEL/KIT/BURKINA_FASO.py +133 -0
  129. disdrodb/l0/readers/PARSIVEL/NCAR/CCOPE_2015.py +113 -0
  130. disdrodb/l0/readers/{NCAR/VORTEX_SE_2016_P1.py → PARSIVEL/NCAR/OWLES_MIPS.py} +46 -72
  131. disdrodb/l0/readers/PARSIVEL/NCAR/PECAN_MOBILE.py +125 -0
  132. disdrodb/l0/readers/{NCAR/OWLES_MIPS.py → PARSIVEL/NCAR/PLOWS_MIPS.py} +45 -64
  133. disdrodb/l0/readers/PARSIVEL/NCAR/VORTEX2_2009.py +114 -0
  134. disdrodb/l0/readers/PARSIVEL/NCAR/VORTEX2_2010.py +176 -0
  135. disdrodb/l0/readers/PARSIVEL/NCAR/VORTEX2_2010_UF.py +183 -0
  136. disdrodb/l0/readers/PARSIVEL/SLOVENIA/UL_FGG.py +121 -0
  137. disdrodb/l0/readers/{ARM/ARM_LD.py → PARSIVEL2/ARM/ARM_PARSIVEL2.py} +27 -50
  138. disdrodb/l0/readers/PARSIVEL2/BRAZIL/CHUVA_PARSIVEL2.py +163 -0
  139. disdrodb/l0/readers/PARSIVEL2/BRAZIL/GOAMAZON_PARSIVEL2.py +163 -0
  140. disdrodb/l0/readers/{DENMARK → PARSIVEL2/DENMARK}/EROSION_nc.py +14 -35
  141. disdrodb/l0/readers/PARSIVEL2/FRANCE/ENPC_PARSIVEL2.py +189 -0
  142. disdrodb/l0/readers/PARSIVEL2/FRANCE/SIRTA_PARSIVEL2.py +119 -0
  143. disdrodb/l0/readers/PARSIVEL2/GPM/GCPEX.py +104 -0
  144. disdrodb/l0/readers/PARSIVEL2/GPM/NSSTC.py +176 -0
  145. disdrodb/l0/readers/PARSIVEL2/ITALY/GID_PARSIVEL2.py +32 -0
  146. disdrodb/l0/readers/PARSIVEL2/MEXICO/OH_IIUNAM_nc.py +56 -0
  147. disdrodb/l0/readers/PARSIVEL2/NCAR/PECAN_FP3.py +120 -0
  148. disdrodb/l0/readers/{NCAR → PARSIVEL2/NCAR}/PECAN_MIPS.py +45 -64
  149. disdrodb/l0/readers/PARSIVEL2/NCAR/RELAMPAGO_PARSIVEL2.py +181 -0
  150. disdrodb/l0/readers/PARSIVEL2/NCAR/SNOWIE_PJ.py +160 -0
  151. disdrodb/l0/readers/PARSIVEL2/NCAR/SNOWIE_SB.py +160 -0
  152. disdrodb/l0/readers/{NCAR/PLOWS_MIPS.py → PARSIVEL2/NCAR/VORTEX_SE_2016_P1.py} +49 -66
  153. disdrodb/l0/readers/PARSIVEL2/NCAR/VORTEX_SE_2016_P2.py +118 -0
  154. disdrodb/l0/readers/PARSIVEL2/NCAR/VORTEX_SE_2016_PIPS.py +152 -0
  155. disdrodb/l0/readers/PARSIVEL2/NETHERLANDS/DELFT.py +166 -0
  156. disdrodb/l0/readers/PWS100/FRANCE/ENPC_PWS100.py +150 -0
  157. disdrodb/l0/readers/{NCAR/RELAMPAGO_RD80.py → RD80/BRAZIL/CHUVA_RD80.py} +36 -60
  158. disdrodb/l0/readers/{BRAZIL → RD80/BRAZIL}/GOAMAZON_RD80.py +36 -55
  159. disdrodb/l0/readers/{NCAR → RD80/NCAR}/CINDY_2011_RD80.py +35 -54
  160. disdrodb/l0/readers/{BRAZIL/CHUVA_RD80.py → RD80/NCAR/RELAMPAGO_RD80.py} +40 -54
  161. disdrodb/l0/readers/RD80/NOAA/PSL_RD80.py +274 -0
  162. disdrodb/l0/readers/template_reader_raw_netcdf_data.py +62 -0
  163. disdrodb/l0/readers/{reader_template.py → template_reader_raw_text_data.py} +20 -44
  164. disdrodb/l0/routines.py +885 -581
  165. disdrodb/l0/standards.py +77 -238
  166. disdrodb/l0/template_tools.py +105 -110
  167. disdrodb/l1/__init__.py +17 -0
  168. disdrodb/l1/beard_model.py +716 -0
  169. disdrodb/l1/encoding_attrs.py +635 -0
  170. disdrodb/l1/fall_velocity.py +260 -0
  171. disdrodb/l1/filters.py +192 -0
  172. disdrodb/l1/processing.py +202 -0
  173. disdrodb/l1/resampling.py +236 -0
  174. disdrodb/l1/routines.py +358 -0
  175. disdrodb/l1_env/__init__.py +17 -0
  176. disdrodb/l1_env/routines.py +38 -0
  177. disdrodb/l2/__init__.py +17 -0
  178. disdrodb/l2/empirical_dsd.py +1833 -0
  179. disdrodb/l2/event.py +388 -0
  180. disdrodb/l2/processing.py +528 -0
  181. disdrodb/l2/processing_options.py +213 -0
  182. disdrodb/l2/routines.py +868 -0
  183. disdrodb/metadata/__init__.py +9 -2
  184. disdrodb/metadata/checks.py +180 -124
  185. disdrodb/metadata/download.py +81 -0
  186. disdrodb/metadata/geolocation.py +146 -0
  187. disdrodb/metadata/info.py +20 -13
  188. disdrodb/metadata/manipulation.py +3 -3
  189. disdrodb/metadata/reader.py +59 -8
  190. disdrodb/metadata/search.py +77 -144
  191. disdrodb/metadata/standards.py +83 -80
  192. disdrodb/metadata/writer.py +10 -16
  193. disdrodb/psd/__init__.py +38 -0
  194. disdrodb/psd/fitting.py +2146 -0
  195. disdrodb/psd/models.py +774 -0
  196. disdrodb/routines.py +1412 -0
  197. disdrodb/scattering/__init__.py +28 -0
  198. disdrodb/scattering/axis_ratio.py +344 -0
  199. disdrodb/scattering/routines.py +456 -0
  200. disdrodb/utils/__init__.py +17 -0
  201. disdrodb/utils/attrs.py +208 -0
  202. disdrodb/utils/cli.py +269 -0
  203. disdrodb/utils/compression.py +60 -42
  204. disdrodb/utils/dask.py +62 -0
  205. disdrodb/utils/dataframe.py +342 -0
  206. disdrodb/utils/decorators.py +110 -0
  207. disdrodb/utils/directories.py +107 -46
  208. disdrodb/utils/encoding.py +127 -0
  209. disdrodb/utils/list.py +29 -0
  210. disdrodb/utils/logger.py +168 -46
  211. disdrodb/utils/time.py +657 -0
  212. disdrodb/utils/warnings.py +30 -0
  213. disdrodb/utils/writer.py +57 -0
  214. disdrodb/utils/xarray.py +138 -47
  215. disdrodb/utils/yaml.py +0 -1
  216. disdrodb/viz/__init__.py +17 -0
  217. disdrodb/viz/plots.py +17 -0
  218. disdrodb-0.1.1.dist-info/METADATA +294 -0
  219. disdrodb-0.1.1.dist-info/RECORD +232 -0
  220. {disdrodb-0.0.21.dist-info → disdrodb-0.1.1.dist-info}/WHEEL +1 -1
  221. disdrodb-0.1.1.dist-info/entry_points.txt +30 -0
  222. disdrodb/data_transfer/scripts/disdrodb_download_archive.py +0 -53
  223. disdrodb/data_transfer/scripts/disdrodb_upload_archive.py +0 -57
  224. disdrodb/l0/configs/OTT_Parsivel/l0a_encodings.yml +0 -32
  225. disdrodb/l0/configs/OTT_Parsivel2/l0a_encodings.yml +0 -39
  226. disdrodb/l0/configs/RD_80/l0a_encodings.yml +0 -16
  227. disdrodb/l0/configs/RD_80/l0b_encodings.yml +0 -135
  228. disdrodb/l0/configs/Thies_LPM/l0a_encodings.yml +0 -80
  229. disdrodb/l0/io.py +0 -257
  230. disdrodb/l0/l0_processing.py +0 -1091
  231. disdrodb/l0/readers/AUSTRALIA/MELBOURNE_2007_OTT.py +0 -178
  232. disdrodb/l0/readers/AUSTRALIA/MELBOURNE_2007_THIES.py +0 -247
  233. disdrodb/l0/readers/BRAZIL/CHUVA_LPM.py +0 -204
  234. disdrodb/l0/readers/BRAZIL/CHUVA_OTT.py +0 -183
  235. disdrodb/l0/readers/BRAZIL/GOAMAZON_OTT.py +0 -183
  236. disdrodb/l0/readers/CHINA/CHONGQING.py +0 -131
  237. disdrodb/l0/readers/EPFL/EPFL_ROOF_2008.py +0 -128
  238. disdrodb/l0/readers/EPFL/HYMEX_LTE_SOP2.py +0 -127
  239. disdrodb/l0/readers/EPFL/HYMEX_LTE_SOP3.py +0 -129
  240. disdrodb/l0/readers/EPFL/RACLETS_2019.py +0 -158
  241. disdrodb/l0/readers/EPFL/SAMOYLOV_2017.py +0 -136
  242. disdrodb/l0/readers/EPFL/SAMOYLOV_2019.py +0 -158
  243. disdrodb/l0/readers/FRANCE/SIRTA_OTT2.py +0 -138
  244. disdrodb/l0/readers/GPM/GCPEX.py +0 -123
  245. disdrodb/l0/readers/GPM/IFLOODS.py +0 -123
  246. disdrodb/l0/readers/GPM/MC3E.py +0 -123
  247. disdrodb/l0/readers/GPM/NSSTC.py +0 -164
  248. disdrodb/l0/readers/ITALY/GID.py +0 -199
  249. disdrodb/l0/readers/MEXICO/OH_IIUNAM_nc.py +0 -92
  250. disdrodb/l0/readers/NCAR/CCOPE_2015.py +0 -133
  251. disdrodb/l0/readers/NCAR/PECAN_FP3.py +0 -137
  252. disdrodb/l0/readers/NCAR/PECAN_MOBILE.py +0 -144
  253. disdrodb/l0/readers/NCAR/RELAMPAGO_OTT.py +0 -195
  254. disdrodb/l0/readers/NCAR/SNOWIE_PJ.py +0 -172
  255. disdrodb/l0/readers/NCAR/SNOWIE_SB.py +0 -179
  256. disdrodb/l0/readers/NCAR/VORTEX2_2009.py +0 -133
  257. disdrodb/l0/readers/NCAR/VORTEX2_2010.py +0 -188
  258. disdrodb/l0/readers/NCAR/VORTEX2_2010_UF.py +0 -191
  259. disdrodb/l0/readers/NCAR/VORTEX_SE_2016_P2.py +0 -135
  260. disdrodb/l0/readers/NCAR/VORTEX_SE_2016_PIPS.py +0 -170
  261. disdrodb/l0/readers/NETHERLANDS/DELFT.py +0 -187
  262. disdrodb/l0/readers/SPAIN/SBEGUERIA.py +0 -179
  263. disdrodb/l0/scripts/disdrodb_run_l0b_concat.py +0 -93
  264. disdrodb/l0/scripts/disdrodb_run_l0b_concat_station.py +0 -85
  265. disdrodb/utils/netcdf.py +0 -452
  266. disdrodb/utils/scripts.py +0 -102
  267. disdrodb-0.0.21.dist-info/AUTHORS.md +0 -18
  268. disdrodb-0.0.21.dist-info/METADATA +0 -186
  269. disdrodb-0.0.21.dist-info/RECORD +0 -168
  270. disdrodb-0.0.21.dist-info/entry_points.txt +0 -15
  271. /disdrodb/l0/configs/{RD_80 → RD80}/bins_velocity.yml +0 -0
  272. /disdrodb/l0/manuals/{Thies_LPM.pdf → LPM.pdf} +0 -0
  273. /disdrodb/l0/manuals/{ODM_470.pdf → ODM470.pdf} +0 -0
  274. /disdrodb/l0/manuals/{OTT_Parsivel.pdf → PARSIVEL.pdf} +0 -0
  275. /disdrodb/l0/manuals/{OTT_Parsivel2.pdf → PARSIVEL2.pdf} +0 -0
  276. /disdrodb/l0/manuals/{PWS_100.pdf → PWS100.pdf} +0 -0
  277. /disdrodb/l0/manuals/{RD_80.pdf → RD80.pdf} +0 -0
  278. {disdrodb-0.0.21.dist-info → disdrodb-0.1.1.dist-info/licenses}/LICENSE +0 -0
  279. {disdrodb-0.0.21.dist-info → disdrodb-0.1.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,635 @@
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
+ """Attributes and encoding options for DISDRODB products."""
18
+
19
+
20
+ def get_attrs_dict():
21
+ """Temporary attributes."""
22
+ attrs_dict = {
23
+ #### L1
24
+ "drop_number": {
25
+ "description": "Counts of drops per diameter and velocity class",
26
+ "long_name": "Drop counts per diameter and velocity class",
27
+ "units": "",
28
+ },
29
+ "drop_counts": {
30
+ "description": "Counts of drops per diameter class",
31
+ "long_name": "Drop counts per diameter class",
32
+ "units": "",
33
+ },
34
+ "Dmin": {
35
+ "description": "Minimum drop diameter",
36
+ "long_name": "Minimum drop diameter",
37
+ "units": "mm",
38
+ },
39
+ "Dmax": {
40
+ "description": "Maximum drop diameter",
41
+ "long_name": "Maximum drop diameter",
42
+ "units": "mm",
43
+ },
44
+ "fall_velocity": {
45
+ "description": "Estimated drop fall velocity per diameter class",
46
+ "long_name": "Estimated drop fall velocity",
47
+ "units": "m s-1",
48
+ },
49
+ "drop_average_velocity": {
50
+ "description": "Average measured drop fall velocity per diameter class",
51
+ "long_name": "Measured average drop fall velocity",
52
+ "units": "m s-1",
53
+ },
54
+ "N": {
55
+ "description": "Total number of selected drops",
56
+ "long_name": "Total number of selected drops",
57
+ "units": "",
58
+ },
59
+ "Nremoved": {
60
+ "description": "Total number of discarded drops",
61
+ "long_name": "Total number of discarded drops",
62
+ "units": "",
63
+ },
64
+ "Nbins": {
65
+ "description": "Number of diameter bins with drops",
66
+ "long_name": "Number of diameter bins with drops",
67
+ "units": "",
68
+ },
69
+ "Nbins_missing": {
70
+ "description": "Number of diameter bins with no drops",
71
+ "long_name": "Number of diameter bins with no drops",
72
+ "units": "",
73
+ },
74
+ "Nbins_missing_fraction": {
75
+ "description": "Fraction of diameter bins with no drops",
76
+ "long_name": "Fraction of diameter bins with no drops",
77
+ "units": "",
78
+ },
79
+ "Nbins_missing_consecutive": {
80
+ "description": "Maximum number of consecutive diameter bins with no drops",
81
+ "long_name": "Maximum number of consecutive diameter bins with no drops",
82
+ "units": "",
83
+ },
84
+ #### L2
85
+ "drop_number_concentration": {
86
+ "description": "Number concentration of drops per diameter class per unit volume",
87
+ "long_name": "Drop number concentration per diameter class",
88
+ "units": "m-3 mm-1",
89
+ },
90
+ "drop_volume": {
91
+ "standard_name": "",
92
+ "units": "mm3",
93
+ "long_name": "Volume of Drops per Diameter Class",
94
+ },
95
+ "drop_total_volume": {
96
+ "standard_name": "",
97
+ "units": "mm3",
98
+ "long_name": "Total Volume of Drops",
99
+ },
100
+ "drop_relative_volume_ratio": {
101
+ "standard_name": "",
102
+ "units": "",
103
+ "long_name": "Relative Volume Ratio of Drops",
104
+ },
105
+ "KEmin": {
106
+ "standard_name": "",
107
+ "units": "J",
108
+ "long_name": "Minimum Drop Kinetic Energy",
109
+ },
110
+ "KEmax": {
111
+ "standard_name": "",
112
+ "units": "J",
113
+ "long_name": "Maximum Drop Kinetic Energy",
114
+ },
115
+ "E": {
116
+ "description": "Kinetic energy per unit rainfall depth",
117
+ "standard_name": "",
118
+ "units": "J m-2 mm-1",
119
+ "long_name": "Rainfall Kinetic Energy",
120
+ },
121
+ "KE": {
122
+ "standard_name": "",
123
+ "units": "J m-2 h-1",
124
+ "long_name": "Kinetic Energy Density Flux",
125
+ },
126
+ "M1": {
127
+ "standard_name": "",
128
+ "units": "m-3 mm",
129
+ "long_name": "First Moment of the Drop Size Distribution",
130
+ },
131
+ "M2": {
132
+ "standard_name": "",
133
+ "units": "m-3 mm2",
134
+ "long_name": "Second Moment of the Drop Size Distribution",
135
+ },
136
+ "M3": {
137
+ "standard_name": "",
138
+ "units": "m-3 mm3",
139
+ "long_name": "Third Moment of the Drop Size Distribution",
140
+ },
141
+ "M4": {
142
+ "standard_name": "",
143
+ "units": "m-3 mm4",
144
+ "long_name": "Fourth Moment of the Drop Size Distribution",
145
+ },
146
+ "M5": {
147
+ "standard_name": "",
148
+ "units": "m-3 mm5",
149
+ "long_name": "Fifth Moment of the Drop Size Distribution",
150
+ },
151
+ "M6": {
152
+ "standard_name": "",
153
+ "units": "m-3 mm6",
154
+ "long_name": "Sixth Moment of the Drop Size Distribution",
155
+ },
156
+ "Nt": {
157
+ "standard_name": "number_concentration_of_rain_drops_in_air",
158
+ "units": "m-3",
159
+ "long_name": "Total Number Concentration",
160
+ },
161
+ "R": {
162
+ "standard_name": "rainfall_rate",
163
+ "units": "mm h-1",
164
+ "long_name": "Instantaneous Rainfall Rate",
165
+ },
166
+ "P": {
167
+ "standard_name": "precipitation_amount",
168
+ "units": "mm",
169
+ "long_name": "Rain Accumulation",
170
+ },
171
+ "Z": {
172
+ "standard_name": "equivalent_reflectivity_factor",
173
+ "units": "dBZ",
174
+ "long_name": "Equivalent Radar Reflectivity Factor",
175
+ },
176
+ "W": {
177
+ "description": "Water Mass of the Drop Size Distribution",
178
+ "standard_name": "mass_concentration_of_liquid_water_in_air",
179
+ "units": "g m-3",
180
+ "long_name": "Liquid Water Content",
181
+ },
182
+ "D10": {
183
+ "standard_name": "",
184
+ "units": "mm",
185
+ "long_name": "10th Percentile Drop Diameter",
186
+ },
187
+ "D50": {
188
+ "standard_name": "median_volume_diameter",
189
+ "units": "mm",
190
+ "long_name": "Median Volume Drop Diameter",
191
+ },
192
+ "D90": {
193
+ "standard_name": "",
194
+ "units": "mm",
195
+ "long_name": "90th Percentile Drop Diameter",
196
+ },
197
+ "Dmode": {
198
+ "standard_name": "",
199
+ "units": "mm",
200
+ "long_name": "Mode Diameter of the Drop Size Distribution",
201
+ },
202
+ "Dm": {
203
+ "standard_name": "Dm",
204
+ "units": "mm",
205
+ "long_name": "Mean Volume Diameter",
206
+ },
207
+ "sigma_m": {
208
+ "standard_name": "",
209
+ "units": "mm",
210
+ "long_name": "Standard Deviation of Mass Spectrum",
211
+ },
212
+ "Nw": {
213
+ "standard_name": "normalized_intercept_parameter",
214
+ "units": "mm-1 m-3", # TODO
215
+ "long_name": "Normalized Intercept Parameter of a Normalized Gamma Distribution",
216
+ },
217
+ "N0": {
218
+ "standard_name": "intercept_parameter",
219
+ "units": "mm-1 m-3", # TODO
220
+ "long_name": "Intercept Parameter of the Modeled Drop Size Distribution",
221
+ },
222
+ "mu": {
223
+ "standard_name": "shape_parameter",
224
+ "units": "1", # TODO
225
+ "long_name": "Shape Parameter of the Modeled Drop Size Distribution",
226
+ },
227
+ "Lambda": {
228
+ "standard_name": "distribution_slope",
229
+ "units": "1/mm", # TODO
230
+ "long_name": "Slope Parameter of the Modeled Drop Size Distribution",
231
+ },
232
+ "sigma": {
233
+ "standard_name": "distribution_slope",
234
+ "units": "1/mm", # TODO
235
+ "long_name": "Slope Parameter of the Modeled Lognormal Distribution",
236
+ },
237
+ # Radar variables
238
+ "Zh": {
239
+ "description": "Radar reflectivity factor at horizontal polarization",
240
+ "long_name": "Horizontal Reflectivity",
241
+ "units": "dBZ",
242
+ },
243
+ "Zdr": {
244
+ "description": "Differential reflectivity",
245
+ "long_name": "Differential Reflectivity",
246
+ "units": "dB",
247
+ },
248
+ "rho_hv": {
249
+ "description": "Correlation coefficient between horizontally and vertically polarized reflectivity",
250
+ "long_name": "Copolarized Correlation Coefficient",
251
+ "units": "",
252
+ },
253
+ "ldr": {
254
+ "description": "Linear depolarization ratio",
255
+ "long_name": "Linear Depolarization Ratio",
256
+ "units": "dB",
257
+ },
258
+ "Kdp": {
259
+ "description": "Specific differential phase",
260
+ "long_name": "Specific Differential Phase",
261
+ "units": "deg/km",
262
+ },
263
+ "Ai": {
264
+ "description": "Specific attenuation",
265
+ "long_name": "Specific attenuation",
266
+ "units": "dB/km",
267
+ },
268
+ }
269
+ return attrs_dict
270
+
271
+
272
+ def get_encoding_dict():
273
+ """Temporary encoding dictionary."""
274
+ encoding_dict = {
275
+ "M1": {
276
+ "dtype": "float32",
277
+ "zlib": True,
278
+ "complevel": 3,
279
+ "shuffle": True,
280
+ "fletcher32": False,
281
+ "contiguous": False,
282
+ },
283
+ "M2": {
284
+ "dtype": "float32",
285
+ "zlib": True,
286
+ "complevel": 3,
287
+ "shuffle": True,
288
+ "fletcher32": False,
289
+ "contiguous": False,
290
+ },
291
+ "M3": {
292
+ "dtype": "float32",
293
+ "zlib": True,
294
+ "complevel": 3,
295
+ "shuffle": True,
296
+ "fletcher32": False,
297
+ "contiguous": False,
298
+ },
299
+ "M4": {
300
+ "dtype": "float32",
301
+ "zlib": True,
302
+ "complevel": 3,
303
+ "shuffle": True,
304
+ "fletcher32": False,
305
+ "contiguous": False,
306
+ },
307
+ "M5": {
308
+ "dtype": "float32",
309
+ "zlib": True,
310
+ "complevel": 3,
311
+ "shuffle": True,
312
+ "fletcher32": False,
313
+ "contiguous": False,
314
+ },
315
+ "M6": {
316
+ "dtype": "float32",
317
+ "zlib": True,
318
+ "complevel": 3,
319
+ "shuffle": True,
320
+ "fletcher32": False,
321
+ "contiguous": False,
322
+ },
323
+ "Nt": {
324
+ "dtype": "float32",
325
+ "zlib": True,
326
+ "complevel": 3,
327
+ "shuffle": True,
328
+ "fletcher32": False,
329
+ "contiguous": False,
330
+ },
331
+ "R": {
332
+ "dtype": "uint16",
333
+ "scale_factor": 0.01,
334
+ "_FillValue": 65535,
335
+ "zlib": True,
336
+ "complevel": 3,
337
+ "shuffle": True,
338
+ "fletcher32": False,
339
+ "contiguous": False,
340
+ },
341
+ "P": {
342
+ "dtype": "float32",
343
+ "zlib": True,
344
+ "complevel": 3,
345
+ "shuffle": True,
346
+ "fletcher32": False,
347
+ "contiguous": False,
348
+ },
349
+ "Z": {
350
+ "dtype": "uint16",
351
+ "scale_factor": 0.01,
352
+ "add_offset": -60,
353
+ "_FillValue": 65535,
354
+ "zlib": True,
355
+ "complevel": 3,
356
+ "shuffle": True,
357
+ "fletcher32": False,
358
+ "contiguous": False,
359
+ },
360
+ "W": {
361
+ "dtype": "float32",
362
+ "zlib": True,
363
+ "complevel": 3,
364
+ "shuffle": True,
365
+ "fletcher32": False,
366
+ "contiguous": False,
367
+ },
368
+ "Dm": {
369
+ "dtype": "uint16",
370
+ "scale_factor": 0.001,
371
+ "_FillValue": 65535,
372
+ "zlib": True,
373
+ "complevel": 3,
374
+ "shuffle": True,
375
+ "fletcher32": False,
376
+ "contiguous": False,
377
+ },
378
+ "sigma_m": {
379
+ "dtype": "uint16",
380
+ "scale_factor": 0.001,
381
+ "_FillValue": 65535,
382
+ "zlib": True,
383
+ "complevel": 3,
384
+ "shuffle": True,
385
+ "fletcher32": False,
386
+ "contiguous": False,
387
+ },
388
+ "Dmode": {
389
+ "dtype": "uint16",
390
+ "scale_factor": 0.001,
391
+ "_FillValue": 65535,
392
+ "zlib": True,
393
+ "complevel": 3,
394
+ "shuffle": True,
395
+ "fletcher32": False,
396
+ "contiguous": False,
397
+ },
398
+ "Nw": {
399
+ "dtype": "float32",
400
+ "zlib": True,
401
+ "complevel": 3,
402
+ "shuffle": True,
403
+ "fletcher32": False,
404
+ "contiguous": False,
405
+ },
406
+ "D50": {
407
+ "dtype": "uint16",
408
+ "scale_factor": 0.001,
409
+ "_FillValue": 65535,
410
+ "zlib": True,
411
+ "complevel": 3,
412
+ "shuffle": True,
413
+ "fletcher32": False,
414
+ "contiguous": False,
415
+ },
416
+ "D10": {
417
+ "dtype": "uint16",
418
+ "scale_factor": 0.001,
419
+ "_FillValue": 65535,
420
+ "zlib": True,
421
+ "complevel": 3,
422
+ "shuffle": True,
423
+ "fletcher32": False,
424
+ "contiguous": False,
425
+ },
426
+ "D90": {
427
+ "dtype": "uint16",
428
+ "scale_factor": 0.001,
429
+ "_FillValue": 65535,
430
+ "zlib": True,
431
+ "complevel": 3,
432
+ "shuffle": True,
433
+ "fletcher32": False,
434
+ "contiguous": False,
435
+ },
436
+ "drop_number": {
437
+ "dtype": "uint32",
438
+ "zlib": True,
439
+ "complevel": 3,
440
+ "shuffle": True,
441
+ "fletcher32": False,
442
+ "contiguous": False,
443
+ "_FillValue": 4294967295,
444
+ },
445
+ "drop_counts": {
446
+ "dtype": "uint32",
447
+ "zlib": True,
448
+ "complevel": 3,
449
+ "shuffle": True,
450
+ "fletcher32": False,
451
+ "contiguous": False,
452
+ "_FillValue": 4294967295,
453
+ },
454
+ "N": {
455
+ "dtype": "uint32",
456
+ "zlib": True,
457
+ "complevel": 3,
458
+ "shuffle": True,
459
+ "fletcher32": False,
460
+ "contiguous": False,
461
+ "_FillValue": 4294967295,
462
+ },
463
+ "Nremoved": {
464
+ "dtype": "uint32",
465
+ "zlib": True,
466
+ "complevel": 3,
467
+ "shuffle": True,
468
+ "fletcher32": False,
469
+ "contiguous": False,
470
+ "_FillValue": 4294967295,
471
+ },
472
+ "Nbins": {
473
+ "dtype": "uint8",
474
+ "_FillValue": 255,
475
+ "zlib": True,
476
+ "complevel": 3,
477
+ "shuffle": True,
478
+ "fletcher32": False,
479
+ "contiguous": False,
480
+ },
481
+ "Dmin": {
482
+ "dtype": "uint16",
483
+ "scale_factor": 0.001,
484
+ "_FillValue": 65535,
485
+ "zlib": True,
486
+ "complevel": 3,
487
+ "shuffle": True,
488
+ "fletcher32": False,
489
+ "contiguous": False,
490
+ },
491
+ "Dmax": {
492
+ "dtype": "uint16",
493
+ "scale_factor": 0.001,
494
+ "_FillValue": 65535,
495
+ "zlib": True,
496
+ "complevel": 3,
497
+ "shuffle": True,
498
+ "fletcher32": False,
499
+ "contiguous": False,
500
+ },
501
+ "drop_average_velocity": {
502
+ "dtype": "uint16",
503
+ "scale_factor": 0.001,
504
+ "_FillValue": 65535,
505
+ "zlib": True,
506
+ "complevel": 3,
507
+ "shuffle": True,
508
+ "fletcher32": False,
509
+ "contiguous": False,
510
+ },
511
+ "fall_velocity": {
512
+ "dtype": "uint16",
513
+ "scale_factor": 0.001,
514
+ "_FillValue": 65535,
515
+ "zlib": True,
516
+ "complevel": 3,
517
+ "shuffle": True,
518
+ "fletcher32": False,
519
+ "contiguous": False,
520
+ },
521
+ "drop_number_concentration": {
522
+ "dtype": "float32",
523
+ "zlib": True,
524
+ "complevel": 3,
525
+ "shuffle": True,
526
+ "fletcher32": False,
527
+ "contiguous": False,
528
+ },
529
+ "drop_volume": {
530
+ "dtype": "float32",
531
+ "zlib": True,
532
+ "complevel": 3,
533
+ "shuffle": True,
534
+ "fletcher32": False,
535
+ "contiguous": False,
536
+ },
537
+ "drop_total_volume": {
538
+ "dtype": "float32",
539
+ "zlib": True,
540
+ "complevel": 3,
541
+ "shuffle": True,
542
+ "fletcher32": False,
543
+ "contiguous": False,
544
+ },
545
+ "drop_relative_volume_ratio": {
546
+ "dtype": "float32",
547
+ "zlib": True,
548
+ "complevel": 3,
549
+ "shuffle": True,
550
+ "fletcher32": False,
551
+ "contiguous": False,
552
+ },
553
+ "KEmin": {
554
+ "dtype": "float32",
555
+ "zlib": True,
556
+ "complevel": 3,
557
+ "shuffle": True,
558
+ "fletcher32": False,
559
+ "contiguous": False,
560
+ },
561
+ "KEmax": {
562
+ "dtype": "float32",
563
+ "zlib": True,
564
+ "complevel": 3,
565
+ "shuffle": True,
566
+ "fletcher32": False,
567
+ "contiguous": False,
568
+ },
569
+ "E": {
570
+ "dtype": "float32",
571
+ "zlib": True,
572
+ "complevel": 3,
573
+ "shuffle": True,
574
+ "fletcher32": False,
575
+ "contiguous": False,
576
+ },
577
+ "KE": {
578
+ "dtype": "float32",
579
+ "zlib": True,
580
+ "complevel": 3,
581
+ "shuffle": True,
582
+ "fletcher32": False,
583
+ "contiguous": False,
584
+ },
585
+ # Radar variables
586
+ "Zh": {
587
+ "dtype": "float32",
588
+ "zlib": True,
589
+ "complevel": 3,
590
+ "shuffle": True,
591
+ "fletcher32": False,
592
+ "contiguous": False,
593
+ },
594
+ "Zdr": {
595
+ "dtype": "float32",
596
+ "zlib": True,
597
+ "complevel": 3,
598
+ "shuffle": True,
599
+ "fletcher32": False,
600
+ "contiguous": False,
601
+ },
602
+ "rho_hv": {
603
+ "dtype": "float32",
604
+ "zlib": True,
605
+ "complevel": 3,
606
+ "shuffle": True,
607
+ "fletcher32": False,
608
+ "contiguous": False,
609
+ },
610
+ "ldr": {
611
+ "dtype": "float32",
612
+ "zlib": True,
613
+ "complevel": 3,
614
+ "shuffle": True,
615
+ "fletcher32": False,
616
+ "contiguous": False,
617
+ },
618
+ "Kdp": {
619
+ "dtype": "float32",
620
+ "zlib": True,
621
+ "complevel": 3,
622
+ "shuffle": True,
623
+ "fletcher32": False,
624
+ "contiguous": False,
625
+ },
626
+ "Ai": {
627
+ "dtype": "float32",
628
+ "zlib": True,
629
+ "complevel": 3,
630
+ "shuffle": True,
631
+ "fletcher32": False,
632
+ "contiguous": False,
633
+ },
634
+ }
635
+ return encoding_dict