cloudnetpy 1.86.1__py3-none-any.whl → 1.86.2__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.
@@ -3,6 +3,7 @@
3
3
  import datetime
4
4
  import logging
5
5
  import os
6
+ import re
6
7
  from collections import OrderedDict
7
8
  from collections.abc import Sequence
8
9
  from os import PathLike
@@ -224,7 +225,7 @@ def _parse_input_files(
224
225
  )
225
226
  raise FileNotFoundError(msg)
226
227
 
227
- filetypes = list({f.split(".")[-1].lower() for f in valid_files})
228
+ filetypes = list({_get_suffix(f) for f in valid_files})
228
229
 
229
230
  if len(filetypes) > 1:
230
231
  err_msg = "Mixed mmclx and znc files. Please use only one filetype."
@@ -241,7 +242,7 @@ def _parse_input_files(
241
242
  )
242
243
  else:
243
244
  input_filename = input_files
244
- keymap = _get_keymap(str(input_filename).split(".")[-1])
245
+ keymap = _get_keymap(_get_suffix(input_filename))
245
246
 
246
247
  return input_filename, keymap
247
248
 
@@ -258,6 +259,13 @@ def _get_ignored_variables(filetype: str) -> list | None:
258
259
  return keymaps.get(filetype.lower(), keymaps.get("mmclx"))
259
260
 
260
261
 
262
+ def _get_suffix(filename: str | PathLike) -> str:
263
+ m = re.search(r"\.(\w+)(\.\d+)?$", str(filename))
264
+ if m is None:
265
+ return ""
266
+ return m[1].lower()
267
+
268
+
261
269
  def _get_keymap(filetype: str) -> dict[str, str]:
