cloudnetpy 1.66.15__py3-none-any.whl → 1.66.17__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.
@@ -103,7 +103,12 @@ class NcRadar(DataSource, CloudnetInstrument):
103
103
  azimuth_reference = ma.median(azimuth)
104
104
  azimuth_tolerance = 0.1
105
105
 
106
- zenith = 90 - self.data["elevation"].data
106
+ elevation = self.data["elevation"].data
107
+
108
+ # Elevation is sometimes around -1000 indicating missing value
109
+ # Assume the instrument is pointing vertically in these cases
110
+ elevation[elevation < 0] = 90
111
+ zenith = 90 - elevation
107
112
 
108
113
  is_valid_zenith = np.abs(zenith) < 10
109
114
  if not np.any(is_valid_zenith):
@@ -6,7 +6,7 @@ import logging
6
6
  import netCDF4
7
7
  import numpy as np
8
8
  from numpy import ma
9
- from numpy.testing import assert_array_equal
9
+ from numpy.testing import assert_almost_equal
10
10
 
11
11
  from cloudnetpy import output, utils
12
12
  from cloudnetpy.exceptions import InconsistentDataError, ValidTimeStampError
@@ -190,7 +190,9 @@ def _read_array_from_multiple_files(files1: list, files2: list, key) -> np.ndarr
190
190
  array1 = _read_array_from_file_pair(nc1, nc2, key)
191
191
  if ind == 0:
192
192
  array = array1
193
- assert_array_equal(array, array1, f"Inconsistent variable '{key}'")
193
+ assert_almost_equal(
194
+ array, array1, err_msg=f"Inconsistent variable '{key}'", decimal=2
195
+ )
194
196
  return np.array(array)
195
197
 
196
198
 
@@ -201,7 +203,9 @@ def _read_array_from_file_pair(
201
203
  ) -> np.ndarray:
202
204
  array1 = nc_file1.variables[key][:]
203
205
  array2 = nc_file2.variables[key][:]
204
- assert_array_equal(array1, array2, f"Inconsistent variable '{key}'")
206
+ assert_almost_equal(
207
+ array1, array2, err_msg=f"Inconsistent variable '{key}'", decimal=2
208
+ )
205
209
  return array1
206
210
 
207
211
 
cloudnetpy/version.py CHANGED
@@ -1,4 +1,4 @@
1
1
  MAJOR = 1
2
2
  MINOR = 66
3
- PATCH = 15
3
+ PATCH = 17
4
4
  __version__ = f"{MAJOR}.{MINOR}.{PATCH}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cloudnetpy
3
- Version: 1.66.15
3
+ Version: 1.66.17
4
4
  Summary: Python package for Cloudnet processing
5
5
  Author: Simo Tukiainen
6
6
  License: MIT License
@@ -40,25 +40,25 @@ Classifier: Topic :: Scientific/Engineering
40
40
  Requires-Python: >=3.10
41
41
  Description-Content-Type: text/markdown
42
42
  License-File: LICENSE
43
- Requires-Dist: cloudnetpy-qc >=1.15.0
43
+ Requires-Dist: cloudnetpy_qc>=1.15.0
44
44
  Requires-Dist: matplotlib
45
- Requires-Dist: mwrpy >=0.4.3
45
+ Requires-Dist: mwrpy>=0.4.3
46
46
  Requires-Dist: netCDF4
47
47
  Requires-Dist: requests
48
- Requires-Dist: rpgpy >=0.14.5
48
+ Requires-Dist: rpgpy>=0.14.5
49
49
  Requires-Dist: scikit-image
50
50
  Requires-Dist: scipy
51
+ Provides-Extra: test
52
+ Requires-Dist: mypy; extra == "test"
53
+ Requires-Dist: pytest; extra == "test"
54
+ Requires-Dist: pytest-flakefinder; extra == "test"
55
+ Requires-Dist: ruff; extra == "test"
56
+ Requires-Dist: types-requests; extra == "test"
51
57
  Provides-Extra: dev
52
- Requires-Dist: pre-commit ; extra == 'dev'
53
- Requires-Dist: release-version ; extra == 'dev'
58
+ Requires-Dist: pre-commit; extra == "dev"
59
+ Requires-Dist: release-version; extra == "dev"
54
60
  Provides-Extra: extras
55
- Requires-Dist: voodoonet >=0.1.7 ; extra == 'extras'
56
- Provides-Extra: test
57
- Requires-Dist: mypy ; extra == 'test'
58
- Requires-Dist: pytest ; extra == 'test'
59
- Requires-Dist: pytest-flakefinder ; extra == 'test'
60
- Requires-Dist: ruff ; extra == 'test'
61
- Requires-Dist: types-requests ; extra == 'test'
61
+ Requires-Dist: voodoonet>=0.1.7; extra == "extras"
62
62
 
63
63
  # CloudnetPy
64
64
 
@@ -9,7 +9,7 @@ cloudnetpy/metadata.py,sha256=DOGt7EQLS-AVJEszrUrpXr3gHVQv655FzeCzKrOPvoU,5477
9
9
  cloudnetpy/output.py,sha256=lq4YSeMT_d-j4rlQkKm9KIZ8boupTBBBKV1eUawpmCI,15672
10
10
  cloudnetpy/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  cloudnetpy/utils.py,sha256=JksYOwf9ORiR_QpoKrTe1JJwXpPYJj-wlwaZKCHoh3o,29744
