cloudnetpy 1.55.8__tar.gz → 1.55.10__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.55.8/cloudnetpy.egg-info → cloudnetpy-1.55.10}/PKG-INFO +2 -2
  2. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/instruments/copernicus.py +27 -1
  3. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/instruments/vaisala.py +1 -1
  4. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/version.py +1 -1
  5. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10/cloudnetpy.egg-info}/PKG-INFO +2 -2
  6. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy.egg-info/requires.txt +1 -1
  7. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/pyproject.toml +1 -1
  8. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/LICENSE +0 -0
  9. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/MANIFEST.in +0 -0
  10. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/README.md +0 -0
  11. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/__init__.py +0 -0
  12. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/categorize/__init__.py +0 -0
  13. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/categorize/atmos.py +0 -0
  14. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/categorize/atmos_utils.py +0 -0
  15. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/categorize/categorize.py +0 -0
  16. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/categorize/classify.py +0 -0
  17. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/categorize/containers.py +0 -0
  18. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/categorize/droplet.py +0 -0
  19. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/categorize/falling.py +0 -0
  20. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/categorize/freezing.py +0 -0
  21. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/categorize/insects.py +0 -0
  22. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/categorize/lidar.py +0 -0
  23. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/categorize/melting.py +0 -0
  24. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/categorize/model.py +0 -0
  25. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/categorize/mwr.py +0 -0
  26. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/categorize/radar.py +0 -0
  27. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/cloudnetarray.py +0 -0
  28. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/concat_lib.py +0 -0
  29. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/constants.py +0 -0
  30. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/datasource.py +0 -0
  31. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/exceptions.py +0 -0
  32. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/instruments/__init__.py +0 -0
  33. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/instruments/basta.py +0 -0
  34. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/instruments/campbell_scientific.py +0 -0
  35. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/instruments/ceilo.py +0 -0
  36. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/instruments/ceilometer.py +0 -0
  37. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/instruments/cl61d.py +0 -0
  38. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/instruments/cloudnet_instrument.py +0 -0
  39. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/instruments/disdrometer/__init__.py +0 -0
  40. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/instruments/disdrometer/common.py +0 -0
  41. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/instruments/disdrometer/parsivel.py +0 -0
  42. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/instruments/disdrometer/thies.py +0 -0
  43. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/instruments/galileo.py +0 -0
  44. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/instruments/hatpro.py +0 -0
  45. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/instruments/instruments.py +0 -0
  46. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/instruments/lufft.py +0 -0
  47. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/instruments/mira.py +0 -0
  48. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/instruments/mrr.py +0 -0
  49. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/instruments/nc_lidar.py +0 -0
  50. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/instruments/nc_radar.py +0 -0
  51. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/instruments/pollyxt.py +0 -0
  52. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/instruments/radiometrics.py +0 -0
  53. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/instruments/rpg.py +0 -0
  54. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/instruments/rpg_reader.py +0 -0
  55. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/instruments/weather_station.py +0 -0
  56. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/metadata.py +0 -0
  57. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/__init__.py +0 -0
  58. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/file_handler.py +0 -0
  59. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/metadata.py +0 -0
  60. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/model_metadata.py +0 -0
  61. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/plotting/__init__.py +0 -0
  62. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/plotting/plot_meta.py +0 -0
  63. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/plotting/plot_tools.py +0 -0
  64. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/plotting/plotting.py +0 -0
  65. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/products/__init__.py +0 -0
  66. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/products/advance_methods.py +0 -0
  67. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/products/grid_methods.py +0 -0
  68. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/products/model_products.py +0 -0
  69. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/products/observation_products.py +0 -0
  70. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/products/product_resampling.py +0 -0
  71. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/products/tools.py +0 -0
  72. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/statistics/__init__.py +0 -0
  73. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/statistics/statistical_methods.py +0 -0
  74. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/tests/__init__.py +0 -0
  75. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/tests/e2e/__init__.py +0 -0
  76. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/tests/e2e/conftest.py +0 -0
  77. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/tests/e2e/process_cf/__init__.py +0 -0
  78. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/tests/e2e/process_cf/main.py +0 -0
  79. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/tests/e2e/process_cf/tests.py +0 -0
  80. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/__init__.py +0 -0
  81. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/main.py +0 -0
  82. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/tests.py +0 -0
  83. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/__init__.py +0 -0
  84. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/main.py +0 -0
  85. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/tests.py +0 -0
  86. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/tests/unit/__init__.py +0 -0
  87. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/tests/unit/conftest.py +0 -0
  88. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/tests/unit/test_advance_methods.py +0 -0
  89. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/tests/unit/test_grid_methods.py +0 -0
  90. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/tests/unit/test_model_products.py +0 -0
  91. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/tests/unit/test_observation_products.py +0 -0
  92. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/tests/unit/test_plot_tools.py +0 -0
  93. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/tests/unit/test_plotting.py +0 -0
  94. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/tests/unit/test_statistical_methods.py +0 -0
  95. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/tests/unit/test_tools.py +0 -0
  96. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/model_evaluation/utils.py +0 -0
  97. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/output.py +0 -0
  98. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/plotting/__init__.py +0 -0
  99. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/plotting/plot_meta.py +0 -0
  100. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/plotting/plotting.py +0 -0
  101. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/products/__init__.py +0 -0
  102. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/products/classification.py +0 -0
  103. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/products/der.py +0 -0
  104. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/products/drizzle.py +0 -0
  105. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/products/drizzle_error.py +0 -0
  106. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/products/drizzle_tools.py +0 -0
  107. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/products/ier.py +0 -0
  108. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/products/iwc.py +0 -0
  109. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/products/lwc.py +0 -0
  110. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/products/mie_lu_tables.nc +0 -0
  111. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/products/mwr_multi.py +0 -0
  112. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/products/mwr_single.py +0 -0
  113. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/products/product_tools.py +0 -0
  114. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/py.typed +0 -0
  115. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy/utils.py +0 -0
  116. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy.egg-info/SOURCES.txt +0 -0
  117. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy.egg-info/dependency_links.txt +0 -0
  118. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/cloudnetpy.egg-info/top_level.txt +0 -0
  119. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/docs/source/conf.py +0 -0
  120. {cloudnetpy-1.55.8 → cloudnetpy-1.55.10}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cloudnetpy
