cloudnetpy 1.55.8__py3-none-any.whl → 1.55.10__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.
- cloudnetpy/instruments/copernicus.py +27 -1
- cloudnetpy/instruments/vaisala.py +1 -1
- cloudnetpy/version.py +1 -1
- {cloudnetpy-1.55.8.dist-info → cloudnetpy-1.55.10.dist-info}/METADATA +2 -2
- {cloudnetpy-1.55.8.dist-info → cloudnetpy-1.55.10.dist-info}/RECORD +8 -8
- {cloudnetpy-1.55.8.dist-info → cloudnetpy-1.55.10.dist-info}/LICENSE +0 -0
- {cloudnetpy-1.55.8.dist-info → cloudnetpy-1.55.10.dist-info}/WHEEL +0 -0
- {cloudnetpy-1.55.8.dist-info → cloudnetpy-1.55.10.dist-info}/top_level.txt +0 -0
@@ -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="
|
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
|
|
cloudnetpy/version.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: cloudnetpy
|
3
|
-
Version: 1.55.
|
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.
|
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
|
@@ -8,7 +8,7 @@ cloudnetpy/metadata.py,sha256=-oRmr4HWjG_-P8jOjdBYMgRkOYnJKr6jmGIF-38Tno8,5023
|
|
8
8
|
cloudnetpy/output.py,sha256=mOjbCGCHF13vJTFMx9Q9wuOxONCybLxc9zznWKRRRIA,14426
|
9
9
|
cloudnetpy/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
10
10
|
cloudnetpy/utils.py,sha256=pJugU9q-MEG2KX24EQ4QXaAI-pRq9aM-RwtTOWYnBsw,26860
|
11
|
-
cloudnetpy/version.py,sha256=
|
11
|
+
cloudnetpy/version.py,sha256=Ic_rxdrvecL6yz_wdqXsCqO1lXVQBY70WXPQKn38a0U,73
|
12
12
|
cloudnetpy/categorize/__init__.py,sha256=gP5q3Vis1y9u9OWgA_idlbjfWXYN_S0IBSWdwBhL_uU,69
|
13
13
|
cloudnetpy/categorize/atmos.py,sha256=rpXaqttyX3aSx7K_UBmIS5b9uTuDJOne2fnOfprRhEU,12412
|
14
14
|
cloudnetpy/categorize/atmos_utils.py,sha256=xjgSdyzyvz5poh7tCdltj9C19jHwpDlNTBhtSC3CXlg,3756
|
@@ -31,7 +31,7 @@ cloudnetpy/instruments/ceilo.py,sha256=_T_rbvy0kB6hol5iwNLtfFqYDM7g4ce9Mlt_Z1Vg2
|
|
31
31
|
cloudnetpy/instruments/ceilometer.py,sha256=AMvpyZbHb6Z5gcl1xfcUOzFmuGPe9Co6BQY5er9VJVE,10824
|
32
32
|
cloudnetpy/instruments/cl61d.py,sha256=jETxUIIjILZwkMx9YKG8pI7cUodNjVoc6dYCqaxW1Uw,1813
|
33
33
|
cloudnetpy/instruments/cloudnet_instrument.py,sha256=Bs3qHvYbs5Onl7K4wFLXKs0-bsBtmASoywprLE-usl4,3350
|
34
|
-
cloudnetpy/instruments/copernicus.py,sha256=
|
34
|
+
cloudnetpy/instruments/copernicus.py,sha256=hJT-TOSY6C25xkEtJ2v8bfecOvdvcCQ2sCd7q-9mlgw,6073
|
35
35
|
cloudnetpy/instruments/galileo.py,sha256=F_XyoAb9PR-ifGhqhXziKnv0KfyOh-yEBaE1NgRMzNg,4318
|
36
36
|
cloudnetpy/instruments/hatpro.py,sha256=1u751jC7FStVnW-h2EjKfCRSrxTIDYf2OO5aewZqTUg,7710
|
37
37
|
cloudnetpy/instruments/instruments.py,sha256=kUm0SbOEnKqj6seu_YE8EAL5SFyNjFbThmA2nA7zYFU,3120
|
@@ -44,7 +44,7 @@ cloudnetpy/instruments/pollyxt.py,sha256=W9ol2rcbN_IN1vrNqXUlxH0EYYUjizFwIsqhkLO
|
|
44
44
|
cloudnetpy/instruments/radiometrics.py,sha256=r73gDsB6ZSVRfMPkkf2mnhVSX8MxGTOuTjQyVmaQ5v8,7304
|
45
45
|
cloudnetpy/instruments/rpg.py,sha256=ApF-3Vp2HtgtZrOREggD3ZVgwzkMZMBWHUdLMFFGgHs,16619
|
46
46
|
cloudnetpy/instruments/rpg_reader.py,sha256=_ok6lmYcWFfn2dm6RQ3Qt2pzyqSXEUXBuNQ16jDiJvU,11189
|
47
|
-
cloudnetpy/instruments/vaisala.py,sha256=
|
47
|
+
cloudnetpy/instruments/vaisala.py,sha256=wx7flh9ntMO5_DAuZtFSUOCmzbtRSbeN2GUCnWq5f3c,14293
|
48
48
|
cloudnetpy/instruments/weather_station.py,sha256=gwPh4opv8SDf_vi4yBq5oHe8IFxGUF7ktB5yOBerd1g,5829
|
49
49
|
cloudnetpy/instruments/disdrometer/__init__.py,sha256=lyjwttWvFvuwYxEkusoAvgRcbBmglmOp5HJOpXUqLWo,93
|
50
50
|
cloudnetpy/instruments/disdrometer/common.py,sha256=6vmnNSZBUEPtqF8fmmXaa-pBfIc2Ca2bgrFvIxKE8CQ,15363
|
@@ -107,8 +107,8 @@ cloudnetpy/products/mwr_multi.py,sha256=WDZ_3kAbRsyvhmARdeH1nTBJCCkoSYo5aGhiEgrO
|
|
107
107
|
cloudnetpy/products/mwr_single.py,sha256=3Mpy4KXw7YARgKiGJi0Ab5-7Rq7ko6LK-3wGP0xhSGk,3134
|
108
108
|
cloudnetpy/products/product_tools.py,sha256=KLvQKRkPrzZXT4_mFh2O5oJ14kf6nEyYd0sCaWlR0gY,10119
|
109
109
|
docs/source/conf.py,sha256=baQlgkkUGJi4952W6NRhLkIBbRtwFgqrIOBuEeSCLfk,1488
|
110
|
-
cloudnetpy-1.55.
|
111
|
-
cloudnetpy-1.55.
|
112
|
-
cloudnetpy-1.55.
|
113
|
-
cloudnetpy-1.55.
|
114
|
-
cloudnetpy-1.55.
|
110
|
+
cloudnetpy-1.55.10.dist-info/LICENSE,sha256=wcZF72bdaoG9XugpyE95Juo7lBQOwLuTKBOhhtANZMM,1094
|
111
|
+
cloudnetpy-1.55.10.dist-info/METADATA,sha256=_XKqC7NhIyDe_W7teyfEKYnbD73Mqm46BwRVhq1mD1A,5752
|
112
|
+
cloudnetpy-1.55.10.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
|
113
|
+
cloudnetpy-1.55.10.dist-info/top_level.txt,sha256=ibSPWRr6ojS1i11rtBFz2_gkIe68mggj7aeswYfaOo0,16
|
114
|
+
cloudnetpy-1.55.10.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|