262
270
  """Returns a dictionary mapping the variables in the raw data to the processed
263
271
  Cloudnet file.
@@ -284,6 +292,7 @@ def _get_keymap(filetype: str) -> dict[str, str]:
284
292
  ("nave", "nave"),
285
293
  ("prf", "prf"),
286
294
  ("rg0", "rg0"),
295
+ ("tpow", "tpow"),
287
296
  ],
288
297
  ),
289
298
  "mmclx": OrderedDict(
cloudnetpy/version.py CHANGED
@@ -1,4 +1,4 @@
1
1
  MAJOR = 1
2
2
  MINOR = 86
3
- PATCH = 1
3
+ PATCH = 2
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.1
3
+ Version: 1.86.2
4
4
  Summary: Python package for Cloudnet processing
5
5
  Author: Simo Tukiainen
6
6
  License: MIT License
@@ -9,7 +9,7 @@ cloudnetpy/metadata.py,sha256=qqLXSUVhIi6H_Z1zlfXeEkc9qBqA1XO-UwsCVxjIcfk,7317
9
9
  cloudnetpy/output.py,sha256=NpuxmtLk2JLTdubCupdL4rFbx30YqgeU6vwAe_v8thc,15133
10
10
  cloudnetpy/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  cloudnetpy/utils.py,sha256=9MMYok1A7oJS2XBkIFhaiDWt_MYLo8tLzF3_880masM,34321
12
- cloudnetpy/version.py,sha256=QtEAE1savq9vVLdajaUQbntR7f8B0XJ7TQqre-v5kTA,72
12
+ cloudnetpy/version.py,sha256=xTNi15DzFrRbaqtjeQYlOEPWmIqgzeFhBlZ_cPtzD-4,72
13
13
  cloudnetpy/categorize/__init__.py,sha256=gtvzWr0IDRn2oA6yHBvinEhTGTuub-JkrOv93lBsgrE,61
14
14
  cloudnetpy/categorize/atmos_utils.py,sha256=uWc9TABVYPI0sn4H5Az9Jf6NVRaWyEKIi17f0pAJQxE,10679
15
15
  cloudnetpy/categorize/attenuation.py,sha256=Y_-fzmQTltWTqIZTulJhovC7a6ifpMcaAazDJcnMIOc,990
@@ -46,7 +46,7 @@ cloudnetpy/instruments/galileo.py,sha256=f_-GkRxhNaQPbI8HpOwSmoKfGqyjmD16A0ZFgwL
46
46
  cloudnetpy/instruments/hatpro.py,sha256=TGOqwW0TfoPEYk13MFvFzwgJGzm6MVE5AsPavcIoj3I,10248
47
47
  cloudnetpy/instruments/instruments.py,sha256=WZgH7HjzM9Ane1CSnYCSLidbST8hunUeSt2lPntq9As,4999
48
48
  cloudnetpy/instruments/lufft.py,sha256=G6KeJOeltLUlGCHHEk8ns2K7WJ9ImAr25rSB2JltawE,4286
49
- cloudnetpy/instruments/mira.py,sha256=jJ17xJmXwqfvZ7hgJaongRrRxoQpivMEQYssgSQFYbA,12638
49
+ cloudnetpy/instruments/mira.py,sha256=fLDpEdsoq-TArT49s6-YmrntnqsF5bxi01WWdc1tLP4,12831
50
50
  cloudnetpy/instruments/mrr.py,sha256=KvhfNIY2ozHE1MRLNYPqtBFThxLGN_YuCpBUGDIR76s,6319
51
51
  cloudnetpy/instruments/nc_lidar.py,sha256=PtZauDdI3bX3bv4gIVvV6N53e2Co-ehBL_tByHM9hj8,1713
52
52
  cloudnetpy/instruments/nc_radar.py,sha256=XFKxPLKivnhHTgjE5HFrxjWZ0oCifhDUAog051vkMiY,7533
@@ -118,10 +118,10 @@ cloudnetpy/products/lwc.py,sha256=xsNiiG6dGKIkWaFk0xWTabc1bZ4ULf6SqcqHs7itAUk,19
118
118
  cloudnetpy/products/mie_lu_tables.nc,sha256=It4fYpqJXlqOgL8jeZ-PxGzP08PMrELIDVe55y9ob58,16637951
119
119
  cloudnetpy/products/mwr_tools.py,sha256=MMWnp68U7bv157-CPB2VeTQvaR6zl7sexbBT_kJ_pn8,6734
120
120
  cloudnetpy/products/product_tools.py,sha256=eyqIw_0KhlpmmYQE69RpGdRIAOW7JVPlEgkTBp2kdps,11302
121
- cloudnetpy-1.86.1.dist-info/licenses/LICENSE,sha256=wcZF72bdaoG9XugpyE95Juo7lBQOwLuTKBOhhtANZMM,1094
121
+ cloudnetpy-1.86.2.dist-info/licenses/LICENSE,sha256=wcZF72bdaoG9XugpyE95Juo7lBQOwLuTKBOhhtANZMM,1094
122
122
  docs/source/conf.py,sha256=IKiFWw6xhUd8NrCg0q7l596Ck1d61XWeVjIFHVSG9Og,1490
123
- cloudnetpy-1.86.1.dist-info/METADATA,sha256=jSsYS8WOmfToTJzLKqwqAUh3PCJv6BPRv6lUAryjRtM,5836
124
- cloudnetpy-1.86.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
125
- cloudnetpy-1.86.1.dist-info/entry_points.txt,sha256=HhY7LwCFk4qFgDlXx_Fy983ZTd831WlhtdPIzV-Y3dY,51
126
- cloudnetpy-1.86.1.dist-info/top_level.txt,sha256=ibSPWRr6ojS1i11rtBFz2_gkIe68mggj7aeswYfaOo0,16
127
- cloudnetpy-1.86.1.dist-info/RECORD,,
123
+ cloudnetpy-1.86.2.dist-info/METADATA,sha256=kf1RXoG3IYdfagnVpUBSggxThGxNc8SutPD3XeuzFv8,5836
124
+ cloudnetpy-1.86.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
125
+ cloudnetpy-1.86.2.dist-info/entry_points.txt,sha256=HhY7LwCFk4qFgDlXx_Fy983ZTd831WlhtdPIzV-Y3dY,51
126
+ cloudnetpy-1.86.2.dist-info/top_level.txt,sha256=ibSPWRr6ojS1i11rtBFz2_gkIe68mggj7aeswYfaOo0,16
127
+ cloudnetpy-1.86.2.dist-info/RECORD,,