cloudnetpy 1.71.0__py3-none-any.whl → 1.71.2__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/products/epsilon.py +13 -5
- cloudnetpy/version.py +1 -1
- {cloudnetpy-1.71.0.dist-info → cloudnetpy-1.71.2.dist-info}/METADATA +1 -1
- {cloudnetpy-1.71.0.dist-info → cloudnetpy-1.71.2.dist-info}/RECORD +8 -8
- {cloudnetpy-1.71.0.dist-info → cloudnetpy-1.71.2.dist-info}/LICENSE +0 -0
- {cloudnetpy-1.71.0.dist-info → cloudnetpy-1.71.2.dist-info}/WHEEL +0 -0
- {cloudnetpy-1.71.0.dist-info → cloudnetpy-1.71.2.dist-info}/entry_points.txt +0 -0
- {cloudnetpy-1.71.0.dist-info → cloudnetpy-1.71.2.dist-info}/top_level.txt +0 -0
cloudnetpy/products/epsilon.py
CHANGED
@@ -11,6 +11,7 @@ from doppy.product.turbulence import HorizontalWind, Options, Turbulence, Vertic
|
|
11
11
|
from scipy.interpolate import LinearNDInterpolator, NearestNDInterpolator
|
12
12
|
|
13
13
|
import cloudnetpy
|
14
|
+
from cloudnetpy.exceptions import ValidTimeStampError
|
14
15
|
from cloudnetpy.output import copy_variables
|
15
16
|
from cloudnetpy.utils import get_time, get_uuid
|
16
17
|
|
@@ -82,8 +83,8 @@ def generate_epsilon_from_lidar(
|
|
82
83
|
nc.add_attribute("cloudnetpy_version", cloudnetpy.__version__)
|
83
84
|
nc.add_attribute(
|
84
85
|
"title",
|
85
|
-
"Dissipation rate of turbulent kinetic energy "
|
86
|
-
"from {nc_src.
|
86
|
+
"Dissipation rate of turbulent kinetic energy (lidar) "
|
87
|
+
f"from {nc_src.location}",
|
87
88
|
)
|
88
89
|
|
89
90
|
copy_attributes_from_src(doppler_lidar_file, output_file)
|
@@ -97,13 +98,18 @@ def generate_epsilon_from_lidar(
|
|
97
98
|
nc_src_stare, nc_out, ("latitude", "longitude", "altitude", "source")
|
98
99
|
)
|
99
100
|
nc_out.source_file_uuids = f"{nc_src_stare.file_uuid}, {nc_src_wind.file_uuid}"
|
100
|
-
|
101
|
-
nc_out.
|
101
|
+
sources = {nc_src_stare.source, nc_src_wind.source}
|
102
|
+
nc_out.source = ", ".join(sources)
|
103
|
+
history = (
|
102
104
|
f"{get_time()} - epsilon-lidar file created using doppy "
|
103
105
|
f"v{doppy.__version__} and cloudnetpy v{cloudnetpy.__version__}\n"
|
104
106
|
f"{nc_src_stare.history}\n"
|
105
|
-
f"{nc_src_wind.history}
|
107
|
+
f"{nc_src_wind.history}"
|
106
108
|
)
|
109
|
+
history = "\n".join(
|
110
|
+
line.strip() for line in history.splitlines() if line.strip()
|
111
|
+
)
|
112
|
+
nc_out.history = history
|
107
113
|
nc_out.references = "https://doi.org/10.1175/2010JTECHA1455.1"
|
108
114
|
return uuid
|
109
115
|
|
@@ -126,6 +132,8 @@ def _horizontal_wind_from_doppler_lidar_file(
|
|
126
132
|
vmask = np.array(nc["vwind"][:].mask, dtype=np.bool_)
|
127
133
|
V = np.sqrt(uwind**2 + vwind**2)
|
128
134
|
mask = umask | vmask
|
135
|
+
if np.all(mask):
|
136
|
+
raise ValidTimeStampError
|
129
137
|
t = np.broadcast_to(time[:, None], mask.shape)[~mask]
|
130
138
|
h = np.broadcast_to(height[None, :], mask.shape)[~mask]
|
131
139
|
interp_linear = LinearNDInterpolator(list(zip(t, h, strict=False)), V[~mask])
|
cloudnetpy/version.py
CHANGED
@@ -9,7 +9,7 @@ cloudnetpy/metadata.py,sha256=BDEpgwZ58PHznc1gi11gtNNV4kFiMAmlHnF4huTy7nw,5982
|
|
9
9
|
cloudnetpy/output.py,sha256=lq4YSeMT_d-j4rlQkKm9KIZ8boupTBBBKV1eUawpmCI,15672
|
10
10
|
cloudnetpy/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
11
11
|
cloudnetpy/utils.py,sha256=U0iMIKPiKLrLVAfs_u9pPuoWYW1RJHcM8dbLF9a4yIA,29796
|
12
|
-
cloudnetpy/version.py,sha256=
|
12
|
+
cloudnetpy/version.py,sha256=a0G6uPvf-MVBnDNSaCJ-_i_L1l31GF8XgtPElj1tlP8,72
|
13
13
|
cloudnetpy/categorize/__init__.py,sha256=s-SJaysvVpVVo5kidiruWQO6p3gv2TXwY1wEHYO5D6I,44
|
14
14
|
cloudnetpy/categorize/atmos_utils.py,sha256=RcmbKxm2COkE7WEya0mK3yX5rzUbrewRVh3ekm01RtM,10598
|
15
15
|
cloudnetpy/categorize/attenuation.py,sha256=Y_-fzmQTltWTqIZTulJhovC7a6ifpMcaAazDJcnMIOc,990
|
@@ -109,7 +109,7 @@ cloudnetpy/products/der.py,sha256=soypE7uSEP4uHUCCQVEhyXsKY6e9mzV9B_2S5GUizqk,12
|
|
109
109
|
cloudnetpy/products/drizzle.py,sha256=58C9Mo6oRXR8KpbVPghbJvHvFX9GfS3xUp058pbf0qw,10804
|
110
110
|
cloudnetpy/products/drizzle_error.py,sha256=4GwlHRtNbk9ks7bGtXCco-wXbcDOKeAQwKmbhzut6Qk,6132
|
111
111
|
cloudnetpy/products/drizzle_tools.py,sha256=HLxUQ89mFNo6IIe6Cj3ZH-TPkJdpMxKCOt4cOOmcLs0,11002
|
112
|
-
cloudnetpy/products/epsilon.py,sha256=
|
112
|
+
cloudnetpy/products/epsilon.py,sha256=sVtOcl-tckvZCmM34etRQCzLg5NjvbHlt_5InRCjm1E,7734
|
113
113
|
cloudnetpy/products/ier.py,sha256=70jyYrhO-kAHuQ3CpDVcyKKuHT3c9Eby6ADHHlPjAFY,5986
|
114
114
|
cloudnetpy/products/iwc.py,sha256=FQtYFYnMNuDnjuK1ee3zOfzPtKsoWH95CXtEz1iplZI,9462
|
115
115
|
cloudnetpy/products/lwc.py,sha256=sl6Al2tuH3KkCBrPbWTmuz3jlD5UQJ4D6qBsn1tt2CQ,18962
|
@@ -117,9 +117,9 @@ cloudnetpy/products/mie_lu_tables.nc,sha256=It4fYpqJXlqOgL8jeZ-PxGzP08PMrELIDVe5
|
|
117
117
|
cloudnetpy/products/mwr_tools.py,sha256=rd7UC67O4fsIE5SaHVZ4qWvUJTj41ZGwgQWPwZzOM14,5377
|
118
118
|
cloudnetpy/products/product_tools.py,sha256=uu4l6reuGbPcW3TgttbaSrqIKbyYGhBVTdnC7opKvmg,11101
|
119
119
|
docs/source/conf.py,sha256=IKiFWw6xhUd8NrCg0q7l596Ck1d61XWeVjIFHVSG9Og,1490
|
120
|
-
cloudnetpy-1.71.
|
121
|
-
cloudnetpy-1.71.
|
122
|
-
cloudnetpy-1.71.
|
123
|
-
cloudnetpy-1.71.
|
124
|
-
cloudnetpy-1.71.
|
125
|
-
cloudnetpy-1.71.
|
120
|
+
cloudnetpy-1.71.2.dist-info/LICENSE,sha256=wcZF72bdaoG9XugpyE95Juo7lBQOwLuTKBOhhtANZMM,1094
|
121
|
+
cloudnetpy-1.71.2.dist-info/METADATA,sha256=MaQttEtJ4OkNw5Zma0d5YNDecDB3EyMoTJnVtRB71ow,5872
|
122
|
+
cloudnetpy-1.71.2.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
|
123
|
+
cloudnetpy-1.71.2.dist-info/entry_points.txt,sha256=HhY7LwCFk4qFgDlXx_Fy983ZTd831WlhtdPIzV-Y3dY,51
|
124
|
+
cloudnetpy-1.71.2.dist-info/top_level.txt,sha256=ibSPWRr6ojS1i11rtBFz2_gkIe68mggj7aeswYfaOo0,16
|
125
|
+
cloudnetpy-1.71.2.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|