cloudnetpy 1.69.8__tar.gz → 1.69.10__tar.gz
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-1.69.8/cloudnetpy.egg-info → cloudnetpy-1.69.10}/PKG-INFO +1 -1
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/exceptions.py +0 -7
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/disdrometer/thies.py +8 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/rain_e_h3.py +0 -1
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/weather_station.py +38 -41
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/version.py +1 -1
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10/cloudnetpy.egg-info}/PKG-INFO +1 -1
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/LICENSE +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/MANIFEST.in +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/README.md +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/__init__.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/categorize/__init__.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/categorize/atmos_utils.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/categorize/attenuation.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/categorize/attenuations/__init__.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/categorize/attenuations/gas_attenuation.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/categorize/attenuations/liquid_attenuation.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/categorize/attenuations/melting_attenuation.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/categorize/attenuations/rain_attenuation.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/categorize/categorize.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/categorize/classify.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/categorize/containers.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/categorize/disdrometer.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/categorize/droplet.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/categorize/falling.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/categorize/freezing.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/categorize/insects.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/categorize/itu.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/categorize/lidar.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/categorize/melting.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/categorize/model.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/categorize/mwr.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/categorize/radar.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/cli.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/cloudnetarray.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/concat_lib.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/constants.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/datasource.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/__init__.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/basta.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/campbell_scientific.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/ceilo.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/ceilometer.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/cl61d.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/cloudnet_instrument.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/copernicus.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/disdrometer/__init__.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/disdrometer/common.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/disdrometer/parsivel.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/galileo.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/hatpro.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/instruments.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/lufft.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/mira.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/mrr.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/nc_lidar.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/nc_radar.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/pollyxt.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/radiometrics.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/rpg.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/rpg_reader.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/toa5.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/instruments/vaisala.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/metadata.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/__init__.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/file_handler.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/metadata.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/model_metadata.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/plotting/__init__.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/plotting/plot_meta.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/plotting/plot_tools.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/plotting/plotting.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/products/__init__.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/products/advance_methods.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/products/grid_methods.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/products/model_products.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/products/observation_products.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/products/product_resampling.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/products/tools.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/statistics/__init__.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/statistics/statistical_methods.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/__init__.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/e2e/__init__.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/e2e/conftest.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/e2e/process_cf/__init__.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/e2e/process_cf/main.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/e2e/process_cf/tests.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/__init__.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/main.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/tests.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/__init__.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/main.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/tests.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/unit/__init__.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/unit/conftest.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/unit/test_advance_methods.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/unit/test_grid_methods.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/unit/test_model_products.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/unit/test_observation_products.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/unit/test_plot_tools.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/unit/test_plotting.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/unit/test_statistical_methods.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/unit/test_tools.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/utils.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/output.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/plotting/__init__.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/plotting/plot_meta.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/plotting/plotting.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/products/__init__.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/products/classification.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/products/der.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/products/drizzle.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/products/drizzle_error.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/products/drizzle_tools.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/products/ier.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/products/iwc.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/products/lwc.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/products/mie_lu_tables.nc +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/products/mwr_tools.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/products/product_tools.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/py.typed +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/utils.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy.egg-info/SOURCES.txt +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy.egg-info/dependency_links.txt +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy.egg-info/entry_points.txt +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy.egg-info/requires.txt +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy.egg-info/top_level.txt +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/docs/source/conf.py +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/pyproject.toml +0 -0
- {cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/setup.cfg +0 -0
@@ -30,13 +30,6 @@ class PlottingError(CloudnetException):
|
|
30
30
|
super().__init__(msg)
|
31
31
|
|
32
32
|
|
33
|
-
class WeatherStationDataError(CloudnetException):
|
34
|
-
"""Internal exception class."""
|
35
|
-
|
36
|
-
def __init__(self, msg: str = "Unable to read the file"):
|
37
|
-
super().__init__(msg)
|
38
|
-
|
39
|
-
|
40
33
|
class ModelDataError(CloudnetException):
|
41
34
|
"""Internal exception class."""
|
42
35
|
|
@@ -4,6 +4,7 @@ from os import PathLike
|
|
4
4
|
from typing import Any
|
5
5
|
|
6
6
|
import numpy as np
|
7
|
+
from numpy import ma
|
7
8
|
|
8
9
|
from cloudnetpy import output
|
9
10
|
from cloudnetpy.cloudnetarray import CloudnetArray
|
@@ -107,6 +108,7 @@ def thies2nc(
|
|
107
108
|
raise DisdrometerDataError(msg) from err
|
108
109
|
disdrometer.sort_timestamps()
|
109
110
|
disdrometer.remove_duplicate_timestamps()
|
111
|
+
disdrometer.mask_invalid_values()
|
110
112
|
disdrometer.add_meta()
|
111
113
|
disdrometer.convert_units()
|
112
114
|
attributes = output.add_time_attribute(ATTRIBUTES, disdrometer.date)
|
@@ -269,6 +271,12 @@ class Thies(Disdrometer):
|
|
269
271
|
for key in self.raw_data:
|
270
272
|
self.raw_data[key] = self.raw_data[key][valid_mask]
|
271
273
|
|
274
|
+
def mask_invalid_values(self) -> None:
|
275
|
+
rainfall_rate = self.data["rainfall_rate"]
|
276
|
+
rainfall_rate.data = ma.masked_where(
|
277
|
+
rainfall_rate.data > 999, rainfall_rate.data
|
278
|
+
)
|
279
|
+
|
272
280
|
def _create_velocity_vectors(self) -> None:
|
273
281
|
n_values = [5, 6, 7, 1, 1]
|
274
282
|
spreads = [0.2, 0.4, 0.8, 1, 10]
|
@@ -10,7 +10,7 @@ from cloudnetpy import output
|
|
10
10
|
from cloudnetpy.categorize import atmos_utils
|
11
11
|
from cloudnetpy.cloudnetarray import CloudnetArray
|
12
12
|
from cloudnetpy.constants import HPA_TO_PA, MM_H_TO_M_S, SEC_IN_HOUR
|
13
|
-
from cloudnetpy.exceptions import ValidTimeStampError
|
13
|
+
from cloudnetpy.exceptions import ValidTimeStampError
|
14
14
|
from cloudnetpy.instruments import instruments
|
15
15
|
from cloudnetpy.instruments.cloudnet_instrument import CSVFile
|
16
16
|
from cloudnetpy.instruments.toa5 import read_toa5
|
@@ -38,48 +38,44 @@ def ws2nc(
|
|
38
38
|
UUID of the generated file.
|
39
39
|
|
40
40
|
Raises:
|
41
|
-
WeatherStationDataError : Unable to read the file.
|
42
41
|
ValidTimeStampError: No valid timestamps found.
|
43
42
|
"""
|
44
43
|
if not isinstance(weather_station_file, list):
|
45
44
|
weather_station_file = [weather_station_file]
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
output.update_attributes(ws.data, attributes)
|
81
|
-
except ValueError as err:
|
82
|
-
raise WeatherStationDataError from err
|
45
|
+
ws: WS
|
46
|
+
if site_meta["name"] == "Palaiseau":
|
47
|
+
ws = PalaiseauWS(weather_station_file, site_meta)
|
48
|
+
elif site_meta["name"] == "Bucharest":
|
49
|
+
ws = BucharestWS(weather_station_file, site_meta)
|
50
|
+
elif site_meta["name"] == "Granada":
|
51
|
+
ws = GranadaWS(weather_station_file, site_meta)
|
52
|
+
elif site_meta["name"] == "Kenttärova":
|
53
|
+
ws = KenttarovaWS(weather_station_file, site_meta)
|
54
|
+
elif site_meta["name"] == "Hyytiälä":
|
55
|
+
ws = HyytialaWS(weather_station_file, site_meta)
|
56
|
+
elif site_meta["name"] == "Galați":
|
57
|
+
ws = GalatiWS(weather_station_file, site_meta)
|
58
|
+
elif site_meta["name"] == "Jülich":
|
59
|
+
ws = JuelichWS(weather_station_file, site_meta)
|
60
|
+
elif site_meta["name"] == "Lampedusa":
|
61
|
+
ws = LampedusaWS(weather_station_file, site_meta)
|
62
|
+
else:
|
63
|
+
msg = "Unsupported site"
|
64
|
+
raise ValueError(msg)
|
65
|
+
if date is not None:
|
66
|
+
ws.screen_timestamps(date)
|
67
|
+
ws.convert_time()
|
68
|
+
ws.add_date()
|
69
|
+
ws.add_site_geolocation()
|
70
|
+
ws.add_data()
|
71
|
+
ws.convert_temperature_and_humidity()
|
72
|
+
ws.convert_pressure()
|
73
|
+
ws.convert_rainfall_rate()
|
74
|
+
ws.convert_rainfall_amount()
|
75
|
+
ws.normalize_rainfall_amount()
|
76
|
+
ws.calculate_rainfall_amount()
|
77
|
+
attributes = output.add_time_attribute({}, ws.date)
|
78
|
+
output.update_attributes(ws.data, attributes)
|
83
79
|
return output.save_level1b(ws, output_file, uuid)
|
84
80
|
|
85
81
|
|
@@ -520,14 +516,15 @@ class LampedusaWS(WS):
|
|
520
516
|
raw_data: dict = {key: [] for key in fields}
|
521
517
|
for row in reader:
|
522
518
|
for key, value in row.items():
|
519
|
+
fixed_value = value.strip("\0")
|
523
520
|
parsed_value: float | datetime.datetime
|
524
521
|
if key == "time":
|
525
522
|
parsed_value = datetime.datetime.strptime(
|
526
|
-
|
523
|
+
fixed_value, "%y%m%d %H%M%S"
|
527
524
|
)
|
528
525
|
else:
|
529
526
|
try:
|
530
|
-
parsed_value = float(
|
527
|
+
parsed_value = float(fixed_value)
|
531
528
|
except ValueError:
|
532
529
|
parsed_value = math.nan
|
533
530
|
raw_data[key].append(parsed_value)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/categorize/attenuations/gas_attenuation.py
RENAMED
File without changes
|
{cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/categorize/attenuations/liquid_attenuation.py
RENAMED
File without changes
|
{cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/categorize/attenuations/melting_attenuation.py
RENAMED
File without changes
|
{cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/categorize/attenuations/rain_attenuation.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/products/advance_methods.py
RENAMED
File without changes
|
{cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/products/grid_methods.py
RENAMED
File without changes
|
{cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/products/model_products.py
RENAMED
File without changes
|
File without changes
|
{cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/products/product_resampling.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/e2e/process_cf/main.py
RENAMED
File without changes
|
{cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/e2e/process_cf/tests.py
RENAMED
File without changes
|
File without changes
|
{cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/main.py
RENAMED
File without changes
|
{cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/tests.py
RENAMED
File without changes
|
File without changes
|
{cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/main.py
RENAMED
File without changes
|
{cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/tests.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/unit/test_grid_methods.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/unit/test_plot_tools.py
RENAMED
File without changes
|
{cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/unit/test_plotting.py
RENAMED
File without changes
|
File without changes
|
{cloudnetpy-1.69.8 → cloudnetpy-1.69.10}/cloudnetpy/model_evaluation/tests/unit/test_tools.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|