disdrodb 0.0.21__tar.gz → 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. {disdrodb-0.0.21 → disdrodb-0.1.0}/.gitignore +6 -10
  2. disdrodb-0.1.0/.pre-commit-config.yaml +71 -0
  3. disdrodb-0.1.0/.readthedocs.yaml +25 -0
  4. {disdrodb-0.0.21 → disdrodb-0.1.0}/AUTHORS.md +4 -2
  5. disdrodb-0.1.0/CHANGELOG.md +19 -0
  6. {disdrodb-0.0.21 → disdrodb-0.1.0}/CODE_OF_CONDUCT.md +19 -20
  7. disdrodb-0.1.0/CONTRIBUTING.rst +353 -0
  8. {disdrodb-0.0.21 → disdrodb-0.1.0}/MANIFEST.in +1 -3
  9. disdrodb-0.1.0/Makefile +25 -0
  10. disdrodb-0.1.0/PKG-INFO +321 -0
  11. disdrodb-0.1.0/README.md +272 -0
  12. {disdrodb-0.0.21 → disdrodb-0.1.0}/SECURITY.md +4 -4
  13. disdrodb-0.1.0/disdrodb/__init__.py +160 -0
  14. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb/_config.py +4 -2
  15. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb/_version.py +9 -4
  16. disdrodb-0.1.0/disdrodb/api/checks.py +477 -0
  17. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb/api/configs.py +4 -8
  18. disdrodb-0.1.0/disdrodb/api/create_directories.py +428 -0
  19. disdrodb-0.1.0/disdrodb/api/info.py +467 -0
  20. disdrodb-0.1.0/disdrodb/api/io.py +352 -0
  21. disdrodb-0.1.0/disdrodb/api/path.py +928 -0
  22. disdrodb-0.1.0/disdrodb/api/search.py +486 -0
  23. {disdrodb-0.0.21/disdrodb/metadata/scripts → disdrodb-0.1.0/disdrodb/cli}/disdrodb_check_metadata_archive.py +12 -7
  24. disdrodb-0.0.21/disdrodb/utils/pandas.py → disdrodb-0.1.0/disdrodb/cli/disdrodb_data_archive_directory.py +9 -18
  25. disdrodb-0.1.0/disdrodb/cli/disdrodb_download_archive.py +86 -0
  26. disdrodb-0.1.0/disdrodb/cli/disdrodb_download_metadata_archive.py +53 -0
  27. disdrodb-0.1.0/disdrodb/cli/disdrodb_download_station.py +84 -0
  28. {disdrodb-0.0.21/disdrodb/api/scripts → disdrodb-0.1.0/disdrodb/cli}/disdrodb_initialize_station.py +22 -10
  29. disdrodb-0.1.0/disdrodb/cli/disdrodb_metadata_archive_directory.py +32 -0
  30. disdrodb-0.0.21/disdrodb/data_transfer/scripts/disdrodb_download_station.py → disdrodb-0.1.0/disdrodb/cli/disdrodb_open_data_archive.py +22 -22
  31. disdrodb-0.0.21/disdrodb/metadata/reader.py → disdrodb-0.1.0/disdrodb/cli/disdrodb_open_logs_directory.py +28 -21
  32. disdrodb-0.0.21/disdrodb/data_transfer/scripts/disdrodb_upload_station.py → disdrodb-0.1.0/disdrodb/cli/disdrodb_open_metadata_archive.py +22 -24
  33. disdrodb-0.1.0/disdrodb/cli/disdrodb_open_metadata_directory.py +71 -0
  34. disdrodb-0.1.0/disdrodb/cli/disdrodb_open_product_directory.py +74 -0
  35. disdrodb-0.1.0/disdrodb/cli/disdrodb_open_readers_directory.py +32 -0
  36. {disdrodb-0.0.21/disdrodb/l0/scripts → disdrodb-0.1.0/disdrodb/cli}/disdrodb_run_l0.py +38 -31
  37. {disdrodb-0.0.21/disdrodb/l0/scripts → disdrodb-0.1.0/disdrodb/cli}/disdrodb_run_l0_station.py +32 -30
  38. {disdrodb-0.0.21/disdrodb/l0/scripts → disdrodb-0.1.0/disdrodb/cli}/disdrodb_run_l0a.py +30 -21
  39. {disdrodb-0.0.21/disdrodb/l0/scripts → disdrodb-0.1.0/disdrodb/cli}/disdrodb_run_l0a_station.py +24 -33
  40. {disdrodb-0.0.21/disdrodb/l0/scripts → disdrodb-0.1.0/disdrodb/cli}/disdrodb_run_l0b.py +30 -21
  41. {disdrodb-0.0.21/disdrodb/l0/scripts → disdrodb-0.1.0/disdrodb/cli}/disdrodb_run_l0b_station.py +25 -34
  42. disdrodb-0.1.0/disdrodb/cli/disdrodb_run_l0c.py +130 -0
  43. disdrodb-0.1.0/disdrodb/cli/disdrodb_run_l0c_station.py +129 -0
  44. disdrodb-0.1.0/disdrodb/cli/disdrodb_run_l1.py +122 -0
  45. disdrodb-0.1.0/disdrodb/cli/disdrodb_run_l1_station.py +121 -0
  46. disdrodb-0.1.0/disdrodb/cli/disdrodb_run_l2e.py +122 -0
  47. disdrodb-0.1.0/disdrodb/cli/disdrodb_run_l2e_station.py +122 -0
  48. disdrodb-0.1.0/disdrodb/cli/disdrodb_run_l2m.py +122 -0
  49. disdrodb-0.1.0/disdrodb/cli/disdrodb_run_l2m_station.py +122 -0
  50. disdrodb-0.1.0/disdrodb/cli/disdrodb_upload_archive.py +105 -0
  51. disdrodb-0.1.0/disdrodb/cli/disdrodb_upload_station.py +98 -0
  52. disdrodb-0.1.0/disdrodb/configs.py +197 -0
  53. disdrodb-0.1.0/disdrodb/data_transfer/__init__.py +22 -0
  54. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb/data_transfer/download_data.py +87 -90
  55. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb/data_transfer/upload_data.py +64 -37
  56. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb/data_transfer/zenodo.py +15 -18
  57. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb/docs.py +1 -1
  58. disdrodb-0.1.0/disdrodb/issue/__init__.py +23 -0
  59. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb/issue/checks.py +10 -23
  60. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb/issue/reader.py +9 -12
  61. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb/issue/writer.py +14 -17
  62. disdrodb-0.1.0/disdrodb/l0/__init__.py +17 -0
  63. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb/l0/check_configs.py +35 -23
  64. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb/l0/check_standards.py +32 -42
  65. {disdrodb-0.0.21/disdrodb/l0/configs/Thies_LPM → disdrodb-0.1.0/disdrodb/l0/configs/LPM}/bins_diameter.yml +44 -44
  66. {disdrodb-0.0.21/disdrodb/l0/configs/Thies_LPM → disdrodb-0.1.0/disdrodb/l0/configs/LPM}/bins_velocity.yml +40 -40
  67. disdrodb-0.1.0/disdrodb/l0/configs/LPM/l0a_encodings.yml +80 -0
  68. {disdrodb-0.0.21/disdrodb/l0/configs/Thies_LPM → disdrodb-0.1.0/disdrodb/l0/configs/LPM}/l0b_cf_attrs.yml +62 -59
  69. {disdrodb-0.0.21/disdrodb/l0/configs/Thies_LPM → disdrodb-0.1.0/disdrodb/l0/configs/LPM}/l0b_encodings.yml +9 -9
  70. {disdrodb-0.0.21/disdrodb/l0/configs/Thies_LPM → disdrodb-0.1.0/disdrodb/l0/configs/LPM}/raw_data_format.yml +245 -245
  71. {disdrodb-0.0.21/disdrodb/l0/configs/OTT_Parsivel → disdrodb-0.1.0/disdrodb/l0/configs/PARSIVEL}/bins_diameter.yml +66 -66
  72. {disdrodb-0.0.21/disdrodb/l0/configs/OTT_Parsivel → disdrodb-0.1.0/disdrodb/l0/configs/PARSIVEL}/bins_velocity.yml +64 -64
  73. disdrodb-0.1.0/disdrodb/l0/configs/PARSIVEL/l0a_encodings.yml +32 -0
  74. {disdrodb-0.0.21/disdrodb/l0/configs/OTT_Parsivel → disdrodb-0.1.0/disdrodb/l0/configs/PARSIVEL}/l0b_cf_attrs.yml +22 -20
  75. {disdrodb-0.0.21/disdrodb/l0/configs/OTT_Parsivel → disdrodb-0.1.0/disdrodb/l0/configs/PARSIVEL}/l0b_encodings.yml +17 -17
  76. {disdrodb-0.0.21/disdrodb/l0/configs/OTT_Parsivel → disdrodb-0.1.0/disdrodb/l0/configs/PARSIVEL}/raw_data_format.yml +77 -77
  77. {disdrodb-0.0.21/disdrodb/l0/configs/OTT_Parsivel2 → disdrodb-0.1.0/disdrodb/l0/configs/PARSIVEL2}/bins_diameter.yml +64 -64
  78. {disdrodb-0.0.21/disdrodb/l0/configs/OTT_Parsivel2 → disdrodb-0.1.0/disdrodb/l0/configs/PARSIVEL2}/bins_velocity.yml +64 -64
  79. disdrodb-0.1.0/disdrodb/l0/configs/PARSIVEL2/l0a_encodings.yml +39 -0
  80. {disdrodb-0.0.21/disdrodb/l0/configs/OTT_Parsivel2 → disdrodb-0.1.0/disdrodb/l0/configs/PARSIVEL2}/l0b_cf_attrs.yml +24 -22
  81. {disdrodb-0.0.21/disdrodb/l0/configs/OTT_Parsivel2 → disdrodb-0.1.0/disdrodb/l0/configs/PARSIVEL2}/l0b_encodings.yml +20 -20
  82. {disdrodb-0.0.21/disdrodb/l0/configs/OTT_Parsivel2 → disdrodb-0.1.0/disdrodb/l0/configs/PARSIVEL2}/raw_data_format.yml +98 -98
  83. {disdrodb-0.0.21/disdrodb/l0/configs/RD_80 → disdrodb-0.1.0/disdrodb/l0/configs/RD80}/bins_diameter.yml +40 -40
  84. disdrodb-0.1.0/disdrodb/l0/configs/RD80/l0a_encodings.yml +16 -0
  85. {disdrodb-0.0.21/disdrodb/l0/configs/RD_80 → disdrodb-0.1.0/disdrodb/l0/configs/RD80}/l0b_cf_attrs.yml +3 -3
  86. disdrodb-0.1.0/disdrodb/l0/configs/RD80/l0b_encodings.yml +135 -0
  87. {disdrodb-0.0.21/disdrodb/l0/configs/RD_80 → disdrodb-0.1.0/disdrodb/l0/configs/RD80}/raw_data_format.yml +48 -48
  88. disdrodb-0.1.0/disdrodb/l0/l0_reader.py +322 -0
  89. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb/l0/l0a_processing.py +237 -208
  90. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb/l0/l0b_nc_processing.py +227 -80
  91. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb/l0/l0b_processing.py +93 -173
  92. disdrodb-0.1.0/disdrodb/l0/l0c_processing.py +627 -0
  93. {disdrodb-0.0.21/disdrodb/l0/readers → disdrodb-0.1.0/disdrodb/l0/readers/LPM}/ARM/ARM_LPM.py +36 -58
  94. disdrodb-0.1.0/disdrodb/l0/readers/LPM/AUSTRALIA/MELBOURNE_2007_LPM.py +226 -0
  95. disdrodb-0.1.0/disdrodb/l0/readers/LPM/BRAZIL/CHUVA_LPM.py +185 -0
  96. disdrodb-0.1.0/disdrodb/l0/readers/LPM/BRAZIL/GOAMAZON_LPM.py +183 -0
  97. disdrodb-0.1.0/disdrodb/l0/readers/LPM/ITALY/GID_LPM.py +179 -0
  98. {disdrodb-0.0.21/disdrodb/l0/readers → disdrodb-0.1.0/disdrodb/l0/readers/LPM}/UK/DIVEN.py +14 -35
  99. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL/AUSTRALIA/MELBOURNE_2007_PARSIVEL.py +157 -0
  100. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL/CHINA/CHONGQING.py +113 -0
  101. {disdrodb-0.0.21/disdrodb/l0/readers → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL}/EPFL/ARCTIC_2021.py +40 -57
  102. {disdrodb-0.0.21/disdrodb/l0/readers → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL}/EPFL/COMMON_2011.py +37 -54
  103. {disdrodb-0.0.21/disdrodb/l0/readers → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL}/EPFL/DAVOS_2009_2011.py +34 -51
  104. {disdrodb-0.0.21/disdrodb/l0/readers → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL}/EPFL/EPFL_2009.py +34 -51
  105. disdrodb-0.0.21/disdrodb/l0/readers/EPFL/PARADISO_2014.py → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_ROOF_2008.py +38 -50
  106. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_ROOF_2010.py +105 -0
  107. {disdrodb-0.0.21/disdrodb/l0/readers → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL}/EPFL/EPFL_ROOF_2011.py +34 -51
  108. {disdrodb-0.0.21/disdrodb/l0/readers → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL}/EPFL/EPFL_ROOF_2012.py +33 -51
  109. {disdrodb-0.0.21/disdrodb/l0/readers → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL}/EPFL/GENEPI_2007.py +25 -44
  110. {disdrodb-0.0.21/disdrodb/l0/readers → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL}/EPFL/GRAND_ST_BERNARD_2007.py +25 -44
  111. {disdrodb-0.0.21/disdrodb/l0/readers → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL}/EPFL/GRAND_ST_BERNARD_2007_2.py +25 -44
  112. {disdrodb-0.0.21/disdrodb/l0/readers → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL}/EPFL/HPICONET_2010.py +34 -51
  113. disdrodb-0.0.21/disdrodb/l0/readers/EPFL/EPFL_ROOF_2010.py → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL/EPFL/HYMEX_LTE_SOP2.py +37 -50
  114. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL/EPFL/HYMEX_LTE_SOP3.py +111 -0
  115. {disdrodb-0.0.21/disdrodb/l0/readers → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL}/EPFL/HYMEX_LTE_SOP4.py +36 -54
  116. {disdrodb-0.0.21/disdrodb/l0/readers → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL}/EPFL/LOCARNO_2018.py +34 -52
  117. {disdrodb-0.0.21/disdrodb/l0/readers → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL}/EPFL/LOCARNO_2019.py +38 -56
  118. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL/EPFL/PARADISO_2014.py +105 -0
  119. {disdrodb-0.0.21/disdrodb/l0/readers → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL}/EPFL/PARSIVEL_2007.py +27 -45
  120. {disdrodb-0.0.21/disdrodb/l0/readers → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL}/EPFL/PLATO_2019.py +24 -44
  121. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL/EPFL/RACLETS_2019.py +140 -0
  122. {disdrodb-0.0.21/disdrodb/l0/readers → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL}/EPFL/RACLETS_2019_WJF.py +41 -59
  123. {disdrodb-0.0.21/disdrodb/l0/readers → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL}/EPFL/RIETHOLZBACH_2011.py +34 -51
  124. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL/EPFL/SAMOYLOV_2017.py +117 -0
  125. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL/EPFL/SAMOYLOV_2019.py +137 -0
  126. {disdrodb-0.0.21/disdrodb/l0/readers → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL}/EPFL/UNIL_2022.py +42 -55
  127. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL/GPM/IFLOODS.py +104 -0
  128. {disdrodb-0.0.21/disdrodb/l0/readers → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL}/GPM/LPVEX.py +29 -48
  129. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL/GPM/MC3E.py +184 -0
  130. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL/NCAR/CCOPE_2015.py +113 -0
  131. disdrodb-0.0.21/disdrodb/l0/readers/NCAR/VORTEX_SE_2016_P1.py → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL/NCAR/OWLES_MIPS.py +46 -72
  132. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL/NCAR/PECAN_MOBILE.py +125 -0
  133. disdrodb-0.0.21/disdrodb/l0/readers/NCAR/OWLES_MIPS.py → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL/NCAR/PLOWS_MIPS.py +45 -64
  134. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL/NCAR/VORTEX2_2009.py +114 -0
  135. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL/NCAR/VORTEX2_2010.py +176 -0
  136. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL/NCAR/VORTEX2_2010_UF.py +183 -0
  137. disdrodb-0.0.21/disdrodb/l0/readers/ARM/ARM_LD.py → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL2/ARM/ARM_PARSIVEL2.py +27 -50
  138. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL2/BRAZIL/CHUVA_PARSIVEL2.py +163 -0
  139. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL2/BRAZIL/GOAMAZON_PARSIVEL2.py +163 -0
  140. {disdrodb-0.0.21/disdrodb/l0/readers → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL2}/DENMARK/EROSION_nc.py +14 -35
  141. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL2/FRANCE/SIRTA_PARSIVEL2.py +119 -0
  142. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL2/GPM/GCPEX.py +104 -0
  143. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL2/GPM/NSSTC.py +176 -0
  144. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL2/ITALY/GID_PARSIVEL2.py +32 -0
  145. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL2/MEXICO/OH_IIUNAM_nc.py +56 -0
  146. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL2/NCAR/PECAN_FP3.py +120 -0
  147. {disdrodb-0.0.21/disdrodb/l0/readers → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL2}/NCAR/PECAN_MIPS.py +45 -64
  148. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL2/NCAR/RELAMPAGO_PARSIVEL2.py +181 -0
  149. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL2/NCAR/SNOWIE_PJ.py +160 -0
  150. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL2/NCAR/SNOWIE_SB.py +160 -0
  151. disdrodb-0.0.21/disdrodb/l0/readers/NCAR/PLOWS_MIPS.py → disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL2/NCAR/VORTEX_SE_2016_P1.py +49 -66
  152. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL2/NCAR/VORTEX_SE_2016_P2.py +118 -0
  153. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL2/NCAR/VORTEX_SE_2016_PIPS.py +152 -0
  154. disdrodb-0.1.0/disdrodb/l0/readers/PARSIVEL2/NETHERLANDS/DELFT.py +166 -0
  155. disdrodb-0.0.21/disdrodb/l0/readers/NCAR/RELAMPAGO_RD80.py → disdrodb-0.1.0/disdrodb/l0/readers/RD80/BRAZIL/CHUVA_RD80.py +36 -60
  156. {disdrodb-0.0.21/disdrodb/l0/readers → disdrodb-0.1.0/disdrodb/l0/readers/RD80}/BRAZIL/GOAMAZON_RD80.py +36 -55
  157. {disdrodb-0.0.21/disdrodb/l0/readers → disdrodb-0.1.0/disdrodb/l0/readers/RD80}/NCAR/CINDY_2011_RD80.py +35 -54
  158. disdrodb-0.0.21/disdrodb/l0/readers/BRAZIL/CHUVA_RD80.py → disdrodb-0.1.0/disdrodb/l0/readers/RD80/NCAR/RELAMPAGO_RD80.py +40 -54
  159. disdrodb-0.1.0/disdrodb/l0/readers/template_reader_raw_netcdf_data.py +62 -0
  160. disdrodb-0.0.21/disdrodb/l0/readers/reader_template.py → disdrodb-0.1.0/disdrodb/l0/readers/template_reader_raw_text_data.py +20 -44
  161. disdrodb-0.1.0/disdrodb/l0/routines.py +1021 -0
  162. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb/l0/standards.py +72 -236
  163. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb/l0/template_tools.py +104 -109
  164. disdrodb-0.1.0/disdrodb/l1/__init__.py +17 -0
  165. disdrodb-0.1.0/disdrodb/l1/beard_model.py +716 -0
  166. disdrodb-0.1.0/disdrodb/l1/encoding_attrs.py +620 -0
  167. disdrodb-0.1.0/disdrodb/l1/fall_velocity.py +260 -0
  168. disdrodb-0.1.0/disdrodb/l1/filters.py +192 -0
  169. disdrodb-0.1.0/disdrodb/l1/processing.py +200 -0
  170. disdrodb-0.1.0/disdrodb/l1/resampling.py +236 -0
  171. disdrodb-0.1.0/disdrodb/l1/routines.py +357 -0
  172. disdrodb-0.1.0/disdrodb/l1_env/__init__.py +17 -0
  173. disdrodb-0.1.0/disdrodb/l1_env/routines.py +38 -0
  174. disdrodb-0.1.0/disdrodb/l2/__init__.py +17 -0
  175. disdrodb-0.1.0/disdrodb/l2/empirical_dsd.py +1735 -0
  176. disdrodb-0.1.0/disdrodb/l2/event.py +388 -0
  177. disdrodb-0.1.0/disdrodb/l2/processing.py +519 -0
  178. disdrodb-0.1.0/disdrodb/l2/processing_options.py +213 -0
  179. disdrodb-0.1.0/disdrodb/l2/routines.py +868 -0
  180. disdrodb-0.1.0/disdrodb/metadata/__init__.py +12 -0
  181. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb/metadata/checks.py +165 -118
  182. disdrodb-0.1.0/disdrodb/metadata/download.py +81 -0
  183. disdrodb-0.1.0/disdrodb/metadata/geolocation.py +146 -0
  184. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb/metadata/info.py +20 -13
  185. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb/metadata/manipulation.py +1 -1
  186. disdrodb-0.1.0/disdrodb/metadata/reader.py +113 -0
  187. disdrodb-0.1.0/disdrodb/metadata/search.py +140 -0
  188. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb/metadata/standards.py +7 -8
  189. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb/metadata/writer.py +8 -14
  190. disdrodb-0.1.0/disdrodb/psd/__init__.py +38 -0
  191. disdrodb-0.1.0/disdrodb/psd/fitting.py +2146 -0
  192. disdrodb-0.1.0/disdrodb/psd/models.py +774 -0
  193. disdrodb-0.1.0/disdrodb/routines.py +1176 -0
  194. disdrodb-0.1.0/disdrodb/scattering/__init__.py +28 -0
  195. disdrodb-0.1.0/disdrodb/scattering/axis_ratio.py +344 -0
  196. disdrodb-0.1.0/disdrodb/scattering/routines.py +456 -0
  197. disdrodb-0.1.0/disdrodb/utils/__init__.py +17 -0
  198. disdrodb-0.1.0/disdrodb/utils/attrs.py +208 -0
  199. disdrodb-0.1.0/disdrodb/utils/cli.py +269 -0
  200. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb/utils/compression.py +60 -42
  201. disdrodb-0.1.0/disdrodb/utils/dask.py +62 -0
  202. disdrodb-0.1.0/disdrodb/utils/decorators.py +110 -0
  203. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb/utils/directories.py +107 -46
  204. disdrodb-0.1.0/disdrodb/utils/encoding.py +127 -0
  205. disdrodb-0.1.0/disdrodb/utils/list.py +29 -0
  206. disdrodb-0.1.0/disdrodb/utils/logger.py +336 -0
  207. disdrodb-0.1.0/disdrodb/utils/time.py +657 -0
  208. disdrodb-0.1.0/disdrodb/utils/warnings.py +30 -0
  209. disdrodb-0.1.0/disdrodb/utils/writer.py +57 -0
  210. disdrodb-0.1.0/disdrodb/utils/xarray.py +175 -0
  211. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb/utils/yaml.py +0 -1
  212. disdrodb-0.1.0/disdrodb/viz/__init__.py +17 -0
  213. disdrodb-0.1.0/disdrodb/viz/plots.py +17 -0
  214. disdrodb-0.1.0/disdrodb.egg-info/PKG-INFO +321 -0
  215. disdrodb-0.1.0/disdrodb.egg-info/SOURCES.txt +231 -0
  216. disdrodb-0.1.0/disdrodb.egg-info/entry_points.txt +30 -0
  217. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb.egg-info/requires.txt +7 -6
  218. disdrodb-0.1.0/pyproject.toml +275 -0
  219. disdrodb-0.0.21/.pre-commit-config.yaml +0 -31
  220. disdrodb-0.0.21/CONTRIBUTING.rst +0 -467
  221. disdrodb-0.0.21/PKG-INFO +0 -186
  222. disdrodb-0.0.21/README.md +0 -138
  223. disdrodb-0.0.21/disdrodb/__init__.py +0 -43
  224. disdrodb-0.0.21/disdrodb/api/checks.py +0 -450
  225. disdrodb-0.0.21/disdrodb/api/create_directories.py +0 -483
  226. disdrodb-0.0.21/disdrodb/api/info.py +0 -276
  227. disdrodb-0.0.21/disdrodb/api/io.py +0 -326
  228. disdrodb-0.0.21/disdrodb/api/path.py +0 -504
  229. disdrodb-0.0.21/disdrodb/configs.py +0 -132
  230. disdrodb-0.0.21/disdrodb/data_transfer/scripts/disdrodb_download_archive.py +0 -53
  231. disdrodb-0.0.21/disdrodb/data_transfer/scripts/disdrodb_upload_archive.py +0 -57
  232. disdrodb-0.0.21/disdrodb/issue/__init__.py +0 -10
  233. disdrodb-0.0.21/disdrodb/l0/__init__.py +0 -26
  234. disdrodb-0.0.21/disdrodb/l0/configs/OTT_Parsivel/l0a_encodings.yml +0 -32
  235. disdrodb-0.0.21/disdrodb/l0/configs/OTT_Parsivel2/l0a_encodings.yml +0 -39
  236. disdrodb-0.0.21/disdrodb/l0/configs/RD_80/l0a_encodings.yml +0 -16
  237. disdrodb-0.0.21/disdrodb/l0/configs/RD_80/l0b_encodings.yml +0 -135
  238. disdrodb-0.0.21/disdrodb/l0/configs/Thies_LPM/l0a_encodings.yml +0 -80
  239. disdrodb-0.0.21/disdrodb/l0/io.py +0 -257
  240. disdrodb-0.0.21/disdrodb/l0/l0_processing.py +0 -1091
  241. disdrodb-0.0.21/disdrodb/l0/l0_reader.py +0 -446
  242. disdrodb-0.0.21/disdrodb/l0/readers/AUSTRALIA/MELBOURNE_2007_OTT.py +0 -178
  243. disdrodb-0.0.21/disdrodb/l0/readers/AUSTRALIA/MELBOURNE_2007_THIES.py +0 -247
  244. disdrodb-0.0.21/disdrodb/l0/readers/BRAZIL/CHUVA_LPM.py +0 -204
  245. disdrodb-0.0.21/disdrodb/l0/readers/BRAZIL/CHUVA_OTT.py +0 -183
  246. disdrodb-0.0.21/disdrodb/l0/readers/BRAZIL/GOAMAZON_LPM.py +0 -204
  247. disdrodb-0.0.21/disdrodb/l0/readers/BRAZIL/GOAMAZON_OTT.py +0 -183
  248. disdrodb-0.0.21/disdrodb/l0/readers/CHINA/CHONGQING.py +0 -131
  249. disdrodb-0.0.21/disdrodb/l0/readers/EPFL/EPFL_ROOF_2008.py +0 -128
  250. disdrodb-0.0.21/disdrodb/l0/readers/EPFL/HYMEX_LTE_SOP2.py +0 -127
  251. disdrodb-0.0.21/disdrodb/l0/readers/EPFL/HYMEX_LTE_SOP3.py +0 -129
  252. disdrodb-0.0.21/disdrodb/l0/readers/EPFL/RACLETS_2019.py +0 -158
  253. disdrodb-0.0.21/disdrodb/l0/readers/EPFL/SAMOYLOV_2017.py +0 -136
  254. disdrodb-0.0.21/disdrodb/l0/readers/EPFL/SAMOYLOV_2019.py +0 -158
  255. disdrodb-0.0.21/disdrodb/l0/readers/FRANCE/SIRTA_OTT2.py +0 -138
  256. disdrodb-0.0.21/disdrodb/l0/readers/GPM/GCPEX.py +0 -123
  257. disdrodb-0.0.21/disdrodb/l0/readers/GPM/IFLOODS.py +0 -123
  258. disdrodb-0.0.21/disdrodb/l0/readers/GPM/MC3E.py +0 -123
  259. disdrodb-0.0.21/disdrodb/l0/readers/GPM/NSSTC.py +0 -164
  260. disdrodb-0.0.21/disdrodb/l0/readers/ITALY/GID.py +0 -199
  261. disdrodb-0.0.21/disdrodb/l0/readers/MEXICO/OH_IIUNAM_nc.py +0 -92
  262. disdrodb-0.0.21/disdrodb/l0/readers/NCAR/CCOPE_2015.py +0 -133
  263. disdrodb-0.0.21/disdrodb/l0/readers/NCAR/PECAN_FP3.py +0 -137
  264. disdrodb-0.0.21/disdrodb/l0/readers/NCAR/PECAN_MOBILE.py +0 -144
  265. disdrodb-0.0.21/disdrodb/l0/readers/NCAR/RELAMPAGO_OTT.py +0 -195
  266. disdrodb-0.0.21/disdrodb/l0/readers/NCAR/SNOWIE_PJ.py +0 -172
  267. disdrodb-0.0.21/disdrodb/l0/readers/NCAR/SNOWIE_SB.py +0 -179
  268. disdrodb-0.0.21/disdrodb/l0/readers/NCAR/VORTEX2_2009.py +0 -133
  269. disdrodb-0.0.21/disdrodb/l0/readers/NCAR/VORTEX2_2010.py +0 -188
  270. disdrodb-0.0.21/disdrodb/l0/readers/NCAR/VORTEX2_2010_UF.py +0 -191
  271. disdrodb-0.0.21/disdrodb/l0/readers/NCAR/VORTEX_SE_2016_P2.py +0 -135
  272. disdrodb-0.0.21/disdrodb/l0/readers/NCAR/VORTEX_SE_2016_PIPS.py +0 -170
  273. disdrodb-0.0.21/disdrodb/l0/readers/NETHERLANDS/DELFT.py +0 -187
  274. disdrodb-0.0.21/disdrodb/l0/readers/SPAIN/SBEGUERIA.py +0 -179
  275. disdrodb-0.0.21/disdrodb/l0/readers/__init__.py +0 -0
  276. disdrodb-0.0.21/disdrodb/l0/routines.py +0 -717
  277. disdrodb-0.0.21/disdrodb/l0/scripts/disdrodb_run_l0b_concat.py +0 -93
  278. disdrodb-0.0.21/disdrodb/l0/scripts/disdrodb_run_l0b_concat_station.py +0 -85
  279. disdrodb-0.0.21/disdrodb/metadata/__init__.py +0 -5
  280. disdrodb-0.0.21/disdrodb/metadata/search.py +0 -207
  281. disdrodb-0.0.21/disdrodb/utils/__init__.py +0 -0
  282. disdrodb-0.0.21/disdrodb/utils/logger.py +0 -214
  283. disdrodb-0.0.21/disdrodb/utils/netcdf.py +0 -452
  284. disdrodb-0.0.21/disdrodb/utils/scripts.py +0 -102
  285. disdrodb-0.0.21/disdrodb/utils/xarray.py +0 -84
  286. disdrodb-0.0.21/disdrodb.egg-info/PKG-INFO +0 -186
  287. disdrodb-0.0.21/disdrodb.egg-info/SOURCES.txt +0 -182
  288. disdrodb-0.0.21/disdrodb.egg-info/entry_points.txt +0 -15
  289. disdrodb-0.0.21/environment.yml +0 -30
  290. disdrodb-0.0.21/pyproject.toml +0 -123
  291. disdrodb-0.0.21/readthedocs.yml +0 -20
  292. disdrodb-0.0.21/requirements.txt +0 -23
  293. {disdrodb-0.0.21 → disdrodb-0.1.0}/.codebeatignore +0 -0
  294. {disdrodb-0.0.21 → disdrodb-0.1.0}/.coveragerc +0 -0
  295. {disdrodb-0.0.21 → disdrodb-0.1.0}/LICENSE +0 -0
  296. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb/api/__init__.py +0 -0
  297. {disdrodb-0.0.21/disdrodb/l0/configs/RD_80 → disdrodb-0.1.0/disdrodb/l0/configs/RD80}/bins_velocity.yml +0 -0
  298. /disdrodb-0.0.21/disdrodb/l0/manuals/Thies_LPM.pdf → /disdrodb-0.1.0/disdrodb/l0/manuals/LPM.pdf +0 -0
  299. /disdrodb-0.0.21/disdrodb/l0/manuals/ODM_470.pdf → /disdrodb-0.1.0/disdrodb/l0/manuals/ODM470.pdf +0 -0
  300. /disdrodb-0.0.21/disdrodb/l0/manuals/OTT_Parsivel.pdf → /disdrodb-0.1.0/disdrodb/l0/manuals/PARSIVEL.pdf +0 -0
  301. /disdrodb-0.0.21/disdrodb/l0/manuals/OTT_Parsivel2.pdf → /disdrodb-0.1.0/disdrodb/l0/manuals/PARSIVEL2.pdf +0 -0
  302. /disdrodb-0.0.21/disdrodb/l0/manuals/PWS_100.pdf → /disdrodb-0.1.0/disdrodb/l0/manuals/PWS100.pdf +0 -0
  303. /disdrodb-0.0.21/disdrodb/l0/manuals/RD_80.pdf → /disdrodb-0.1.0/disdrodb/l0/manuals/RD80.pdf +0 -0
  304. {disdrodb-0.0.21/disdrodb/data_transfer → disdrodb-0.1.0/disdrodb/l0/readers}/__init__.py +0 -0
  305. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb.egg-info/dependency_links.txt +0 -0
  306. {disdrodb-0.0.21 → disdrodb-0.1.0}/disdrodb.egg-info/top_level.txt +0 -0
  307. {disdrodb-0.0.21 → disdrodb-0.1.0}/setup.cfg +0 -0
