cloudnetpy-qc 1.26.4__py3-none-any.whl → 1.27.1__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.
@@ -1,4 +1,4 @@
1
- [limits]
1
+ [defaults]
2
2
  Z = -100, 50
3
3
  Zh = -100, 50
4
4
  v = -20, 20
@@ -58,3 +58,17 @@ air_temperature = 184.0, 329.85
58
58
  relative_humidity = 0, 1.05
59
59
  wind_speed = 0, 100
60
60
  wind_direction = 0, 360
61
+
62
+ [mwr-l1c]
63
+ zenith_angle = -1, 91
64
+
65
+ [mwr-single]
66
+ elevation_angle = -1, 91
67
+ relative_humidity = -0.2, 2
68
+
69
+ [mwr-multi]
70
+ elevation_angle = -1, 91
71
+ relative_humidity = -0.2, 2
72
+
73
+ [radar]
74
+ wind_direction = -0.1, 360.1
cloudnetpy_qc/quality.py CHANGED
@@ -165,11 +165,6 @@ class Test:
165
165
  def _add_error(self, message: str | list):
166
166
  self._add_message(message, ErrorLevel.ERROR)
167
167
 
168
- def _read_config_keys(self, config_section: str) -> np.ndarray:
169
- field = "all" if "attr" in config_section else self.product.value
170
- keys = METADATA_CONFIG[config_section][field].split(",")
171
- return np.char.strip(keys)
172
-
173
168
  def _get_required_variables(self) -> dict:
174
169
  return {
175
170
  name: var
@@ -229,21 +224,19 @@ class FindVariableOutliers(Test):
229
224
  self._add_info(msg)
230
225
 
231
226
  def _get_limits(self, key: str) -> tuple[float, float] | None:
232
- if key == "zenith_angle" and self.product in (
233
- Product.MWR_L1C,
234
- Product.MWR_SINGLE,
235
- Product.MWR_MULTI,
236
- ):
237
- return None
238
227
  if key == "height" and self.product == Product.CPR:
239
228
  return None
240
229
  if key == "air_pressure":
241
230
  pressure = utils.calc_pressure(np.mean(self.nc["altitude"][:]))
242
231
  max_diff = pressure * 0.05
243
232
  return (pressure - max_diff, pressure + max_diff)
244
- if not DATA_CONFIG.has_option("limits", key):
233
+ if DATA_CONFIG.has_option(self.product.value, key):
234
+ section = self.product.value
235
+ elif DATA_CONFIG.has_option("defaults", key):
236
+ section = "defaults"
237
+ else:
245
238
  return None
246
- limit_min, limit_max = DATA_CONFIG.get("limits", key).split(",", maxsplit=1)
239
+ limit_min, limit_max = DATA_CONFIG.get(section, key).split(",", maxsplit=1)
247
240
  return (float(limit_min), float(limit_max))
248
241
 
249
242
  def _get_data(self, key: str) -> np.ndarray:
cloudnetpy_qc/version.py CHANGED
@@ -1,6 +1,6 @@
1
1
  """Cloudnetpy-QC version."""
2
2
 
3
3
  MAJOR = 1
4
- MINOR = 26
5
- PATCH = 4
4
+ MINOR = 27
5
+ PATCH = 1
6
6
  __version__ = f"{MAJOR}.{MINOR}.{PATCH}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cloudnetpy_qc
3
- Version: 1.26.4
3
+ Version: 1.27.1
4
4
  Summary: Quality control routines for CloudnetPy products
5
5
  Author-email: Finnish Meteorological Institute <actris-cloudnet@fmi.fi>
6
6
  License: MIT License
@@ -1,16 +1,16 @@
1
1
  cloudnetpy_qc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  cloudnetpy_qc/coverage.py,sha256=s4ILSFHlD5-pHG9QiKE4leinUjWmLRib61QQ70Q1IJA,2305
3
3
  cloudnetpy_qc/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- cloudnetpy_qc/quality.py,sha256=COELjW02PHgXed7UqtBVFxeJihWKst25vUVZN6jLEjA,39685
4
+ cloudnetpy_qc/quality.py,sha256=eghzD8qBwDSwHRXA-Iu-Y7X9Y3BSamM_g1Sf3ADXwgo,39407
5
5
  cloudnetpy_qc/utils.py,sha256=zFVryl56le2cyfDSCyGCzMHACcsjK7AJZknii1fgfgg,5393
6
6
  cloudnetpy_qc/variables.py,sha256=GIbVYxPyN_X5d5HWR_eV1g6X_8GHCarRWz3nhWkpF3Q,51181
7
- cloudnetpy_qc/version.py,sha256=8joiJ_W8kmucDBE90OfIQn8eaI4TkB2pwAuS_YL1LRk,102
7
+ cloudnetpy_qc/version.py,sha256=GWTJMeoqMdpAz2aWkx1axX77qK4GpV2FBhZemAqNV48,102
8
8
  cloudnetpy_qc/data/area-type-table.xml,sha256=LQGp6rk8d-jZVjeFWPK_NjG2Kk1atvLlQXmV4UXggKI,17788
9
9
  cloudnetpy_qc/data/cf-standard-name-table.xml,sha256=MGqs7uPH62jVpiN6as3jc5gswQvywjJzU_jzHtQOArA,4455853
10
- cloudnetpy_qc/data/data_quality_config.ini,sha256=YEZQuaRCLMamLypsL7hx1aSixZTq5avpX6Xdey2wGP4,1243
10
+ cloudnetpy_qc/data/data_quality_config.ini,sha256=deAQzo3eMclgIaQTGYGdwLaD_AM9vGDGaf4VvJ_ZQrs,1449
11
11
  cloudnetpy_qc/data/standardized-region-list.xml,sha256=gLRE2G7RQLD9hmvW5dTzyK7XPhORxWv2bfbrvAp5Uto,6426
12
- cloudnetpy_qc-1.26.4.dist-info/licenses/LICENSE,sha256=P0wszB7Cq2M390SKaqT4DGvECfwGOMdTTdxsWBpEUUc,1094
13
- cloudnetpy_qc-1.26.4.dist-info/METADATA,sha256=xc7FWe8l18rKQBWiTwWSkFeLo0McWN7DXiDA3rKkbP8,8340
14
- cloudnetpy_qc-1.26.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
15
- cloudnetpy_qc-1.26.4.dist-info/top_level.txt,sha256=shrf8A1KyrrnhbHocc4gHmTl38YY-DHflgf-gXiKnKs,14
16
- cloudnetpy_qc-1.26.4.dist-info/RECORD,,
12
+ cloudnetpy_qc-1.27.1.dist-info/licenses/LICENSE,sha256=P0wszB7Cq2M390SKaqT4DGvECfwGOMdTTdxsWBpEUUc,1094
13
+ cloudnetpy_qc-1.27.1.dist-info/METADATA,sha256=08qY9-AZhFj9_f_D7MKaXETrd9GOTZ9lGSn7uCkecd4,8340
14
+ cloudnetpy_qc-1.27.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
15
+ cloudnetpy_qc-1.27.1.dist-info/top_level.txt,sha256=shrf8A1KyrrnhbHocc4gHmTl38YY-DHflgf-gXiKnKs,14
16
+ cloudnetpy_qc-1.27.1.dist-info/RECORD,,