3
- Version: 1.55.8
3
+ Version: 1.55.10
4
4
  Summary: Python package for Cloudnet processing
5
5
  Author: Simo Tukiainen
6
6
  License: MIT License
@@ -39,7 +39,7 @@ Classifier: Topic :: Scientific/Engineering
39
39
  Requires-Python: >=3.10
40
40
  Description-Content-Type: text/markdown
41
41
  License-File: LICENSE
42
- Requires-Dist: cloudnetpy_qc>=1.13.2
42
+ Requires-Dist: cloudnetpy_qc>=1.13.8
43
43
  Requires-Dist: matplotlib
44
44
  Requires-Dist: mwrpy>=0.4.3
45
45
  Requires-Dist: netCDF4
@@ -80,6 +80,8 @@ def copernicus2nc(
80
80
  copernicus.mask_first_range_gates()
81
81
  copernicus.mask_invalid_data()
82
82
  copernicus.add_time_and_range()
83
+ copernicus.fix_range_offset(site_meta)
84
+ copernicus.screen_negative_ranges()
83
85
  copernicus.add_radar_specific_variables()
84
86
  copernicus.add_nyquist_velocity(keymap)
85
87
  copernicus.add_site_geolocation()
@@ -123,13 +125,37 @@ class Copernicus(ChilboltonRadar):
123
125
  ind = np.where(np.abs(self.data[key][:]) > value)
124
126
  self.data["v"].mask_indices(ind)
125
127
 
128
+ def fix_range_offset(self, site_meta: dict):
129
+ """Fixes range offset."""
130
+ range_offset = site_meta.get("range_offset", 0)
131
+ self.data["range"].data[:] += range_offset
132
+ self.append_data(np.array(range_offset, dtype=float), "range_offset")
133
+
134
+ def screen_negative_ranges(self):
135
+ """Screens negative range values."""
136
+ valid_ind = np.where(self.data["range"][:] >= 0)[0]
137
+ for key, cloudnet_array in self.data.items():
138
+ try:
139
+ data = cloudnet_array[:]
140
+ if data.ndim == 2:
141
+ cloudnet_array.data = data[:, valid_ind]
142
+ elif key == "range":
143
+ cloudnet_array.data = data[valid_ind]
144
+ except IndexError:
145
+ continue
146
+
126
147
 
127
148
  ATTRIBUTES = {
128
149
  "calibration_offset": MetaData(
129
150
  long_name="Radar reflectivity calibration offset",
130
- units="1",
151
+ units="dBZ",
131
152
  comment="Calibration offset applied.",
132
153
  ),
154
+ "range_offset": MetaData(
155
+ long_name="Radar range offset",
156
+ units="m",
157
+ comment="Range offset applied.",
158
+ ),
133
159
  "antenna_diameter": MetaData(long_name="Antenna diameter", units="m"),
134
160
  "beamwidthV": MetaData(long_name="Vertical angular beamwidth", units="degree"),
135
161
  "beamwidthH": MetaData(long_name="Horizontal angular beamwidth", units="degree"),
@@ -380,7 +380,7 @@ def values_to_dict(keys: tuple, values: list) -> dict:
380
380
  """
381
381
  out = {}
382
382
  for i, key in enumerate(keys):
383
- out[key] = np.array([x[i] for x in values])
383
+ out[key] = np.array([x[i] for x in values if len(x) == len(keys)])
384
384
  return out
385
385
 
386
386
 
@@ -1,4 +1,4 @@
1
1
  MAJOR = 1
2
2
  MINOR = 55
3
- PATCH = 8
3
+ PATCH = 10
4
4
  __version__ = f"{MAJOR}.{MINOR}.{PATCH}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cloudnetpy
3
- Version: 1.55.8
3
+ Version: 1.55.10
4
4
  Summary: Python package for Cloudnet processing
5
5
  Author: Simo Tukiainen
6
6
  License: MIT License
@@ -39,7 +39,7 @@ Classifier: Topic :: Scientific/Engineering
39
39
  Requires-Python: >=3.10
40
40
  Description-Content-Type: text/markdown
41
41
  License-File: LICENSE
42
- Requires-Dist: cloudnetpy_qc>=1.13.2
42
+ Requires-Dist: cloudnetpy_qc>=1.13.8
43
43
  Requires-Dist: matplotlib
44
44
  Requires-Dist: mwrpy>=0.4.3
45
45
  Requires-Dist: netCDF4
@@ -1,4 +1,4 @@
1
- cloudnetpy_qc>=1.13.2
1
+ cloudnetpy_qc>=1.13.8
2
2
  matplotlib
3
3
  mwrpy>=0.4.3
4
4
  netCDF4
@@ -15,7 +15,7 @@ classifiers = [
15
15
  "Topic :: Scientific/Engineering",
16
16
  ]
17
17
  dependencies = [
18
- "cloudnetpy_qc>=1.13.2",
18
+ "cloudnetpy_qc>=1.13.8",
19
19
  "matplotlib",
20
20
  "mwrpy>=0.4.3",
21
21
  "netCDF4",
File without changes
File without changes
File without changes
File without changes