cloudnetpy 1.61.15__py3-none-any.whl → 1.61.17__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/categorize/atmos.py +1 -0
- cloudnetpy/categorize/atmos_utils.py +1 -1
- cloudnetpy/categorize/categorize.py +1 -0
- cloudnetpy/categorize/classify.py +1 -0
- cloudnetpy/categorize/containers.py +3 -1
- cloudnetpy/categorize/disdrometer.py +1 -0
- cloudnetpy/categorize/droplet.py +2 -2
- cloudnetpy/categorize/falling.py +1 -0
- cloudnetpy/categorize/freezing.py +1 -0
- cloudnetpy/categorize/insects.py +1 -0
- cloudnetpy/categorize/lidar.py +1 -0
- cloudnetpy/categorize/melting.py +1 -0
- cloudnetpy/categorize/model.py +1 -0
- cloudnetpy/categorize/mwr.py +1 -0
- cloudnetpy/categorize/radar.py +1 -0
- cloudnetpy/cloudnetarray.py +2 -0
- cloudnetpy/concat_lib.py +1 -0
- cloudnetpy/constants.py +1 -0
- cloudnetpy/datasource.py +5 -3
- cloudnetpy/instruments/basta.py +1 -0
- cloudnetpy/instruments/ceilo.py +2 -1
- cloudnetpy/instruments/cl61d.py +1 -0
- cloudnetpy/instruments/copernicus.py +2 -1
- cloudnetpy/instruments/disdrometer/parsivel.py +6 -4
- cloudnetpy/instruments/galileo.py +1 -0
- cloudnetpy/instruments/hatpro.py +1 -0
- cloudnetpy/instruments/lufft.py +1 -0
- cloudnetpy/instruments/mira.py +1 -0
- cloudnetpy/instruments/mrr.py +1 -1
- cloudnetpy/instruments/nc_lidar.py +1 -0
- cloudnetpy/instruments/nc_radar.py +1 -0
- cloudnetpy/instruments/pollyxt.py +1 -0
- cloudnetpy/instruments/radiometrics.py +2 -1
- cloudnetpy/instruments/rpg.py +2 -1
- cloudnetpy/instruments/rpg_reader.py +1 -1
- cloudnetpy/instruments/toa5.py +1 -1
- cloudnetpy/instruments/vaisala.py +7 -6
- cloudnetpy/instruments/weather_station.py +118 -65
- cloudnetpy/model_evaluation/file_handler.py +2 -2
- cloudnetpy/model_evaluation/metadata.py +1 -1
- cloudnetpy/model_evaluation/plotting/plot_tools.py +2 -2
- cloudnetpy/model_evaluation/plotting/plotting.py +11 -8
- cloudnetpy/model_evaluation/products/grid_methods.py +1 -1
- cloudnetpy/model_evaluation/products/model_products.py +7 -7
- cloudnetpy/model_evaluation/products/observation_products.py +8 -8
- cloudnetpy/model_evaluation/products/tools.py +5 -7
- cloudnetpy/model_evaluation/statistics/statistical_methods.py +2 -2
- cloudnetpy/output.py +3 -1
- cloudnetpy/plotting/plot_meta.py +2 -2
- cloudnetpy/plotting/plotting.py +36 -23
- cloudnetpy/products/classification.py +10 -9
- cloudnetpy/products/der.py +3 -2
- cloudnetpy/products/drizzle.py +3 -3
- cloudnetpy/products/drizzle_tools.py +1 -1
- cloudnetpy/products/ier.py +1 -0
- cloudnetpy/products/iwc.py +4 -3
- cloudnetpy/products/lwc.py +2 -3
- cloudnetpy/products/mwr_tools.py +2 -4
- cloudnetpy/products/product_tools.py +2 -1
- cloudnetpy/utils.py +9 -14
- cloudnetpy/version.py +1 -1
- {cloudnetpy-1.61.15.dist-info → cloudnetpy-1.61.17.dist-info}/METADATA +1 -1
- cloudnetpy-1.61.17.dist-info/RECORD +115 -0
- {cloudnetpy-1.61.15.dist-info → cloudnetpy-1.61.17.dist-info}/WHEEL +1 -1
- cloudnetpy-1.61.15.dist-info/RECORD +0 -115
- {cloudnetpy-1.61.15.dist-info → cloudnetpy-1.61.17.dist-info}/LICENSE +0 -0
- {cloudnetpy-1.61.15.dist-info → cloudnetpy-1.61.17.dist-info}/top_level.txt +0 -0
cloudnetpy/plotting/plotting.py
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
"""Misc. plotting routines for Cloudnet products."""
|
2
|
+
|
2
3
|
import os.path
|
3
4
|
import re
|
4
5
|
import textwrap
|
@@ -27,8 +28,7 @@ from cloudnetpy.plotting.plot_meta import ATTRIBUTES, PlotMeta
|
|
27
28
|
|
28
29
|
@dataclass
|
29
30
|
class PlotParameters:
|
30
|
-
"""
|
31
|
-
Class representing the parameters for plotting.
|
31
|
+
"""Class representing the parameters for plotting.
|
32
32
|
|
33
33
|
Attributes:
|
34
34
|
dpi: The resolution of the plot in dots per inch.
|
@@ -57,9 +57,8 @@ class PlotParameters:
|
|
57
57
|
|
58
58
|
|
59
59
|
class Dimensions:
|
60
|
-
"""
|
61
|
-
|
62
|
-
title, labels, colorbar and legend are exluded from the margins.
|
60
|
+
"""Dimensions of a generated figure in pixels. Elements such as the figure
|
61
|
+
title, labels, colorbar and legend are excluded from the margins.
|
63
62
|
|
64
63
|
Attributes:
|
65
64
|
width (int): Figure width in pixels.
|
@@ -121,9 +120,8 @@ class FigureData:
|
|
121
120
|
sharex=True,
|
122
121
|
)
|
123
122
|
fig.subplots_adjust(left=0.06, right=0.73)
|
124
|
-
if
|
125
|
-
|
126
|
-
return fig, axes
|
123
|
+
axes_list = [axes] if isinstance(axes, Axes) else axes.tolist()
|
124
|
+
return fig, axes_list
|
127
125
|
|
128
126
|
def add_subtitle(self, fig: Figure) -> None:
|
129
127
|
fig.suptitle(
|
@@ -309,7 +307,7 @@ class Plot:
|
|
309
307
|
"air_pressure": (multiply, 0.01, "hPa"),
|
310
308
|
"relative_humidity": (multiply, 100, "%"),
|
311
309
|
"rainfall_amount": (multiply, 1000, "mm"),
|
312
|
-
"air_temperature": (add, -273.15, "\
|
310
|
+
"air_temperature": (add, -273.15, "\u00b0C"),
|
313
311
|
}
|
314
312
|
conversion_method, conversion, units = units_conversion.get(
|
315
313
|
self.sub_plot.variable.name, (multiply, 1, None)
|
@@ -680,8 +678,16 @@ class Plot1D(Plot):
|
|
680
678
|
def _plot_moving_average(self, figure_data: FigureData) -> None:
|
681
679
|
time = figure_data.time.copy()
|
682
680
|
data = self._data_orig.copy()
|
683
|
-
|
684
|
-
|
681
|
+
good_values = ~ma.getmaskarray(data)
|
682
|
+
data = data[good_values]
|
683
|
+
time = time[good_values]
|
684
|
+
if self.sub_plot.variable.name == "wind_direction":
|
685
|
+
wind_speed = figure_data.file["wind_speed"][good_values]
|
686
|
+
sma = self._calculate_average_wind_direction(
|
687
|
+
wind_speed, data, time, window=15
|
688
|
+
)
|
689
|
+
else:
|
690
|
+
sma = self._calculate_moving_average(data, time, window=5)
|
685
691
|
gap_time = _get_max_gap_in_minutes(figure_data)
|
686
692
|
gaps = self._find_time_gap_indices(time, max_gap_min=gap_time)
|
687
693
|
if len(gaps) > 0:
|
@@ -701,16 +707,6 @@ class Plot1D(Plot):
|
|
701
707
|
line_width = np.median(np.diff(time)) * 1000
|
702
708
|
return min(max(line_width, 0.25), 0.9)
|
703
709
|
|
704
|
-
@staticmethod
|
705
|
-
def _get_unmasked_values(
|
706
|
-
data: ma.MaskedArray,
|
707
|
-
time: ndarray,
|
708
|
-
) -> tuple[ndarray, ndarray]:
|
709
|
-
if not ma.is_masked(data):
|
710
|
-
return data, time
|
711
|
-
good_values = ~data.mask
|
712
|
-
return data[good_values], time[good_values]
|
713
|
-
|
714
710
|
@staticmethod
|
715
711
|
def _get_bad_zenith_profiles(figure_data: FigureData) -> ndarray:
|
716
712
|
zenith_limit = 5
|
@@ -747,6 +743,24 @@ class Plot1D(Plot):
|
|
747
743
|
edge = window_size // 2
|
748
744
|
return np.pad(sma, (edge, edge - 1), mode="constant", constant_values=np.nan)
|
749
745
|
|
746
|
+
@classmethod
|
747
|
+
def _calculate_average_wind_direction(
|
748
|
+
cls,
|
749
|
+
wind_speed: ndarray,
|
750
|
+
wind_direction: ndarray,
|
751
|
+
time: ndarray,
|
752
|
+
window: float = 5,
|
753
|
+
) -> ndarray:
|
754
|
+
angle = np.deg2rad(wind_direction)
|
755
|
+
u = wind_speed * np.cos(angle)
|
756
|
+
v = wind_speed * np.sin(angle)
|
757
|
+
avg_u = cls._calculate_moving_average(u, time, window)
|
758
|
+
avg_v = cls._calculate_moving_average(v, time, window)
|
759
|
+
data = np.rad2deg(np.arctan2(avg_v, avg_u)) % 360
|
760
|
+
wrap = np.where(np.abs(np.diff(data)) > 300)[0]
|
761
|
+
data[wrap] = np.nan
|
762
|
+
return data
|
763
|
+
|
750
764
|
|
751
765
|
def generate_figure(
|
752
766
|
filename: os.PathLike | str,
|
@@ -756,8 +770,7 @@ def generate_figure(
|
|
756
770
|
output_filename: os.PathLike | str | None = None,
|
757
771
|
options: PlotParameters | None = None,
|
758
772
|
) -> Dimensions:
|
759
|
-
"""
|
760
|
-
Generate a figure based on the given filename and variables.
|
773
|
+
"""Generate a figure based on the given filename and variables.
|
761
774
|
|
762
775
|
Args:
|
763
776
|
filename: The path to the input file.
|
@@ -1,4 +1,5 @@
|
|
1
1
|
"""Module for creating classification file."""
|
2
|
+
|
2
3
|
import numpy as np
|
3
4
|
from numpy import ma
|
4
5
|
|
@@ -70,20 +71,20 @@ def _get_target_classification(
|
|
70
71
|
classification = ma.zeros(bits["cold"].shape, dtype=int)
|
71
72
|
classification[bits["droplet"] & ~bits["falling"]] = 1 # Cloud droplets
|
72
73
|
classification[~bits["droplet"] & bits["falling"]] = 2 # Drizzle or rain
|
73
|
-
classification[
|
74
|
-
|
75
|
-
|
74
|
+
classification[bits["droplet"] & bits["falling"]] = (
|
75
|
+
3 # Drizzle or rain and droplets
|
76
|
+
)
|
76
77
|
classification[~bits["droplet"] & bits["falling"] & bits["cold"]] = 4 # ice
|
77
|
-
classification[
|
78
|
-
|
79
|
-
|
78
|
+
classification[bits["droplet"] & bits["falling"] & bits["cold"]] = (
|
79
|
+
5 # ice + supercooled
|
80
|
+
)
|
80
81
|
classification[bits["melting"]] = 6 # melting layer
|
81
82
|
classification[bits["melting"] & bits["droplet"]] = 7 # melting + droplets
|
82
83
|
classification[bits["aerosol"]] = 8 # aerosols
|
83
84
|
classification[bits["insect"] & ~clutter] = 9 # insects
|
84
|
-
classification[
|
85
|
-
|
86
|
-
|
85
|
+
classification[bits["aerosol"] & bits["insect"] & ~clutter] = (
|
86
|
+
10 # insects + aerosols
|
87
|
+
)
|
87
88
|
classification[clutter & ~bits["aerosol"]] = 0
|
88
89
|
return classification
|
89
90
|
|
cloudnetpy/products/der.py
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
"""Module for creating Cloudnet droplet effective radius
|
2
2
|
using the Frisch et al. 2002 method.
|
3
3
|
"""
|
4
|
+
|
4
5
|
from typing import NamedTuple
|
5
6
|
|
6
7
|
import numpy as np
|
@@ -33,7 +34,7 @@ def generate_der(
|
|
33
34
|
parameters: Parameters | None = None,
|
34
35
|
) -> str:
|
35
36
|
"""Generates Cloudnet effective radius of liquid water droplets
|
36
|
-
product
|
37
|
+
product according to Frisch et al. 2002.
|
37
38
|
|
38
39
|
This function calculates liquid droplet effective radius def
|
39
40
|
using the Frisch method. In this method, def is calculated
|
@@ -44,7 +45,7 @@ def generate_der(
|
|
44
45
|
categorize_file: Categorize file name.
|
45
46
|
output_file: Output file name.
|
46
47
|
uuid: Set specific UUID for the file.
|
47
|
-
parameters: Tuple of specific fixed
|
48
|
+
parameters: Tuple of specific fixed parameters
|
48
49
|
(ddBZ, N, dN, sigma_x, dsigma_x, dQ)
|
49
50
|
used in Frisch approach.
|
50
51
|
|
cloudnetpy/products/drizzle.py
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
"""Module for creating Cloudnet drizzle product.
|
2
|
-
|
1
|
+
"""Module for creating Cloudnet drizzle product."""
|
2
|
+
|
3
3
|
import numpy as np
|
4
4
|
from numpy import ma
|
5
5
|
from scipy.special import gamma
|
@@ -113,7 +113,7 @@ class DrizzleProducts:
|
|
113
113
|
return np.divide(a, b, out=np.zeros_like(a), where=b != 0)
|
114
114
|
|
115
115
|
def _calc_lwc(self) -> np.ndarray:
|
116
|
-
"""Calculates drizzle liquid water content (kg m-3)"""
|
116
|
+
"""Calculates drizzle liquid water content (kg m-3)."""
|
117
117
|
rho_water = 1000
|
118
118
|
dia, mu, s = (self._params.get(key) for key in ("Do", "mu", "S"))
|
119
119
|
dia = ma.array(dia)
|
cloudnetpy/products/ier.py
CHANGED
cloudnetpy/products/iwc.py
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
"""Module for creating Cloudnet ice water content file using Z-T method."""
|
2
|
+
|
2
3
|
import numpy as np
|
3
4
|
from numpy import ma
|
4
5
|
|
@@ -91,9 +92,9 @@ class IwcSource(IceSource):
|
|
91
92
|
retrieval_uncertainty,
|
92
93
|
error_uncorrected,
|
93
94
|
)
|
94
|
-
iwc_error[
|
95
|
-
|
96
|
-
|
95
|
+
iwc_error[(~ice_classification.is_ice | ice_classification.ice_above_rain)] = (
|
96
|
+
ma.masked
|
97
|
+
)
|
97
98
|
self.append_data(iwc_error, f"{self.product}_error")
|
98
99
|
return lwp_prior, retrieval_uncertainty
|
99
100
|
|
cloudnetpy/products/lwc.py
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
"""Module for creating Cloudnet liquid water content file using scaled-adiabatic
|
2
2
|
method.
|
3
3
|
"""
|
4
|
+
|
4
5
|
import numpy as np
|
5
6
|
from numpy import ma
|
6
7
|
|
@@ -228,9 +229,7 @@ class CloudAdjustor:
|
|
228
229
|
|
229
230
|
def _has_converged(self, ind: int) -> bool:
|
230
231
|
lwc_sum = ma.sum(self.lwc_adiabatic[ind, :])
|
231
|
-
|
232
|
-
return True
|
233
|
-
return False
|
232
|
+
return lwc_sum * self.lwc_source.dheight > self.lwc_source.lwp[ind]
|
234
233
|
|
235
234
|
def _out_of_bound(self, ind: int) -> bool:
|
236
235
|
return ind >= self.lwc.shape[1] - 1
|
cloudnetpy/products/mwr_tools.py
CHANGED
@@ -15,8 +15,7 @@ from cloudnetpy.products import product_tools
|
|
15
15
|
def generate_mwr_single(
|
16
16
|
mwr_l1c_file: str, output_file: str, uuid: str | None = None
|
17
17
|
) -> str:
|
18
|
-
"""
|
19
|
-
Generates MWR single-pointing product including liquid water path, integrated
|
18
|
+
"""Generates MWR single-pointing product including liquid water path, integrated
|
20
19
|
water vapor, etc. from zenith measurements.
|
21
20
|
|
22
21
|
Args:
|
@@ -36,8 +35,7 @@ def generate_mwr_single(
|
|
36
35
|
def generate_mwr_multi(
|
37
36
|
mwr_l1c_file: str, output_file: str, uuid: str | None = None
|
38
37
|
) -> str:
|
39
|
-
"""
|
40
|
-
Generates MWR multiple-pointing product, including relative humidity profiles,
|
38
|
+
"""Generates MWR multiple-pointing product, including relative humidity profiles,
|
41
39
|
etc. from scanning measurements.
|
42
40
|
|
43
41
|
Args:
|
@@ -1,4 +1,5 @@
|
|
1
1
|
"""General helper classes and functions for all products."""
|
2
|
+
|
2
3
|
import os
|
3
4
|
from typing import NamedTuple
|
4
5
|
|
@@ -185,7 +186,7 @@ class IceSource(DataSource):
|
|
185
186
|
def _get_coefficients(self) -> IceCoefficients:
|
186
187
|
"""Returns coefficients for ice effective radius retrieval.
|
187
188
|
|
188
|
-
References
|
189
|
+
References:
|
189
190
|
Hogan et.al. 2006, https://doi.org/10.1175/JAM2340.1
|
190
191
|
"""
|
191
192
|
if self.product == "ier":
|
cloudnetpy/utils.py
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
"""This module contains general helper functions."""
|
2
|
+
|
2
3
|
import datetime
|
3
4
|
import logging
|
4
5
|
import os
|
@@ -75,7 +76,7 @@ def seconds2date(time_in_seconds: float, epoch: Epoch = (2001, 1, 1)) -> list:
|
|
75
76
|
epoch_in_seconds = datetime.datetime.timestamp(
|
76
77
|
datetime.datetime(*epoch, tzinfo=timezone.utc),
|
77
78
|
)
|
78
|
-
timestamp = time_in_seconds + epoch_in_seconds
|
79
|
+
timestamp = float(time_in_seconds) + epoch_in_seconds
|
79
80
|
return (
|
80
81
|
datetime.datetime.fromtimestamp(timestamp, tz=datetime.timezone.utc)
|
81
82
|
.strftime("%Y %m %d %H %M %S")
|
@@ -84,7 +85,7 @@ def seconds2date(time_in_seconds: float, epoch: Epoch = (2001, 1, 1)) -> list:
|
|
84
85
|
|
85
86
|
|
86
87
|
def datetime2decimal_hours(data: np.ndarray | list) -> np.ndarray:
|
87
|
-
"""Converts array of datetime to decimal_hours"""
|
88
|
+
"""Converts array of datetime to decimal_hours."""
|
88
89
|
output = []
|
89
90
|
for timestamp in data:
|
90
91
|
t = timestamp.time()
|
@@ -153,13 +154,10 @@ def rebin_2d(
|
|
153
154
|
statistic: Statistic to be calculated. Possible statistics are 'mean', 'std'.
|
154
155
|
Default is 'mean'.
|
155
156
|
n_min: Minimum number of points to have good statistics in a bin. Default is 1.
|
157
|
+
mask_zeros: Whether to mask 0 values in the returned array. Default is True.
|
156
158
|
|
157
159
|
Returns:
|
158
160
|
tuple: Rebinned data with shape (N, m) and indices of bins without enough data.
|
159
|
-
|
160
|
-
Notes:
|
161
|
-
0-values are masked in the returned array.
|
162
|
-
|
163
161
|
"""
|
164
162
|
edges = binvec(x_new)
|
165
163
|
result = np.zeros((len(x_new), array.shape[1]))
|
@@ -208,6 +206,7 @@ def rebin_1d(
|
|
208
206
|
x_new: 1-D target vector (center points) with shape (N,).
|
209
207
|
statistic: Statistic to be calculated. Possible statistics are 'mean', 'std'.
|
210
208
|
Default is 'mean'.
|
209
|
+
mask_zeros: Whether to mask 0 values in the returned array. Default is True.
|
211
210
|
|
212
211
|
Returns:
|
213
212
|
Re-binned data with shape (N,).
|
@@ -656,7 +655,7 @@ def isscalar(array: np.ndarray | float | list) -> bool:
|
|
656
655
|
|
657
656
|
By "scalar" we mean that array has a single value.
|
658
657
|
|
659
|
-
Examples
|
658
|
+
Examples:
|
660
659
|
>>> isscalar(1)
|
661
660
|
True
|
662
661
|
>>> isscalar([1])
|
@@ -787,17 +786,13 @@ def range_to_height(range_los: np.ndarray, tilt_angle: float) -> np.ndarray:
|
|
787
786
|
|
788
787
|
def is_empty_line(line: str) -> bool:
|
789
788
|
"""Tests if a line (of a text file) is empty."""
|
790
|
-
|
791
|
-
return True
|
792
|
-
return False
|
789
|
+
return line in ("\n", "\r\n")
|
793
790
|
|
794
791
|
|
795
792
|
def is_timestamp(timestamp: str) -> bool:
|
796
|
-
"""Tests if the input string is formatted as -yyyy-mm-dd hh:mm:ss"""
|
793
|
+
"""Tests if the input string is formatted as -yyyy-mm-dd hh:mm:ss."""
|
797
794
|
reg_exp = re.compile(r"-\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}")
|
798
|
-
|
799
|
-
return True
|
800
|
-
return False
|
795
|
+
return reg_exp.match(timestamp) is not None
|
801
796
|
|
802
797
|
|
803
798
|
def get_sorted_filenames(file_path: str, extension: str) -> list:
|
cloudnetpy/version.py
CHANGED
@@ -0,0 +1,115 @@
|
|
1
|
+
cloudnetpy/__init__.py,sha256=X_FqY-4yg5GUj5Edo14SToLEos6JIsC3fN-v1FUgQoA,43
|
2
|
+
cloudnetpy/cloudnetarray.py,sha256=Ol1ha4RPAmFZANL__U5CaMKX4oYMXYR6OnjoCZ9w3eo,7077
|
3
|
+
cloudnetpy/concat_lib.py,sha256=8Ek059RMLAfbbXCkX90cgnhw_8ZpcDrxw1yPvwtuitU,9846
|
4
|
+
cloudnetpy/constants.py,sha256=YVbi2porUnKIzO_PdGeH9pEO9gKa95vDcj6TBMSreoY,734
|
5
|
+
cloudnetpy/datasource.py,sha256=j7N4g59HPvOBWle-W9bOUF0BfRLgvR4zwOi_B50cI7Q,7921
|
6
|
+
cloudnetpy/exceptions.py,sha256=wrI0bZTwmS5C_cqOmvlJ8XJSEFyzuD1eD4voGJc_Gjg,1584
|
7
|
+
cloudnetpy/metadata.py,sha256=v_VDo2vbdTxB0zIsfP69IcrwSKiRlLpsGdq6JPI4CoA,5306
|
8
|
+
cloudnetpy/output.py,sha256=YkCaxVkG_Mt2hng_IVnhygHteV4UMKzKALkeFZwFJL8,14822
|
9
|
+
cloudnetpy/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
10
|
+
cloudnetpy/utils.py,sha256=JV0Fawnme1HoZgoiidV3eIzsn6vx0AEjBNmI1CcrBsA,28517
|
11
|
+
cloudnetpy/version.py,sha256=sG8SRbHJPdakaVUw4g_7bMgKh3Jib6mBrnrhZvVBWZM,73
|
12
|
+
cloudnetpy/categorize/__init__.py,sha256=gP5q3Vis1y9u9OWgA_idlbjfWXYN_S0IBSWdwBhL_uU,69
|
13
|
+
cloudnetpy/categorize/atmos.py,sha256=G4DmEJCt1FAPYyt7oXzBH47JTeb5lUOGDakkviOXblE,12390
|
14
|
+
cloudnetpy/categorize/atmos_utils.py,sha256=64uenj2uxj3P3Blaq_pBN1pBjcF-X4LYNt-uTOjvevg,3778
|
15
|
+
cloudnetpy/categorize/categorize.py,sha256=aoIxbBEwUFO-Xx_oofKM68aL0KEJuGi3OaWMKCCuUK8,17827
|
16
|
+
cloudnetpy/categorize/classify.py,sha256=l8XoO42GJysio5ODX6qoxWHD9RqtMyz_-T8ZOpOkMxU,9219
|
17
|
+
cloudnetpy/categorize/containers.py,sha256=aL_55tTDYjICS_TnG1u0FwBeXDS0S4mfDMU0kY_DUbs,4312
|
18
|
+
cloudnetpy/categorize/disdrometer.py,sha256=keU3pFvKtk840A0oLwAyNDuqOCswBPJEKf2bV0YWyA8,2004
|
19
|
+
cloudnetpy/categorize/droplet.py,sha256=894VHdL9ScaB8f1oxXwM2la4ShXd-uWywQDINoaoiD8,8687
|
20
|
+
cloudnetpy/categorize/falling.py,sha256=aI09_6H24x34lYr3vnKIgjWB0wzTkxOA6wE-gkdf6bs,4386
|
21
|
+
cloudnetpy/categorize/freezing.py,sha256=c4k5AIgfBpvw64EaVVVYPi2Fx4SpHk1cyfceE1ydD28,3755
|
22
|
+
cloudnetpy/categorize/insects.py,sha256=0pHJ-T-j3G9dbDU82xe8gsnVRyww3-ljdZ1SMAP9UKQ,5765
|
23
|
+
cloudnetpy/categorize/lidar.py,sha256=YQrM_LOz8NQrrD9l9HyujV1GSGwkQ8LMqXN13bEJRW4,2605
|
24
|
+
cloudnetpy/categorize/melting.py,sha256=mYdOKxfTC2InB8NdOPwr_7NpbouQMm-9f2Q1kfTqIJE,6262
|
25
|
+
cloudnetpy/categorize/model.py,sha256=hSmE-3hCzbpA26AcMtSeDUVlLHvtmODy_37b2kJO2eA,5536
|
26
|
+
cloudnetpy/categorize/mwr.py,sha256=rTyVYaMotXl7LRgRQBBcrLInsrWGl4sFdZ4pyM4jXMc,1436
|
27
|
+
cloudnetpy/categorize/radar.py,sha256=C4R74E_jmLOJqXLrfhdrAitHRHHA79UYuChz9VLxy58,13722
|
28
|
+
cloudnetpy/instruments/__init__.py,sha256=_jejVwi_viSZehmAOkEqTNI-0-exGgAJ_bHW1IRRwTI,398
|
29
|
+
cloudnetpy/instruments/basta.py,sha256=_OTnySd36ktvxk_swWBzbv_H4AVGlkF_Ce3KtPGD1rE,3758
|
30
|
+
cloudnetpy/instruments/campbell_scientific.py,sha256=2WHfBKQjtRSl0AqvtPeX7G8Hdi3Dn0WbvoAppFOMbA8,5270
|
31
|
+
cloudnetpy/instruments/ceilo.py,sha256=-QZNgdTiFmz0G57CU_gZ1cQtYzppgkFJqjndfleefH0,8924
|
32
|
+
cloudnetpy/instruments/ceilometer.py,sha256=-aPEZs_r0Gxeu53PHeWAkZMB2BUdauS47tkL7RFxo6k,12078
|
33
|
+
cloudnetpy/instruments/cl61d.py,sha256=g6DNBFju3wYhLFl32DKmC8pUup7y-EupXoUU0fuoGGA,1990
|
34
|
+
cloudnetpy/instruments/cloudnet_instrument.py,sha256=RG5HJxGM6p0F-IGyr85fvOizcMmgx48OeD_XeIsrgSU,3367
|
35
|
+
cloudnetpy/instruments/copernicus.py,sha256=nmgqGOjVQFngj7BNbpcuCwA-W3yksvBbqn__iq7MyDk,6469
|
36
|
+
cloudnetpy/instruments/galileo.py,sha256=yQBedd7dmDnwuWi1MtXOsg4-RyRx0uRAXumCY4YuH9k,4686
|
37
|
+
cloudnetpy/instruments/hatpro.py,sha256=EulfWATfJL-p7CJ1i3pntcIr4E2GzLScYIu249laR10,8514
|
38
|
+
cloudnetpy/instruments/instruments.py,sha256=jG5TYnZ8bdCZXnI303ZsaJBEdSKaIjKMbkGtnq6kQX0,3261
|
39
|
+
cloudnetpy/instruments/lufft.py,sha256=tip8UPqm1pelvIL-KvVkj9tx4B52gOQZ73lgf6lmd6Q,3630
|
40
|
+
cloudnetpy/instruments/mira.py,sha256=EyzEBTpWfDlgaspZVuIfaP4l73GYSVnSzEzBZc0lZNg,9333
|
41
|
+
cloudnetpy/instruments/mrr.py,sha256=efxqsxy0G-qj4uCWVZztgNwGxYooSxIpI6K2tYF36GA,5833
|
42
|
+
cloudnetpy/instruments/nc_lidar.py,sha256=5gQG9PApnNPrHmS9_zanl8HEYIQuGRpbnzC3wfTcOyQ,1705
|
43
|
+
cloudnetpy/instruments/nc_radar.py,sha256=7bKwIZZHM-RagW9AEdgldweaulfy9n61N3RH5fopTqo,6936
|
44
|
+
cloudnetpy/instruments/pollyxt.py,sha256=YuVEHr-BX31rtVOFsWGU-SQFAmcxpXL26eyCVMz_9hw,8933
|
45
|
+
cloudnetpy/instruments/radiometrics.py,sha256=ECN_bSfcV8Evdgfho9-Dl8RThXkAhHzIEj4DPOawSTc,7626
|
46
|
+
cloudnetpy/instruments/rpg.py,sha256=siPmiyOGdB_OtlnIiP0PAt_cySnped0clLLGnyzw02o,17317
|
47
|
+
cloudnetpy/instruments/rpg_reader.py,sha256=2eYu-tBd0QyreUKqJT726aIMbA29aIxXK-UJCkOXMLM,11356
|
48
|
+
cloudnetpy/instruments/toa5.py,sha256=CfmmBMv5iMGaWHIGBK01Rw24cuXC1R1RMNTXkmsm340,1760
|
49
|
+
cloudnetpy/instruments/vaisala.py,sha256=GGuA_v4S7kR9yApSr1-d0ETzNj4ehEZ7-pD1-AdPYRE,14662
|
50
|
+
cloudnetpy/instruments/weather_station.py,sha256=SHuDUFNximD0vyuKTE1fHO8twjuIXElVsN32tt09CUo,17371
|
51
|
+
cloudnetpy/instruments/disdrometer/__init__.py,sha256=lyjwttWvFvuwYxEkusoAvgRcbBmglmOp5HJOpXUqLWo,93
|
52
|
+
cloudnetpy/instruments/disdrometer/common.py,sha256=g52iK2aNp3Z88kovUmGVpC54NZomPa9D871gzO0AmQ4,9267
|
53
|
+
cloudnetpy/instruments/disdrometer/parsivel.py,sha256=HJZrEysQkx9MiIVPDV25CYHpXi_SjgZlgO-otoaKK34,25640
|
54
|
+
cloudnetpy/instruments/disdrometer/thies.py,sha256=8V_1wx-8ncBJKs40e1_kvpOh3wj5UIl8YwvkVHf34MA,10086
|
55
|
+
cloudnetpy/model_evaluation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
56
|
+
cloudnetpy/model_evaluation/file_handler.py,sha256=0Pg7V6eo1G6KYeE10B6lR8hIKIJoseO-pBaorcW42rY,6446
|
57
|
+
cloudnetpy/model_evaluation/metadata.py,sha256=PAsnOqcUoV3CJwplgWiVCF9Zt4io8tqj7CIgS4fEL-8,8412
|
58
|
+
cloudnetpy/model_evaluation/model_metadata.py,sha256=CxpY6RPm7GOTBBmPhcNVVpm9ateUmHSUwGtFXTLq3To,1436
|
59
|
+
cloudnetpy/model_evaluation/utils.py,sha256=Z9VqYVdtY9yTr2JeVfBn4nccIVWCN5Fd-BCyB_qYI-A,154
|
60
|
+
cloudnetpy/model_evaluation/plotting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
61
|
+
cloudnetpy/model_evaluation/plotting/plot_meta.py,sha256=K18Ugohh24uVAIxjZgJsmK80YwsMstm6B7ptVafONAw,3557
|
62
|
+
cloudnetpy/model_evaluation/plotting/plot_tools.py,sha256=gV042W_AHidwPsRe2L57xdWbt3W-utcHMt_9FmfYK3M,5033
|
63
|
+
cloudnetpy/model_evaluation/plotting/plotting.py,sha256=2c-7x_7meZ1Fq1ZFIbtZqIteG_gt32UZ---erEuXYbw,31209
|
64
|
+
cloudnetpy/model_evaluation/products/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
65
|
+
cloudnetpy/model_evaluation/products/advance_methods.py,sha256=rng3ZLR1Arv1AGUzq0Ehu-65628PC5LZVKpHSUpCIW8,8526
|
66
|
+
cloudnetpy/model_evaluation/products/grid_methods.py,sha256=4no7mbKc9HlEXSNKPioqLmFZxUefuI-yqX0-Ej2jMzU,9067
|
67
|
+
cloudnetpy/model_evaluation/products/model_products.py,sha256=uWi7zXQI7kR_ju0SL_BC1wozcq5DhaCcT-XZq33Q-bA,6861
|
68
|
+
cloudnetpy/model_evaluation/products/observation_products.py,sha256=vrbHT008T4RFXM2pKm7dWPLKb1smD4rUNOM6IhUcU_w,5500
|
69
|
+
cloudnetpy/model_evaluation/products/product_resampling.py,sha256=IuWvtwpya76URh1WmTTgtLxAo4HZxkz6GmftpZkMCGo,3640
|
70
|
+
cloudnetpy/model_evaluation/products/tools.py,sha256=lXnQ9XIEf5zqk_haY3mSrekPyGbAwNWvd6ZOol1Ip1Q,2918
|
71
|
+
cloudnetpy/model_evaluation/statistics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
72
|
+
cloudnetpy/model_evaluation/statistics/statistical_methods.py,sha256=9mmSNK9qsKNCdktUINxEExaz1oqf6zWyqJvP6dCV9zc,5984
|
73
|
+
cloudnetpy/model_evaluation/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
74
|
+
cloudnetpy/model_evaluation/tests/e2e/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
75
|
+
cloudnetpy/model_evaluation/tests/e2e/conftest.py,sha256=TENW6O-OsqNmFEtS0gZLlzVCoF0eXfLBEuFGB5bZ-k8,305
|
76
|
+
cloudnetpy/model_evaluation/tests/e2e/process_cf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
77
|
+
cloudnetpy/model_evaluation/tests/e2e/process_cf/main.py,sha256=1BhHb6hhJF68pTXhzd_tsUtIRzyt14aZHdw1HAIWNPo,1289
|
78
|
+
cloudnetpy/model_evaluation/tests/e2e/process_cf/tests.py,sha256=2PrANQKp7vMlWp1y0XPQnkNpcpYx0kScrCOlRgS48z0,1787
|
79
|
+
cloudnetpy/model_evaluation/tests/e2e/process_iwc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
80
|
+
cloudnetpy/model_evaluation/tests/e2e/process_iwc/main.py,sha256=9hndE5kVF31PH5zkjBnN9Jko865PMGHawRg13BujD6I,1368
|
81
|
+
cloudnetpy/model_evaluation/tests/e2e/process_iwc/tests.py,sha256=0pgqdGmv4T9lbQ4DYXAsAHEf05WgKmO4xUSNIzx3Lf0,1903
|
82
|
+
cloudnetpy/model_evaluation/tests/e2e/process_lwc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
83
|
+
cloudnetpy/model_evaluation/tests/e2e/process_lwc/main.py,sha256=IFcPj-Vce9Yn0CfCy9gASxRf7NzlKFMfsDHzAuapY4I,1306
|
84
|
+
cloudnetpy/model_evaluation/tests/e2e/process_lwc/tests.py,sha256=ANBA0LVao3Xrm-prRnwUmxM6BdQzqM7GZNKB3uz5BXQ,1725
|
85
|
+
cloudnetpy/model_evaluation/tests/unit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
86
|
+
cloudnetpy/model_evaluation/tests/unit/conftest.py,sha256=WL_FgrDeoUYGp4PKjb37HLu79D9uu33PGQL40_ctqS0,7446
|
87
|
+
cloudnetpy/model_evaluation/tests/unit/test_advance_methods.py,sha256=IkoAVtsWVFrPpFqQOLAPHKb9qgV-KjGGVEtWMudeiSo,10079
|
88
|
+
cloudnetpy/model_evaluation/tests/unit/test_grid_methods.py,sha256=qkNPfHI25EE0-BXk73TijpeM7YwswX7e41-764o5lqE,26254
|
89
|
+
cloudnetpy/model_evaluation/tests/unit/test_model_products.py,sha256=FRbYLshSHH2E527uJPwvUIyZKTsPFSZrwDsPsNrFSSU,3475
|
90
|
+
cloudnetpy/model_evaluation/tests/unit/test_observation_products.py,sha256=P-W5QwRHMtem6p5SyyH7p9TvHGro3XW1baQcIwh6nFg,4892
|
91
|
+
cloudnetpy/model_evaluation/tests/unit/test_plot_tools.py,sha256=POdypGWjV2NA4DCU7w8Unk_IdPfOpUb1qBDhfA3x1Bw,9222
|
92
|
+
cloudnetpy/model_evaluation/tests/unit/test_plotting.py,sha256=h9V8JKmrO4v9bOvv-UjRa06sZJQPhDNVHGBSImDdtkI,3277
|
93
|
+
cloudnetpy/model_evaluation/tests/unit/test_statistical_methods.py,sha256=Ra3r4V0qbqkpDuaTYvEIbaasl0nZ5gmTLR4eGC0glBQ,9724
|
94
|
+
cloudnetpy/model_evaluation/tests/unit/test_tools.py,sha256=Ia_VrLdV2NstX5gbx_3AZTOAlrgLAy_xFZ8fHYVX0xI,3817
|
95
|
+
cloudnetpy/plotting/__init__.py,sha256=lg9Smn4BI0dVBgnDLC3JVJ4GmwoSnO-qoSd4ApvwV6Y,107
|
96
|
+
cloudnetpy/plotting/plot_meta.py,sha256=JHrr-4A9fhqdi_tQFe6mR4Fdry3hkI-lmmVu5Ny2vco,15979
|
97
|
+
cloudnetpy/plotting/plotting.py,sha256=952e2NJXvJF7_VMzU5ZRQCeIWOUVgvi810hRzKb9cdE,33584
|
98
|
+
cloudnetpy/products/__init__.py,sha256=2hRb5HG9hNrxH1if5laJkLeFeaZCd5W1q3hh4ewsX0E,273
|
99
|
+
cloudnetpy/products/classification.py,sha256=bNG8W1CMgGoUBpXopQjYAW3F-uEJGyojXb4A5jmErHo,7921
|
100
|
+
cloudnetpy/products/der.py,sha256=sITzQbvutU5u1D16hDG2Ke7XB9gBxSP22OLy2Yhi1zI,12446
|
101
|
+
cloudnetpy/products/drizzle.py,sha256=58C9Mo6oRXR8KpbVPghbJvHvFX9GfS3xUp058pbf0qw,10804
|
102
|
+
cloudnetpy/products/drizzle_error.py,sha256=4GwlHRtNbk9ks7bGtXCco-wXbcDOKeAQwKmbhzut6Qk,6132
|
103
|
+
cloudnetpy/products/drizzle_tools.py,sha256=LR2AtbFQRGFrJ2LGyiLxOfbnlznVLydXvb8RFDR0_4E,10848
|
104
|
+
cloudnetpy/products/ier.py,sha256=ge1f_aYick20Nlznq8zbBl5umWlTP-UwMivy4Y05Sck,7839
|
105
|
+
cloudnetpy/products/iwc.py,sha256=Q8dXV3JF3JUQgwkmQFOKakm21Tnf8oCWsH0CSqIEKl4,10209
|
106
|
+
cloudnetpy/products/lwc.py,sha256=LsqEPluRW1JmFnM8GiQHfciBR6q5CXjr8D-D2qcGQeM,18774
|
107
|
+
cloudnetpy/products/mie_lu_tables.nc,sha256=It4fYpqJXlqOgL8jeZ-PxGzP08PMrELIDVe55y9ob58,16637951
|
108
|
+
cloudnetpy/products/mwr_tools.py,sha256=3esU5cG5GI2WVmOENqrJ0FbMuxLegADv7q8TB0RorGg,4674
|
109
|
+
cloudnetpy/products/product_tools.py,sha256=VNw2diJj30POz68-3qNVkJP7r9AUspT_d1Fp0BbeIx8,10414
|
110
|
+
docs/source/conf.py,sha256=IKiFWw6xhUd8NrCg0q7l596Ck1d61XWeVjIFHVSG9Og,1490
|
111
|
+
cloudnetpy-1.61.17.dist-info/LICENSE,sha256=wcZF72bdaoG9XugpyE95Juo7lBQOwLuTKBOhhtANZMM,1094
|
112
|
+
cloudnetpy-1.61.17.dist-info/METADATA,sha256=2AH_VXXd8wljsFeHDdnGWqPrOqt8gcKDSBRo82PrTYo,5785
|
113
|
+
cloudnetpy-1.61.17.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
114
|
+
cloudnetpy-1.61.17.dist-info/top_level.txt,sha256=ibSPWRr6ojS1i11rtBFz2_gkIe68mggj7aeswYfaOo0,16
|
115
|
+
cloudnetpy-1.61.17.dist-info/RECORD,,
|
@@ -1,115 +0,0 @@
|
|
1
|
-
cloudnetpy/__init__.py,sha256=X_FqY-4yg5GUj5Edo14SToLEos6JIsC3fN-v1FUgQoA,43
|
2
|
-
cloudnetpy/cloudnetarray.py,sha256=HT6bLtjnimOVbGrdjQBqD0F8GW0KWkn2qhaIGFMKLAY,6987
|
3
|
-
cloudnetpy/concat_lib.py,sha256=-pXH7xjU7nm7tWdgwnrV6wC-g4PZOzYVPMYm1oOud-M,9845
|
4
|
-
cloudnetpy/constants.py,sha256=l7_ohQgLEQ6XEG9AMBarTPKp9OM8B1ElJ6fSN0ScdmM,733
|
5
|
-
cloudnetpy/datasource.py,sha256=CSiKQGVEX459tagRjLrww6hZMZcc3r1sR2WcaTKTTWo,7864
|
6
|
-
cloudnetpy/exceptions.py,sha256=wrI0bZTwmS5C_cqOmvlJ8XJSEFyzuD1eD4voGJc_Gjg,1584
|
7
|
-
cloudnetpy/metadata.py,sha256=v_VDo2vbdTxB0zIsfP69IcrwSKiRlLpsGdq6JPI4CoA,5306
|
8
|
-
cloudnetpy/output.py,sha256=UzF0w51c6-QEBj-NfCJg5zTIKVzcmq1HyQb-3_qWTgk,14767
|
9
|
-
cloudnetpy/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
10
|
-
cloudnetpy/utils.py,sha256=-8x7LQ6WDHxf2lDZfhG50WYe2iSVLQObnVXZG46JzKI,28468
|
11
|
-
cloudnetpy/version.py,sha256=ncvBMlWG6fYru3ywwdqGGTuf13s2a5HFuYva7QPXg28,73
|
12
|
-
cloudnetpy/categorize/__init__.py,sha256=gP5q3Vis1y9u9OWgA_idlbjfWXYN_S0IBSWdwBhL_uU,69
|
13
|
-
cloudnetpy/categorize/atmos.py,sha256=fWW8ye_8HZASRAiYwURFKWzcGOYIA2RKeVxCq0lVOuM,12389
|
14
|
-
cloudnetpy/categorize/atmos_utils.py,sha256=wndpwJxc2-QnNTkV8tc8I11Vs_WkNz9sVMX1fuGgUC4,3777
|
15
|
-
cloudnetpy/categorize/categorize.py,sha256=cIuspjg76h99Czf0XICpjflZGzmfyUH8LYGGgnbaBM8,17826
|
16
|
-
cloudnetpy/categorize/classify.py,sha256=x7aqPfhw4xuER22sqOb9ES9nijwk1E8b7HF7uaFJD7k,9218
|
17
|
-
cloudnetpy/categorize/containers.py,sha256=j6oSKPeZcq9vFthYaocAw1m6yReRNNPYUQF5UTDq4YM,4232
|
18
|
-
cloudnetpy/categorize/disdrometer.py,sha256=daPB1JgERRqa0Ekxx_LYCP8mDe3XnUYj2VlsIKAB7sE,2003
|
19
|
-
cloudnetpy/categorize/droplet.py,sha256=pUmB-gN0t9sVgsGLof6X9N0nuEb4EBtEUswwpoQapTY,8687
|
20
|
-
cloudnetpy/categorize/falling.py,sha256=xES5ZdYs34tbX1p4a9kzt9r3G5s25Mpvs5WeFs1KNzo,4385
|
21
|
-
cloudnetpy/categorize/freezing.py,sha256=684q83TPQ5hHrbbHX-E36VoTlWLSOlGfOW1FC8b3wfI,3754
|
22
|
-
cloudnetpy/categorize/insects.py,sha256=7m31aQSO9nekf_d3TgXMnPpgHIP7J_xhHLShfQ9JS9E,5764
|
23
|
-
cloudnetpy/categorize/lidar.py,sha256=LYqXw30sLOYxhKRcO3k5r0uVLGRYmJ5k0KuVOMduY5A,2604
|
24
|
-
cloudnetpy/categorize/melting.py,sha256=AOq36yLntDXYbeMw5QhZ7kMLwt0INyUbhzv-rSILLyo,6261
|
25
|
-
cloudnetpy/categorize/model.py,sha256=xWB6XOSz9p0h4b4m6ImMmzcTImOmz54d093WmsLogdQ,5535
|
26
|
-
cloudnetpy/categorize/mwr.py,sha256=-KMoYlch_C79bqgcEiRDCTRCcQf1ZsYxU90GQ8hzMgs,1435
|
27
|
-
cloudnetpy/categorize/radar.py,sha256=oaptBCymSPTa1HNYOWURnE0h5oklDOVxQvqAEAbqSQw,13721
|
28
|
-
cloudnetpy/instruments/__init__.py,sha256=_jejVwi_viSZehmAOkEqTNI-0-exGgAJ_bHW1IRRwTI,398
|
29
|
-
cloudnetpy/instruments/basta.py,sha256=0zUztUJBXT2nrBTAl3-NLowxu_CYwTU5TgdBq4etj7E,3757
|
30
|
-
cloudnetpy/instruments/campbell_scientific.py,sha256=2WHfBKQjtRSl0AqvtPeX7G8Hdi3Dn0WbvoAppFOMbA8,5270
|
31
|
-
cloudnetpy/instruments/ceilo.py,sha256=ZDMrHHGYrboJMC2YMU9E1XsBAPI2eYoovrEsF1fUaRE,8922
|
32
|
-
cloudnetpy/instruments/ceilometer.py,sha256=-aPEZs_r0Gxeu53PHeWAkZMB2BUdauS47tkL7RFxo6k,12078
|
33
|
-
cloudnetpy/instruments/cl61d.py,sha256=ycJGvUqNU2KHhECbrSehtWRnvg1vKFHhvMeQpjpdCI4,1989
|
34
|
-
cloudnetpy/instruments/cloudnet_instrument.py,sha256=RG5HJxGM6p0F-IGyr85fvOizcMmgx48OeD_XeIsrgSU,3367
|
35
|
-
cloudnetpy/instruments/copernicus.py,sha256=fpTulQ4IQQmr_u6ykBOTI4J_ZtfjyUhFUmM4qrwdl_Q,6467
|
36
|
-
cloudnetpy/instruments/galileo.py,sha256=r3ly7ZgzlRhCqqX-oKtkE6Ed8zJuHY9zPqNMSzW7X_A,4685
|
37
|
-
cloudnetpy/instruments/hatpro.py,sha256=QD7Gn607Q2ASAlSJbY8Fu37TOOHTR1VrAPVfy8ehylg,8513
|
38
|
-
cloudnetpy/instruments/instruments.py,sha256=jG5TYnZ8bdCZXnI303ZsaJBEdSKaIjKMbkGtnq6kQX0,3261
|
39
|
-
cloudnetpy/instruments/lufft.py,sha256=nozeiMRMz7I6q_FwmlxDGhWeJlqTuNh6ru39-M4K3BI,3629
|
40
|
-
cloudnetpy/instruments/mira.py,sha256=TfozpYivQAThZ_rV3gLzZpz2QyJFWOF0RXdzA4521rM,9332
|
41
|
-
cloudnetpy/instruments/mrr.py,sha256=hqknXXjJYfjWtyO50vioC3ohmH1GWU7K78-dNHh0Fss,5824
|
42
|
-
cloudnetpy/instruments/nc_lidar.py,sha256=Q4sJJwiEPthDz0Zb-laISX32jNYzlUBMafxLJiOAN5c,1704
|
43
|
-
cloudnetpy/instruments/nc_radar.py,sha256=cDd20Yz-UeDQp1Gmkk-jGNZ45DangFsCaioeo_kktHQ,6935
|
44
|
-
cloudnetpy/instruments/pollyxt.py,sha256=SccV9htZ5MWrK7JEleOr4hbmeTr-lKktUzAt7H9Xkf8,8932
|
45
|
-
cloudnetpy/instruments/radiometrics.py,sha256=2ofeZ6KJ_JOWTd3UA-wSzJpM5cjN7R4jZeBLJCQKEYc,7624
|
46
|
-
cloudnetpy/instruments/rpg.py,sha256=yQpcKcgzRvVvkl6NhKvo4PUkv9nZ69_hzzPpS2Ei-Is,17315
|
47
|
-
cloudnetpy/instruments/rpg_reader.py,sha256=LAdXL3TmD5QzQbqtPOcemZji_qkXwmw6a6F8NmF6Zg8,11355
|
48
|
-
cloudnetpy/instruments/toa5.py,sha256=1JnuYViD8c_tHJZ9lf4OU44iepEkXHsXOzDfVf_b0qc,1759
|
49
|
-
cloudnetpy/instruments/vaisala.py,sha256=ektdXoID2X_V9H5Zp1fgHTUBapFMSyPVEWW_aoR6DEY,14655
|
50
|
-
cloudnetpy/instruments/weather_station.py,sha256=4slfMJRMfLBnnYT2ULyV3P6v3P0DbsBNlSJQT24cIDI,15225
|
51
|
-
cloudnetpy/instruments/disdrometer/__init__.py,sha256=lyjwttWvFvuwYxEkusoAvgRcbBmglmOp5HJOpXUqLWo,93
|
52
|
-
cloudnetpy/instruments/disdrometer/common.py,sha256=g52iK2aNp3Z88kovUmGVpC54NZomPa9D871gzO0AmQ4,9267
|
53
|
-
cloudnetpy/instruments/disdrometer/parsivel.py,sha256=WiL-vCjw9Gmb5irvW3AXddsyprp8MGOfqcVAlfy0zpc,25521
|
54
|
-
cloudnetpy/instruments/disdrometer/thies.py,sha256=8V_1wx-8ncBJKs40e1_kvpOh3wj5UIl8YwvkVHf34MA,10086
|
55
|
-
cloudnetpy/model_evaluation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
56
|
-
cloudnetpy/model_evaluation/file_handler.py,sha256=oUGIblcEWLLv16YKUch-M5KA-dGRAcuHa-9anP3xtX4,6447
|
57
|
-
cloudnetpy/model_evaluation/metadata.py,sha256=7ZL87iDbaQJIMu8wfnMvb01cGVPkl8RtvEm_tt9uIHE,8413
|
58
|
-
cloudnetpy/model_evaluation/model_metadata.py,sha256=CxpY6RPm7GOTBBmPhcNVVpm9ateUmHSUwGtFXTLq3To,1436
|
59
|
-
cloudnetpy/model_evaluation/utils.py,sha256=Z9VqYVdtY9yTr2JeVfBn4nccIVWCN5Fd-BCyB_qYI-A,154
|
60
|
-
cloudnetpy/model_evaluation/plotting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
61
|
-
cloudnetpy/model_evaluation/plotting/plot_meta.py,sha256=K18Ugohh24uVAIxjZgJsmK80YwsMstm6B7ptVafONAw,3557
|
62
|
-
cloudnetpy/model_evaluation/plotting/plot_tools.py,sha256=0CU9glFeYPCLhrUjvJXPL75DC-aG0dXzmcbfld5TVww,5031
|
63
|
-
cloudnetpy/model_evaluation/plotting/plotting.py,sha256=h3iouEKrJncPDGOMmD34hLMnrHOIsDHXpkc1yvVD63k,30877
|
64
|
-
cloudnetpy/model_evaluation/products/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
65
|
-
cloudnetpy/model_evaluation/products/advance_methods.py,sha256=rng3ZLR1Arv1AGUzq0Ehu-65628PC5LZVKpHSUpCIW8,8526
|
66
|
-
cloudnetpy/model_evaluation/products/grid_methods.py,sha256=fRYdPRSewsXlv1frJWOKeCIYWlRAAXRRcKgvmNeBWwY,9066
|
67
|
-
cloudnetpy/model_evaluation/products/model_products.py,sha256=SOd7dZ5lBh0ampovzJ9DryfHOC_tqFa-EN5lAQUHb3Y,6854
|
68
|
-
cloudnetpy/model_evaluation/products/observation_products.py,sha256=ttz-NINIQCSjuyZtRn-vuctHItLT8RLtwwiNXsys-UA,5492
|
69
|
-
cloudnetpy/model_evaluation/products/product_resampling.py,sha256=IuWvtwpya76URh1WmTTgtLxAo4HZxkz6GmftpZkMCGo,3640
|
70
|
-
cloudnetpy/model_evaluation/products/tools.py,sha256=8MuTK_teGJHa6I0q4UE-1ZYuyHj9l8pGnDmV2Zgs-rc,2929
|
71
|
-
cloudnetpy/model_evaluation/statistics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
72
|
-
cloudnetpy/model_evaluation/statistics/statistical_methods.py,sha256=DYcAkF4eV6SKfieTODdGwC56NF9siWMfaBJOhHE-6NI,5982
|
73
|
-
cloudnetpy/model_evaluation/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
74
|
-
cloudnetpy/model_evaluation/tests/e2e/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
75
|
-
cloudnetpy/model_evaluation/tests/e2e/conftest.py,sha256=TENW6O-OsqNmFEtS0gZLlzVCoF0eXfLBEuFGB5bZ-k8,305
|
76
|
-
cloudnetpy/model_evaluation/tests/e2e/process_cf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
77
|
-
cloudnetpy/model_evaluation/tests/e2e/process_cf/main.py,sha256=1BhHb6hhJF68pTXhzd_tsUtIRzyt14aZHdw1HAIWNPo,1289
|
78
|
-
cloudnetpy/model_evaluation/tests/e2e/process_cf/tests.py,sha256=2PrANQKp7vMlWp1y0XPQnkNpcpYx0kScrCOlRgS48z0,1787
|
79
|
-
cloudnetpy/model_evaluation/tests/e2e/process_iwc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
80
|
-
cloudnetpy/model_evaluation/tests/e2e/process_iwc/main.py,sha256=9hndE5kVF31PH5zkjBnN9Jko865PMGHawRg13BujD6I,1368
|
81
|
-
cloudnetpy/model_evaluation/tests/e2e/process_iwc/tests.py,sha256=0pgqdGmv4T9lbQ4DYXAsAHEf05WgKmO4xUSNIzx3Lf0,1903
|
82
|
-
cloudnetpy/model_evaluation/tests/e2e/process_lwc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
83
|
-
cloudnetpy/model_evaluation/tests/e2e/process_lwc/main.py,sha256=IFcPj-Vce9Yn0CfCy9gASxRf7NzlKFMfsDHzAuapY4I,1306
|
84
|
-
cloudnetpy/model_evaluation/tests/e2e/process_lwc/tests.py,sha256=ANBA0LVao3Xrm-prRnwUmxM6BdQzqM7GZNKB3uz5BXQ,1725
|
85
|
-
cloudnetpy/model_evaluation/tests/unit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
86
|
-
cloudnetpy/model_evaluation/tests/unit/conftest.py,sha256=WL_FgrDeoUYGp4PKjb37HLu79D9uu33PGQL40_ctqS0,7446
|
87
|
-
cloudnetpy/model_evaluation/tests/unit/test_advance_methods.py,sha256=IkoAVtsWVFrPpFqQOLAPHKb9qgV-KjGGVEtWMudeiSo,10079
|
88
|
-
cloudnetpy/model_evaluation/tests/unit/test_grid_methods.py,sha256=qkNPfHI25EE0-BXk73TijpeM7YwswX7e41-764o5lqE,26254
|
89
|
-
cloudnetpy/model_evaluation/tests/unit/test_model_products.py,sha256=FRbYLshSHH2E527uJPwvUIyZKTsPFSZrwDsPsNrFSSU,3475
|
90
|
-
cloudnetpy/model_evaluation/tests/unit/test_observation_products.py,sha256=P-W5QwRHMtem6p5SyyH7p9TvHGro3XW1baQcIwh6nFg,4892
|
91
|
-
cloudnetpy/model_evaluation/tests/unit/test_plot_tools.py,sha256=POdypGWjV2NA4DCU7w8Unk_IdPfOpUb1qBDhfA3x1Bw,9222
|
92
|
-
cloudnetpy/model_evaluation/tests/unit/test_plotting.py,sha256=h9V8JKmrO4v9bOvv-UjRa06sZJQPhDNVHGBSImDdtkI,3277
|
93
|
-
cloudnetpy/model_evaluation/tests/unit/test_statistical_methods.py,sha256=Ra3r4V0qbqkpDuaTYvEIbaasl0nZ5gmTLR4eGC0glBQ,9724
|
94
|
-
cloudnetpy/model_evaluation/tests/unit/test_tools.py,sha256=Ia_VrLdV2NstX5gbx_3AZTOAlrgLAy_xFZ8fHYVX0xI,3817
|
95
|
-
cloudnetpy/plotting/__init__.py,sha256=lg9Smn4BI0dVBgnDLC3JVJ4GmwoSnO-qoSd4ApvwV6Y,107
|
96
|
-
cloudnetpy/plotting/plot_meta.py,sha256=cLdCZrhbP-gaobS_zjcf8d2xVALzl7zh2qpttxCHyrg,15983
|
97
|
-
cloudnetpy/plotting/plotting.py,sha256=t6Bljy63HrBkBBNl6VuESV1utIS9mxrIxrNwDFNurRs,32926
|
98
|
-
cloudnetpy/products/__init__.py,sha256=2hRb5HG9hNrxH1if5laJkLeFeaZCd5W1q3hh4ewsX0E,273
|
99
|
-
cloudnetpy/products/classification.py,sha256=pzFQtgOKS7g_3LqiAY84EFUUste-VES7CJNgoq2Bs34,7914
|
100
|
-
cloudnetpy/products/der.py,sha256=XZMbqDQUq0E9iBU3Axr-NfUJfRAhjsaGlyxJ4tKyGcw,12444
|
101
|
-
cloudnetpy/products/drizzle.py,sha256=BY2HvJeWt_ps6KKCGXwUUNRTy78q0cQM8bOCCoj8TWA,10803
|
102
|
-
cloudnetpy/products/drizzle_error.py,sha256=4GwlHRtNbk9ks7bGtXCco-wXbcDOKeAQwKmbhzut6Qk,6132
|
103
|
-
cloudnetpy/products/drizzle_tools.py,sha256=UhcJbPa4tXHbuVlegIRfOl5nZ_E6ddKv20aghfP0hdg,10847
|
104
|
-
cloudnetpy/products/ier.py,sha256=ZwjyRwh7dJPjz9K5x1HiLFyD0BDNsFx-B7zBAds_ACs,7838
|
105
|
-
cloudnetpy/products/iwc.py,sha256=kdYvOy2-xwY1Qnx8qdyGAhAjMJowh23Iv1JNuNxXNLA,10206
|
106
|
-
cloudnetpy/products/lwc.py,sha256=FOc-dYKM_OTLN1PK9yfApKiKCJYSv82BLPwXJqO2Bqo,18815
|
107
|
-
cloudnetpy/products/mie_lu_tables.nc,sha256=It4fYpqJXlqOgL8jeZ-PxGzP08PMrELIDVe55y9ob58,16637951
|
108
|
-
cloudnetpy/products/mwr_tools.py,sha256=RuzokxxqXlTGk7XAOrif_FDPUJdf0j_wJgNq-7a_nK8,4684
|
109
|
-
cloudnetpy/products/product_tools.py,sha256=rhx_Ru9FLlQqCNM-awoiHx18-Aq1eBwL9LiUaQoJs6k,10412
|
110
|
-
docs/source/conf.py,sha256=IKiFWw6xhUd8NrCg0q7l596Ck1d61XWeVjIFHVSG9Og,1490
|
111
|
-
cloudnetpy-1.61.15.dist-info/LICENSE,sha256=wcZF72bdaoG9XugpyE95Juo7lBQOwLuTKBOhhtANZMM,1094
|
112
|
-
cloudnetpy-1.61.15.dist-info/METADATA,sha256=2ARcaj9zLrYaLyxYkzG_g9KTPbI4-HjYM68mnJrzIEE,5785
|
113
|
-
cloudnetpy-1.61.15.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
114
|
-
cloudnetpy-1.61.15.dist-info/top_level.txt,sha256=ibSPWRr6ojS1i11rtBFz2_gkIe68mggj7aeswYfaOo0,16
|
115
|
-
cloudnetpy-1.61.15.dist-info/RECORD,,
|
File without changes
|
File without changes
|