cloudnetpy 1.86.6__tar.gz → 1.86.8__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.

Potentially problematic release.


This version of cloudnetpy might be problematic. Click here for more details.

Files changed (133) hide show
  1. {cloudnetpy-1.86.6/cloudnetpy.egg-info → cloudnetpy-1.86.8}/PKG-INFO +1 -1
  2. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/copernicus.py +24 -9
  3. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/galileo.py +4 -0
  4. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/vaisala.py +3 -0
  5. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/version.py +1 -1
  6. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8/cloudnetpy.egg-info}/PKG-INFO +1 -1
  7. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/LICENSE +0 -0
  8. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/MANIFEST.in +0 -0
  9. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/README.md +0 -0
  10. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/__init__.py +0 -0
  11. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/categorize/__init__.py +0 -0
  12. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/categorize/atmos_utils.py +0 -0
  13. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/categorize/attenuation.py +0 -0
  14. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/categorize/attenuations/__init__.py +0 -0
  15. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/categorize/attenuations/gas_attenuation.py +0 -0
  16. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/categorize/attenuations/liquid_attenuation.py +0 -0
  17. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/categorize/attenuations/melting_attenuation.py +0 -0
  18. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/categorize/attenuations/rain_attenuation.py +0 -0
  19. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/categorize/categorize.py +0 -0
  20. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/categorize/classify.py +0 -0
  21. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/categorize/containers.py +0 -0
  22. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/categorize/disdrometer.py +0 -0
  23. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/categorize/droplet.py +0 -0
  24. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/categorize/falling.py +0 -0
  25. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/categorize/freezing.py +0 -0
  26. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/categorize/insects.py +0 -0
  27. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/categorize/itu.py +0 -0
  28. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/categorize/lidar.py +0 -0
  29. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/categorize/melting.py +0 -0
  30. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/categorize/model.py +0 -0
  31. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/categorize/mwr.py +0 -0
  32. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/categorize/radar.py +0 -0
  33. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/cli.py +0 -0
  34. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/cloudnetarray.py +0 -0
  35. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/concat_lib.py +0 -0
  36. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/constants.py +0 -0
  37. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/datasource.py +0 -0
  38. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/exceptions.py +0 -0
  39. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/__init__.py +0 -0
  40. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/basta.py +0 -0
  41. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/bowtie.py +0 -0
  42. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/ceilo.py +0 -0
  43. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/ceilometer.py +0 -0
  44. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/cl61d.py +0 -0
  45. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/cloudnet_instrument.py +0 -0
  46. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/da10.py +0 -0
  47. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/disdrometer/__init__.py +0 -0
  48. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/disdrometer/common.py +0 -0
  49. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/disdrometer/parsivel.py +0 -0
  50. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/disdrometer/thies.py +0 -0
  51. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/fd12p.py +0 -0
  52. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/hatpro.py +0 -0
  53. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/instruments.py +0 -0
  54. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/lufft.py +0 -0
  55. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/mira.py +0 -0
  56. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/mrr.py +0 -0
  57. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/nc_lidar.py +0 -0
  58. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/nc_radar.py +0 -0
  59. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/pollyxt.py +0 -0
  60. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/radiometrics.py +0 -0
  61. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/rain_e_h3.py +0 -0
  62. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/rpg.py +0 -0
  63. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/rpg_reader.py +0 -0
  64. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/toa5.py +0 -0
  65. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/instruments/weather_station.py +0 -0
  66. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/metadata.py +0 -0
  67. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/__init__.py +0 -0
  68. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/file_handler.py +0 -0
  69. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/metadata.py +0 -0
  70. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/model_metadata.py +0 -0
  71. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/plotting/__init__.py +0 -0
  72. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/plotting/plot_meta.py +0 -0
  73. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/plotting/plot_tools.py +0 -0
  74. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/plotting/plotting.py +0 -0
  75. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/products/__init__.py +0 -0
  76. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/products/advance_methods.py +0 -0
  77. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/products/grid_methods.py +0 -0
  78. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/products/model_products.py +0 -0
  79. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/products/observation_products.py +0 -0
  80. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/products/product_resampling.py +0 -0
  81. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/products/tools.py +0 -0
  82. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/statistics/__init__.py +0 -0
  83. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/statistics/statistical_methods.py +0 -0
  84. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/tests/__init__.py +0 -0
  85. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/tests/e2e/__init__.py +0 -0
  86. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/tests/e2e/conftest.py +0 -0
  87. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/tests/e2e/process_cf/__init__.py +0 -0
  88. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/tests/e2e/process_cf/main.py +0 -0
  89. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/tests/e2e/process_cf/tests.py +0 -0
  90. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/__init__.py +0 -0
  91. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/main.py +0 -0
  92. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/tests.py +0 -0
  93. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/__init__.py +0 -0
  94. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/main.py +0 -0
  95. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/tests.py +0 -0
  96. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/tests/unit/__init__.py +0 -0
  97. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/tests/unit/conftest.py +0 -0
  98. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/tests/unit/test_advance_methods.py +0 -0
  99. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/tests/unit/test_grid_methods.py +0 -0
  100. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/tests/unit/test_model_products.py +0 -0
  101. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/tests/unit/test_observation_products.py +0 -0
  102. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/tests/unit/test_plot_tools.py +0 -0
  103. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/tests/unit/test_plotting.py +0 -0
  104. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/tests/unit/test_statistical_methods.py +0 -0
  105. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/tests/unit/test_tools.py +0 -0
  106. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/model_evaluation/utils.py +0 -0
  107. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/output.py +0 -0
  108. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/plotting/__init__.py +0 -0
  109. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/plotting/plot_meta.py +0 -0
  110. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/plotting/plotting.py +0 -0
  111. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/products/__init__.py +0 -0
  112. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/products/classification.py +0 -0
  113. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/products/der.py +0 -0
  114. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/products/drizzle.py +0 -0
  115. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/products/drizzle_error.py +0 -0
  116. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/products/drizzle_tools.py +0 -0
  117. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/products/epsilon.py +0 -0
  118. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/products/ier.py +0 -0
  119. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/products/iwc.py +0 -0
  120. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/products/lwc.py +0 -0
  121. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/products/mie_lu_tables.nc +0 -0
  122. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/products/mwr_tools.py +0 -0
  123. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/products/product_tools.py +0 -0
  124. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/py.typed +0 -0
  125. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy/utils.py +0 -0
  126. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy.egg-info/SOURCES.txt +0 -0
  127. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy.egg-info/dependency_links.txt +0 -0
  128. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy.egg-info/entry_points.txt +0 -0
  129. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy.egg-info/requires.txt +0 -0
  130. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/cloudnetpy.egg-info/top_level.txt +0 -0
  131. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/docs/source/conf.py +0 -0
  132. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/pyproject.toml +0 -0
  133. {cloudnetpy-1.86.6 → cloudnetpy-1.86.8}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cloudnetpy
