cloudnetpy 1.58.7__tar.gz → 1.59.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 (120) hide show
  1. {cloudnetpy-1.58.7/cloudnetpy.egg-info → cloudnetpy-1.59.0}/PKG-INFO +1 -1
  2. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/datasource.py +2 -1
  3. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/exceptions.py +7 -0
  4. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/instruments/basta.py +1 -1
  5. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/instruments/disdrometer/common.py +2 -0
  6. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/instruments/hatpro.py +15 -8
  7. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/instruments/nc_radar.py +2 -2
  8. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/instruments/vaisala.py +4 -2
  9. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/plotting/plot_meta.py +8 -0
  10. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/plotting/plotting.py +1 -0
  11. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/version.py +2 -2
  12. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0/cloudnetpy.egg-info}/PKG-INFO +1 -1
  13. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/LICENSE +0 -0
  14. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/MANIFEST.in +0 -0
  15. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/README.md +0 -0
  16. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/__init__.py +0 -0
  17. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/categorize/__init__.py +0 -0
  18. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/categorize/atmos.py +0 -0
  19. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/categorize/atmos_utils.py +0 -0
  20. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/categorize/categorize.py +0 -0
  21. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/categorize/classify.py +0 -0
  22. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/categorize/containers.py +0 -0
  23. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/categorize/disdrometer.py +0 -0
  24. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/categorize/droplet.py +0 -0
  25. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/categorize/falling.py +0 -0
  26. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/categorize/freezing.py +0 -0
  27. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/categorize/insects.py +0 -0
  28. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/categorize/lidar.py +0 -0
  29. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/categorize/melting.py +0 -0
  30. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/categorize/model.py +0 -0
  31. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/categorize/mwr.py +0 -0
  32. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/categorize/radar.py +0 -0
  33. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/cloudnetarray.py +0 -0
  34. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/concat_lib.py +0 -0
  35. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/constants.py +0 -0
  36. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/instruments/__init__.py +0 -0
  37. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/instruments/campbell_scientific.py +0 -0
  38. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/instruments/ceilo.py +0 -0
  39. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/instruments/ceilometer.py +0 -0
  40. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/instruments/cl61d.py +0 -0
  41. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/instruments/cloudnet_instrument.py +0 -0
  42. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/instruments/copernicus.py +0 -0
  43. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/instruments/disdrometer/__init__.py +0 -0
  44. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/instruments/disdrometer/parsivel.py +0 -0
  45. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/instruments/disdrometer/thies.py +0 -0
  46. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/instruments/galileo.py +0 -0
  47. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/instruments/instruments.py +0 -0
  48. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/instruments/lufft.py +0 -0
  49. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/instruments/mira.py +0 -0
  50. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/instruments/mrr.py +0 -0
  51. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/instruments/nc_lidar.py +0 -0
  52. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/instruments/pollyxt.py +0 -0
  53. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/instruments/radiometrics.py +0 -0
  54. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/instruments/rpg.py +0 -0
  55. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/instruments/rpg_reader.py +0 -0
  56. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/instruments/weather_station.py +0 -0
  57. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/metadata.py +0 -0
  58. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/__init__.py +0 -0
  59. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/file_handler.py +0 -0
  60. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/metadata.py +0 -0
  61. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/model_metadata.py +0 -0
  62. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/plotting/__init__.py +0 -0
  63. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/plotting/plot_meta.py +0 -0
  64. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/plotting/plot_tools.py +0 -0
  65. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/plotting/plotting.py +0 -0
  66. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/products/__init__.py +0 -0
  67. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/products/advance_methods.py +0 -0
  68. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/products/grid_methods.py +0 -0
  69. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/products/model_products.py +0 -0
  70. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/products/observation_products.py +0 -0
  71. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/products/product_resampling.py +0 -0
  72. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/products/tools.py +0 -0
  73. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/statistics/__init__.py +0 -0
  74. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/statistics/statistical_methods.py +0 -0
  75. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/tests/__init__.py +0 -0
  76. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/tests/e2e/__init__.py +0 -0
  77. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/tests/e2e/conftest.py +0 -0
  78. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/tests/e2e/process_cf/__init__.py +0 -0
  79. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/tests/e2e/process_cf/main.py +0 -0
  80. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/tests/e2e/process_cf/tests.py +0 -0
  81. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/__init__.py +0 -0
  82. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/main.py +0 -0
  83. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/tests.py +0 -0
  84. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/__init__.py +0 -0
  85. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/main.py +0 -0
  86. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/tests.py +0 -0
  87. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/tests/unit/__init__.py +0 -0
  88. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/tests/unit/conftest.py +0 -0
  89. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/tests/unit/test_advance_methods.py +0 -0
  90. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/tests/unit/test_grid_methods.py +0 -0
  91. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/tests/unit/test_model_products.py +0 -0
  92. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/tests/unit/test_observation_products.py +0 -0
  93. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/tests/unit/test_plot_tools.py +0 -0
  94. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/tests/unit/test_plotting.py +0 -0
  95. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/tests/unit/test_statistical_methods.py +0 -0
  96. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/tests/unit/test_tools.py +0 -0
  97. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/model_evaluation/utils.py +0 -0
  98. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/output.py +0 -0
  99. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/plotting/__init__.py +0 -0
  100. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/products/__init__.py +0 -0
  101. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/products/classification.py +0 -0
  102. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/products/der.py +0 -0
  103. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/products/drizzle.py +0 -0
  104. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/products/drizzle_error.py +0 -0
  105. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/products/drizzle_tools.py +0 -0
  106. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/products/ier.py +0 -0
  107. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/products/iwc.py +0 -0
  108. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/products/lwc.py +0 -0
  109. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/products/mie_lu_tables.nc +0 -0
  110. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/products/mwr_tools.py +0 -0
  111. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/products/product_tools.py +0 -0
  112. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/py.typed +0 -0
  113. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy/utils.py +0 -0
  114. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy.egg-info/SOURCES.txt +0 -0
  115. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy.egg-info/dependency_links.txt +0 -0
  116. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy.egg-info/requires.txt +0 -0
  117. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/cloudnetpy.egg-info/top_level.txt +0 -0
  118. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/docs/source/conf.py +0 -0
  119. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/pyproject.toml +0 -0
  120. {cloudnetpy-1.58.7 → cloudnetpy-1.59.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cloudnetpy
3
- Version: 1.58.7
3
+ Version: 1.59.0
4
4
  Summary: Python package for Cloudnet processing
5
5
  Author: Simo Tukiainen
6
6
  License: MIT License
@@ -84,6 +84,7 @@ class DataSource:
84
84
  key: str,
85
85
  name: str | None = None,
86
86
  units: str | None = None,
87
+ dtype: str | None = None,
87
88
  ) -> None:
88
89
  """Adds new CloudnetVariable or RadarVariable into `data` attribute.
89
90
 
@@ -95,7 +96,7 @@ class DataSource:
95
96
  units: CloudnetArray.units attribute.
96
97
 
97
98
  """
98
- self.data[key] = CloudnetArray(variable, name or key, units)
99
+ self.data[key] = CloudnetArray(variable, name or key, units, data_type=dtype)
99
100
 
100
101
  def get_date(self) -> list:
101
102
  """Returns date components.
@@ -56,3 +56,10 @@ class MissingInputFileError(CloudnetException):
56
56
 
57
57
  def __init__(self, msg: str = "Missing required input files"):
58
58
  super().__init__(msg)
59
+
60
+
61
+ class HatproDataError(CloudnetException):
62
+ """Internal exception class."""
63
+
64
+ def __init__(self, msg: str = "Invalid HATPRO file"):
65
+ super().__init__(msg)
@@ -54,7 +54,7 @@ def basta2nc(
54
54
  if date is not None:
55
55
  basta.validate_date(date)
56
56
  basta.screen_data(keymap)
57
- basta.add_time_and_range()
57
+ basta.add_time_and_range(time_dtype="f8")
58
58
  basta.add_site_geolocation()
59
59
  basta.add_zenith_angle()
60
60
  basta.add_radar_specific_variables()
@@ -171,6 +171,8 @@ class Disdrometer(CloudnetInstrument):
171
171
  )
172
172
  for time_ind, row in enumerate(self._file_data["spectra"]):
173
173
  values = _parse_int(row)
174
+ if len(values) != self.n_diameter * self.n_velocity:
175
+ continue
174
176
  array[time_ind, :, :] = np.reshape(
175
177
  values,
176
178
  (self.n_diameter, self.n_velocity),
@@ -6,6 +6,7 @@ from pathlib import Path
6
6
 
7
7
  import netCDF4
8
8
  import numpy as np
9
+ from mwrpy.exceptions import MissingInputData
9
10
  from mwrpy.level1.lev1_meta_nc import ATTRIBUTES_1B01
10
11
  from mwrpy.level1.write_lev1_nc import lev1_to_nc
11
12
  from mwrpy.version import __version__ as mwrpy_version
@@ -13,7 +14,7 @@ from numpy import ma
13
14
 
14
15
  from cloudnetpy import output, utils
15
16
  from cloudnetpy.cloudnetarray import CloudnetArray
16
- from cloudnetpy.exceptions import ValidTimeStampError
17
+ from cloudnetpy.exceptions import HatproDataError, ValidTimeStampError
17
18
  from cloudnetpy.instruments import rpg
18
19
  from cloudnetpy.instruments.instruments import HATPRO
19
20
  from cloudnetpy.instruments.rpg_reader import (
@@ -45,13 +46,16 @@ def hatpro2l1c(
45
46
  """
