disdrodb 0.3.0__py3-none-any.whl → 0.4.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. disdrodb/__init__.py +2 -0
  2. disdrodb/_config.py +1 -0
  3. disdrodb/_version.py +2 -2
  4. disdrodb/accessor/__init__.py +1 -0
  5. disdrodb/accessor/methods.py +1 -0
  6. disdrodb/api/checks.py +2 -4
  7. disdrodb/api/io.py +224 -24
  8. disdrodb/api/path.py +2 -4
  9. disdrodb/cli/disdrodb_check_metadata_archive.py +1 -0
  10. disdrodb/cli/disdrodb_check_products_options.py +1 -0
  11. disdrodb/cli/disdrodb_create_summary.py +6 -6
  12. disdrodb/cli/disdrodb_create_summary_station.py +2 -2
  13. disdrodb/cli/disdrodb_data_archive_directory.py +1 -0
  14. disdrodb/cli/disdrodb_download_archive.py +5 -6
  15. disdrodb/cli/disdrodb_download_metadata_archive.py +1 -0
  16. disdrodb/cli/disdrodb_download_station.py +2 -3
  17. disdrodb/cli/disdrodb_initialize_station.py +3 -3
  18. disdrodb/cli/disdrodb_metadata_archive_directory.py +1 -0
  19. disdrodb/cli/disdrodb_open_data_archive.py +1 -2
  20. disdrodb/cli/disdrodb_open_logs_directory.py +2 -3
  21. disdrodb/cli/disdrodb_open_metadata_archive.py +1 -2
  22. disdrodb/cli/disdrodb_open_metadata_directory.py +2 -3
  23. disdrodb/cli/disdrodb_open_product_directory.py +1 -2
  24. disdrodb/cli/disdrodb_open_readers_directory.py +1 -0
  25. disdrodb/cli/disdrodb_run.py +6 -6
  26. disdrodb/cli/disdrodb_run_l0.py +6 -6
  27. disdrodb/cli/disdrodb_run_l0_station.py +3 -3
  28. disdrodb/cli/disdrodb_run_l0a.py +6 -6
  29. disdrodb/cli/disdrodb_run_l0a_station.py +3 -3
  30. disdrodb/cli/disdrodb_run_l0b.py +6 -6
  31. disdrodb/cli/disdrodb_run_l0b_station.py +3 -3
  32. disdrodb/cli/disdrodb_run_l0c.py +6 -6
  33. disdrodb/cli/disdrodb_run_l0c_station.py +3 -3
  34. disdrodb/cli/disdrodb_run_l1.py +6 -6
  35. disdrodb/cli/disdrodb_run_l1_station.py +3 -3
  36. disdrodb/cli/disdrodb_run_l2e.py +6 -6
  37. disdrodb/cli/disdrodb_run_l2e_station.py +3 -3
  38. disdrodb/cli/disdrodb_run_l2m.py +6 -6
  39. disdrodb/cli/disdrodb_run_l2m_station.py +3 -3
  40. disdrodb/cli/disdrodb_run_station.py +3 -3
  41. disdrodb/cli/disdrodb_upload_archive.py +6 -7
  42. disdrodb/cli/disdrodb_upload_station.py +3 -4
  43. disdrodb/configs.py +7 -8
  44. disdrodb/constants.py +1 -0
  45. disdrodb/data_transfer/download_data.py +8 -8
  46. disdrodb/data_transfer/upload_data.py +6 -8
  47. disdrodb/data_transfer/zenodo.py +1 -1
  48. disdrodb/fall_velocity/__init__.py +1 -0
  49. disdrodb/fall_velocity/graupel.py +1 -0
  50. disdrodb/fall_velocity/hail.py +1 -0
  51. disdrodb/fall_velocity/rain.py +1 -0
  52. disdrodb/issue/checks.py +1 -0
  53. disdrodb/issue/reader.py +1 -0
  54. disdrodb/issue/writer.py +1 -2
  55. disdrodb/l0/__init__.py +1 -0
  56. disdrodb/l0/check_configs.py +21 -23
  57. disdrodb/l0/check_standards.py +0 -1
  58. disdrodb/l0/configs/LPM/l0a_encodings.yml +17 -17
  59. disdrodb/l0/configs/LPM/l0b_cf_attrs.yml +55 -55
  60. disdrodb/l0/configs/LPM/l0b_encodings.yml +17 -17
  61. disdrodb/l0/configs/LPM/raw_data_format.yml +17 -17
  62. disdrodb/l0/configs/LPM_V0/l0a_encodings.yml +2 -2
  63. disdrodb/l0/configs/LPM_V0/l0b_cf_attrs.yml +2 -2
  64. disdrodb/l0/configs/LPM_V0/l0b_encodings.yml +2 -2
  65. disdrodb/l0/configs/LPM_V0/raw_data_format.yml +2 -2
  66. disdrodb/l0/l0_reader.py +1 -0
  67. disdrodb/l0/l0a_processing.py +5 -5
  68. disdrodb/l0/l0b_nc_processing.py +1 -2
  69. disdrodb/l0/l0b_processing.py +1 -13
  70. disdrodb/l0/l0c_processing.py +2 -1
  71. disdrodb/l0/readers/LPM/ARM/ARM_LPM.py +1 -0
  72. disdrodb/l0/readers/LPM/AUSTRALIA/MELBOURNE_2007_LPM.py +17 -17
  73. disdrodb/l0/readers/LPM/BRAZIL/CHUVA_LPM.py +17 -17
  74. disdrodb/l0/readers/LPM/BRAZIL/GOAMAZON_LPM.py +17 -17
  75. disdrodb/l0/readers/LPM/GERMANY/DWD.py +55 -52
  76. disdrodb/l0/readers/LPM/ITALY/GID_LPM.py +18 -17
  77. disdrodb/l0/readers/LPM/ITALY/GID_LPM_AQ.py +277 -0
  78. disdrodb/l0/readers/LPM/ITALY/GID_LPM_PI.py +18 -17
  79. disdrodb/l0/readers/LPM/ITALY/GID_LPM_T.py +18 -17
  80. disdrodb/l0/readers/LPM/ITALY/GID_LPM_W.py +18 -18
  81. disdrodb/l0/readers/LPM/KIT/CHWALA.py +18 -17
  82. disdrodb/l0/readers/LPM/NETHERLANDS/DELFT_RWANDA_LPM_NC.py +17 -17
  83. disdrodb/l0/readers/LPM/NORWAY/HAUKELISETER_LPM.py +18 -17
  84. disdrodb/l0/readers/LPM/NORWAY/NMBU_LPM.py +18 -17
  85. disdrodb/l0/readers/LPM/SLOVENIA/ARSO.py +18 -17
  86. disdrodb/l0/readers/LPM/SLOVENIA/UL.py +18 -17
  87. disdrodb/l0/readers/LPM/SWITZERLAND/INNERERIZ_LPM.py +18 -17
  88. disdrodb/l0/readers/LPM/UK/WITHWORTH_LPM.py +18 -17
  89. disdrodb/l0/readers/LPM/USA/CHARLESTON.py +18 -17
  90. disdrodb/l0/readers/LPM/USA/DEVEX.py +255 -0
  91. disdrodb/l0/readers/LPM_V0/BELGIUM/ULIEGE.py +2 -2
  92. disdrodb/l0/readers/LPM_V0/ITALY/GID_LPM_V0.py +3 -2
  93. disdrodb/l0/readers/ODM470/OCEAN/OCEANRAIN.py +1 -0
  94. disdrodb/l0/readers/PARSIVEL/BASQUECOUNTRY/EUSKALMET_OTT.py +1 -0
  95. disdrodb/l0/readers/PARSIVEL/CHINA/CHONGQING.py +1 -0
  96. disdrodb/l0/readers/PARSIVEL/EPFL/ARCTIC_2021.py +1 -0
  97. disdrodb/l0/readers/PARSIVEL/EPFL/COMMON_2011.py +1 -0
  98. disdrodb/l0/readers/PARSIVEL/EPFL/DAVOS_2009_2011.py +1 -0
  99. disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_2009.py +1 -0
  100. disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_ROOF_2008.py +1 -0
  101. disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_ROOF_2010.py +1 -0
  102. disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_ROOF_2011.py +1 -0
  103. disdrodb/l0/readers/PARSIVEL/EPFL/EPFL_ROOF_2012.py +1 -0
  104. disdrodb/l0/readers/PARSIVEL/EPFL/GENEPI_2007.py +1 -0
  105. disdrodb/l0/readers/PARSIVEL/EPFL/GRAND_ST_BERNARD_2007.py +1 -0
  106. disdrodb/l0/readers/PARSIVEL/EPFL/GRAND_ST_BERNARD_2007_2.py +1 -0
  107. disdrodb/l0/readers/PARSIVEL/EPFL/HPICONET_2010.py +1 -0
  108. disdrodb/l0/readers/PARSIVEL/EPFL/HYMEX_LTE_SOP2.py +1 -0
  109. disdrodb/l0/readers/PARSIVEL/EPFL/HYMEX_LTE_SOP3.py +1 -0
  110. disdrodb/l0/readers/PARSIVEL/EPFL/HYMEX_LTE_SOP4.py +1 -0
  111. disdrodb/l0/readers/PARSIVEL/EPFL/PARADISO_2014.py +1 -0
  112. disdrodb/l0/readers/PARSIVEL/EPFL/PARSIVEL_2007.py +1 -0
  113. disdrodb/l0/readers/PARSIVEL/EPFL/RACLETS_2019.py +1 -0
  114. disdrodb/l0/readers/PARSIVEL/EPFL/RACLETS_2019_WJF.py +1 -0
  115. disdrodb/l0/readers/PARSIVEL/EPFL/RIETHOLZBACH_2011.py +1 -0
  116. disdrodb/l0/readers/PARSIVEL/EPFL/SAMOYLOV_2017.py +1 -0
  117. disdrodb/l0/readers/PARSIVEL/EPFL/SAMOYLOV_2019.py +1 -0
  118. disdrodb/l0/readers/PARSIVEL/EPFL/UNIL_2022.py +1 -0
  119. disdrodb/l0/readers/PARSIVEL/SLOVENIA/UL.py +1 -0
  120. disdrodb/l0/readers/PARSIVEL2/ARM/ARM_PARSIVEL2.py +1 -0
  121. disdrodb/l0/readers/PARSIVEL2/BASQUECOUNTRY/EUSKALMET_OTT2.py +1 -0
  122. disdrodb/l0/readers/PARSIVEL2/BELGIUM/ILVO.py +1 -0
  123. disdrodb/l0/readers/PARSIVEL2/DENMARK/EROSION_nc.py +1 -0
  124. disdrodb/l0/readers/PARSIVEL2/DENMARK/EROSION_raw.py +1 -0
  125. disdrodb/l0/readers/PARSIVEL2/FRANCE/ENPC_PARSIVEL2.py +1 -0
  126. disdrodb/l0/readers/PARSIVEL2/FRANCE/OSUG.py +1 -1
  127. disdrodb/l0/readers/PARSIVEL2/ITALY/HYDROX.py +1 -0
  128. disdrodb/l0/readers/PARSIVEL2/MEXICO/OH_IIUNAM_nc.py +1 -0
  129. disdrodb/l0/readers/PARSIVEL2/NCAR/FARM_PARSIVEL2.py +1 -0
  130. disdrodb/l0/readers/PARSIVEL2/NCAR/PERILS_MIPS.py +1 -0
  131. disdrodb/l0/readers/PARSIVEL2/NCAR/PERILS_PIPS.py +1 -0
  132. disdrodb/l0/readers/PARSIVEL2/NCAR/VORTEX_SE_2016_P1.py +1 -0
  133. disdrodb/l0/readers/PARSIVEL2/NCAR/VORTEX_SE_2016_PIPS.py +1 -0
  134. disdrodb/l0/readers/PARSIVEL2/PHILIPPINES/PAGASA.py +1 -0
  135. disdrodb/l0/readers/PARSIVEL2/SPAIN/GRANADA.py +1 -0
  136. disdrodb/l0/readers/PARSIVEL2/SWEDEN/SMHI.py +1 -0
  137. disdrodb/l0/readers/PARSIVEL2/USA/CW3E.py +1 -0
  138. disdrodb/l0/readers/PWS100/AUSTRIA/HOAL.py +1 -0
  139. disdrodb/l0/readers/PWS100/FRANCE/ENPC_PWS100.py +1 -0
  140. disdrodb/l0/readers/PWS100/FRANCE/ENPC_PWS100_SIRTA.py +1 -0
  141. disdrodb/l0/readers/RD80/NOAA/PSL_RD80.py +1 -0
  142. disdrodb/l0/readers/SWS250/BELGIUM/KMI.py +1 -0
  143. disdrodb/l0/readers/template_reader_raw_netcdf_data.py +1 -0
  144. disdrodb/l0/readers/template_reader_raw_text_data.py +1 -0
  145. disdrodb/l0/template_tools.py +6 -8
  146. disdrodb/l1/__init__.py +1 -0
  147. disdrodb/l1/classification.py +1 -0
  148. disdrodb/l1/resampling.py +5 -0
  149. disdrodb/l1_env/routines.py +1 -0
  150. disdrodb/l2/__init__.py +1 -0
  151. disdrodb/l2/empirical_dsd.py +1 -0
  152. disdrodb/l2/processing.py +1 -0
  153. disdrodb/metadata/checks.py +9 -10
  154. disdrodb/metadata/download.py +1 -0
  155. disdrodb/metadata/geolocation.py +2 -1
  156. disdrodb/metadata/info.py +2 -2
  157. disdrodb/metadata/search.py +0 -1
  158. disdrodb/physics/atmosphere.py +1 -0
  159. disdrodb/physics/water.py +1 -0
  160. disdrodb/physics/wrappers.py +1 -0
  161. disdrodb/psd/__init__.py +0 -1
  162. disdrodb/psd/fitting.py +1 -0
  163. disdrodb/psd/models.py +1 -0
  164. disdrodb/routines/__init__.py +1 -0
  165. disdrodb/routines/l0.py +13 -9
  166. disdrodb/routines/l1.py +17 -12
  167. disdrodb/routines/l2.py +4 -5
  168. disdrodb/routines/options.py +1 -0
  169. disdrodb/routines/options_validation.py +12 -12
  170. disdrodb/routines/wrappers.py +33 -33
  171. disdrodb/scattering/__init__.py +0 -1
  172. disdrodb/scattering/permittivity.py +1 -0
  173. disdrodb/scattering/routines.py +3 -3
  174. disdrodb/summary/routines.py +12 -5
  175. disdrodb/utils/archiving.py +2 -1
  176. disdrodb/utils/attrs.py +3 -2
  177. disdrodb/utils/compression.py +1 -2
  178. disdrodb/utils/coords.py +45 -0
  179. disdrodb/utils/dask.py +5 -2
  180. disdrodb/utils/dataframe.py +4 -3
  181. disdrodb/utils/decorators.py +2 -1
  182. disdrodb/utils/directories.py +2 -2
  183. disdrodb/utils/encoding.py +2 -1
  184. disdrodb/utils/manipulations.py +1 -0
  185. disdrodb/utils/pydantic.py +1 -0
  186. disdrodb/utils/routines.py +1 -0
  187. disdrodb/utils/time.py +3 -2
  188. disdrodb/utils/warnings.py +1 -0
  189. disdrodb/utils/writer.py +4 -0
  190. disdrodb/utils/xarray.py +1 -0
  191. disdrodb/viz/plots.py +1 -0
  192. {disdrodb-0.3.0.dist-info → disdrodb-0.4.0.dist-info}/METADATA +4 -3
  193. disdrodb-0.4.0.dist-info/RECORD +361 -0
  194. disdrodb-0.3.0.dist-info/RECORD +0 -358
  195. {disdrodb-0.3.0.dist-info → disdrodb-0.4.0.dist-info}/WHEEL +0 -0
  196. {disdrodb-0.3.0.dist-info → disdrodb-0.4.0.dist-info}/entry_points.txt +0 -0
  197. {disdrodb-0.3.0.dist-info → disdrodb-0.4.0.dist-info}/licenses/LICENSE +0 -0
  198. {disdrodb-0.3.0.dist-info → disdrodb-0.4.0.dist-info}/top_level.txt +0 -0