3
- Version: 1.86.6
3
+ Version: 1.86.8
4
4
  Summary: Python package for Cloudnet processing
5
5
  Author: Simo Tukiainen
6
6
  License: MIT License
@@ -10,6 +10,7 @@ from uuid import UUID
10
10
  import numpy as np
11
11
 
12
12
  from cloudnetpy import concat_lib, output, utils
13
+ from cloudnetpy.exceptions import ValidTimeStampError
13
14
  from cloudnetpy.instruments.instruments import COPERNICUS
14
15
  from cloudnetpy.instruments.nc_radar import ChilboltonRadar
15
16
  from cloudnetpy.metadata import COMMON_ATTRIBUTES, MetaData
@@ -77,6 +78,9 @@ def copernicus2nc(
77
78
  valid_filenames = utils.get_files_with_variables(
78
79
  valid_filenames, ["time", "ZED_HC"]
79
80
  )
81
+ if not valid_filenames:
82
+ msg = "No valid files."
83
+ raise ValidTimeStampError(msg)
80
84
  variables = list(keymap.keys())
81
85
  concat_lib.concatenate_files(
82
86
  valid_filenames,
@@ -131,16 +135,29 @@ class Copernicus(ChilboltonRadar):
131
135
  self.instrument = COPERNICUS
132
136
 
133
137
  def calibrate_reflectivity(self) -> None:
134
- zed_hc = self.dataset.variables["ZED_HC"]
138
+ zed_hc = self.dataset["ZED_HC"]
135
139
  offset_applied = getattr(zed_hc, "applied_calibration_offset", 0)
136
140
 
137
- # Estimated by comparing with MIRA-35 2021 data:
141
+ # Estimated by comparing with MIRA-35 data:
138
142
  default_offset = -149.5
139
143
  zh_offset = self.site_meta.get("Zh_offset", default_offset)
140
144
 
141
145
  self.data["Zh"].data[:] = self.data["Zh"].data[:] - offset_applied + zh_offset
142
146
  self.append_data(np.array(zh_offset, dtype=np.float32), "Zh_offset")
143
147
 
148
+ def fix_range_offset(self, site_meta: dict) -> None:
149
+ range_var = self.dataset["range"]
150
+ offset_applied = getattr(range_var, "range_offset", 0)
151
+
152
+ # Estimated by comparing with MIRA-35 data:
153
+ default_offset = -720
154
+ range_offset = site_meta.get("range_offset", default_offset)
155
+
156
+ self.data["range"].data[:] = (
157
+ self.data["range"].data[:] - offset_applied + range_offset
158
+ )
159
+ self.append_data(np.array(range_offset, dtype=float), "range_offset")
160
+
144
161
  def mask_corrupted_values(self) -> None:
145
162
  """Experimental masking of corrupted Copernicus data.
146
163
 
@@ -153,12 +170,6 @@ class Copernicus(ChilboltonRadar):
153
170
  ind = np.where(np.abs(self.data[key][:]) > value)
154
171
  self.data["v"].mask_indices(ind)
155
172
 
156
- def fix_range_offset(self, site_meta: dict) -> None:
157
- """Fixes range offset."""
158
- range_offset = site_meta.get("range_offset", 0)
159
- self.data["range"].data[:] += range_offset
160
- self.append_data(np.array(range_offset, dtype=float), "range_offset")
161
-
162
173
  def screen_negative_ranges(self) -> None:
163
174
  """Screens negative range values."""
164
175
  valid_ind = np.where(self.data["range"][:] >= 0)[0]
@@ -187,9 +198,13 @@ ATTRIBUTES = {
187
198
  "range_offset": MetaData(
188
199
  long_name="Radar range offset",
189
200
  units="m",
190
- comment="Range offset applied.",
201
+ comment=(
202
+ "Range offset applied after removing the original offset "
203
+ "from the raw files."
204
+ ),
191
205
  dimensions=None,
192
206
  ),
207
+ "range": COMMON_ATTRIBUTES["range"]._replace(ancillary_variables="range_offset"),
193
208
  "antenna_diameter": MetaData(
194
209
  long_name="Antenna diameter", units="m", dimensions=("time",)
195
210
  ),
@@ -9,6 +9,7 @@ from uuid import UUID
9
9
  import numpy as np
10
10
 
11
11
  from cloudnetpy import concat_lib, output, utils
12
+ from cloudnetpy.exceptions import ValidTimeStampError
12
13
  from cloudnetpy.instruments.instruments import GALILEO
13
14
  from cloudnetpy.instruments.nc_radar import ChilboltonRadar
14
15
  from cloudnetpy.metadata import MetaData
@@ -76,6 +77,9 @@ def galileo2nc(
76
77
  valid_filenames = utils.get_files_with_variables(
77
78
  valid_filenames, ["time", "ZED_HC"]
78
79
  )
80
+ if not valid_filenames:
81
+ msg = "No valid files."
82
+ raise ValidTimeStampError(msg)
79
83
  variables = list(keymap.keys())
80
84
  concat_lib.concatenate_files(
81
85
  valid_filenames,
@@ -34,6 +34,9 @@ class VaisalaCeilo(Ceilometer):
34
34
  def read_ceilometer_file(self, calibration_factor: float | None = None) -> None:
35
35
  """Read all lines of data from the file."""
36
36
  time, data = self.reader(self.full_path)
37
+ if not data:
38
+ msg = "No valid data found."
39
+ raise ValidTimeStampError(msg)
37
40
  range_res = data[0].range_resolution
38
41
  n_gates = len(data[0].beta)
39
42
  self.data["time"] = np.array(time)
@@ -1,4 +1,4 @@
1
1
  MAJOR = 1
2
2
  MINOR = 86
3
- PATCH = 6
3
+ PATCH = 8
4
4
  __version__ = f"{MAJOR}.{MINOR}.{PATCH}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cloudnetpy
3
- Version: 1.86.6
3
+ Version: 1.86.8
4
4
  Summary: Python package for Cloudnet processing
5
5
  Author: Simo Tukiainen
6
6
  License: MIT License
File without changes
File without changes
File without changes
File without changes
File without changes