cloudnetpy 1.86.5__py3-none-any.whl → 1.86.7__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.

Potentially problematic release.


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

@@ -131,13 +131,29 @@ class Copernicus(ChilboltonRadar):
131
131
  self.instrument = COPERNICUS
132
132
 
133
133
  def calibrate_reflectivity(self) -> None:
134
- default_offset = (
135
- -141.5
136
- ) # Taken from 2016-01 raw files where this was already applied
134
+ zed_hc = self.dataset["ZED_HC"]
135
+ offset_applied = getattr(zed_hc, "applied_calibration_offset", 0)
136
+
137
+ # Estimated by comparing with MIRA-35 data:
138
+ default_offset = -149.5
137
139
  zh_offset = self.site_meta.get("Zh_offset", default_offset)
138
- self.data["Zh"].data[:] += zh_offset
140
+
141
+ self.data["Zh"].data[:] = self.data["Zh"].data[:] - offset_applied + zh_offset
139
142
  self.append_data(np.array(zh_offset, dtype=np.float32), "Zh_offset")
140
143
 
144
+ def fix_range_offset(self, site_meta: dict) -> None:
145
+ range_var = self.dataset["range"]
146
+ offset_applied = getattr(range_var, "range_offset", 0)
147
+
148
+ # Estimated by comparing with MIRA-35 data:
149
+ default_offset = -720
150
+ range_offset = site_meta.get("range_offset", default_offset)
151
+
152
+ self.data["range"].data[:] = (
153
+ self.data["range"].data[:] - offset_applied + range_offset
154
+ )
155
+ self.append_data(np.array(range_offset, dtype=float), "range_offset")
156
+
141
157
  def mask_corrupted_values(self) -> None:
142
158
  """Experimental masking of corrupted Copernicus data.
143
159
 
@@ -150,12 +166,6 @@ class Copernicus(ChilboltonRadar):
150
166
  ind = np.where(np.abs(self.data[key][:]) > value)
151
167
  self.data["v"].mask_indices(ind)
152
168
 
153
- def fix_range_offset(self, site_meta: dict) -> None:
154
- """Fixes range offset."""
155
- range_offset = site_meta.get("range_offset", 0)
156
- self.data["range"].data[:] += range_offset
157
- self.append_data(np.array(range_offset, dtype=float), "range_offset")
158
-
159
169
  def screen_negative_ranges(self) -> None:
160
170
  """Screens negative range values."""
161
171
  valid_ind = np.where(self.data["range"][:] >= 0)[0]
@@ -174,16 +184,23 @@ ATTRIBUTES = {
174
184
  "Zh_offset": MetaData(
175
185
  long_name="Radar reflectivity calibration offset",
176
186
  units="dBZ",
177
- comment="Calibration offset applied.",
187
+ comment=(
188
+ "Calibration offset applied after removing the original offset "
189
+ "from the raw files."
190
+ ),
178
191
  dimensions=None,
179
192
  ),
180
193
  "Zh": COMMON_ATTRIBUTES["Zh"]._replace(ancillary_variables="Zh_offset"),
181
194
  "range_offset": MetaData(
182
195
  long_name="Radar range offset",
183
196
  units="m",
184
- comment="Range offset applied.",
197
+ comment=(
198
+ "Range offset applied after removing the original offset "
199
+ "from the raw files."
200
+ ),
185
201
  dimensions=None,
186
202
  ),
203
+ "range": COMMON_ATTRIBUTES["range"]._replace(ancillary_variables="range_offset"),
187
204
  "antenna_diameter": MetaData(
188
205
  long_name="Antenna diameter", units="m", dimensions=("time",)
189
206
  ),
cloudnetpy/version.py CHANGED
@@ -1,4 +1,4 @@
1
1
  MAJOR = 1
2
2
  MINOR = 86
3
- PATCH = 5
3
+ PATCH = 7
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.5
3
+ Version: 1.86.7
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=Va6HjzCd42qubMOwHV5hz8UCWeFMp6EzRf_6g1bNCNA,72
12
+ cloudnetpy/version.py,sha256=r7f__YQN7rorCA82YzOllNIZZqBrlFL-RSNTn3sG54U,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
@@ -39,7 +39,7 @@ cloudnetpy/instruments/ceilo.py,sha256=scb3n0gLOZ1gPs_WdWw9KS5Ut_mtCvSdWFMKKCvXh
39
39
  cloudnetpy/instruments/ceilometer.py,sha256=c37uteeuGnlE-o-Smu49H2qQJw6qZ0tc3Bzhyr1FoSo,13063
40
40
  cloudnetpy/instruments/cl61d.py,sha256=JsCHqVzFGhZi-5xcnsB507FDpyuw83uSWK3IFO3DhdI,2238
41
41
  cloudnetpy/instruments/cloudnet_instrument.py,sha256=B1UkiB0ytnT3MWYalEegql5QIPaMLg5bJy5xI50JEco,4503
42
- cloudnetpy/instruments/copernicus.py,sha256=AuGvPjn6hofzSKlh2M7knb5zBgzY3xfDvu3WF6KGlp8,7091
42
+ cloudnetpy/instruments/copernicus.py,sha256=ePTP9R_1_khGb7CcTNkzhhZnvzHJS-bWHy5LEiNTwio,7723
43
43
  cloudnetpy/instruments/da10.py,sha256=FcXEu6dfAVvYzMvauiJBSyEkYhGa8hBuwrrdo-3LwHE,1960
44
44
  cloudnetpy/instruments/fd12p.py,sha256=M5yJDsPi0tHWMDUYOsoqciyKdRQ-zHEq2t19KnpZ6Io,6915
45
45
  cloudnetpy/instruments/galileo.py,sha256=pJ5WaB-Nwzs5zgj8c2oaH7HieYxq4HF0aUilYTSRhYE,5682
@@ -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.5.dist-info/licenses/LICENSE,sha256=wcZF72bdaoG9XugpyE95Juo7lBQOwLuTKBOhhtANZMM,1094
121
+ cloudnetpy-1.86.7.dist-info/licenses/LICENSE,sha256=wcZF72bdaoG9XugpyE95Juo7lBQOwLuTKBOhhtANZMM,1094
122
122
  docs/source/conf.py,sha256=IKiFWw6xhUd8NrCg0q7l596Ck1d61XWeVjIFHVSG9Og,1490
123
- cloudnetpy-1.86.5.dist-info/METADATA,sha256=tF3Zehy97hcHHsGatoLodQPTYVWUrMkQdjGzdOmEyDU,5836
124
- cloudnetpy-1.86.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
125
- cloudnetpy-1.86.5.dist-info/entry_points.txt,sha256=HhY7LwCFk4qFgDlXx_Fy983ZTd831WlhtdPIzV-Y3dY,51
126
- cloudnetpy-1.86.5.dist-info/top_level.txt,sha256=ibSPWRr6ojS1i11rtBFz2_gkIe68mggj7aeswYfaOo0,16
127
- cloudnetpy-1.86.5.dist-info/RECORD,,
123
+ cloudnetpy-1.86.7.dist-info/METADATA,sha256=IXT83YpCQcBA6ruim2e6lfu4zVQjWzlQpLzW_rOvQtU,5836
124
+ cloudnetpy-1.86.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
125
+ cloudnetpy-1.86.7.dist-info/entry_points.txt,sha256=HhY7LwCFk4qFgDlXx_Fy983ZTd831WlhtdPIzV-Y3dY,51
126
+ cloudnetpy-1.86.7.dist-info/top_level.txt,sha256=ibSPWRr6ojS1i11rtBFz2_gkIe68mggj7aeswYfaOo0,16
127
+ cloudnetpy-1.86.7.dist-info/RECORD,,