cloudnetpy 1.80.3__py3-none-any.whl → 1.80.5__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.
@@ -29,6 +29,7 @@ def calc_melting_attenuation(
29
29
  )
30
30
 
31
31
  rainfall_rate = data.disdrometer.data["rainfall_rate"][:]
32
+ rainfall_rate[is_rain == 0] = ma.masked
32
33
  frequency = data.radar.radar_frequency
33
34
 
34
35
  attenuation_array = _calc_melting_attenuation(rainfall_rate, frequency)
@@ -240,7 +240,7 @@ def _save_cat(
240
240
  extra=extra_references,
241
241
  )
242
242
  if is_voodoo:
243
- import voodoonet.version
243
+ import voodoonet.version # noqa: PLC0415
244
244
 
245
245
  nc.voodoonet_version = voodoonet.version.__version__
246
246
  output.add_source_instruments(nc, data_obs)
@@ -325,8 +325,7 @@ COMMENTS = {
325
325
  "have\n a reflectivity of 0 dBZ at all frequencies."
326
326
  ),
327
327
  "bias": (
328
- "This variable is an estimate of the one-standard-deviation\n"
329
- "calibration error."
328
+ "This variable is an estimate of the one-standard-deviation\ncalibration error."
330
329
  ),
331
330
  "insect_prob": (
332
331
  "Ad-hoc estimation of the probability that the pixel contains insects."
@@ -64,10 +64,9 @@ def classify_measurements(data: Observations) -> ClassificationResult:
64
64
  if "rpg-fmcw-94" not in obs.radar_type.lower():
65
65
  msg = "VoodooNet is only implemented for RPG-FMCW-94 radar."
66
66
  raise NotImplementedError(msg)
67
- import voodoonet
68
- from voodoonet.utils import VoodooOptions
67
+ import voodoonet # noqa: PLC0415
69
68
 
70
- options = VoodooOptions(progress_bar=False)
69
+ options = voodoonet.VoodooOptions(progress_bar=False)
71
70
  target_time = voodoonet.utils.decimal_hour2unix(obs.date, obs.time)
72
71
  liquid_prob = voodoonet.infer(
73
72
  obs.lv0_files, target_time=target_time, options=options
@@ -151,7 +151,7 @@ def _find_melting_layer_from_v(
151
151
  v_prof[base] < -2,
152
152
  ]
153
153
  if all(conditions):
154
- base = int(round(top - (top - base) / 2))
154
+ base = round(top - (top - base) / 2)
155
155
  return np.arange(base, top)
156
156
  return None
157
157
 
@@ -45,6 +45,6 @@ class Mwr(DataSource):
45
45
  self.data["lwp_error"].comment = (
46
46
  "This variable is a rough estimate of the one-standard-deviation\n"
47
47
  f"error in liquid water path, calculated as a combination of\n"
48
- f"a {bias} g m-2 linear error and a {round(random_error*100)} %\n"
48
+ f"a {bias} g m-2 linear error and a {round(random_error * 100)} %\n"
49
49
  "fractional error."
50
50
  )
cloudnetpy/cli.py CHANGED
@@ -519,7 +519,7 @@ def _process_mwrpy_product(
519
519
  filename = f"{args.date}_{args.site}_{product}.nc"
520
520
  output_file = _create_output_folder("geophysical", args) / filename
521
521
  module = importlib.import_module("cloudnetpy.products")
522
- getattr(module, f"generate_{product.replace('-','_')}")(mwr_l1c_file, output_file)
522
+ getattr(module, f"generate_{product.replace('-', '_')}")(mwr_l1c_file, output_file)
523
523
  logging.info("Processed %s: %s", product, output_file)
524
524
  return str(output_file)
525
525
 
@@ -107,9 +107,9 @@ class FD12P(CSVFile):
107
107
  logging.info("Skipped %d lines", invalid_lines)
108
108
  for key in ("visibility", "synop_WaWa", "snowfall_amount"):
109
109
  values = np.array(
110
- [0 if x is math.nan else x for x in self._data[key]], dtype=np.int32
110
+ [0 if math.isnan(x) else x for x in self._data[key]], dtype=np.int32
111
111
  )
112
- mask = np.array([x is math.nan for x in self._data[key]])
112
+ mask = np.array([math.isnan(x) for x in self._data[key]])
113
113
  self._data[key] = ma.array(values, mask=mask)
114
114
  self._data["snowfall_amount"] = self._data["snowfall_amount"].astype(np.float32)
115
115
  if expected_date:
@@ -156,10 +156,8 @@ def _mask_invalid_data(data_in: dict) -> dict:
156
156
  fill_values = (-999, 1e-10)
157
157
  extra_keys = ("air_temperature", "air_pressure")
158
158
  for name in data:
159
- if (
160
- np.issubdtype(data[name].dtype, np.integer)
161
- or data[name].ndim < 2
162
- and name not in extra_keys
159
+ if np.issubdtype(data[name].dtype, np.integer) or (
160
+ data[name].ndim < 2 and name not in extra_keys
163
161
  ):
164
162
  continue
165
163
  data[name] = ma.masked_equal(data[name], 0)
@@ -242,7 +242,7 @@ class HatproBinLwp(HatproBin):
242
242
  elif self.header["file_code"] == 934501000:
243
243
  self.version = 2
244
244
  else:
245
- msg = f'Unknown HATPRO version. {self.header["file_code"]}'
245
+ msg = f"Unknown HATPRO version. {self.header['file_code']}"
246
246
  raise ValueError(msg)
247
247
 
248
248
  def _read_data(self, file) -> None:
@@ -281,7 +281,7 @@ class HatproBinIwv(HatproBin):
281
281
  elif self.header["file_code"] == 594811000:
282
282
  self.version = 2
283
283
  else:
284
- msg = f'Unknown HATPRO version. {self.header["file_code"]}'
284
+ msg = f"Unknown HATPRO version. {self.header['file_code']}"
285
285
  raise ValueError(msg)
286
286
 
287
287
  def _read_data(self, file) -> None:
@@ -626,7 +626,7 @@ def _parse_sirta(filename: str | PathLike):
626
626
  if m is None:
627
627
  continue
628
628
  if m[1] != str(len(columns) + 1):
629
- msg = f"Expected column {m[1]}, found {len(columns)+1}"
629
+ msg = f"Expected column {m[1]}, found {len(columns) + 1}"
630
630
  raise ValueError(msg)
631
631
  columns.append(m[2])
632
632
  output[m[2]] = []
@@ -14,10 +14,7 @@ def parse_wanted_names(
14
14
  advance: bool = False,
15
15
  ) -> tuple[list, list]:
16
16
  """Returns standard and advection lists of product types to plot."""
17
- if variables:
18
- names = variables
19
- else:
20
- names = parse_dataset_keys(nc_file, name, advance=advance, model=model)
17
+ names = variables or parse_dataset_keys(nc_file, name, advance=advance, model=model)
21
18
  standard_n = [n for n in names if name in n and "adv" not in n]
22
19
  standard_n = sort_model2first_element(standard_n, model)
23
20
  advection_n = [n for n in names if name in n and "adv" in n]
@@ -100,10 +100,10 @@ class Dimensions:
100
100
  .translated(-tightbbox.x0, -tightbbox.y0)
101
101
  .extents
102
102
  )
103
- self.margin_top = int(self.height - round(y1))
104
- self.margin_right = int(self.width - round(x1) - 1)
105
- self.margin_bottom = int(round(y0) - 1)
106
- self.margin_left = int(round(x0))
103
+ self.margin_top = self.height - round(y1)
104
+ self.margin_right = self.width - round(x1) - 1
105
+ self.margin_bottom = round(y0) - 1
106
+ self.margin_left = round(x0)
107
107
 
108
108
 
109
109
  class FigureData:
@@ -550,6 +550,7 @@ class Plot2D(Plot):
550
550
  else:
551
551
  vmin, vmax = self._plot_meta.plot_range
552
552
  if self._is_log:
553
+ self._data = np.maximum(self._data, vmin)
553
554
  self._data, vmin, vmax = lin2log(self._data, vmin, vmax)
554
555
 
555
556
  alt = self._screen_data_by_max_y(figure_data)
@@ -174,7 +174,7 @@ def _infer_pulse_repetition_frequency(range_: npt.NDArray[np.float64]):
174
174
  return 15e3
175
175
  if round_trip_time / T_LOW < 1:
176
176
  return 10e3
177
- msg = f"Suspiciously large range ({dist}m). " "Cannot infer pulse repetition rate"
177
+ msg = f"Suspiciously large range ({dist}m). Cannot infer pulse repetition rate"
178
178
  raise ValueError(msg)
179
179
 
180
180
 
cloudnetpy/version.py CHANGED
@@ -1,4 +1,4 @@
1
1
  MAJOR = 1
2
2
  MINOR = 80
3
- PATCH = 3
3
+ PATCH = 5
4
4
  __version__ = f"{MAJOR}.{MINOR}.{PATCH}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cloudnetpy
3
- Version: 1.80.3
3
+ Version: 1.80.5
4
4
  Summary: Python package for Cloudnet processing
5
5
  Author: Simo Tukiainen
6
6
  License: MIT License
@@ -1,5 +1,5 @@
1
1
  cloudnetpy/__init__.py,sha256=X_FqY-4yg5GUj5Edo14SToLEos6JIsC3fN-v1FUgQoA,43
2
- cloudnetpy/cli.py,sha256=lHkeAErmAijI-Ugpd4DHRHfbZP4SXOake0LIY5Ovv_Q,20782
2
+ cloudnetpy/cli.py,sha256=_jR8dqOFb8b7iuNbOgQAEn7KXBIABAImoBa1UR5yQ64,20783
3
3
  cloudnetpy/cloudnetarray.py,sha256=uOYgpQ8hHh5fuHyip1HjnhsEda9_7dg7orYnbCRkTtI,4796
4
4
  cloudnetpy/concat_lib.py,sha256=XQ5Sk8kfXqI0Q5HoomKWWhdZ1-m2thYDKGL7SKapITE,12851
5
5
  cloudnetpy/constants.py,sha256=YnoSzZm35NDooJfhlulSJBc7g0eSchT3yGytRaTaJEI,845
@@ -9,12 +9,12 @@ cloudnetpy/metadata.py,sha256=lO7BCbVAzFoH3Nq-VuezYX0f7MnbG1Zp11g5GSiuQwM,6189
9
9
  cloudnetpy/output.py,sha256=gupxt4f_-eUrFsWMto8tnknoV-p9QauC9L6CJAqBILU,15988
10
10
  cloudnetpy/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  cloudnetpy/utils.py,sha256=WczDeGN408XSgGeaRLXFmlLjgAS67lK1osV0YEuKmwo,32027
12
- cloudnetpy/version.py,sha256=BW7NnO7naEy7O4jbwWQGYbmOwUJPOQWGf7cSaGqVr7g,72
12
+ cloudnetpy/version.py,sha256=ge95G-JN-JqYyn4E1vRmbx0Fr_C2AshwfFJQVd3K9h0,72
13
13
  cloudnetpy/categorize/__init__.py,sha256=s-SJaysvVpVVo5kidiruWQO6p3gv2TXwY1wEHYO5D6I,44
14
14
  cloudnetpy/categorize/atmos_utils.py,sha256=RcmbKxm2COkE7WEya0mK3yX5rzUbrewRVh3ekm01RtM,10598
15
15
  cloudnetpy/categorize/attenuation.py,sha256=Y_-fzmQTltWTqIZTulJhovC7a6ifpMcaAazDJcnMIOc,990
16
- cloudnetpy/categorize/categorize.py,sha256=E3WAG79UGRLsDK3ZfaRfk7Vedht4OMxSgjHOPVBqrS4,20824
17
- cloudnetpy/categorize/classify.py,sha256=qovHgHsMku5kpl3cJxKteNBsG8GAkfI3Zo8QhJwZSFQ,8512
16
+ cloudnetpy/categorize/categorize.py,sha256=Q7FOZ63SJI6lXK56PsTASSbu2fd-6O8J5yfTfuZDKIU,20830
17
+ cloudnetpy/categorize/classify.py,sha256=Wka2DyyvXTQCUN2vQv13l4Y8azcE8ABKEL5_5fHRUkk,8489
18
18
  cloudnetpy/categorize/containers.py,sha256=9nAmI1OnR_uANyTZS1cD4do6NrC90EqliEMVrFnQY24,5398
19
19
  cloudnetpy/categorize/disdrometer.py,sha256=sRSt2B932lrrkvycKoSaKEIaDVfq9Z7uU-4iHRr-fC0,1893
20
20
  cloudnetpy/categorize/droplet.py,sha256=t49KEsH5ZM68JQ4NvAf9kGgQ-evic1T4de2-jgJ2f4M,8683
@@ -23,14 +23,14 @@ cloudnetpy/categorize/freezing.py,sha256=eSFD37R7vBrg7mgfSanrwhBjnFyWNBpjw2AtvRm
23
23
  cloudnetpy/categorize/insects.py,sha256=MrxlWK-5JaMZxCBWFKR_6Kj5TAVXm-s9SVxsvcyNYJo,5253
24
24
  cloudnetpy/categorize/itu.py,sha256=ffXK27guyRS4d66VWQ2h4UEGjUIhGjPKbFmj7kh698c,10304
25
25
  cloudnetpy/categorize/lidar.py,sha256=YQrM_LOz8NQrrD9l9HyujV1GSGwkQ8LMqXN13bEJRW4,2605
26
- cloudnetpy/categorize/melting.py,sha256=ZnLeL_qWmiCdjXVOm9iBYHdo29Brqxu_DEErZPqUloQ,6217
26
+ cloudnetpy/categorize/melting.py,sha256=TUoy-nj-BRwEpwZZHEpLH5Mg9gONWWwTKFTiLXNnEmE,6212
27
27
  cloudnetpy/categorize/model.py,sha256=QFRCY0TvM2fzGRyP8BNkqbvu13XcQjt7TsN5fhjI_Uc,6654
28
- cloudnetpy/categorize/mwr.py,sha256=F7cquERWL6mBkgboqeaCIPf9gOlKI-NWUQIBdQXGT_I,1635
28
+ cloudnetpy/categorize/mwr.py,sha256=YZNbufeVKQBdXJHokD4dGwWdjQICwdHtRVs5EVj1LHs,1637
29
29
  cloudnetpy/categorize/radar.py,sha256=Bc-JkMpU3_wFBo7eMMtlF5oiyTaIwbs_BsAn4dufTsE,15953
30
30
  cloudnetpy/categorize/attenuations/__init__.py,sha256=CWFHVWeTIe2hrZtgkJaX2HGftbuffsFc39Mzv5B0Lw0,1037
31
31
  cloudnetpy/categorize/attenuations/gas_attenuation.py,sha256=emr-RCxQT0i2N8k6eBNhRsmsCBPHJzQsWJfjC4fVSTo,975
32
32
  cloudnetpy/categorize/attenuations/liquid_attenuation.py,sha256=0p0G79BPkw1itCXHMwbvkNHtJGBocJzow3gNHAirChI,3036
33
- cloudnetpy/categorize/attenuations/melting_attenuation.py,sha256=9c9xoZHtGUbjFYJxkVc3UUDHLDy0UbNUZ32ITtnsj5w,2333
33
+ cloudnetpy/categorize/attenuations/melting_attenuation.py,sha256=itggcm-wtyRe0qOM2wQKE4jOl2wKOq1NQjhsDOxxKgc,2377
34
34
  cloudnetpy/categorize/attenuations/rain_attenuation.py,sha256=qazJzRyXf9vbjJhh4yiFmABI4L57j5W_6YZ-6qjRiBI,2839
35
35
  cloudnetpy/instruments/__init__.py,sha256=PEgrrQNoiOuN_ctYilmt4LV2QCLg1likPjJdWtuGlLs,528
36
36
  cloudnetpy/instruments/basta.py,sha256=Lb_EhQTI93S5Bd9osDbCE_tC8gZreRsHz7D2_dFOjmE,3793
@@ -40,7 +40,7 @@ cloudnetpy/instruments/ceilometer.py,sha256=8DzOUC7PUZYLfCC9t9LA5YSsF78xs4B4VjBL
40
40
  cloudnetpy/instruments/cl61d.py,sha256=0QMqXHIy0hn2mksAwTdaKMOaEWjsZmj7QZ8hCbcHwxE,2225
41
41
  cloudnetpy/instruments/cloudnet_instrument.py,sha256=SGPsRYYoGPoRoDY7hHJcKUVX0A23X0Telc00Fu01PnY,4495
42
42
  cloudnetpy/instruments/copernicus.py,sha256=hCphEKyFCc3f1uLRdjL2435kuh64M5q-V1bI68bzGbA,6528
43
- cloudnetpy/instruments/fd12p.py,sha256=aGYpkczdSl7FSmK1bByMnpUBD5GAl7RTKkopt0cpWas,6822
43
+ cloudnetpy/instruments/fd12p.py,sha256=l5WVCKy2DZ6fUBQBaBKoRHvrmJrbRUqR0I9ggtJJ72Y,6822
44
44
  cloudnetpy/instruments/galileo.py,sha256=vcY7mYcGD8YtMw8ioy9CNGu5yarQlwE-vfWIRSbTQG0,4745
45
45
  cloudnetpy/instruments/hatpro.py,sha256=G1fHsY9LTos4vHP5kFubjE5Wg2uTVFZpYDSD8VAo-zw,9590
46
46
  cloudnetpy/instruments/instruments.py,sha256=z8Osjww3iQRxKvzXdISl-5vV6gShtji8Db5k-ZzDQ-0,4843
@@ -52,11 +52,11 @@ cloudnetpy/instruments/nc_radar.py,sha256=HlaZeH5939R86ukF8K-P4Kfzb5-CpLB15LU2u9
52
52
  cloudnetpy/instruments/pollyxt.py,sha256=U3g-ttmcs02LuLwVOydP3GjeNcmDyoYQroB-leIGdHY,10060
53
53
  cloudnetpy/instruments/radiometrics.py,sha256=qCiBTlp1H30DZTxKDN5Xn_4d-JkTNavpVIiUvpJkiMM,15617
54
54
  cloudnetpy/instruments/rain_e_h3.py,sha256=JEg4Ko7ZdfjAUJwJ1BWdTkm4K7r3s8WKrPb-HidTqpg,5336
55
- cloudnetpy/instruments/rpg.py,sha256=m3-xLJ-w2T7Ip7jBveWsGrts4tmNvdc-Lb4HebvHQjQ,17319
56
- cloudnetpy/instruments/rpg_reader.py,sha256=ThztFuVrWxhmWVAfZTfQDeUiKK1XMTbtv08IBe8GK98,11364
55
+ cloudnetpy/instruments/rpg.py,sha256=ynt1XrXWr2cRA4s9lO2m83WUhUD7nmseUwUTDf4HrXU,17295
56
+ cloudnetpy/instruments/rpg_reader.py,sha256=3SEm3xlzSlmuAolj8khnDVMWeUJap84OZcwN3tBobuo,11364
57
57
  cloudnetpy/instruments/toa5.py,sha256=CfmmBMv5iMGaWHIGBK01Rw24cuXC1R1RMNTXkmsm340,1760
58
58
  cloudnetpy/instruments/vaisala.py,sha256=W_yu_f92cOq8RiiqDLj7bswxu9UMS3TITPWzP5xPdvA,4615
59
- cloudnetpy/instruments/weather_station.py,sha256=C41Fv4kU1ihm3EGWhry5ESe4shnKims8O6wCzz2L78U,26844
59
+ cloudnetpy/instruments/weather_station.py,sha256=K3uT4dphgHKxsR3fpfwq57b3CrUwp9A4DdW5_qAunmg,26846
60
60
  cloudnetpy/instruments/disdrometer/__init__.py,sha256=lyjwttWvFvuwYxEkusoAvgRcbBmglmOp5HJOpXUqLWo,93
61
61
  cloudnetpy/instruments/disdrometer/common.py,sha256=g52iK2aNp3Z88kovUmGVpC54NZomPa9D871gzO0AmQ4,9267
62
62
  cloudnetpy/instruments/disdrometer/parsivel.py,sha256=HJZrEysQkx9MiIVPDV25CYHpXi_SjgZlgO-otoaKK34,25640
@@ -68,7 +68,7 @@ cloudnetpy/model_evaluation/model_metadata.py,sha256=CxpY6RPm7GOTBBmPhcNVVpm9ate
68
68
  cloudnetpy/model_evaluation/utils.py,sha256=Z9VqYVdtY9yTr2JeVfBn4nccIVWCN5Fd-BCyB_qYI-A,154
69
69
  cloudnetpy/model_evaluation/plotting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
70
  cloudnetpy/model_evaluation/plotting/plot_meta.py,sha256=K18Ugohh24uVAIxjZgJsmK80YwsMstm6B7ptVafONAw,3557
71
- cloudnetpy/model_evaluation/plotting/plot_tools.py,sha256=umI06tPIEs48cQ8GY8s3vGHwPcN--tUir4s1yxNQf64,5043
71
+ cloudnetpy/model_evaluation/plotting/plot_tools.py,sha256=QWHo_iO53676u9z6cnGV190UAfS2ojmCZqWmbRThkT0,4998
72
72
  cloudnetpy/model_evaluation/plotting/plotting.py,sha256=mGgSnQoRTh04v5RSJHsYPaqUEIR82eZqAuiszrh9rjY,31235
73
73
  cloudnetpy/model_evaluation/products/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
74
  cloudnetpy/model_evaluation/products/advance_methods.py,sha256=rng3ZLR1Arv1AGUzq0Ehu-65628PC5LZVKpHSUpCIW8,8526
@@ -103,24 +103,24 @@ cloudnetpy/model_evaluation/tests/unit/test_statistical_methods.py,sha256=Ra3r4V
103
103
  cloudnetpy/model_evaluation/tests/unit/test_tools.py,sha256=Ia_VrLdV2NstX5gbx_3AZTOAlrgLAy_xFZ8fHYVX0xI,3817
104
104
  cloudnetpy/plotting/__init__.py,sha256=lg9Smn4BI0dVBgnDLC3JVJ4GmwoSnO-qoSd4ApvwV6Y,107
105
105
  cloudnetpy/plotting/plot_meta.py,sha256=qfyZJNis937uM-NJseer8i4FO7I_v5jhQPyFl5Uszi8,17390
106
- cloudnetpy/plotting/plotting.py,sha256=nMdrXg7WEUUAHFQ0-_kxlETuXYd17-mzYNXbbsE0nVU,38607
106
+ cloudnetpy/plotting/plotting.py,sha256=noUorRi7_8eXOG5lJJS_QSGzr4VNemuPwgGCybbCk8Q,38641
107
107
  cloudnetpy/products/__init__.py,sha256=cBJdJBYltz5ZTKDqnRo-0StytAZK8gE3RYxxriFA4ak,295
108
108
  cloudnetpy/products/classification.py,sha256=KwAiBSgFwDqhM114NIgYiUjj8HoYc7gAlc8E1QgcSig,8207
109
109
  cloudnetpy/products/der.py,sha256=soypE7uSEP4uHUCCQVEhyXsKY6e9mzV9B_2S5GUizqk,12729
110
110
  cloudnetpy/products/drizzle.py,sha256=58C9Mo6oRXR8KpbVPghbJvHvFX9GfS3xUp058pbf0qw,10804
111
111
  cloudnetpy/products/drizzle_error.py,sha256=4GwlHRtNbk9ks7bGtXCco-wXbcDOKeAQwKmbhzut6Qk,6132
112
112
  cloudnetpy/products/drizzle_tools.py,sha256=HLxUQ89mFNo6IIe6Cj3ZH-TPkJdpMxKCOt4cOOmcLs0,11002
113
- cloudnetpy/products/epsilon.py,sha256=sVtOcl-tckvZCmM34etRQCzLg5NjvbHlt_5InRCjm1E,7734
113
+ cloudnetpy/products/epsilon.py,sha256=3_WAu3upbGh7JgL-QcSPii-jVhRjUewkIdugozqXPHk,7731
114
114
  cloudnetpy/products/ier.py,sha256=XW4gg_H-JWMWKToMqLVl6v8kx1S65GBwclWDCn1EfSk,5991
115
115
  cloudnetpy/products/iwc.py,sha256=WcPdAZx3zW0zaNJNp2vpAD4JnG0NJjFmCUAhDWzNxMg,9459
116
116
  cloudnetpy/products/lwc.py,sha256=sl6Al2tuH3KkCBrPbWTmuz3jlD5UQJ4D6qBsn1tt2CQ,18962
117
117
  cloudnetpy/products/mie_lu_tables.nc,sha256=It4fYpqJXlqOgL8jeZ-PxGzP08PMrELIDVe55y9ob58,16637951
118
118
  cloudnetpy/products/mwr_tools.py,sha256=8HPZpQMTojKZP1JS1S83IE0sxmbDE9bxlaWoqmGnUZE,6199
119
119
  cloudnetpy/products/product_tools.py,sha256=uu4l6reuGbPcW3TgttbaSrqIKbyYGhBVTdnC7opKvmg,11101
120
- cloudnetpy-1.80.3.dist-info/licenses/LICENSE,sha256=wcZF72bdaoG9XugpyE95Juo7lBQOwLuTKBOhhtANZMM,1094
120
+ cloudnetpy-1.80.5.dist-info/licenses/LICENSE,sha256=wcZF72bdaoG9XugpyE95Juo7lBQOwLuTKBOhhtANZMM,1094
121
121
  docs/source/conf.py,sha256=IKiFWw6xhUd8NrCg0q7l596Ck1d61XWeVjIFHVSG9Og,1490
122
- cloudnetpy-1.80.3.dist-info/METADATA,sha256=N9oYLtyR_xAnhl0Q0pp1d91XHsfb6MPULyqg2_NtBlQ,5803
123
- cloudnetpy-1.80.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
124
- cloudnetpy-1.80.3.dist-info/entry_points.txt,sha256=HhY7LwCFk4qFgDlXx_Fy983ZTd831WlhtdPIzV-Y3dY,51
125
- cloudnetpy-1.80.3.dist-info/top_level.txt,sha256=ibSPWRr6ojS1i11rtBFz2_gkIe68mggj7aeswYfaOo0,16
126
- cloudnetpy-1.80.3.dist-info/RECORD,,
122
+ cloudnetpy-1.80.5.dist-info/METADATA,sha256=DArGB-u-o4WhmqR3ppA2PRRwafaoDld_ORHrOwqcfSY,5803
123
+ cloudnetpy-1.80.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
124
+ cloudnetpy-1.80.5.dist-info/entry_points.txt,sha256=HhY7LwCFk4qFgDlXx_Fy983ZTd831WlhtdPIzV-Y3dY,51
125
+ cloudnetpy-1.80.5.dist-info/top_level.txt,sha256=ibSPWRr6ojS1i11rtBFz2_gkIe68mggj7aeswYfaOo0,16
126
+ cloudnetpy-1.80.5.dist-info/RECORD,,