cloudnetpy 1.86.4__tar.gz → 1.86.6__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.

Potentially problematic release.


This version of cloudnetpy might be problematic. Click here for more details.

Files changed (133) hide show
  1. {cloudnetpy-1.86.4/cloudnetpy.egg-info → cloudnetpy-1.86.6}/PKG-INFO +1 -1
  2. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/copernicus.py +17 -8
  3. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/version.py +1 -1
  4. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6/cloudnetpy.egg-info}/PKG-INFO +1 -1
  5. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/LICENSE +0 -0
  6. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/MANIFEST.in +0 -0
  7. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/README.md +0 -0
  8. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/__init__.py +0 -0
  9. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/categorize/__init__.py +0 -0
  10. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/categorize/atmos_utils.py +0 -0
  11. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/categorize/attenuation.py +0 -0
  12. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/categorize/attenuations/__init__.py +0 -0
  13. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/categorize/attenuations/gas_attenuation.py +0 -0
  14. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/categorize/attenuations/liquid_attenuation.py +0 -0
  15. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/categorize/attenuations/melting_attenuation.py +0 -0
  16. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/categorize/attenuations/rain_attenuation.py +0 -0
  17. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/categorize/categorize.py +0 -0
  18. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/categorize/classify.py +0 -0
  19. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/categorize/containers.py +0 -0
  20. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/categorize/disdrometer.py +0 -0
  21. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/categorize/droplet.py +0 -0
  22. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/categorize/falling.py +0 -0
  23. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/categorize/freezing.py +0 -0
  24. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/categorize/insects.py +0 -0
  25. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/categorize/itu.py +0 -0
  26. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/categorize/lidar.py +0 -0
  27. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/categorize/melting.py +0 -0
  28. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/categorize/model.py +0 -0
  29. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/categorize/mwr.py +0 -0
  30. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/categorize/radar.py +0 -0
  31. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/cli.py +0 -0
  32. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/cloudnetarray.py +0 -0
  33. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/concat_lib.py +0 -0
  34. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/constants.py +0 -0
  35. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/datasource.py +0 -0
  36. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/exceptions.py +0 -0
  37. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/__init__.py +0 -0
  38. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/basta.py +0 -0
  39. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/bowtie.py +0 -0
  40. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/ceilo.py +0 -0
  41. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/ceilometer.py +0 -0
  42. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/cl61d.py +0 -0
  43. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/cloudnet_instrument.py +0 -0
  44. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/da10.py +0 -0
  45. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/disdrometer/__init__.py +0 -0
  46. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/disdrometer/common.py +0 -0
  47. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/disdrometer/parsivel.py +0 -0
  48. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/disdrometer/thies.py +0 -0
  49. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/fd12p.py +0 -0
  50. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/galileo.py +0 -0
  51. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/hatpro.py +0 -0
  52. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/instruments.py +0 -0
  53. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/lufft.py +0 -0
  54. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/mira.py +0 -0
  55. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/mrr.py +0 -0
  56. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/nc_lidar.py +0 -0
  57. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/nc_radar.py +0 -0
  58. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/pollyxt.py +0 -0
  59. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/radiometrics.py +0 -0
  60. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/rain_e_h3.py +0 -0
  61. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/rpg.py +0 -0
  62. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/rpg_reader.py +0 -0
  63. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/toa5.py +0 -0
  64. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/vaisala.py +0 -0
  65. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/instruments/weather_station.py +0 -0
  66. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/metadata.py +0 -0
  67. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/__init__.py +0 -0
  68. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/file_handler.py +0 -0
  69. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/metadata.py +0 -0
  70. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/model_metadata.py +0 -0
  71. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/plotting/__init__.py +0 -0
  72. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/plotting/plot_meta.py +0 -0
  73. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/plotting/plot_tools.py +0 -0
  74. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/plotting/plotting.py +0 -0
  75. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/products/__init__.py +0 -0
  76. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/products/advance_methods.py +0 -0
  77. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/products/grid_methods.py +0 -0
  78. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/products/model_products.py +0 -0
  79. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/products/observation_products.py +0 -0
  80. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/products/product_resampling.py +0 -0
  81. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/products/tools.py +0 -0
  82. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/statistics/__init__.py +0 -0
  83. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/statistics/statistical_methods.py +0 -0
  84. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/tests/__init__.py +0 -0
  85. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/tests/e2e/__init__.py +0 -0
  86. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/tests/e2e/conftest.py +0 -0
  87. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/tests/e2e/process_cf/__init__.py +0 -0
  88. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/tests/e2e/process_cf/main.py +0 -0
  89. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/tests/e2e/process_cf/tests.py +0 -0
  90. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/__init__.py +0 -0
  91. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/main.py +0 -0
  92. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/tests.py +0 -0
  93. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/__init__.py +0 -0
  94. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/main.py +0 -0
  95. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/tests.py +0 -0
  96. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/tests/unit/__init__.py +0 -0
  97. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/tests/unit/conftest.py +0 -0
  98. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/tests/unit/test_advance_methods.py +0 -0
  99. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/tests/unit/test_grid_methods.py +0 -0
  100. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/tests/unit/test_model_products.py +0 -0
  101. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/tests/unit/test_observation_products.py +0 -0
  102. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/tests/unit/test_plot_tools.py +0 -0
  103. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/tests/unit/test_plotting.py +0 -0
  104. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/tests/unit/test_statistical_methods.py +0 -0
  105. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/tests/unit/test_tools.py +0 -0
  106. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/model_evaluation/utils.py +0 -0
  107. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/output.py +0 -0
  108. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/plotting/__init__.py +0 -0
  109. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/plotting/plot_meta.py +0 -0
  110. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/plotting/plotting.py +0 -0
  111. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/products/__init__.py +0 -0
  112. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/products/classification.py +0 -0
  113. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/products/der.py +0 -0
  114. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/products/drizzle.py +0 -0
  115. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/products/drizzle_error.py +0 -0
  116. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/products/drizzle_tools.py +0 -0
  117. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/products/epsilon.py +0 -0
  118. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/products/ier.py +0 -0
  119. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/products/iwc.py +0 -0
  120. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/products/lwc.py +0 -0
  121. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/products/mie_lu_tables.nc +0 -0
  122. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/products/mwr_tools.py +0 -0
  123. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/products/product_tools.py +0 -0
  124. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/py.typed +0 -0
  125. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy/utils.py +0 -0
  126. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy.egg-info/SOURCES.txt +0 -0
  127. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy.egg-info/dependency_links.txt +0 -0
  128. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy.egg-info/entry_points.txt +0 -0
  129. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy.egg-info/requires.txt +0 -0
  130. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/cloudnetpy.egg-info/top_level.txt +0 -0
  131. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/docs/source/conf.py +0 -0
  132. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/pyproject.toml +0 -0
  133. {cloudnetpy-1.86.4 → cloudnetpy-1.86.6}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cloudnetpy
