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.
@@ -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.source} from {nc_src.location}",
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
- nc_out.source = f"{nc_src_stare.source}, {nc_src_wind.source}"
101
- nc_out.history = (
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}\n"
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
@@ -1,4 +1,4 @@
1
1
  MAJOR = 1
2
2
  MINOR = 71
3
- PATCH = 0
3
+ PATCH = 2
4
4
  __version__ = f"{MAJOR}.{MINOR}.{PATCH}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: cloudnetpy
3
- Version: 1.71.0
3
+ Version: 1.71.2
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=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=WfV75lsxey2myOTaOwEmm2dTmn3cfQ-39tC_MmHEDGA,72
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=kT8DdBON0dehlKZWDr8ukgNiqHCBSjEZCG2zfa_C1IU,7460
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.0.dist-info/LICENSE,sha256=wcZF72bdaoG9XugpyE95Juo7lBQOwLuTKBOhhtANZMM,1094
121
- cloudnetpy-1.71.0.dist-info/METADATA,sha256=77IQc0BNDffmLKw37mZeFG6RAsURvS3wsl0euRYgEP4,5872
122
- cloudnetpy-1.71.0.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
123
- cloudnetpy-1.71.0.dist-info/entry_points.txt,sha256=HhY7LwCFk4qFgDlXx_Fy983ZTd831WlhtdPIzV-Y3dY,51
124
- cloudnetpy-1.71.0.dist-info/top_level.txt,sha256=ibSPWRr6ojS1i11rtBFz2_gkIe68mggj7aeswYfaOo0,16
125
- cloudnetpy-1.71.0.dist-info/RECORD,,
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,,