46
47
  coeff_files = site_meta.get("coefficientFiles", None)
47
48
 
48
- hatpro_raw = lev1_to_nc(
49
- "1C01",
50
- mwr_dir,
51
- output_file=output_file,
52
- coeff_files=coeff_files,
53
- instrument_config=site_meta,
54
- )
49
+ try:
50
+ hatpro_raw = lev1_to_nc(
51
+ "1C01",
52
+ mwr_dir,
53
+ output_file=output_file,
54
+ coeff_files=coeff_files,
55
+ instrument_config=site_meta,
56
+ )
57
+ except MissingInputData as err:
58
+ raise HatproDataError from err
55
59
 
56
60
  hatpro = HatproL1c(hatpro_raw, site_meta)
57
61
 
@@ -68,6 +72,9 @@ def hatpro2l1c(
68
72
  if len(set(dates)) != 1:
69
73
  msg = f"Several dates, something is wrong: {set(dates)}"
70
74
  raise RuntimeError(msg)
75
+ if date != dates[0]:
76
+ msg = f"Expected date {date}, got {dates[0]}"
77
+ raise RuntimeError(msg)
71
78
 
72
79
  decimal_hours = utils.seconds2hours(timestamps)
73
80
  hatpro.data["time"] = CloudnetArray(decimal_hours, "time", data_type="f8")
@@ -46,14 +46,14 @@ class NcRadar(DataSource, CloudnetInstrument):
46
46
  array[~np.isfinite(array)] = ma.masked
47
47
  self.append_data(array, name)
48
48
 
49
- def add_time_and_range(self) -> None:
49
+ def add_time_and_range(self, time_dtype: str | None = None) -> None:
50
50
  """Adds time and range."""
51
51
  range_instru = np.array(
52
52
  self.getvar("range", "height"),
53
53
  ) # "height" in old BASTA files
54
54
  time = np.array(self.time)
55
55
  self.append_data(range_instru, "range")
56
- self.append_data(time, "time")
56
+ self.append_data(time, "time", dtype=time_dtype)
57
57
 
58
58
  def screen_by_snr(self, snr_limit: float = -17) -> None:
59
59
  """Mask values where SNR smaller than threshold."""
@@ -94,13 +94,15 @@ class VaisalaCeilo(Ceilometer):
94
94
  raise RuntimeError(msg)
95
95
 
96
96
  def _parse_data_lines(data: list, starting_indices: list) -> list:
97
+ iterator = range(number_of_data_lines)
98
+ n_lines = max(iterator)
97
99
  return [
98
100
  [
99
101
  data[n + line_number]
100
102
  for n in starting_indices
101
- if (n + line_number) < len(data)
103
+ if (n + n_lines) < len(data)
102
104
  ]
103
- for line_number in range(number_of_data_lines)
105
+ for line_number in iterator
104
106
  ]
105
107
 
106
108
  valid_lines = _filter_lines(data_in)
@@ -276,10 +276,18 @@ ATTRIBUTES = {
276
276
  cmap="RdBu_r",
277
277
  plot_range=(-50, 50),
278
278
  ),
279
+ "uwind_raw": PlotMeta(
280
+ cmap="RdBu_r",
281
+ plot_range=(-50, 50),
282
+ ),
279
283
  "vwind": PlotMeta(
280
284
  cmap="RdBu_r",
281
285
  plot_range=(-50, 50),
282
286
  ),
287
+ "vwind_raw": PlotMeta(
288
+ cmap="RdBu_r",
289
+ plot_range=(-50, 50),
290
+ ),
283
291
  "temperature": PlotMeta(
284
292
  cmap="RdBu_r",
285
293
  plot_range=(223.15, 323.15),
@@ -818,6 +818,7 @@ def _get_max_gap_in_minutes(figure_data: FigureData) -> float:
818
818
  "model": 181 if "gdas1" in source else 61,
819
819
  "mwr-multi": 21,
820
820
  "weather-station": 12,
821
+ "doppler-lidar-wind": 75,
821
822
  }
822
823
  return max_allowed_gap.get(file_type, 10)
823
824
 
@@ -1,4 +1,4 @@
1
1
  MAJOR = 1
2
- MINOR = 58
3
- PATCH = 7
2
+ MINOR = 59
3
+ PATCH = 0
4
4
  __version__ = f"{MAJOR}.{MINOR}.{PATCH}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cloudnetpy
3
- Version: 1.58.7
3
+ Version: 1.59.0
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