3
- Version: 1.86.4
3
+ Version: 1.86.6
4
4
  Summary: Python package for Cloudnet processing
5
5
  Author: Simo Tukiainen
6
6
  License: MIT License
@@ -12,7 +12,7 @@ import numpy as np
12
12
  from cloudnetpy import concat_lib, output, utils
13
13
  from cloudnetpy.instruments.instruments import COPERNICUS
14
14
  from cloudnetpy.instruments.nc_radar import ChilboltonRadar
15
- from cloudnetpy.metadata import MetaData
15
+ from cloudnetpy.metadata import COMMON_ATTRIBUTES, MetaData
16
16
 
17
17
 
18
18
  def copernicus2nc(
@@ -105,7 +105,7 @@ def copernicus2nc(
105
105
  copernicus.add_site_geolocation()
106
106
  valid_indices = copernicus.add_zenith_and_azimuth_angles(
107
107
  elevation_threshold=1.1,
108
- elevation_diff_threshold=0.1,
108
+ elevation_diff_threshold=0.5,
109
109
  azimuth_diff_threshold=0.1,
110
110
  )
111
111
  copernicus.screen_time_indices(valid_indices)
@@ -131,10 +131,15 @@ class Copernicus(ChilboltonRadar):
131
131
  self.instrument = COPERNICUS
132
132
 
133
133
  def calibrate_reflectivity(self) -> None:
134
- default_offset = -146.8 # TODO: check this value
135
- calibration_factor = self.site_meta.get("calibration_offset", default_offset)
136
- self.data["Zh"].data[:] += calibration_factor
137
- self.append_data(np.array(calibration_factor), "calibration_offset")
134
+ zed_hc = self.dataset.variables["ZED_HC"]
135
+ offset_applied = getattr(zed_hc, "applied_calibration_offset", 0)
136
+
137
+ # Estimated by comparing with MIRA-35 2021 data:
138
+ default_offset = -149.5
139
+ zh_offset = self.site_meta.get("Zh_offset", default_offset)
140
+
141
+ self.data["Zh"].data[:] = self.data["Zh"].data[:] - offset_applied + zh_offset
142
+ self.append_data(np.array(zh_offset, dtype=np.float32), "Zh_offset")
138
143
 
139
144
  def mask_corrupted_values(self) -> None:
140
145
  """Experimental masking of corrupted Copernicus data.
@@ -169,12 +174,16 @@ class Copernicus(ChilboltonRadar):
169
174
 
170
175
 
171
176
  ATTRIBUTES = {
172
- "calibration_offset": MetaData(
177
+ "Zh_offset": MetaData(
173
178
  long_name="Radar reflectivity calibration offset",
174
179
  units="dBZ",
175
- comment="Calibration offset applied.",
180
+ comment=(
181
+ "Calibration offset applied after removing the original offset "
182
+ "from the raw files."
183
+ ),
176
184
  dimensions=None,
177
185
  ),
186
+ "Zh": COMMON_ATTRIBUTES["Zh"]._replace(ancillary_variables="Zh_offset"),
178
187
  "range_offset": MetaData(
179
188
  long_name="Radar range offset",
180
189
  units="m",
@@ -1,4 +1,4 @@
1
1
  MAJOR = 1
2
2
  MINOR = 86
3
- PATCH = 4
3
+ PATCH = 6
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.4
3
+ Version: 1.86.6
4
4
  Summary: Python package for Cloudnet processing
5
5
  Author: Simo Tukiainen
6
6
  License: MIT License
File without changes
File without changes
File without changes
File without changes
File without changes