cloudnetpy 1.97.3__tar.gz → 1.97.5__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.97.3/cloudnetpy.egg-info → cloudnetpy-1.97.5}/PKG-INFO +1 -1
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/disdronator/parsivel.py +8 -5
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/disdronator/process.py +7 -2
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/mira.py +15 -1
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/version.py +1 -1
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5/cloudnetpy.egg-info}/PKG-INFO +1 -1
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/LICENSE +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/MANIFEST.in +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/README.md +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/__init__.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/arm.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/categorize/__init__.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/categorize/atmos_utils.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/categorize/attenuation.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/categorize/attenuations/__init__.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/categorize/attenuations/gas_attenuation.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/categorize/attenuations/liquid_attenuation.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/categorize/attenuations/melting_attenuation.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/categorize/attenuations/rain_attenuation.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/categorize/categorize.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/categorize/classify.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/categorize/containers.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/categorize/disdrometer.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/categorize/droplet.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/categorize/falling.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/categorize/freezing.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/categorize/insects.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/categorize/lidar.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/categorize/melting.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/categorize/model.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/categorize/mwr.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/categorize/radar.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/cli.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/cloudnetarray.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/concat_lib.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/constants.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/datasource.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/disdronator/__init__.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/disdronator/lpm.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/disdronator/rd80.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/disdronator/utils.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/exceptions.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/__init__.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/arm_ceilo.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/arm_ld.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/arm_utils.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/basta.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/bowtie.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/ceilo.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/ceilometer.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/cl61d.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/cloudnet_instrument.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/copernicus.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/da10.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/dealias.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/disdrometer.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/fd12p.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/galileo.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/hatpro.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/instruments.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/kazr.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/lufft.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/mmcr.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/mrr.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/mwr3c.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/mwrlos.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/nc_lidar.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/nc_radar.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/pollyxt.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/radiometrics.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/rain_e_h3.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/rpg.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/rpg_reader.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/toa5.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/vaisala.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/weather_radar.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/instruments/weather_station.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/metadata.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/__init__.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/file_handler.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/metadata.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/model_metadata.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/plotting/__init__.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/plotting/plot_meta.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/plotting/plot_tools.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/plotting/plotting.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/products/__init__.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/products/advance_methods.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/products/grid_methods.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/products/model_products.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/products/observation_products.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/products/product_resampling.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/products/tools.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/statistics/__init__.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/statistics/statistical_methods.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/__init__.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/e2e/__init__.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/e2e/conftest.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/e2e/process_cf/__init__.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/e2e/process_cf/main.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/e2e/process_cf/tests.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/__init__.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/main.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/tests.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/__init__.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/main.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/tests.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/unit/__init__.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/unit/conftest.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/unit/test_advance_methods.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/unit/test_grid_methods.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/unit/test_model_products.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/unit/test_observation_products.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/unit/test_plot_tools.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/unit/test_plotting.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/unit/test_statistical_methods.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/unit/test_tools.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/utils.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/output.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/plotting/__init__.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/plotting/plot_meta.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/plotting/plotting.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/products/__init__.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/products/classification.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/products/cod.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/products/der.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/products/drizzle.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/products/drizzle_error.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/products/drizzle_tools.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/products/epsilon_lidar.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/products/epsilon_radar.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/products/ier.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/products/iwc.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/products/iwc_weather_radar.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/products/lwc.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/products/mie_lu_tables.nc +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/products/mwr_tools.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/products/product_tools.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/py.typed +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/utils.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy.egg-info/SOURCES.txt +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy.egg-info/dependency_links.txt +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy.egg-info/entry_points.txt +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy.egg-info/requires.txt +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy.egg-info/top_level.txt +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/docs/source/conf.py +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/pyproject.toml +0 -0
- {cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/setup.cfg +0 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import datetime
|
|
2
|
+
import logging
|
|
2
3
|
import re
|
|
3
4
|
from collections.abc import Sequence
|
|
4
5
|
from os import PathLike
|
|
@@ -586,11 +587,13 @@ def read_parsivel_l1(
|
|
|
586
587
|
msg = "No raw data"
|
|
587
588
|
raise ValueError(msg)
|
|
588
589
|
data_raw = np.swapaxes(l0[93], 1, 2)
|
|
589
|
-
|
|
590
|
-
l0[9]
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
590
|
+
if 9 in l0:
|
|
591
|
+
interval = l0[9]
|
|
592
|
+
else:
|
|
593
|
+
interval = np.median(np.diff(time.astype("datetime64[s]"))).astype(int)
|
|
594
|
+
logging.warning(
|
|
595
|
+
"Interval is not available, using mean time difference: %d s", interval
|
|
596
|
+
)
|
|
594
597
|
return DisdroL1(
|
|
595
598
|
diameter=D,
|
|
596
599
|
diameter_bins=D_BINS,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import datetime
|
|
1
2
|
from dataclasses import dataclass
|
|
2
3
|
|
|
3
4
|
import numpy as np
|
|
@@ -80,7 +81,7 @@ def process_l2(l1: DisdroL1) -> DisdroL2:
|
|
|
80
81
|
fall_velocity = ma.masked_where(spec == 0, np.tile(l1.velocity, (n_time, 1)))
|
|
81
82
|
rain_amount = np.pi / 6 * np.sum(spec * l1.diameter**3 / area_mm2, axis=1)
|
|
82
83
|
radar_refl = np.sum(
|
|
83
|
-
spec * l1.diameter**6 / (l1.velocity * area_m2 *
|
|
84
|
+
spec * l1.diameter**6 / (l1.velocity * area_m2 * interval[:, np.newaxis]),
|
|
84
85
|
axis=1,
|
|
85
86
|
)
|
|
86
87
|
energy_flux = (
|
|
@@ -167,7 +168,11 @@ def process_l2(l1: DisdroL1) -> DisdroL2:
|
|
|
167
168
|
)
|
|
168
169
|
)
|
|
169
170
|
rain_rate = rain_amount / interval_h
|
|
170
|
-
|
|
171
|
+
|
|
172
|
+
# Typically time_diff matches interval, but in Bucharest time_diff is 60 s
|
|
173
|
+
# and interval is 5 s as of 2026-11-11.
|
|
174
|
+
time_diff = np.median(np.diff(time) / datetime.timedelta(hours=1))
|
|
175
|
+
rain_accum = np.cumsum(rain_rate * time_diff)
|
|
171
176
|
|
|
172
177
|
min_radar_refl = -10
|
|
173
178
|
radar_refl_db = 10 * ma.log10(radar_refl)
|
|
@@ -43,7 +43,10 @@ def mira2nc(
|
|
|
43
43
|
site_meta: Dictionary containing information about the site. Required
|
|
44
44
|
key-value pair is `name`. Optional `model` takes `mira-35` (default),
|
|
45
45
|
`mira-35s`, `mira-35c`, or `mira-10`. Optional `radar_constant` (dB)
|
|
46
|
-
is used to calculate Zh from SNRg in old files without Zg.
|
|
46
|
+
is used to calculate Zh from SNRg in old files without Zg. Optional
|
|
47
|
+
`zenith_angle` (deg) overrides the angle reported in the raw file.
|
|
48
|
+
Optional `zenith_offset` and `azimuth_offset` (deg) are added to the
|
|
49
|
+
angles reported in the raw file.
|
|
47
50
|
uuid: Set specific UUID for the file.
|
|
48
51
|
date: Expected date as YYYY-MM-DD of all profiles in the file.
|
|
49
52
|
|
|
@@ -89,6 +92,10 @@ def mira2nc(
|
|
|
89
92
|
# Empirical values, should be checked
|
|
90
93
|
snr_limit = -30 if mira.instrument == MIRA10 else -17
|
|
91
94
|
|
|
95
|
+
zenith = site_meta.get("zenith_angle")
|
|
96
|
+
if zenith is not None:
|
|
97
|
+
mira.override_elevation_angle(zenith=zenith)
|
|
98
|
+
|
|
92
99
|
# Old MIRA files don't have angle variables.
|
|
93
100
|
if "elevation" not in mira.data:
|
|
94
101
|
mira.append_data(ma.masked_all_like(mira.time.data), "elevation")
|
|
@@ -156,6 +163,13 @@ class Mira(NcRadar):
|
|
|
156
163
|
output[key] = value.strip()
|
|
157
164
|
return output
|
|
158
165
|
|
|
166
|
+
def override_elevation_angle(self, zenith: float) -> None:
|
|
167
|
+
if not isinstance(zenith, int | float) or zenith < -90 or zenith > 90:
|
|
168
|
+
msg = f"Invalid zenith angle: {zenith}"
|
|
169
|
+
raise ValueError(msg)
|
|
170
|
+
elevation = float(90 - zenith)
|
|
171
|
+
self.append_data(np.repeat(elevation, len(self.time)), "elevation")
|
|
172
|
+
|
|
159
173
|
def add_radar_frequency(self) -> None:
|
|
160
174
|
# XMT should always be present. In newer files, there's also
|
|
161
175
|
# LO_frequency variable which doesn't match XMT exactly and sometimes
|
|
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.97.3 → cloudnetpy-1.97.5}/cloudnetpy/categorize/attenuations/gas_attenuation.py
RENAMED
|
File without changes
|
{cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/categorize/attenuations/liquid_attenuation.py
RENAMED
|
File without changes
|
{cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/categorize/attenuations/melting_attenuation.py
RENAMED
|
File without changes
|
{cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/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
|
|
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.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/products/advance_methods.py
RENAMED
|
File without changes
|
{cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/products/grid_methods.py
RENAMED
|
File without changes
|
{cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/products/model_products.py
RENAMED
|
File without changes
|
{cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/products/observation_products.py
RENAMED
|
File without changes
|
{cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/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
|
{cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/e2e/process_cf/__init__.py
RENAMED
|
File without changes
|
{cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/e2e/process_cf/main.py
RENAMED
|
File without changes
|
{cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/e2e/process_cf/tests.py
RENAMED
|
File without changes
|
|
File without changes
|
{cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/main.py
RENAMED
|
File without changes
|
{cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/e2e/process_iwc/tests.py
RENAMED
|
File without changes
|
|
File without changes
|
{cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/main.py
RENAMED
|
File without changes
|
{cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/e2e/process_lwc/tests.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/unit/test_grid_methods.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/unit/test_plot_tools.py
RENAMED
|
File without changes
|
{cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/cloudnetpy/model_evaluation/tests/unit/test_plotting.py
RENAMED
|
File without changes
|
|
File without changes
|
{cloudnetpy-1.97.3 → cloudnetpy-1.97.5}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|