@@ -7,7 +7,7 @@
7
7
 
8
8
  # Folders
9
9
  /dask-worker-space/
10
- /data/DISDRODB/Processed
10
+ /data/DISDRODB/V*
11
11
 
12
12
  # Test coverage
13
13
  coverage.xml
@@ -24,6 +24,7 @@ __pycache__/
24
24
 
25
25
  # Distribution / packaging
26
26
  .Python
27
+ .python-version
27
28
  build/
28
29
  develop-eggs/
29
30
  dist/
@@ -43,6 +44,10 @@ share/python-wheels/
43
44
  MANIFEST
44
45
  _version.py
45
46
 
47
+ # Ignore specific files and directories
48
+ docs/source/tutorials/
49
+ docs/build/
50
+
46
51
  # PyInstaller
47
52
  # Usually these files are written by a python script from a template
48
53
  # before PyInstaller builds the exe, so as to inject date/other infos into it.
@@ -159,12 +164,3 @@ cython_debug/
159
164
  train_interactive.py
160
165
  tmp_fig.py
161
166
  log.txt
162
-
163
- # Ignore specific files
164
- docs\source\reader_preparation.ipynb
165
- \docs\source\reader_preparation.ipynb
166
- /docs/source/csv/*.csv
167
-
168
- # Ignore specific directories
169
- /disdrodb/tests/temp/
170
- disdrodb-dev
@@ -0,0 +1,71 @@
1
+ ---
2
+ repos:
3
+ - repo: https://github.com/pre-commit/pre-commit-hooks
4
+ rev: v5.0.0
5
+ hooks:
6
+ - id: trailing-whitespace
7
+ - id: end-of-file-fixer
8
+ - id: check-yaml
9
+ - id: check-toml
10
+ - id: check-symlinks
11
+ - id: check-docstring-first
12
+ - id: check-ast
13
+ - id: check-added-large-files
14
+ - repo: https://github.com/astral-sh/ruff-pre-commit
15
+ rev: v0.11.8
16
+ hooks:
17
+ - id: ruff
18
+ args: [--fix]
19
+ - repo: https://github.com/psf/black
20
+ rev: 25.1.0
21
+ hooks:
22
+ - id: black
23
+ language_version: python3
24
+ - repo: https://github.com/keewis/blackdoc
25
+ rev: v0.3.9
26
+ hooks:
27
+ - id: blackdoc
28
+ additional_dependencies: ["black[jupyter]"]
29
+ - repo: https://github.com/pre-commit/mirrors-prettier
30
+ rev: "v4.0.0-alpha.8"
31
+ hooks:
32
+ - id: prettier
33
+ types_or: [yaml, html, css, scss, javascript, json] # markdown to avoid conflicts with mdformat
34
+ - repo: https://github.com/codespell-project/codespell
35
+ rev: v2.4.1
36
+ hooks:
37
+ - id: codespell
38
+ types_or: [python, markdown, rst]
39
+ additional_dependencies: [tomli]
40
+ - repo: https://github.com/asottile/pyupgrade
41
+ rev: v3.19.1
42
+ hooks:
43
+ - id: pyupgrade
44
+ - repo: https://github.com/MarcoGorelli/madforhooks
45
+ rev: 0.4.1
46
+ hooks:
47
+ # - id: conda-env-sorter # conflicts with prettier
48
+ - id: check-execution-order
49
+ - repo: https://github.com/executablebooks/mdformat
50
+ rev: 0.7.22
51
+ hooks:
52
+ - id: mdformat
53
+ additional_dependencies: [mdformat-gfm, mdformat-black]
54
+ exclude: ^.github/ # this avoid the hook to wrongly reformats md issue template files
55
+ - repo: https://github.com/kynan/nbstripout
56
+ rev: 0.8.1
57
+ hooks:
58
+ - id: nbstripout
59
+ args: [--keep-output]
60
+ - repo: https://github.com/nbQA-dev/nbQA
61
+ rev: 1.9.1
62
+ hooks:
63
+ - id: nbqa-black
64
+ - id: nbqa-ruff
65
+ args: [--fix, "--ignore=E402,B018"]
66
+ - repo: https://github.com/pre-commit/pygrep-hooks
67
+ rev: "v1.10.0"
68
+ hooks:
69
+ - id: rst-backticks
70
+ - id: rst-directive-colons
71
+ - id: rst-inline-touching-normal
@@ -0,0 +1,25 @@
1
+ # Read the Docs configuration file
2
+ # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
3
+ version: 2
4
+ # Build documentation in the docs/ directory with Sphinx
5
+ build:
6
+ os: ubuntu-22.04
7
+ tools:
8
+ python: "mambaforge-22.9"
9
+
10
+ sphinx:
11
+ configuration: docs/source/conf.py
12
+
13
+ # Optionally build your docs in additional formats such as PDF and ePub
14
+ # formats:
15
+ # - pdf
16
+
17
+ # Declare the Python requirements required to build your documentation
18
+ # See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
19
+ # See https://docs.readthedocs.io/en/stable/guides/conda.html#making-builds-faster-with-mamba
20
+ conda:
21
+ environment: docs/environment.yaml
22
+ python:
23
+ install:
24
+ - method: pip
25
+ path: .
@@ -3,7 +3,9 @@
3
3
  The following people have made contributions to this project:
4
4
 
5
5
  <!--- Use your GitHub account or any other personal reference URL --->
6
+
6
7
  <!--- If you wish to not use your real name, please use your github username --->
8
+
7
9
  <!--- The list should be alphabetical by last name if possible, with github usernames at the bottom and the istitution --->
8
10
 
9
11
  <!--- See https://gist.github.com/djhoese/52220272ec73b12eb8f4a29709be110d for auto-generating parts of this list --->
@@ -11,8 +13,8 @@ The following people have made contributions to this project:
11
13
  - [Alexis Berne](https://people.epfl.ch/alexis.berne?lang=en) - EPFL
12
14
  - [Gionata Ghiggi (ghiggi)](https://github.com/ghiggi) - EPFL
13
15
  - [Jacopo Grazioli (jacgraz)](https://github.com/jacgraz) - EPFL
14
- - [Saverio Guzzo (saveriogzz)](https://github.com/saveriogzz) - TU DELFT
16
+ - [Saverio Guzzo (saveriogzz)](https://github.com/saveriogzz) - TU DELFT
15
17
  - [Kim Candolfi (KimCandolfi)](https://github.com/KimCandolfi) - EPFL
16
18
  - [Régis Longchamp (regislon)](https://github.com/regislon) - EPFL
17
19
  - [Son Pham-Ba (sphamba)](https://github.com/sphamba) - EPFL
18
- - [Charlotte Gisèle Weil (charlottegiseleweil)](https://github.com/charlottegiseleweil) - EPFL
20
+ - [Charlotte Gisèle Weil (charlottegiseleweil)](https://github.com/charlottegiseleweil) - EPFL
@@ -0,0 +1,19 @@
1
+ # Changelog
2
+
3
+ ## Version 0.0.2 - Glorious Green - XXXX-XX-XX
4
+
5
+ ### Enhancements
6
+
7
+ - TODO
8
+
9
+ ### Changes
10
+
11
+ - TODO
12
+
13
+ ### Bugfixes
14
+
15
+ - TODO
16
+
17
+ ## Version 0.0.1 - DISDRODB Birth Date - 2023-01-30
18
+
19
+ First release of DISDRODB.
@@ -1,4 +1,3 @@
1
-
2
1
  # Contributor Covenant Code of Conduct
3
2
 
4
3
  ## Our Pledge
@@ -6,7 +5,7 @@
6
5
  We as members, contributors, and leaders pledge to make participation in our
7
6
  community a harassment-free experience for everyone, regardless of age, body
8
7
  size, visible or invisible disability, ethnicity, sex characteristics, gender
9
- identity and expression, level of experience, education, socio-economic status,
8
+ identity and expression, level of experience, education, socioeconomic status,
10
9
  nationality, personal appearance, race, caste, color, religion, or sexual
11
10
  identity and orientation.
12
11
 
@@ -18,22 +17,22 @@ diverse, inclusive, and healthy community.
18
17
  Examples of behavior that contributes to a positive environment for our
19
18
  community include:
20
19
 
21
- * Demonstrating empathy and kindness toward other people
22
- * Being respectful of differing opinions, viewpoints, and experiences
23
- * Giving and gracefully accepting constructive feedback
24
- * Accepting responsibility and apologizing to those affected by our mistakes,
25
- and learning from the experience
26
- * Focusing on what is best not just for us as individuals, but for the overall community
20
+ - Demonstrating empathy and kindness toward other people
21
+ - Being respectful of differing opinions, viewpoints, and experiences
22
+ - Giving and gracefully accepting constructive feedback
23
+ - Accepting responsibility and apologizing to those affected by our mistakes,
24
+ and learning from the experience
25
+ - Focusing on what is best not just for us as individuals, but for the overall community
27
26
 
28
27
  Examples of unacceptable behavior include:
29
28
 
30
- * The use of sexualized language or imagery, and sexual attention or advances of any kind
31
- * Trolling, insulting or derogatory comments, and personal or political attacks
32
- * Public or private harassment
33
- * Publishing others' private information, such as a physical or email address,
34
- without their explicit permission
35
- * Other conduct which could reasonably be considered inappropriate in a
36
- professional setting
29
+ - The use of sexualized language or imagery, and sexual attention or advances of any kind
30
+ - Trolling, insulting or derogatory comments, and personal or political attacks
31
+ - Public or private harassment
32
+ - Publishing others' private information, such as a physical or email address,
33
+ without their explicit permission
34
+ - Other conduct which could reasonably be considered inappropriate in a
35
+ professional setting
37
36
 
38
37
  ## Enforcement Responsibilities
39
38
 
@@ -118,14 +117,14 @@ version 2.1, available at
118
117
  [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
119
118
 
120
119
  Community Impact Guidelines were inspired by
121
- [Mozilla's code of conduct enforcement ladder][Mozilla CoC].
120
+ [Mozilla's code of conduct enforcement ladder][mozilla coc].
122
121
 
123
122
  For answers to common questions about this code of conduct, see the FAQ at
124
- [https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
123
+ [https://www.contributor-covenant.org/faq][faq]. Translations are available at
125
124
  [https://www.contributor-covenant.org/translations][translations].
126
125
 
126
+ [faq]: https://www.contributor-covenant.org/faq
127
127
  [homepage]: https://www.contributor-covenant.org
128
- [v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
129
- [Mozilla CoC]: https://github.com/mozilla/diversity
130
- [FAQ]: https://www.contributor-covenant.org/faq
128
+ [mozilla coc]: https://github.com/mozilla/diversity
131
129
  [translations]: https://www.contributor-covenant.org/translations
130
+ [v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
@@ -0,0 +1,353 @@
1
+ Contributors Guidelines
2
+ ===========================
3
+
4
+ Hi! Thanks for taking the time to contribute to DISDRODB.
5
+
6
+ You can contribute in many ways:
7
+
8
+ - Join the `GitHub discussions <https://github.com/ltelab/disdrodb/discussions>`__
9
+ - Report software `issues <#issue-reporting-guidelines>`__
10
+ - Help us developing new readers
11
+ - Add new data to the DISDRODB Decentralized Data Archive
12
+ - Implement new products
13
+ - ...
14
+ - Any code improvements are welcome !
15
+
16
+ **We Develop with GitHub !**
17
+
18
+ We use GitHub to host code, to track issues and feature requests, as well as accept Pull Requests.
19
+ We use `GitHub flow <https://docs.github.com/en/get-started/quickstart/github-flow>`__.
20
+ So all code changes happen through Pull Requests (PRs).
21
+
22
+
23
+ **First Time Contributors ?**
24
+
25
+ Before adding your contribution, please take a moment to read through the following sections:
26
+
27
+ - The `Installation for contributors <https://disdrodb.readthedocs.io/en/latest/installation.html#installation-for-contributors>`__ help you to set up the developing environment and the pre-commit hooks.
28
+ - The section `Contributing process <#contributing-process>`__ provides you with a brief overview of the steps that each DISDRODB developer must follow to contribute to the repository.
29
+ - The `Code review checklist <#code-review-checklist>`__ enable to speed up the code review process.
30
+ - The `Code of conduct <https://github.com/ltelab/disdrodb/blob/main/CODE_OF_CONDUCT.md>`__ details the expected behavior of all contributors.
31
+
32
+ Initiating a discussion about your ideas or proposed implementations is a vital step before starting your contribution !
33
+ Engaging with the community early on can provide valuable insights, ensure alignment with the project's goals, and prevent potential overlap with existing work.
34
+ Here are some guidelines to facilitate this process:
35
+
36
+ 1. Start with a conversation
37
+
38
+ Before start coding, open a `GitHub Discussion <https://github.com/ltelab/disdrodb/discussions>`__, a `GitHub Feature Request Issue <https://github.com/ltelab/disdrodb/issues/new/choose>`__ or
39
+ just start a discussion in the `DISDRODB Slack Workspace <https://join.slack.com/t/disdrodbworkspace/shared_invite/zt-25l4mvgo7-cfBdXalzlWGd4Pt7H~FqoA>`__.
40
+ These channels of communication provides an opportunity to gather feedback, understand the project's current state, and improve your contributions.
41
+
42
+ 2. Seek guidance and suggestions
43
+
44
+ Utilize the community's expertise. Experienced contributors and maintainers can offer guidance, suggest best practices, and help you navigate any complexities you might encounter.
45
+
46
+ 3. Collaborate on the approach
47
+
48
+ Discussing your implementation strategy allows for a collaborative approach to problem-solving.
49
+ It ensures that your contribution is in line with the project's design principles and technical direction.
50
+
51
+ By following these steps, you not only enhance the quality and relevance of your contribution but also become an integral part of the project's collaborative ecosystem.
52
+
53
+ If you have any questions, please do not hesitate to ask in the `GitHub Discussions <https://github.com/ltelab/disdrodb/discussions>`__ or in the
54
+ `DISDRODB Slack Workspace <https://join.slack.com/t/disdrodbworkspace/shared_invite/zt-25l4mvgo7-cfBdXalzlWGd4Pt7H~FqoA>`__.
55
+
56
+
57
+ Issue Reporting Guidelines
58
+ -----------------------------
59
+
60
+ To facilitate and enhance the issue reporting process, it is important to utilize the predefined GitHub Issue Templates.
61
+ These templates are designed to ensure you provide all the essential information in your report, allowing for a faster and more effective response from the maintainers.
62
+ You can access and use these templates by visiting the `GitHub Issue Templates page here <https://github.com/ltelab/disdrodb/issues/new/choose>`__.
63
+
64
+ However, if you find that the existing templates don't quite match the specifics of the issue you're encountering, please feel free to suggest a new template.
65
+ Your feedback is invaluable in refining our processes and ensuring we address a broader spectrum of concerns.
66
+ To do this, simply create a general issue in the repository, clearly stating that you're requesting a new template and include detailed suggestions about what this new template should entail.
67
+ This proactive approach helps us continuously evolve and better serve the needs of the project and its contributors.
68
+
69
+
70
+ Contributing process
71
+ -----------------------
72
+
73
+ Here is a brief overview of the steps that each DISDRODB developer must follow to contribute to the repository.
74
+
75
+ 1. Fork the repository.
76
+ 2. Create a new branch for each contribution.
77
+ 3. Work on your changes.
78
+ 4. Test your changes.
79
+ 5. Push your local changes to your fork repository.
80
+ 6. Create a new Pull Request in GitHub.
81
+
82
+
83
+ .. image:: https://github.com/ltelab/disdrodb/blob/main/docs/source/static/collaborative_process.png?raw=true
84
+
85
+
86
+ 1. Fork the repository and install the development environment
87
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
88
+
89
+ If you do not have a GitHub account yet, please create one `here <https://github.com/join>`__.
90
+ If you do not have yet Git installed on your computer, please install it following `these instructions <https://github.com/git-guides/install-git>`__.
91
+ Then, please follow the guidelines in the `Installation for contributors <https://disdrodb.readthedocs.io/en/latest/installation.html#installation-for-contributors>`__ section
92
+ to create the local copy of the disdrodb repository, set up the developing environment and the pre-commit hooks.
93
+
94
+ Once you have have a local copy of the disdrodb repository on your machine, you are ready to
95
+ contribute to the project!
96
+
97
+
98
+ 2. Create a new branch
99
+ ~~~~~~~~~~~~~~~~~~~~~~~
100
+
101
+ Each contribution should be made in a separate new branch of your forked repository.
102
+ For example, if you plan to contribute with new readers, please create a branch for every single reader.
103
+ Working on the main branch is reserved for *Core Contributors* only.
104
+ Core Contributors are developers that actively work and maintain the repository.
105
+ They are the only ones who accept Pull Requests and push commits directly to the DISDRODB repository.
106
+
107
+ For more information on how to create and work with branches, see
108
+ `“Branches in a Nutshell” <https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell>`__
109
+ in the Git documentation.
110
+
111
+ Please define the name of your branch based on the scope of the contribution. Try to strictly stick to the following guidelines:
112
+
113
+ - If you add a reader, use : ``reader-<data_source*>-<campaign>``
114
+ - If you fix a bug: ``bugfix-<some_key>-<word>``
115
+ - If you improve the documentation: ``doc-<some_key>-<word>``
116
+ - If you add a new feature: ``feature-<some_key>-<word>``
117
+ - If you refactor some code: ``refactor-<some_key>-<word>``
118
+ - If you optimize some code: ``optimize-<some_key>-<word>``
119
+
120
+
121
+ \* Guidelines for the ``<data_source>``
122
+ - We use the institution name when campaign data spans more than 1 country (i.e. ARM, GPM)
123
+ - We use the country name when all campaigns (or sensor networks) are inside a given country.
124
+
125
+
126
+
127
+ 3. Work on your changes
128
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
129
+
130
+ When you are working on your changes, please stick with the repository's coding style and documentation rules.
131
+
132
+ **Code Style**
133
+
134
+ We follow the `PEP 8 <https://pep8.org/>`__ style guide for python code.
135
+ Another relevant style guide can be found in the `The Hitchhiker's Guide to Python <https://docs.python-guide.org/writing/style/>`__.
136
+
137
+ To ensure a minimal style consistency, we use `black <https://black.readthedocs.io/en/stable/>`__ to auto-format the source code.
138
+ The *black* configuration used in the DISDRODB project is
139
+ defined in the `pyproject.toml <https://github.com/ltelab/disdrodb/blob/main/pyproject.toml>`__.
140
+
141
+
142
+ **Code Documentation**
143
+
144
+ Every module, function, or class must have a docstring that describes its purpose and how to use it.
145
+ The docstrings follows the conventions described in the `PEP 257 <https://www.python.org/dev/peps/pep-0257/#multi-line-docstrings>`__
146
+ and the `Numpy's docstrings format <https://numpydoc.readthedocs.io/en/latest/format.html>`__.
147
+
148
+ Here is a summary of the most important rules:
149
+
150
+ - Always use triple quotes for doctrings, even if it fits a single
151
+ line.
152
+
153
+ - For one-line docstring, end the phrase with a period.
154
+
155
+ - Use imperative mood for all docstrings (``“””Return some value.”””``)
156
+ rather than descriptive mood (``“””Returns some value.”””``).
157
+
158
+ Here is an example of a docstring:
159
+
160
+ ::
161
+
162
+ def adjust_lag2_corrcoef1(gamma_1, gamma_2):
163
+ """
164
+ A simple adjustment of lag-2 temporal autocorrelation coefficient to
165
+ ensure that the resulting AR(2) process is stationary when the parameters
166
+ are estimated from the Yule-Walker equations.
167
+
168
+ Parameters
169
+ ----------
170
+ gamma_1 : float
171
+ Lag-1 temporal autocorrelation coefficient.
172
+ gamma_2 : float
173
+ Lag-2 temporal autocorrelation coefficient.
174
+
175
+ Returns
176
+ -------
177
+ out : float
178
+ The adjusted lag-2 correlation coefficient.
179
+ """
180
+
181
+
182
+ If you are using VS code, you can install the `autoDocstring <https://marketplace.visualstudio.com/items?itemName=njpwerner.autodocstring>`_
183
+ extension to automatically create such preformatted docstring.
184
+
185
+ You should configure VS code as follow :
186
+
187
+ .. image:: https://github.com/ltelab/disdrodb/blob/main/docs/source/static/vs_code_settings.png?raw=true
188
+ :alt: VS Code Settings
189
+ :align: center
190
+
191
+ The convention we adopt for our docstrings is the numpydoc string convention.
192
+
193
+
194
+ .. _code_quality_control:
195
+
196
+ 4. Code quality control
197
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
198
+
199
+ Pre-commit hooks are automated scripts that run during each commit to detect basic code quality issues.
200
+ If a hook identifies an issue (signified by the pre-commit script exiting with a non-zero status), it halts the commit process and displays the error messages.
201
+
202
+ Currently, DISDRODB tests that the code to be committed complies with `black's <https://github.com/psf/black>`__ format style,
203
+ the `ruff <https://github.com/charliermarsh/ruff>`__ linter and the `codespell <https://github.com/codespell-project/codespell>`__ spelling checker.
204
+
205
+ +-----------------------------------------------------------------------------------------------+------------------------------------------------------------------+------------+-------+
206
+ | Tool | Aim | pre-commit | CI/CD |
207
+ +===============================================================================================+==================================================================+============+=======+
208
+ | `Black <https://black.readthedocs.io/en/stable/>`__ | Python code formatter | 👍 | 👍 |
209
+ +-----------------------------------------------------------------------------------------------+------------------------------------------------------------------+------------+-------+
210
+ | `Ruff <https://github.com/charliermarsh/ruff>`__ | Python linter | 👍 | 👍 |
211
+ +-----------------------------------------------------------------------------------------------+------------------------------------------------------------------+------------+-------+
212
+ | `Codespell <https://github.com/codespell-project/codespell>`__ | Spelling checker | 👍 | 👍 |
213
+ +-----------------------------------------------------------------------------------------------+------------------------------------------------------------------+------------+-------+
214
+
215
+ The versions of the software used in the pre-commit hooks is specified in the `.pre-commit-config.yaml <https://github.com/ltelab/disdrodb/blob/main/.pre-commit-config.yaml>`__ file.
216
+ This file serves as a configuration guide, ensuring that the hooks are executed with the correct versions of each tool, thereby maintaining consistency and reliability in the code quality checks.
217
+
218
+
219
+ If a commit is blocked due to these checks, you can manually correct the issues by running locally the appropriate tool: ``black .`` for Black, ``ruff check .`` for Ruff, or ``codespell`` for Codespell.
220
+ Alternatively, you can use the ``pre-commit run --all-files`` command to attempt automatic corrections of all formatting errors across all files.
221
+
222
+ The Continuous Integration (CI) tools integrated within GitHub employ the same pre-commit hooks to consistently uphold code quality for every Pull Request.
223
+
224
+ In addition to the pre-commit hooks, the Continuous Integration (CI) setup on GitHub incorporates an extended suite of tools.
225
+ These tools, which are not installable on a local setup, perform advanced code quality analyses and reviews after each update to a Pull Request.
226
+
227
+ Refer to the table below for a comprehensive summary of all CI tools employed to assess the code quality of a Pull Request.
228
+
229
+ +----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
230
+ | Tool | Aim |
231
+ +====================================================+===================================================================================================================================+
232
+ | `pre-commit.ci <https://pre-commit.ci/>`__ | Run pre-commit (as defined in `.pre-commit-config.yaml <https://github.com/ltelab/disdrodb/blob/main/.pre-commit-config.yaml>`_ ) |
233
+ +----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
234
+ | `CodeBeat <https://codebeat.co/>`__ | Automated code review and analysis tools |
235
+ +----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
236
+ | `CodeScene <https://codescene.com/>`__ | Automated code review and analysis tools |
237
+ +----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
238
+ | `CodeFactor <https://www.codefactor.io/>`__ | Automated code review and analysis tools |
239
+ +----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
240
+ | `Codacy <https://www.codacy.com/>`__ | Automated code review and analysis tools |
241
+ +----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
242
+
243
+
244
+ 5. Code testing with pytest
245
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
246
+
247
+ DISDRODB tests are written using the third-party `pytest <https://docs.pytest.org>`_ package. Every code change must be tested !
248
+
249
+ The tests are organized within the ``/disdrodb/tests`` directory and are structured to comprehensively assess various aspects of the code.
250
+
251
+ These tests are integral to the development process and are automatically triggered on GitHub upon any new commits or updates to a Pull Request.
252
+ The Continuous Integration (CI) on GitHub runs tests and analyzes code coverage using multiple versions of Python,
253
+ multiple operating systems, and multiple versions of dependency libraries. This is done to ensure that the code works in a variety of environments.
254
+
255
+ The following tools are used:
256
+
257
+ +-----------------------------------------------------------------------------------------------+------------------------------------------------------------------+
258
+ | Tool | Aim |
259
+ +===============================================================================================+==================================================================+
260
+ | `Pytest <https://docs.pytest.org>`__ | Execute unit tests and functional tests |
261
+ +-----------------------------------------------------------------------------------------------+------------------------------------------------------------------+
262
+ | `Coverage <https://coverage.readthedocs.io/>`__ | Measure the code coverage of the project's unit tests |
263
+ +-----------------------------------------------------------------------------------------------+------------------------------------------------------------------+
264
+ | `CodeCov <https://about.codecov.io/>`__ | Uses Coverage to track and analyze code coverage over time. |
265
+ +-----------------------------------------------------------------------------------------------+------------------------------------------------------------------+
266
+ | `Coveralls <https://coveralls.io/>`__ | Uses Coverage to track and analyze code coverage over time. |
267
+ +-----------------------------------------------------------------------------------------------+------------------------------------------------------------------+
268
+
269
+
270
+ For contributors interested in running the tests locally:
271
+
272
+ 1. Ensure you have the `development environment <https://disdrodb.readthedocs.io/en/latest/installation.html#installation-for-contributors>`__ correctly set up.
273
+ 2. Navigate to the disdrodb root directory.
274
+ 3. Execute the following command to run the entire test suite:
275
+
276
+ .. code-block:: bash
277
+
278
+ pytest
279
+
280
+ For more focused testing or during specific feature development, you may run subsets of tests.
281
+ This can be done by specifying either a sub-directory or a particular test module.
282
+
283
+ Run tests in a specific sub-directory:
284
+
285
+ .. code-block:: bash
286
+
287
+ pytest disdrodb/tests/<test_subdirectory>/
288
+
289
+ Run a particular test module:
290
+
291
+ .. code-block:: bash
292
+
293
+ pytest disdrodb/tests/<test_subdirectory>/test_<module_name>.py
294
+
295
+ These options provide flexibility, allowing you to efficiently target and validate specific components of the disdrodb software.
296
+
297
+ .. note::
298
+ Each test module must be prefixed with ``test_`` to be recognized and selected by pytest.
299
+ This naming pattern is a standard convention in pytest and helps in the automatic discovery of test files.
300
+
301
+
302
+ 6. Push your changes to your fork repository
303
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
304
+
305
+ During this process, pre-commit hooks will be run. Your commit will be
306
+ allowed only if quality requirements are fulfilled.
307
+
308
+ If you encounter errors, you can attempt to fix the formatting errors with the following command:
309
+
310
+ .. code-block:: bash
311
+
312
+ pre-commit run --all-files
313
+
314
+
315
+ 7. Create a new Pull Request in GitHub.
316
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
317
+
318
+ Once your code has been uploaded into your DISDRODB fork, you can create a Pull Request (PR) to the DISDRODB main branch.
319
+
320
+ Recommendation for the Pull Requests:
321
+
322
+ - Please fill it out accurately the Pull Request template.
323
+ - It is perfectly fine to make many small commits as you work on a Pull Request. GitHub will automatically squash all the commits before merging the Pull Request.
324
+ - If adding a new feature:
325
+
326
+ - Provide a convincing reason to add the new feature. Ideally, propose your idea through a `Feature Request Issue <https://github.com/ltelab/disdrodb/issues/new/choose>`__ and obtain approval before starting work on it. Alternatively, you can present your ideas in the `GitHub Discussions <https://github.com/ltelab/disdrodb/discussions>`__ or in the `DISDRODB Slack Workspace <https://join.slack.com/t/disdrodbworkspace/shared_invite/zt-25l4mvgo7-cfBdXalzlWGd4Pt7H~FqoA>`__.
327
+ - Implement unit tests to verify the functionality of the new feature. This ensures that your addition works as intended and maintains the quality of the codebase.
328
+
329
+ - If fixing bug:
330
+
331
+ - Provide a comprehensive description of the bug within your Pull Request. This aids reviewers in understanding the issue and the impact of your fix.
332
+ - If your Pull Request addresses a specific issue, add ``(fix #xxxx)`` in your PR title to link the PR to the issue and enhance the clarity of release logs. For example, the title of a PR fixing issue ``#3899`` would be ``<your PR title> (fix #3899)``.
333
+ - If applicable, ensure that your fix includes appropriate tests. Adding tests for your bug fix helps prevent future regressions and maintains the stability of the software.
334
+
335
+
336
+ Code review checklist
337
+ ---------------------
338
+
339
+ - Once your Pull Request is ready, ask the maintainers to review your code.
340
+ - When you are done with the changes suggested by the reviewers, do another self review of the code and write a comment to notify the reviewer,
341
+ that the Pull Request is ready for another iteration.
342
+ - Resolve all the review comments, making sure they are all addressed before another review iteration.
343
+ - If you are not going to follow a code review recommendations, please add a comment explaining why you think the reviewer suggestion is not relevant.
344
+ - Avoid writing comment like “done” of “fixed” on each code review comment.
345
+ Reviewers assume you will do all suggested changes, unless you have a reason not to do some of them.
346
+
347
+
348
+ Credits
349
+ -------
350
+
351
+ Thank you to all the people who have already contributed to DISDRODB repository!
352
+
353
+ If you have contributed data and/or code to disdrodb, add your name to the `AUTHORS.md <https://github.com/ltelab/disdrodb/blob/main/AUTHORS.md>`__ file.
@@ -1,8 +1,6 @@
1
1
  prune .github
2
+ prune ci
2
3
  prune data
3
4
  prune docs
4
5
  prune tutorials
5
- prune ci
6
6
  prune disdrodb/tests
7
-
8
-
@@ -0,0 +1,25 @@
1
+ # Pass arguments to make: https://stackoverflow.com/a/6273809
2
+
3
+ changelog:
4
+ @echo "Updating CHANGELOG.md..."
5
+
6
+ @# Generate CHANGELOG.temp
7
+ @loghub ghiggi/pycolorbar
8
+
9
+ @# Put version in CHANGELOG.temp
10
+ @sed -i 's/<RELEASE_VERSION>/$(filter-out $@,$(MAKECMDGOALS))/g' CHANGELOG.temp
11
+
12
+ @# Remove "# Changelog" header from CHANGELOG.md
13
+ @sed -i '/# Changelog/d' CHANGELOG.md
14
+
15
+ @# Append CHANGELOG.temp to the top of CHANGELOG.md
16
+ @cat CHANGELOG.md >> CHANGELOG.temp
17
+ @mv CHANGELOG.temp CHANGELOG.md
18
+
19
+ @# Add "# Changelog" header to CHANGELOG.md
20
+ @sed -i '1s/^/# Changelog\n\n/' CHANGELOG.md
21
+
22
+ @echo "Done."
23
+
24
+ %:
25
+ @: