cloudnetpy 1.80.6__py3-none-any.whl → 1.80.8__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/categorize.py +60 -6
- cloudnetpy/cloudnetarray.py +1 -1
- cloudnetpy/instruments/basta.py +3 -0
- cloudnetpy/instruments/bowtie.py +4 -1
- cloudnetpy/instruments/ceilo.py +6 -79
- cloudnetpy/instruments/copernicus.py +11 -3
- cloudnetpy/instruments/disdrometer/common.py +70 -31
- cloudnetpy/instruments/fd12p.py +7 -1
- cloudnetpy/instruments/galileo.py +9 -3
- cloudnetpy/instruments/mira.py +8 -7
- cloudnetpy/instruments/mrr.py +14 -2
- cloudnetpy/instruments/nc_radar.py +2 -1
- cloudnetpy/instruments/pollyxt.py +5 -1
- cloudnetpy/instruments/radiometrics.py +10 -0
- cloudnetpy/instruments/rpg.py +73 -54
- cloudnetpy/metadata.py +48 -22
- cloudnetpy/model_evaluation/metadata.py +46 -19
- cloudnetpy/output.py +9 -28
- cloudnetpy/plotting/plotting.py +1 -1
- cloudnetpy/products/classification.py +6 -0
- cloudnetpy/products/der.py +6 -0
- cloudnetpy/products/drizzle.py +27 -1
- cloudnetpy/products/ier.py +3 -0
- cloudnetpy/products/iwc.py +5 -0
- cloudnetpy/products/lwc.py +3 -0
- cloudnetpy/utils.py +6 -1
- cloudnetpy/version.py +1 -1
- {cloudnetpy-1.80.6.dist-info → cloudnetpy-1.80.8.dist-info}/METADATA +1 -1
- {cloudnetpy-1.80.6.dist-info → cloudnetpy-1.80.8.dist-info}/RECORD +33 -33
- {cloudnetpy-1.80.6.dist-info → cloudnetpy-1.80.8.dist-info}/WHEEL +0 -0
- {cloudnetpy-1.80.6.dist-info → cloudnetpy-1.80.8.dist-info}/entry_points.txt +0 -0
- {cloudnetpy-1.80.6.dist-info → cloudnetpy-1.80.8.dist-info}/licenses/LICENSE +0 -0
- {cloudnetpy-1.80.6.dist-info → cloudnetpy-1.80.8.dist-info}/top_level.txt +0 -0
@@ -17,7 +17,8 @@ from cloudnetpy.categorize.mwr import Mwr
|
|
17
17
|
from cloudnetpy.categorize.radar import Radar
|
18
18
|
from cloudnetpy.datasource import DataSource
|
19
19
|
from cloudnetpy.exceptions import DisdrometerDataError, ValidTimeStampError
|
20
|
-
from cloudnetpy.
|
20
|
+
from cloudnetpy.instruments.rpg import RPG_ATTRIBUTES
|
21
|
+
from cloudnetpy.metadata import COMMON_ATTRIBUTES, MetaData
|
21
22
|
from cloudnetpy.products.product_tools import CategoryBits, QualityBits
|
22
23
|
|
23
24
|
|
@@ -385,31 +386,45 @@ DEFINITIONS = {
|
|
385
386
|
}
|
386
387
|
|
387
388
|
CATEGORIZE_ATTRIBUTES = {
|
389
|
+
"height": COMMON_ATTRIBUTES["height"]._replace(dimensions=("height",)),
|
388
390
|
# Radar variables
|
389
391
|
"Z": MetaData(
|
390
392
|
long_name="Radar reflectivity factor",
|
391
393
|
units="dBZ",
|
392
394
|
comment=COMMENTS["Z"],
|
393
395
|
ancillary_variables="Z_error Z_bias Z_sensitivity",
|
396
|
+
dimensions=("time", "height"),
|
394
397
|
),
|
395
398
|
"Z_error": MetaData(
|
396
399
|
long_name="Error in radar reflectivity factor",
|
397
400
|
units="dB",
|
398
401
|
comment=COMMENTS["Z_error"],
|
402
|
+
dimensions=("time", "height"),
|
399
403
|
),
|
400
404
|
"Z_bias": MetaData(
|
401
405
|
long_name="Bias in radar reflectivity factor",
|
402
406
|
units="dB",
|
403
407
|
comment=COMMENTS["bias"],
|
408
|
+
dimensions=None,
|
404
409
|
),
|
405
410
|
"Z_sensitivity": MetaData(
|
406
411
|
long_name="Minimum detectable radar reflectivity",
|
407
412
|
units="dBZ",
|
408
413
|
comment=COMMENTS["Z_sensitivity"],
|
414
|
+
dimensions=("time", "height"),
|
409
415
|
),
|
416
|
+
"v": COMMON_ATTRIBUTES["v"]._replace(dimensions=("time", "height")),
|
417
|
+
"width": COMMON_ATTRIBUTES["width"]._replace(dimensions=("time", "height")),
|
418
|
+
"ldr": COMMON_ATTRIBUTES["ldr"]._replace(dimensions=("time", "height")),
|
419
|
+
"sldr": COMMON_ATTRIBUTES["sldr"]._replace(dimensions=("time", "height")),
|
410
420
|
"v_sigma": MetaData(
|
411
421
|
long_name="Standard deviation of mean Doppler velocity",
|
412
422
|
units="m s-1",
|
423
|
+
dimensions=("time", "height"),
|
424
|
+
),
|
425
|
+
"zdr": RPG_ATTRIBUTES["zdr"]._replace(dimensions=("time", "height")),
|
426
|
+
"nyquist_velocity": COMMON_ATTRIBUTES["nyquist_velocity"]._replace(
|
427
|
+
dimensions=("time", "height")
|
413
428
|
),
|
414
429
|
# Lidar variables
|
415
430
|
"beta": MetaData(
|
@@ -417,89 +432,128 @@ CATEGORIZE_ATTRIBUTES = {
|
|
417
432
|
units="sr-1 m-1",
|
418
433
|
comment="SNR-screened attenuated backscatter coefficient.",
|
419
434
|
ancillary_variables="beta_error beta_bias",
|
435
|
+
dimensions=("time", "height"),
|
420
436
|
),
|
421
437
|
"beta_error": MetaData(
|
422
438
|
long_name="Error in attenuated backscatter coefficient",
|
423
439
|
units="dB",
|
440
|
+
dimensions=None,
|
424
441
|
),
|
425
442
|
"beta_bias": MetaData(
|
426
443
|
long_name="Bias in attenuated backscatter coefficient",
|
427
444
|
units="dB",
|
445
|
+
dimensions=None,
|
446
|
+
),
|
447
|
+
"lidar_wavelength": MetaData(
|
448
|
+
long_name="Laser wavelength", units="nm", dimensions=None
|
428
449
|
),
|
429
|
-
"lidar_wavelength": MetaData(long_name="Laser wavelength", units="nm"),
|
430
450
|
# MWR variables
|
431
451
|
"lwp_error": MetaData(
|
432
452
|
long_name="Error in liquid water path",
|
433
453
|
units="kg m-2",
|
454
|
+
dimensions=("time",),
|
455
|
+
),
|
456
|
+
"lwp": COMMON_ATTRIBUTES["lwp"]._replace(
|
457
|
+
ancillary_variables="lwp_error", dimensions=("time",)
|
434
458
|
),
|
435
|
-
"lwp": MetaData(ancillary_variables="lwp_error"),
|
436
459
|
# Model variables
|
437
|
-
"Tw": MetaData(
|
438
|
-
|
460
|
+
"Tw": MetaData(
|
461
|
+
long_name="Wet-bulb temperature",
|
462
|
+
units="K",
|
463
|
+
comment=COMMENTS["Tw"],
|
464
|
+
dimensions=("time", "height"),
|
465
|
+
),
|
466
|
+
"model_time": MetaData(
|
467
|
+
long_name="Model time UTC",
|
468
|
+
calendar="standard",
|
469
|
+
dimensions=("model_time",),
|
470
|
+
),
|
439
471
|
"model_height": MetaData(
|
440
472
|
long_name="Height of model variables above mean sea level",
|
441
473
|
units="m",
|
442
474
|
axis="Z",
|
475
|
+
dimensions=("model_height",),
|
476
|
+
),
|
477
|
+
"temperature": MetaData(
|
478
|
+
long_name="Temperature", units="K", dimensions=("model_time", "model_height")
|
479
|
+
),
|
480
|
+
"pressure": MetaData(
|
481
|
+
long_name="Pressure", units="Pa", dimensions=("model_time", "model_height")
|
443
482
|
),
|
444
483
|
"vwind": MetaData(
|
445
484
|
long_name="Meridional wind",
|
446
485
|
units="m s-1",
|
486
|
+
dimensions=("model_time", "model_height"),
|
447
487
|
),
|
448
488
|
"uwind": MetaData(
|
449
489
|
long_name="Zonal wind",
|
450
490
|
units="m s-1",
|
491
|
+
dimensions=("model_time", "model_height"),
|
492
|
+
),
|
493
|
+
"q": MetaData(
|
494
|
+
long_name="Specific humidity",
|
495
|
+
units="1",
|
496
|
+
dimensions=("model_time", "model_height"),
|
451
497
|
),
|
452
|
-
"q": MetaData(long_name="Specific humidity", units="1"),
|
453
498
|
# MISC
|
454
499
|
"category_bits": MetaData(
|
455
500
|
long_name="Target categorization bits",
|
456
501
|
comment=COMMENTS["category_bits"],
|
457
502
|
definition=DEFINITIONS["category_bits"],
|
458
503
|
units="1",
|
504
|
+
dimensions=("time", "height"),
|
459
505
|
),
|
460
506
|
"quality_bits": MetaData(
|
461
507
|
long_name="Data quality bits",
|
462
508
|
comment=COMMENTS["quality_bits"],
|
463
509
|
definition=DEFINITIONS["quality_bits"],
|
464
510
|
units="1",
|
511
|
+
dimensions=("time", "height"),
|
465
512
|
),
|
466
513
|
"radar_liquid_atten": MetaData(
|
467
514
|
long_name="Two-way radar attenuation due to liquid water",
|
468
515
|
units="dB",
|
469
516
|
comment=COMMENTS["radar_liquid_atten"],
|
470
517
|
references="ITU-R P.840-9",
|
518
|
+
dimensions=("time", "height"),
|
471
519
|
),
|
472
520
|
"radar_rain_atten": MetaData(
|
473
521
|
long_name="Two-way radar attenuation due to rain",
|
474
522
|
units="dB",
|
475
523
|
references="Crane, R. (1980)",
|
476
524
|
comment=COMMENTS["radar_rain_atten"],
|
525
|
+
dimensions=("time", "height"),
|
477
526
|
),
|
478
527
|
"radar_melting_atten": MetaData(
|
479
528
|
long_name="Two-way radar attenuation due to melting ice",
|
480
529
|
units="dB",
|
481
530
|
references="Li, H., & Moisseev, D. (2019)",
|
482
531
|
comment=COMMENTS["radar_melting_atten"],
|
532
|
+
dimensions=("time", "height"),
|
483
533
|
),
|
484
534
|
"radar_gas_atten": MetaData(
|
485
535
|
long_name="Two-way radar attenuation due to atmospheric gases",
|
486
536
|
units="dB",
|
487
537
|
comment=COMMENTS["radar_gas_atten"],
|
488
538
|
references="ITU-R P.676-13",
|
539
|
+
dimensions=("time", "height"),
|
489
540
|
),
|
490
541
|
"insect_prob": MetaData(
|
491
542
|
long_name="Insect probability",
|
492
543
|
units="1",
|
493
544
|
comment=COMMENTS["insect_prob"],
|
545
|
+
dimensions=("time", "height"),
|
494
546
|
),
|
495
547
|
"liquid_prob": MetaData(
|
496
548
|
long_name="Liquid probability",
|
497
549
|
units="1",
|
498
550
|
comment=COMMENTS["liquid_prob"],
|
551
|
+
dimensions=("time", "height"),
|
499
552
|
),
|
500
553
|
"rain_detected": MetaData(
|
501
554
|
long_name="Rain detected",
|
502
555
|
units="1",
|
503
556
|
comment="1 = rain detected, 0 = no rain detected",
|
557
|
+
dimensions=("time",),
|
504
558
|
),
|
505
559
|
}
|
cloudnetpy/cloudnetarray.py
CHANGED
@@ -97,7 +97,7 @@ class CloudnetArray:
|
|
97
97
|
"""Overwrites existing instance attributes."""
|
98
98
|
for key in attributes._fields: # To iterate namedtuple fields.
|
99
99
|
data = getattr(attributes, key)
|
100
|
-
if data:
|
100
|
+
if key == "dimensions" or data:
|
101
101
|
setattr(self, key, data)
|
102
102
|
|
103
103
|
def filter_isolated_pixels(self) -> None:
|
cloudnetpy/instruments/basta.py
CHANGED
@@ -107,15 +107,18 @@ ATTRIBUTES = {
|
|
107
107
|
long_name="Radar pitch angle",
|
108
108
|
units="degree",
|
109
109
|
standard_name="platform_roll",
|
110
|
+
dimensions=("time",),
|
110
111
|
),
|
111
112
|
"radar_yaw": MetaData(
|
112
113
|
long_name="Radar yaw angle",
|
113
114
|
units="degree",
|
114
115
|
standard_name="platform_yaw",
|
116
|
+
dimensions=("time",),
|
115
117
|
),
|
116
118
|
"radar_roll": MetaData(
|
117
119
|
long_name="Radar roll angle",
|
118
120
|
units="degree",
|
119
121
|
standard_name="platform_roll",
|
122
|
+
dimensions=("time",),
|
120
123
|
),
|
121
124
|
}
|
cloudnetpy/instruments/bowtie.py
CHANGED
@@ -8,6 +8,7 @@ from cloudnetpy.constants import G_TO_KG, MM_H_TO_M_S
|
|
8
8
|
from cloudnetpy.exceptions import ValidTimeStampError
|
9
9
|
from cloudnetpy.instruments.instruments import FMCW94
|
10
10
|
from cloudnetpy.instruments.nc_radar import NcRadar
|
11
|
+
from cloudnetpy.instruments.rpg import RPG_ATTRIBUTES
|
11
12
|
from cloudnetpy.metadata import MetaData
|
12
13
|
from cloudnetpy.utils import bit_field_definition
|
13
14
|
|
@@ -97,7 +98,7 @@ class Bowtie(NcRadar):
|
|
97
98
|
raise ValidTimeStampError
|
98
99
|
|
99
100
|
|
100
|
-
ATTRIBUTES
|
101
|
+
ATTRIBUTES = RPG_ATTRIBUTES | {
|
101
102
|
"v": MetaData(
|
102
103
|
long_name="Doppler velocity",
|
103
104
|
units="m s-1",
|
@@ -107,6 +108,7 @@ ATTRIBUTES: dict = {
|
|
107
108
|
"motion of the ship. A rolling average over 3 time steps has been\n"
|
108
109
|
"applied to it."
|
109
110
|
),
|
111
|
+
dimensions=("time", "range"),
|
110
112
|
),
|
111
113
|
"correction_bits": MetaData(
|
112
114
|
long_name="Correction bits",
|
@@ -116,5 +118,6 @@ ATTRIBUTES: dict = {
|
|
116
118
|
"This parameter is a bit field that indicates which corrections have\n"
|
117
119
|
"been applied to radar measurements."
|
118
120
|
),
|
121
|
+
dimensions=("time", "range"),
|
119
122
|
),
|
120
123
|
}
|
cloudnetpy/instruments/ceilo.py
CHANGED
@@ -8,11 +8,11 @@ import numpy as np
|
|
8
8
|
from ceilopyter import read_ct25k
|
9
9
|
from numpy import ma
|
10
10
|
|
11
|
-
from cloudnetpy import output
|
11
|
+
from cloudnetpy import output
|
12
12
|
from cloudnetpy.instruments.cl61d import Cl61d
|
13
13
|
from cloudnetpy.instruments.lufft import LufftCeilo
|
14
14
|
from cloudnetpy.instruments.vaisala import ClCeilo, Cs135, Ct25k
|
15
|
-
from cloudnetpy.metadata import MetaData
|
15
|
+
from cloudnetpy.metadata import COMMON_ATTRIBUTES, MetaData
|
16
16
|
|
17
17
|
|
18
18
|
def ceilo2nc(
|
@@ -205,92 +205,19 @@ ATTRIBUTES = {
|
|
205
205
|
long_name="Lidar volume linear depolarisation ratio",
|
206
206
|
units="1",
|
207
207
|
comment="SNR-screened lidar volume linear depolarisation ratio at 910.55 nm.",
|
208
|
+
dimensions=("time", "range"),
|
208
209
|
),
|
209
210
|
"depolarisation_raw": MetaData(
|
210
211
|
long_name="Lidar volume linear depolarisation ratio",
|
211
212
|
units="1",
|
212
213
|
comment="SNR-screened lidar volume linear depolarisation ratio at 910.55 nm.",
|
213
|
-
|
214
|
-
"scale": MetaData(long_name="Scale", units="%", comment="100 (%) is normal."),
|
215
|
-
"software_level": MetaData(
|
216
|
-
long_name="Software level ID",
|
217
|
-
units="1",
|
218
|
-
),
|
219
|
-
"laser_temperature": MetaData(
|
220
|
-
long_name="Laser temperature",
|
221
|
-
units="C",
|
222
|
-
),
|
223
|
-
"window_transmission": MetaData(
|
224
|
-
long_name="Window transmission estimate",
|
225
|
-
units="%",
|
226
|
-
),
|
227
|
-
"laser_energy": MetaData(
|
228
|
-
long_name="Laser pulse energy",
|
229
|
-
units="%",
|
230
|
-
),
|
231
|
-
"background_light": MetaData(
|
232
|
-
long_name="Background light",
|
233
|
-
units="mV",
|
234
|
-
comment="Measured at internal ADC input.",
|
235
|
-
),
|
236
|
-
"backscatter_sum": MetaData(
|
237
|
-
long_name="Sum of detected and normalized backscatter",
|
238
|
-
units="sr-1",
|
239
|
-
comment="Multiplied by scaling factor times 1e4.",
|
240
|
-
),
|
241
|
-
"range_resolution": MetaData(
|
242
|
-
long_name="Range resolution",
|
243
|
-
units="m",
|
244
|
-
),
|
245
|
-
"number_of_gates": MetaData(
|
246
|
-
long_name="Number of range gates in profile",
|
247
|
-
units="1",
|
248
|
-
),
|
249
|
-
"unit_id": MetaData(
|
250
|
-
long_name="Ceilometer unit number",
|
251
|
-
units="1",
|
252
|
-
),
|
253
|
-
"message_number": MetaData(
|
254
|
-
long_name="Message number",
|
255
|
-
units="1",
|
256
|
-
),
|
257
|
-
"message_subclass": MetaData(
|
258
|
-
long_name="Message subclass number",
|
259
|
-
units="1",
|
260
|
-
),
|
261
|
-
"detection_status": MetaData(
|
262
|
-
long_name="Detection status",
|
263
|
-
units="1",
|
264
|
-
comment="From the internal software of the instrument.",
|
265
|
-
),
|
266
|
-
"warning": MetaData(
|
267
|
-
long_name="Warning and Alarm flag",
|
268
|
-
units="1",
|
269
|
-
definition=utils.status_field_definition(
|
270
|
-
{
|
271
|
-
"0": "Self-check OK",
|
272
|
-
"W": "At least one warning on",
|
273
|
-
"A": "At least one error active.",
|
274
|
-
}
|
275
|
-
),
|
276
|
-
),
|
277
|
-
"warning_flags": MetaData(
|
278
|
-
long_name="Warning flags",
|
279
|
-
units="1",
|
280
|
-
),
|
281
|
-
"receiver_sensitivity": MetaData(
|
282
|
-
long_name="Receiver sensitivity",
|
283
|
-
units="%",
|
284
|
-
comment="Expressed as % of nominal factory setting.",
|
285
|
-
),
|
286
|
-
"window_contamination": MetaData(
|
287
|
-
long_name="Window contamination",
|
288
|
-
units="mV",
|
289
|
-
comment="Measured at internal ADC input.",
|
214
|
+
dimensions=("time", "range"),
|
290
215
|
),
|
291
216
|
"calibration_factor": MetaData(
|
292
217
|
long_name="Attenuated backscatter calibration factor",
|
293
218
|
units="1",
|
294
219
|
comment="Calibration factor applied.",
|
220
|
+
dimensions=None,
|
295
221
|
),
|
222
|
+
"zenith_angle": COMMON_ATTRIBUTES["zenith_angle"]._replace(dimensions=None),
|
296
223
|
}
|
@@ -164,13 +164,21 @@ ATTRIBUTES = {
|
|
164
164
|
long_name="Radar reflectivity calibration offset",
|
165
165
|
units="dBZ",
|
166
166
|
comment="Calibration offset applied.",
|
167
|
+
dimensions=None,
|
167
168
|
),
|
168
169
|
"range_offset": MetaData(
|
169
170
|
long_name="Radar range offset",
|
170
171
|
units="m",
|
171
172
|
comment="Range offset applied.",
|
173
|
+
dimensions=None,
|
174
|
+
),
|
175
|
+
"antenna_diameter": MetaData(
|
176
|
+
long_name="Antenna diameter", units="m", dimensions=("time",)
|
177
|
+
),
|
178
|
+
"beamwidthV": MetaData(
|
179
|
+
long_name="Vertical angular beamwidth", units="degree", dimensions=("time",)
|
180
|
+
),
|
181
|
+
"beamwidthH": MetaData(
|
182
|
+
long_name="Horizontal angular beamwidth", units="degree", dimensions=("time",)
|
172
183
|
),
|
173
|
-
"antenna_diameter": MetaData(long_name="Antenna diameter", units="m"),
|
174
|
-
"beamwidthV": MetaData(long_name="Vertical angular beamwidth", units="degree"),
|
175
|
-
"beamwidthH": MetaData(long_name="Horizontal angular beamwidth", units="degree"),
|
176
184
|
}
|
@@ -76,56 +76,65 @@ ATTRIBUTES = {
|
|
76
76
|
long_name="Center fall velocity of precipitation particles",
|
77
77
|
units="m s-1",
|
78
78
|
comment="Predefined velocity classes.",
|
79
|
+
dimensions=("velocity",),
|
79
80
|
),
|
80
81
|
"velocity_spread": MetaData(
|
81
82
|
long_name="Width of velocity interval",
|
82
83
|
units="m s-1",
|
83
84
|
comment="Bin size of each velocity interval.",
|
85
|
+
dimensions=("velocity",),
|
84
86
|
),
|
85
87
|
"velocity_bnds": MetaData(
|
86
88
|
long_name="Velocity bounds",
|
87
89
|
units="m s-1",
|
88
90
|
comment="Upper and lower bounds of velocity interval.",
|
91
|
+
dimensions=("velocity", "nv"),
|
89
92
|
),
|
90
93
|
"diameter": MetaData(
|
91
94
|
long_name="Center diameter of precipitation particles",
|
92
95
|
units="m",
|
93
96
|
comment="Predefined diameter classes.",
|
97
|
+
dimensions=("diameter",),
|
94
98
|
),
|
95
99
|
"diameter_spread": MetaData(
|
96
100
|
long_name="Width of diameter interval",
|
97
101
|
units="m",
|
98
102
|
comment="Bin size of each diameter interval.",
|
103
|
+
dimensions=("diameter",),
|
99
104
|
),
|
100
105
|
"diameter_bnds": MetaData(
|
101
106
|
long_name="Diameter bounds",
|
102
107
|
units="m",
|
103
108
|
comment="Upper and lower bounds of diameter interval.",
|
109
|
+
dimensions=("diameter", "nv"),
|
104
110
|
),
|
105
111
|
"rainfall_rate_1min_total": MetaData(
|
106
|
-
long_name="Total precipitation rate",
|
107
|
-
units="m s-1",
|
112
|
+
long_name="Total precipitation rate", units="m s-1", dimensions=("time",)
|
108
113
|
),
|
109
114
|
"rainfall_rate": MetaData(
|
110
115
|
long_name="Rainfall rate",
|
111
116
|
units="m s-1",
|
112
117
|
standard_name="rainfall_rate",
|
118
|
+
dimensions=("time",),
|
113
119
|
),
|
114
120
|
"rainfall_rate_1min_solid": MetaData(
|
115
|
-
long_name="Solid precipitation rate",
|
116
|
-
units="m s-1",
|
121
|
+
long_name="Solid precipitation rate", units="m s-1", dimensions=("time",)
|
117
122
|
),
|
118
123
|
"snowfall_rate": MetaData(
|
119
124
|
long_name="Snowfall rate",
|
120
125
|
units="m s-1",
|
121
126
|
comment="Snow depth intensity (volume equivalent)",
|
127
|
+
dimensions=("time",),
|
122
128
|
),
|
123
|
-
"synop_WaWa": MetaData(
|
124
|
-
|
129
|
+
"synop_WaWa": MetaData(
|
130
|
+
long_name="Synop code WaWa", units="1", dimensions=("time",)
|
131
|
+
),
|
132
|
+
"synop_WW": MetaData(long_name="Synop code WW", units="1", dimensions=("time",)),
|
125
133
|
"radar_reflectivity": MetaData(
|
126
134
|
long_name="Equivalent radar reflectivity factor",
|
127
135
|
units="dBZ",
|
128
136
|
standard_name="equivalent_reflectivity_factor",
|
137
|
+
dimensions=("time",),
|
129
138
|
),
|
130
139
|
"visibility": MetaData(
|
131
140
|
long_name="Meteorological optical range (MOR) visibility",
|
@@ -133,148 +142,178 @@ ATTRIBUTES = {
|
|
133
142
|
standard_name="visibility_in_air",
|
134
143
|
comment="Visibility estimation by the disdrometer is valid\n"
|
135
144
|
"only during precipitation events.",
|
145
|
+
dimensions=("time",),
|
146
|
+
),
|
147
|
+
"interval": MetaData(
|
148
|
+
long_name="Length of measurement interval", units="s", dimensions=("time",)
|
149
|
+
),
|
150
|
+
"sig_laser": MetaData(
|
151
|
+
long_name="Signal amplitude of the laser strip", units="1", dimensions=("time",)
|
136
152
|
),
|
137
|
-
"interval": MetaData(long_name="Length of measurement interval", units="s"),
|
138
|
-
"sig_laser": MetaData(long_name="Signal amplitude of the laser strip", units="1"),
|
139
153
|
"n_particles": MetaData(
|
140
154
|
long_name="Number of particles in time interval",
|
141
155
|
units="1",
|
156
|
+
dimensions=("time",),
|
142
157
|
),
|
143
158
|
"T_sensor": MetaData(
|
144
|
-
long_name="Temperature in the sensor housing",
|
145
|
-
units="K",
|
146
|
-
),
|
147
|
-
"I_heating": MetaData(
|
148
|
-
long_name="Heating current",
|
149
|
-
units="A",
|
159
|
+
long_name="Temperature in the sensor housing", units="K", dimensions=("time",)
|
150
160
|
),
|
161
|
+
"I_heating": MetaData(long_name="Heating current", units="A", dimensions=("time",)),
|
151
162
|
"V_sensor_supply": MetaData(
|
152
|
-
long_name="Sensor supply voltage",
|
153
|
-
units="V",
|
163
|
+
long_name="Sensor supply voltage", units="V", dimensions=("time",)
|
154
164
|
),
|
155
165
|
"V_power_supply": MetaData(
|
156
|
-
long_name="Power supply voltage",
|
157
|
-
units="V",
|
166
|
+
long_name="Power supply voltage", units="V", dimensions=("time",)
|
158
167
|
),
|
159
168
|
"state_sensor": MetaData(
|
160
169
|
long_name="State of the sensor",
|
161
170
|
comment="0 = OK, 1 = Dirty, 2 = No measurement possible.",
|
162
171
|
units="1",
|
172
|
+
dimensions=("time",),
|
163
173
|
),
|
164
|
-
"error_code": MetaData(long_name="Error code", units="1"),
|
174
|
+
"error_code": MetaData(long_name="Error code", units="1", dimensions=("time",)),
|
165
175
|
"number_concentration": MetaData(
|
166
176
|
long_name="Number of particles per diameter class",
|
167
177
|
units="m-3 mm-1",
|
178
|
+
dimensions=("time", "diameter"),
|
168
179
|
),
|
169
180
|
"fall_velocity": MetaData(
|
170
181
|
long_name="Average velocity of each diameter class",
|
171
182
|
units="m s-1",
|
183
|
+
dimensions=("time", "diameter"),
|
172
184
|
),
|
173
185
|
"data_raw": MetaData(
|
174
186
|
long_name="Raw data as a function of particle diameter and velocity",
|
175
187
|
units="1",
|
188
|
+
dimensions=("time", "diameter", "velocity"),
|
176
189
|
),
|
177
190
|
"kinetic_energy": MetaData(
|
178
191
|
long_name="Kinetic energy of the hydrometeors",
|
179
192
|
units="J m-2 h-1",
|
193
|
+
dimensions=("time",),
|
180
194
|
),
|
181
195
|
# Thies-specific:
|
182
|
-
"T_ambient": MetaData(
|
183
|
-
|
196
|
+
"T_ambient": MetaData(
|
197
|
+
long_name="Ambient temperature", units="K", dimensions=("time",)
|
198
|
+
),
|
199
|
+
"T_interior": MetaData(
|
200
|
+
long_name="Interior temperature", units="K", dimensions=("time",)
|
201
|
+
),
|
184
202
|
"status_T_laser_analogue": MetaData(
|
185
203
|
long_name="Status of laser temperature (analogue)",
|
186
204
|
comment="0 = OK , 1 = Error",
|
187
205
|
units="1",
|
206
|
+
dimensions=("time",),
|
188
207
|
),
|
189
208
|
"status_T_laser_digital": MetaData(
|
190
209
|
long_name="Status of laser temperature (digital)",
|
191
210
|
comment="0 = OK , 1 = Error",
|
192
211
|
units="1",
|
212
|
+
dimensions=("time",),
|
193
213
|
),
|
194
214
|
"status_I_laser_analogue": MetaData(
|
195
215
|
long_name="Status of laser current (analogue)",
|
196
216
|
comment="0 = OK , 1 = Error",
|
197
217
|
units="1",
|
218
|
+
dimensions=("time",),
|
198
219
|
),
|
199
220
|
"status_I_laser_digital": MetaData(
|
200
221
|
long_name="Status of laser current (digital)",
|
201
222
|
comment="0 = OK , 1 = Error",
|
202
223
|
units="1",
|
224
|
+
dimensions=("time",),
|
203
225
|
),
|
204
226
|
"status_sensor_supply": MetaData(
|
205
227
|
long_name="Status of sensor supply",
|
206
228
|
comment="0 = OK , 1 = Error",
|
207
229
|
units="1",
|
230
|
+
dimensions=("time",),
|
208
231
|
),
|
209
232
|
"status_laser_heating": MetaData(
|
210
233
|
long_name="Status of laser heating",
|
211
234
|
comment="0 = OK , 1 = Error",
|
212
235
|
units="1",
|
236
|
+
dimensions=("time",),
|
213
237
|
),
|
214
238
|
"status_receiver_heating": MetaData(
|
215
239
|
long_name="Status of receiver heating",
|
216
240
|
comment="0 = OK , 1 = Error",
|
217
241
|
units="1",
|
242
|
+
dimensions=("time",),
|
218
243
|
),
|
219
244
|
"status_temperature_sensor": MetaData(
|
220
245
|
long_name="Status of temperature sensor",
|
221
246
|
comment="0 = OK , 1 = Error",
|
222
247
|
units="1",
|
248
|
+
dimensions=("time",),
|
223
249
|
),
|
224
250
|
"status_heating_supply": MetaData(
|
225
251
|
long_name="Status of heating supply",
|
226
252
|
comment="0 = OK , 1 = Error",
|
227
253
|
units="1",
|
254
|
+
dimensions=("time",),
|
228
255
|
),
|
229
256
|
"status_heating_housing": MetaData(
|
230
257
|
long_name="Status of heating housing",
|
231
258
|
comment="0 = OK , 1 = Error",
|
232
259
|
units="1",
|
260
|
+
dimensions=("time",),
|
233
261
|
),
|
234
262
|
"status_heating_heads": MetaData(
|
235
263
|
long_name="Status of heating heads",
|
236
264
|
comment="0 = OK , 1 = Error",
|
237
265
|
units="1",
|
266
|
+
dimensions=("time",),
|
238
267
|
),
|
239
268
|
"status_heating_carriers": MetaData(
|
240
269
|
long_name="Status of heating carriers",
|
241
270
|
comment="0 = OK , 1 = Error",
|
242
271
|
units="1",
|
272
|
+
dimensions=("time",),
|
243
273
|
),
|
244
274
|
"status_laser_power": MetaData(
|
245
275
|
long_name="Status of laser power",
|
246
276
|
comment="0 = OK , 1 = Error",
|
247
277
|
units="1",
|
278
|
+
dimensions=("time",),
|
248
279
|
),
|
249
280
|
"status_laser": MetaData(
|
250
281
|
long_name="Status of laser",
|
251
282
|
comment="0 = OK/on , 1 = Off",
|
252
283
|
units="1",
|
284
|
+
dimensions=("time",),
|
285
|
+
),
|
286
|
+
"measurement_quality": MetaData(
|
287
|
+
long_name="Measurement quality", units="%", dimensions=("time",)
|
288
|
+
),
|
289
|
+
"maximum_hail_diameter": MetaData(
|
290
|
+
long_name="Maximum hail diameter", units="mm", dimensions=("time",)
|
253
291
|
),
|
254
|
-
"measurement_quality": MetaData(long_name="Measurement quality", units="%"),
|
255
|
-
"maximum_hail_diameter": MetaData(long_name="Maximum hail diameter", units="mm"),
|
256
292
|
"static_signal": MetaData(
|
257
293
|
long_name="Static signal",
|
258
294
|
comment="0 = OK, 1 = ERROR",
|
259
295
|
units="1",
|
296
|
+
dimensions=("time",),
|
297
|
+
),
|
298
|
+
"T_laser_driver": MetaData(
|
299
|
+
long_name="Temperature of laser driver", units="K", dimensions=("time",)
|
300
|
+
),
|
301
|
+
"I_mean_laser": MetaData(
|
302
|
+
long_name="Mean value of laser current", units="mA", dimensions=("time",)
|
260
303
|
),
|
261
|
-
"T_laser_driver": MetaData(long_name="Temperature of laser driver", units="K"),
|
262
|
-
"I_mean_laser": MetaData(long_name="Mean value of laser current", units="mA"),
|
263
304
|
"V_control": MetaData(
|
264
305
|
long_name="Control voltage",
|
265
306
|
units="mV",
|
266
307
|
comment="Reference value: 4010+-5",
|
308
|
+
dimensions=("time",),
|
267
309
|
),
|
268
310
|
"V_optical_output": MetaData(
|
269
|
-
long_name="Voltage of optical control output",
|
270
|
-
units="mV",
|
311
|
+
long_name="Voltage of optical control output", units="mV", dimensions=("time",)
|
271
312
|
),
|
272
313
|
"I_heating_laser_head": MetaData(
|
273
|
-
long_name="Laser head heating current",
|
274
|
-
units="mA",
|
314
|
+
long_name="Laser head heating current", units="mA", dimensions=("time",)
|
275
315
|
),
|
276
316
|
"I_heating_receiver_head": MetaData(
|
277
|
-
long_name="Receiver head heating current",
|
278
|
-
units="mA",
|
317
|
+
long_name="Receiver head heating current", units="mA", dimensions=("time",)
|
279
318
|
),
|
280
319
|
}
|