12
- cloudnetpy/version.py,sha256=irIA4yuG4dDzkpWXvs0ezjaoYVG3lKLRxXRAsc61vtk,73
12
+ cloudnetpy/version.py,sha256=I_QExn3cCA9D7n_90Qiz-7ArHlSnWElngZHWc2kPtBo,73
13
13
  cloudnetpy/categorize/__init__.py,sha256=s-SJaysvVpVVo5kidiruWQO6p3gv2TXwY1wEHYO5D6I,44
14
14
  cloudnetpy/categorize/atmos_utils.py,sha256=9-ymI6i1xASf-XAFyO87FaTfvq6bF89N1i_27OkUp-M,10104
15
15
  cloudnetpy/categorize/attenuation.py,sha256=Y_-fzmQTltWTqIZTulJhovC7a6ifpMcaAazDJcnMIOc,990
@@ -47,8 +47,8 @@ cloudnetpy/instruments/lufft.py,sha256=ugXF6pssHAAz1Y_hqPdpKuluAjxxHSR88xBmQuS6R
47
47
  cloudnetpy/instruments/mira.py,sha256=f679zjmIxLVVtUVSMeO5IWbEdaj6qOJu5Gf9MKQJSL8,9412
48
48
  cloudnetpy/instruments/mrr.py,sha256=eeAzCp3CiHGauywjwvMUAFwZ4vBOZMcd3IlF8KsrLQo,5711
49
49
  cloudnetpy/instruments/nc_lidar.py,sha256=5gQG9PApnNPrHmS9_zanl8HEYIQuGRpbnzC3wfTcOyQ,1705
50
- cloudnetpy/instruments/nc_radar.py,sha256=dbhfI0uLNjDIQqg6RRCTGuInLjv_OC-43wvVV28gJYE,7189
51
- cloudnetpy/instruments/pollyxt.py,sha256=YuVEHr-BX31rtVOFsWGU-SQFAmcxpXL26eyCVMz_9hw,8933
50
+ cloudnetpy/instruments/nc_radar.py,sha256=HP6PNR5Y4qB6Q2OhQAmxWbe5QTTwNlw39TOWpeUe_bI,7399
51
+ cloudnetpy/instruments/pollyxt.py,sha256=lkiBu8ChvLd86eCkeIGxHKwraeDQFuVSgCVlsAYTYN8,9010
52
52
  cloudnetpy/instruments/radiometrics.py,sha256=ySG4a042XkgjMTG8d20oAPNvFvw9bMwwiqS3zv-JF_w,11825
53
53
  cloudnetpy/instruments/rpg.py,sha256=IozvBJ8_qXTPqtp58FQwRsoI5_aI3-kycpXugZkS0d4,17462
54
54
  cloudnetpy/instruments/rpg_reader.py,sha256=ThztFuVrWxhmWVAfZTfQDeUiKK1XMTbtv08IBe8GK98,11364
@@ -115,9 +115,9 @@ cloudnetpy/products/mie_lu_tables.nc,sha256=It4fYpqJXlqOgL8jeZ-PxGzP08PMrELIDVe5
115
115
  cloudnetpy/products/mwr_tools.py,sha256=rd7UC67O4fsIE5SaHVZ4qWvUJTj41ZGwgQWPwZzOM14,5377
116
116
  cloudnetpy/products/product_tools.py,sha256=01Zc6xV8CSuYcIcLpchFf5POL3_c629-YMNDZJ51udA,10853
117
117
  docs/source/conf.py,sha256=IKiFWw6xhUd8NrCg0q7l596Ck1d61XWeVjIFHVSG9Og,1490
118
- cloudnetpy-1.66.15.dist-info/LICENSE,sha256=wcZF72bdaoG9XugpyE95Juo7lBQOwLuTKBOhhtANZMM,1094
119
- cloudnetpy-1.66.15.dist-info/METADATA,sha256=KaUmfzkF5Q-ZHgK7KLkatV2HnmazpZvCnrgdbgSxw5Y,5806
120
- cloudnetpy-1.66.15.dist-info/WHEEL,sha256=R06PA3UVYHThwHvxuRWMqaGcr-PuniXahwjmQRFMEkY,91
121
- cloudnetpy-1.66.15.dist-info/entry_points.txt,sha256=HhY7LwCFk4qFgDlXx_Fy983ZTd831WlhtdPIzV-Y3dY,51
122
- cloudnetpy-1.66.15.dist-info/top_level.txt,sha256=ibSPWRr6ojS1i11rtBFz2_gkIe68mggj7aeswYfaOo0,16
123
- cloudnetpy-1.66.15.dist-info/RECORD,,
118
+ cloudnetpy-1.66.17.dist-info/LICENSE,sha256=wcZF72bdaoG9XugpyE95Juo7lBQOwLuTKBOhhtANZMM,1094
119
+ cloudnetpy-1.66.17.dist-info/METADATA,sha256=oQg4KOesIN8UvulDIPye5gt2VrnZr5IcITc5yPFEot8,5794
120
+ cloudnetpy-1.66.17.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
121
+ cloudnetpy-1.66.17.dist-info/entry_points.txt,sha256=HhY7LwCFk4qFgDlXx_Fy983ZTd831WlhtdPIzV-Y3dY,51
122
+ cloudnetpy-1.66.17.dist-info/top_level.txt,sha256=ibSPWRr6ojS1i11rtBFz2_gkIe68mggj7aeswYfaOo0,16
123
+ cloudnetpy-1.66.17.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.5.0)
2
+ Generator: setuptools (75.6.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5