@@ -17,7 +17,6 @@
17
17
  """Routine to open the DISDRODB Data Archive logs directory."""
18
18
 
19
19
  import sys
20
- from typing import Optional
21
20
 
22
21
  import click
23
22
 
@@ -36,8 +35,8 @@ sys.tracebacklimit = 0 # avoid full traceback error if occur
36
35
  def disdrodb_open_metadata_directory(
37
36
  data_source: str,
38
37
  campaign_name: str,
39
- station_name: Optional[str] = None,
40
- metadata_archive_dir: Optional[str] = None,
38
+ station_name: str | None = None,
39
+ metadata_archive_dir: str | None = None,
41
40
  ):
42
41
  """Open the DISDRODB Metadata Archive directory of a station in the system file explorer.
43
42
 
@@ -17,7 +17,6 @@
17
17
  """Routine to open the DISDRODB Data Archive station product directory."""
18
18
 
19
19
  import sys
20
- from typing import Optional
21
20
 
22
21
  import click
23
22
 
@@ -39,7 +38,7 @@ def disdrodb_open_product_directory(
39
38
  data_source: str,
40
39
  campaign_name: str,
41
40
  station_name: str,
42
- data_archive_dir: Optional[str] = None,
41
+ data_archive_dir: str | None = None,
43
42
  ):
44
43
  """Open the DISDRODB Data Archive station product directory in the system file explorer.
45
44
 
@@ -15,6 +15,7 @@
15
15
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
  # -----------------------------------------------------------------------------.
17
17
  """Routine to open the disdrodb software readers directory."""
18
+
18
19
  import sys
19
20
 
20
21
  import click
@@ -15,8 +15,8 @@
15
15
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
  # -----------------------------------------------------------------------------.
17
17
  """Script to launch DISDRODB products generation for the entire DISDRODB Archive."""
18
+
18
19
  import sys
19
- from typing import Optional
20
20
 
21
21
  import click
22
22
 
@@ -65,9 +65,9 @@ sys.tracebacklimit = 0 # avoid full traceback error if occur
65
65
  @click_metadata_archive_dir_option
66
66
  def disdrodb_run(
67
67
  # Stations options
68
- data_sources: Optional[str] = None,
69
- campaign_names: Optional[str] = None,
70
- station_names: Optional[str] = None,
68
+ data_sources: str | None = None,
69
+ campaign_names: str | None = None,
70
+ station_names: str | None = None,
71
71
  # L0 archive options
72
72
  l0a_processing: bool = True,
73
73
  l0b_processing: bool = True,
@@ -84,8 +84,8 @@ def disdrodb_run(
84
84
  parallel: bool = True,
85
85
  debugging_mode: bool = False,
86
86
  # DISDRODB root directories
87
- data_archive_dir: Optional[str] = None,
88
- metadata_archive_dir: Optional[str] = None,
87
+ data_archive_dir: str | None = None,
88
+ metadata_archive_dir: str | None = None,
89
89
  ):
90
90
  """Run the complete processing of DISDRODB stations.
91
91
 
@@ -15,8 +15,8 @@
15
15
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
  # -----------------------------------------------------------------------------.
17
17
  """Script to run the DISDRODB L0 processing."""
18
+
18
19
  import sys
19
- from typing import Optional
20
20
 
21
21
  import click
22
22
 
@@ -41,9 +41,9 @@ sys.tracebacklimit = 0 # avoid full traceback error if occur
41
41
  @click_metadata_archive_dir_option
42
42
  def disdrodb_run_l0(
43
43
  # Stations options
44
- data_sources: Optional[str] = None,
45
- campaign_names: Optional[str] = None,
46
- station_names: Optional[str] = None,
44
+ data_sources: str | None = None,
45
+ campaign_names: str | None = None,
46
+ station_names: str | None = None,
47
47
  # L0 archive options
48
48
  l0a_processing: bool = True,
49
49
  l0b_processing: bool = True,
@@ -56,8 +56,8 @@ def disdrodb_run_l0(
56
56
  parallel: bool = True,
57
57
  debugging_mode: bool = False,
58
58
  # DISDRODB root directories
59
- data_archive_dir: Optional[str] = None,
60
- metadata_archive_dir: Optional[str] = None,
59
+ data_archive_dir: str | None = None,
60
+ metadata_archive_dir: str | None = None,
61
61
  ):
62
62
  """Run the DISDRODB L0 processing chain for many/all DISDRODB stations.
63
63
 
@@ -15,8 +15,8 @@
15
15
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
  # -----------------------------------------------------------------------------.
17
17
  """Script to run the DISDRODB L0 station processing."""
18
+
18
19
  import sys
19
- from typing import Optional
20
20
 
21
21
  import click
22
22
 
@@ -58,8 +58,8 @@ def disdrodb_run_l0_station(
58
58
  parallel: bool = True,
59
59
  debugging_mode: bool = False,
60
60
  # DISDRODB root directories
61
- data_archive_dir: Optional[str] = None,
62
- metadata_archive_dir: Optional[str] = None,
61
+ data_archive_dir: str | None = None,
62
+ metadata_archive_dir: str | None = None,
63
63
  ):
64
64
  """Run the DISDRODB L0 processing chain for a specific DISDRODB station.
65
65
 
@@ -16,8 +16,8 @@
16
16
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
17
  # -----------------------------------------------------------------------------.
18
18
  """Script to run the DISDRODB L0A processing."""
19
+
19
20
  import sys
20
- from typing import Optional
21
21
 
22
22
  import click
23
23
 
@@ -40,17 +40,17 @@ sys.tracebacklimit = 0 # avoid full traceback error if occur
40
40
  @click_metadata_archive_dir_option
41
41
  def disdrodb_run_l0a(
42
42
  # Stations options
43
- data_sources: Optional[str] = None,
44
- campaign_names: Optional[str] = None,
45
- station_names: Optional[str] = None,
43
+ data_sources: str | None = None,
44
+ campaign_names: str | None = None,
45
+ station_names: str | None = None,
46
46
  # Processing options
47
47
  force: bool = False,
48
48
  verbose: bool = True,
49
49
  parallel: bool = True,
50
50
  debugging_mode: bool = False,
51
51
  # DISDRODB root directories
52
- data_archive_dir: Optional[str] = None,
53
- metadata_archive_dir: Optional[str] = None,
52
+ data_archive_dir: str | None = None,
53
+ metadata_archive_dir: str | None = None,
54
54
  ):
55
55
  """Run the DISDRODB L0A processing chain for many/all DISDRODB stations.
56
56
 
@@ -15,8 +15,8 @@
15
15
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
  # -----------------------------------------------------------------------------.
17
17
  """Script to run the DISDRODB L0A station processing."""
18
+
18
19
  import sys
19
- from typing import Optional
20
20
 
21
21
  import click
22
22
 
@@ -50,8 +50,8 @@ def disdrodb_run_l0a_station(
50
50
  parallel: bool = True,
51
51
  debugging_mode: bool = False,
52
52
  # DISDRODB root directories
53
- data_archive_dir: Optional[str] = None,
54
- metadata_archive_dir: Optional[str] = None,
53
+ data_archive_dir: str | None = None,
54
+ metadata_archive_dir: str | None = None,
55
55
  ):
56
56
  """Run the DISDRODB L0A processing chain for a specific DISDRODB station.
57
57
 
@@ -16,8 +16,8 @@
16
16
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
17
  # -----------------------------------------------------------------------------.
18
18
  """Script to run the DISDRODB L0B processing."""
19
+
19
20
  import sys
20
- from typing import Optional
21
21
 
22
22
  import click
23
23
 
@@ -42,9 +42,9 @@ sys.tracebacklimit = 0 # avoid full traceback error if occur
42
42
  @click_metadata_archive_dir_option
43
43
  def disdrodb_run_l0b(
44
44
  # Stations options
45
- data_sources: Optional[str] = None,
46
- campaign_names: Optional[str] = None,
47
- station_names: Optional[str] = None,
45
+ data_sources: str | None = None,
46
+ campaign_names: str | None = None,
47
+ station_names: str | None = None,
48
48
  # Processing options
49
49
  force: bool = False,
50
50
  verbose: bool = True,
@@ -52,8 +52,8 @@ def disdrodb_run_l0b(
52
52
  debugging_mode: bool = False,
53
53
  remove_l0a: bool = False,
54
54
  # DISDRODB root directories
55
- data_archive_dir: Optional[str] = None,
56
- metadata_archive_dir: Optional[str] = None,
55
+ data_archive_dir: str | None = None,
56
+ metadata_archive_dir: str | None = None,
57
57
  ):
58
58
  """Run the DISDRODB L0B processing chain for many/all DISDRODB stations.
59
59
 
@@ -15,8 +15,8 @@
15
15
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
  # -----------------------------------------------------------------------------.
17
17
  """Script to run the DISDRODB L0B station processing."""
18
+
18
19
  import sys
19
- from typing import Optional
20
20
 
21
21
  import click
22
22
 
@@ -53,8 +53,8 @@ def disdrodb_run_l0b_station(
53
53
  debugging_mode: bool = False,
54
54
  remove_l0a: bool = False,
55
55
  # DISDRODB root directories
56
- data_archive_dir: Optional[str] = None,
57
- metadata_archive_dir: Optional[str] = None,
56
+ data_archive_dir: str | None = None,
57
+ metadata_archive_dir: str | None = None,
58
58
  ):
59
59
  """Run the DISDRODB L0B processing chain for a specific DISDRODB station.
60
60
 
@@ -16,8 +16,8 @@
16
16
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
17
  # -----------------------------------------------------------------------------.
18
18
  """Script to run the DISDRODB L0C processing."""
19
+
19
20
  import sys
20
- from typing import Optional
21
21
 
22
22
  import click
23
23
 
@@ -42,9 +42,9 @@ sys.tracebacklimit = 0 # avoid full traceback error if occur
42
42
  @click_metadata_archive_dir_option
43
43
  def disdrodb_run_l0c(
44
44
  # Stations options
45
- data_sources: Optional[str] = None,
46
- campaign_names: Optional[str] = None,
47
- station_names: Optional[str] = None,
45
+ data_sources: str | None = None,
46
+ campaign_names: str | None = None,
47
+ station_names: str | None = None,
48
48
  # L0C processing options
49
49
  remove_l0b: bool = False,
50
50
  # Processing options
@@ -53,8 +53,8 @@ def disdrodb_run_l0c(
53
53
  parallel: bool = True,
54
54
  debugging_mode: bool = False,
55
55
  # DISDRODB root directories
56
- data_archive_dir: Optional[str] = None,
57
- metadata_archive_dir: Optional[str] = None,
56
+ data_archive_dir: str | None = None,
57
+ metadata_archive_dir: str | None = None,
58
58
  ):
59
59
  """Run the DISDRODB L0C processing chain for many/all DISDRODB stations.
60
60
 
@@ -15,8 +15,8 @@
15
15
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
  # -----------------------------------------------------------------------------.
17
17
  """Script to run the DISDRODB L0C station processing."""
18
+
18
19
  import sys
19
- from typing import Optional
20
20
 
21
21
  import click
22
22
 
@@ -54,8 +54,8 @@ def disdrodb_run_l0c_station(
54
54
  parallel: bool = True,
55
55
  debugging_mode: bool = False,
56
56
  # DISDRODB root directories
57
- data_archive_dir: Optional[str] = None,
58
- metadata_archive_dir: Optional[str] = None,
57
+ data_archive_dir: str | None = None,
58
+ metadata_archive_dir: str | None = None,
59
59
  ):
60
60
  """Run the DISDRODB L0C processing chain for a specific DISDRODB station.
61
61
 
@@ -16,8 +16,8 @@
16
16
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
17
  # -----------------------------------------------------------------------------.
18
18
  """Script to run the DISDRODB L1B processing."""
19
+
19
20
  import sys
20
- from typing import Optional
21
21
 
22
22
  import click
23
23
 
@@ -40,17 +40,17 @@ sys.tracebacklimit = 0 # avoid full traceback error if occur
40
40
  @click_metadata_archive_dir_option
41
41
  def disdrodb_run_l1(
42
42
  # Stations options
43
- data_sources: Optional[str] = None,
44
- campaign_names: Optional[str] = None,
45
- station_names: Optional[str] = None,
43
+ data_sources: str | None = None,
44
+ campaign_names: str | None = None,
45
+ station_names: str | None = None,
46
46
  # Processing options
47
47
  force: bool = False,
48
48
  verbose: bool = True,
49
49
  parallel: bool = True,
50
50
  debugging_mode: bool = False,
51
51
  # DISDRODB root directories
52
- data_archive_dir: Optional[str] = None,
53
- metadata_archive_dir: Optional[str] = None,
52
+ data_archive_dir: str | None = None,
53
+ metadata_archive_dir: str | None = None,
54
54
  ):
55
55
  """Run the DISDRODB L1 processing chain for many/all DISDRODB stations.
56
56
 
@@ -15,8 +15,8 @@
15
15
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
  # -----------------------------------------------------------------------------.
17
17
  """Script to run the DISDRODB L1 station processing."""
18
+
18
19
  import sys
19
- from typing import Optional
20
20
 
21
21
  import click
22
22
 
@@ -50,8 +50,8 @@ def disdrodb_run_l1_station(
50
50
  parallel: bool = True,
51
51
  debugging_mode: bool = False,
52
52
  # DISDRODB root directories
53
- data_archive_dir: Optional[str] = None,
54
- metadata_archive_dir: Optional[str] = None,
53
+ data_archive_dir: str | None = None,
54
+ metadata_archive_dir: str | None = None,
55
55
  ):
56
56
  """Run the DISDRODB L1 processing chain for a specific DISDRODB station.
57
57
 
@@ -16,8 +16,8 @@
16
16
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
17
  # -----------------------------------------------------------------------------.
18
18
  """Script to run the DISDRODB L2E processing."""
19
+
19
20
  import sys
20
- from typing import Optional
21
21
 
22
22
  import click
23
23
 
@@ -40,17 +40,17 @@ sys.tracebacklimit = 0 # avoid full traceback error if occur
40
40
  @click_metadata_archive_dir_option
41
41
  def disdrodb_run_l2e(
42
42
  # Stations options
43
- data_sources: Optional[str] = None,
44
- campaign_names: Optional[str] = None,
45
- station_names: Optional[str] = None,
43
+ data_sources: str | None = None,
44
+ campaign_names: str | None = None,
45
+ station_names: str | None = None,
46
46
  # Processing options
47
47
  force: bool = False,
48
48
  verbose: bool = True,
49
49
  parallel: bool = True,
50
50
  debugging_mode: bool = False,
51
51
  # DISDRODB root directories
52
- data_archive_dir: Optional[str] = None,
53
- metadata_archive_dir: Optional[str] = None,
52
+ data_archive_dir: str | None = None,
53
+ metadata_archive_dir: str | None = None,
54
54
  ):
55
55
  """Run the DISDRODB L2E processing chain for many/all DISDRODB stations.
56
56
 
@@ -15,8 +15,8 @@
15
15
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
  # -----------------------------------------------------------------------------.
17
17
  """Script to run the DISDRODB L2E station processing."""
18
+
18
19
  import sys
19
- from typing import Optional
20
20
 
21
21
  import click
22
22
 
@@ -50,8 +50,8 @@ def disdrodb_run_l2e_station(
50
50
  parallel: bool = True,
51
51
  debugging_mode: bool = False,
52
52
  # DISDRODB root directories
53
- data_archive_dir: Optional[str] = None,
54
- metadata_archive_dir: Optional[str] = None,
53
+ data_archive_dir: str | None = None,
54
+ metadata_archive_dir: str | None = None,
55
55
  ):
56
56
  """Run the DISDRODB L2E processing chain for a specific DISDRODB station.
57
57
 
@@ -16,8 +16,8 @@
16
16
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
17
  # -----------------------------------------------------------------------------.
18
18
  """Script to run the DISDRODB L2M processing."""
19
+
19
20
  import sys
20
- from typing import Optional
21
21
 
22
22
  import click
23
23
 
@@ -40,17 +40,17 @@ sys.tracebacklimit = 0 # avoid full traceback error if occur
40
40
  @click_metadata_archive_dir_option
41
41
  def disdrodb_run_l2m(
42
42
  # Stations options
43
- data_sources: Optional[str] = None,
44
- campaign_names: Optional[str] = None,
45
- station_names: Optional[str] = None,
43
+ data_sources: str | None = None,
44
+ campaign_names: str | None = None,
45
+ station_names: str | None = None,
46
46
  # Processing options
47
47
  force: bool = False,
48
48
  verbose: bool = True,
49
49
  parallel: bool = True,
50
50
  debugging_mode: bool = False,
51
51
  # DISDRODB root directories
52
- data_archive_dir: Optional[str] = None,
53
- metadata_archive_dir: Optional[str] = None,
52
+ data_archive_dir: str | None = None,
53
+ metadata_archive_dir: str | None = None,
54
54
  ):
55
55
  """Run the DISDRODB L2M processing chain for many/all DISDRODB stations.
56
56
 
@@ -15,8 +15,8 @@
15
15
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
  # -----------------------------------------------------------------------------.
17
17
  """Script to run the DISDRODB L2M station processing."""
18
+
18
19
  import sys
19
- from typing import Optional
20
20
 
21
21
  import click
22
22
 
@@ -50,8 +50,8 @@ def disdrodb_run_l2m_station(
50
50
  parallel: bool = True,
51
51
  debugging_mode: bool = False,
52
52
  # DISDRODB root directories
53
- data_archive_dir: Optional[str] = None,
54
- metadata_archive_dir: Optional[str] = None,
53
+ data_archive_dir: str | None = None,
54
+ metadata_archive_dir: str | None = None,
55
55
  ):
56
56
  """Run the DISDRODB L2M processing chain for a specific DISDRODB station.
57
57
 
@@ -15,8 +15,8 @@
15
15
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
  # -----------------------------------------------------------------------------.
17
17
  """Script to launch all DISDRODB products generation for a given station."""
18
+
18
19
  import sys
19
- from typing import Optional
20
20
 
21
21
  import click
22
22
 
@@ -85,8 +85,8 @@ def disdrodb_run_station(
85
85
  parallel: bool = True,
86
86
  debugging_mode: bool = False,
87
87
  # DISDRODB root directories
88
- data_archive_dir: Optional[str] = None,
89
- metadata_archive_dir: Optional[str] = None,
88
+ data_archive_dir: str | None = None,
89
+ metadata_archive_dir: str | None = None,
90
90
  ):
91
91
  """Run the complete processing of a specific DISDRODB station.
92
92
 
@@ -17,7 +17,6 @@
17
17
  """Routines to upload data to the DISDRODB Decentralized Data Archive."""
18
18
 
19
19
  import sys
20
- from typing import Optional
21
20
 
22
21
  import click
23
22
 
@@ -39,14 +38,14 @@ sys.tracebacklimit = 0 # avoid full traceback error if occur
39
38
  @click_metadata_archive_dir_option
40
39
  def disdrodb_upload_archive(
41
40
  # DISDRODB root directories
42
- data_archive_dir: Optional[str] = None,
43
- metadata_archive_dir: Optional[str] = None,
41
+ data_archive_dir: str | None = None,
42
+ metadata_archive_dir: str | None = None,
44
43
  # Stations options
45
- data_sources: Optional[str] = None,
46
- campaign_names: Optional[str] = None,
47
- station_names: Optional[str] = None,
44
+ data_sources: str | None = None,
45
+ campaign_names: str | None = None,
46
+ station_names: str | None = None,
48
47
  # Upload options
49
- platform: Optional[str] = None,
48
+ platform: str | None = None,
50
49
  force: bool = False,
51
50
  ):
52
51
  """Upload raw data for multiple DISDRODB stations to the DISDRODB Decentralized Data Archive.
@@ -17,7 +17,6 @@
17
17
  """Routines to upload station data to the DISDRODB Decentralized Data Archive."""
18
18
 
19
19
  import sys
20
- from typing import Optional
21
20
 
22
21
  import click
23
22
 
@@ -43,11 +42,11 @@ def disdrodb_upload_station(
43
42
  campaign_name: str,
44
43
  station_name: str,
45
44
  # Upload options
46
- platform: Optional[str] = None,
45
+ platform: str | None = None,
47
46
  force: bool = False,
48
47
  # DISDRODB root directories
49
- data_archive_dir: Optional[str] = None,
50
- metadata_archive_dir: Optional[str] = None,
48
+ data_archive_dir: str | None = None,
49
+ metadata_archive_dir: str | None = None,
51
50
  ):
52
51
  """Upload raw data from a single DISDRODB station to the DISDRODB Decentralized Data Archive.
53
52
 
disdrodb/configs.py CHANGED
@@ -18,7 +18,6 @@
18
18
 
19
19
  import os
20
20
  import shutil
21
- from typing import Optional
22
21
 
23
22
  from disdrodb.utils.yaml import read_yaml, write_yaml
24
23
 
@@ -32,13 +31,13 @@ def _define_config_filepath():
32
31
 
33
32
 
34
33
  def define_configs(
35
- data_archive_dir: Optional[str] = None,
36
- metadata_archive_dir: Optional[str] = None,
37
- scattering_table_dir: Optional[str] = None,
38
- products_configs_dir: Optional[str] = None,
39
- folder_partitioning: Optional[str] = None,
40
- zenodo_token: Optional[str] = None,
41
- zenodo_sandbox_token: Optional[str] = None,
34
+ data_archive_dir: str | None = None,
35
+ metadata_archive_dir: str | None = None,
36
+ scattering_table_dir: str | None = None,
37
+ products_configs_dir: str | None = None,
38
+ folder_partitioning: str | None = None,
39
+ zenodo_token: str | None = None,
40
+ zenodo_sandbox_token: str | None = None,
42
41
  ):
43
42
  """
44
43
  Defines the DISDRODB configuration file with the given credentials and base directory.
disdrodb/constants.py CHANGED
@@ -15,6 +15,7 @@
15
15
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
  # -----------------------------------------------------------------------------.
17
17
  """DISDRODB constants."""
18
+
18
19
  import importlib
19
20
 
20
21
  ARCHIVE_VERSION = "V0"
@@ -15,12 +15,12 @@
15
15
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
  # -----------------------------------------------------------------------------.
17
17
  """Routines to download data from the DISDRODB Decentralized Data Archive."""
18
+
18
19
  import logging
19
20
  import os
20
21
  import shutil
21
22
  import subprocess
22
23
  import urllib.parse
23
- from typing import Optional, Union
24
24
 
25
25
  import click
26
26
  import pooch
@@ -96,12 +96,12 @@ def click_download_options(function: object):
96
96
 
97
97
 
98
98
  def download_archive(
99
- data_sources: Optional[Union[str, list[str]]] = None,
100
- campaign_names: Optional[Union[str, list[str]]] = None,
101
- station_names: Optional[Union[str, list[str]]] = None,
99
+ data_sources: str | list[str] | None = None,
100
+ campaign_names: str | list[str] | None = None,
101
+ station_names: str | list[str] | None = None,
102
102
  force: bool = False,
103
- data_archive_dir: Optional[str] = None,
104
- metadata_archive_dir: Optional[str] = None,
103
+ data_archive_dir: str | None = None,
104
+ metadata_archive_dir: str | None = None,
105
105
  ):
106
106
  """Download DISDRODB stations with the ``disdrodb_data_url`` in the metadata.
107
107
 
@@ -174,8 +174,8 @@ def download_station(
174
174
  campaign_name: str,
175
175
  station_name: str,
176
176
  force: bool = False,
177
- data_archive_dir: Optional[str] = None,
178
- metadata_archive_dir: Optional[str] = None,
177
+ data_archive_dir: str | None = None,
178
+ metadata_archive_dir: str | None = None,
179
179
  ) -> None:
180
180
  """
181
181
  Download data of a single DISDRODB station from the DISDRODB remote repository.
@@ -16,8 +16,6 @@
16
16
  # -----------------------------------------------------------------------------.
17
17
  """Routines to upload data to the DISDRODB Decentralized Data Archive."""
18
18
 
19
- from typing import Optional
20
-
21
19
  import click
22
20
 
23
21
  from disdrodb.api.path import define_metadata_filepath
@@ -123,10 +121,10 @@ def upload_station(
123
121
  data_source: str,
124
122
  campaign_name: str,
125
123
  station_name: str,
126
- platform: Optional[str] = "sandbox.zenodo",
124
+ platform: str | None = "sandbox.zenodo",
127
125
  force: bool = False,
128
- data_archive_dir: Optional[str] = None,
129
- metadata_archive_dir: Optional[str] = None,
126
+ data_archive_dir: str | None = None,
127
+ metadata_archive_dir: str | None = None,
130
128
  ) -> None:
131
129
  """
132
130
  Upload data from a single DISDRODB station on a remote repository.
@@ -189,10 +187,10 @@ def upload_station(
189
187
 
190
188
 
191
189
  def upload_archive(
192
- platform: Optional[str] = None,
190
+ platform: str | None = None,
193
191
  force: bool = False,
194
- data_archive_dir: Optional[str] = None,
195
- metadata_archive_dir: Optional[str] = None,
192
+ data_archive_dir: str | None = None,
193
+ metadata_archive_dir: str | None = None,
196
194
  **fields_kwargs,
197
195
  ) -> None:
198
196
  """Find all stations containing local data and upload them to a remote repository.