disdrodb 0.1.3__py3-none-any.whl → 0.1.4__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.
- disdrodb/__init__.py +4 -0
- disdrodb/_version.py +2 -2
- disdrodb/api/checks.py +70 -47
- disdrodb/api/configs.py +0 -2
- disdrodb/api/info.py +3 -3
- disdrodb/api/io.py +48 -8
- disdrodb/api/path.py +116 -133
- disdrodb/api/search.py +12 -3
- disdrodb/cli/disdrodb_create_summary.py +103 -0
- disdrodb/cli/disdrodb_create_summary_station.py +1 -1
- disdrodb/cli/disdrodb_run_l0a_station.py +1 -1
- disdrodb/cli/disdrodb_run_l0b_station.py +2 -2
- disdrodb/cli/disdrodb_run_l0c_station.py +2 -2
- disdrodb/cli/disdrodb_run_l1_station.py +2 -2
- disdrodb/cli/disdrodb_run_l2e_station.py +2 -2
- disdrodb/cli/disdrodb_run_l2m_station.py +2 -2
- disdrodb/data_transfer/download_data.py +123 -7
- disdrodb/issue/writer.py +2 -0
- disdrodb/l0/l0a_processing.py +10 -5
- disdrodb/l0/l0b_nc_processing.py +10 -6
- disdrodb/l0/l0b_processing.py +26 -61
- disdrodb/l0/l0c_processing.py +369 -251
- disdrodb/l0/readers/LPM/ARM/ARM_LPM.py +7 -0
- disdrodb/l0/readers/PARSIVEL2/ARM/ARM_PARSIVEL2.py +4 -0
- disdrodb/l0/readers/PARSIVEL2/CANADA/UQAM_NC.py +69 -0
- disdrodb/l0/readers/PARSIVEL2/MPI/BCO_PARSIVEL2.py +136 -0
- disdrodb/l0/readers/PARSIVEL2/MPI/BOWTIE.py +220 -0
- disdrodb/l0/readers/PARSIVEL2/NASA/LPVEX.py +109 -0
- disdrodb/l0/readers/PARSIVEL2/NETHERLANDS/DELFT_NC.py +3 -0
- disdrodb/l1/fall_velocity.py +46 -0
- disdrodb/l1/processing.py +1 -1
- disdrodb/l2/processing.py +1 -1
- disdrodb/metadata/checks.py +132 -125
- disdrodb/psd/fitting.py +172 -205
- disdrodb/psd/models.py +1 -1
- disdrodb/routines/__init__.py +54 -0
- disdrodb/{l0/routines.py → routines/l0.py} +288 -418
- disdrodb/{l1/routines.py → routines/l1.py} +60 -92
- disdrodb/{l2/routines.py → routines/l2.py} +249 -462
- disdrodb/{routines.py → routines/wrappers.py} +95 -7
- disdrodb/scattering/axis_ratio.py +5 -1
- disdrodb/scattering/permittivity.py +18 -0
- disdrodb/scattering/routines.py +56 -36
- disdrodb/summary/routines.py +110 -34
- disdrodb/utils/archiving.py +434 -0
- disdrodb/utils/cli.py +5 -5
- disdrodb/utils/dask.py +62 -1
- disdrodb/utils/decorators.py +31 -0
- disdrodb/utils/encoding.py +5 -1
- disdrodb/{l2 → utils}/event.py +1 -66
- disdrodb/utils/logger.py +1 -1
- disdrodb/utils/manipulations.py +22 -12
- disdrodb/utils/routines.py +166 -0
- disdrodb/utils/time.py +3 -291
- disdrodb/utils/xarray.py +3 -0
- disdrodb/viz/plots.py +85 -14
- {disdrodb-0.1.3.dist-info → disdrodb-0.1.4.dist-info}/METADATA +2 -2
- {disdrodb-0.1.3.dist-info → disdrodb-0.1.4.dist-info}/RECORD +62 -54
- {disdrodb-0.1.3.dist-info → disdrodb-0.1.4.dist-info}/entry_points.txt +1 -0
- {disdrodb-0.1.3.dist-info → disdrodb-0.1.4.dist-info}/WHEEL +0 -0
- {disdrodb-0.1.3.dist-info → disdrodb-0.1.4.dist-info}/licenses/LICENSE +0 -0
- {disdrodb-0.1.3.dist-info → disdrodb-0.1.4.dist-info}/top_level.txt +0 -0
disdrodb/viz/plots.py
CHANGED
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
"""DISDRODB Plotting Tools."""
|
|
18
18
|
import matplotlib.pyplot as plt
|
|
19
19
|
import numpy as np
|
|
20
|
+
import psutil
|
|
20
21
|
import xarray as xr
|
|
21
22
|
from matplotlib.colors import LogNorm, Normalize
|
|
22
23
|
|
|
@@ -211,6 +212,66 @@ def max_blend_images(ds_rgb, dim):
|
|
|
211
212
|
return da
|
|
212
213
|
|
|
213
214
|
|
|
215
|
+
def _create_denseline_grid(indices, ny, nx, nsamples):
|
|
216
|
+
# Assign 1 when line pass in a bin
|
|
217
|
+
valid = (indices >= 0) & (indices < ny)
|
|
218
|
+
s_idx, x_idx = np.nonzero(valid)
|
|
219
|
+
y_idx = indices[valid]
|
|
220
|
+
|
|
221
|
+
# ----------------------------------------------
|
|
222
|
+
### Vectorized code with high memory footprint because of 3D array
|
|
223
|
+
|
|
224
|
+
# # Create 3D array with hits
|
|
225
|
+
# grid_3d = np.zeros((nsamples, ny, nx), dtype=np.int64)
|
|
226
|
+
# grid_3d[s_idx, y_idx, x_idx] = 1
|
|
227
|
+
|
|
228
|
+
# # Normalize by columns
|
|
229
|
+
# col_sums = grid_3d.sum(axis=1, keepdims=True)
|
|
230
|
+
# col_sums[col_sums == 0] = 1 # Avoid division by zero
|
|
231
|
+
# grid_3d = grid_3d / col_sums
|
|
232
|
+
|
|
233
|
+
# # Sum over samples
|
|
234
|
+
# grid = grid_3d.sum(axis=0)
|
|
235
|
+
|
|
236
|
+
# # Free memory
|
|
237
|
+
# del grid_3d
|
|
238
|
+
|
|
239
|
+
# ----------------------------------------------
|
|
240
|
+
## Vectorized alternative with much lower memory footprint
|
|
241
|
+
|
|
242
|
+
# Count hits per (sample, y, x)
|
|
243
|
+
grid = np.zeros((ny, nx), dtype=np.float64)
|
|
244
|
+
|
|
245
|
+
# Compute per-sample-per-column counts
|
|
246
|
+
col_counts = np.zeros((nsamples, nx), dtype=np.int64)
|
|
247
|
+
np.add.at(col_counts, (s_idx, x_idx), 1)
|
|
248
|
+
|
|
249
|
+
# Define weights to normalize contributions, avoiding division by zero
|
|
250
|
+
# - Weight = 1 / (# hits per column, per sample)
|
|
251
|
+
col_counts[col_counts == 0] = 1
|
|
252
|
+
weights = 1.0 / col_counts[s_idx, x_idx]
|
|
253
|
+
|
|
254
|
+
# Accumulate weighted contributions
|
|
255
|
+
np.add.at(grid, (y_idx, x_idx), weights)
|
|
256
|
+
|
|
257
|
+
# Return 2D grid
|
|
258
|
+
return grid
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
def _compute_block_size(ny, nx, dtype=np.float64, safety_margin=2e9):
|
|
262
|
+
"""Compute maximum block size given available memory."""
|
|
263
|
+
avail_mem = psutil.virtual_memory().available - safety_margin
|
|
264
|
+
|
|
265
|
+
# Constant cost for final grid
|
|
266
|
+
base = ny * nx * np.dtype(dtype).itemsize
|
|
267
|
+
|
|
268
|
+
# Per-sample cost (worst case, includes col_counts + indices + weights)
|
|
269
|
+
per_sample = nx * 40
|
|
270
|
+
|
|
271
|
+
max_block = (avail_mem - base) // per_sample
|
|
272
|
+
return max(1, int(max_block))
|
|
273
|
+
|
|
274
|
+
|
|
214
275
|
def compute_dense_lines(
|
|
215
276
|
da: xr.DataArray,
|
|
216
277
|
coord: str,
|
|
@@ -307,27 +368,37 @@ def compute_dense_lines(
|
|
|
307
368
|
nx = len(x_bins) - 1
|
|
308
369
|
ny = len(y_bins) - 1
|
|
309
370
|
nsamples = arr.shape[0]
|
|
310
|
-
grid = np.zeros((ny, nx), dtype=float)
|
|
311
371
|
|
|
312
372
|
# For each (series, x-index), find which y-bin it falls into:
|
|
313
373
|
# - np.searchsorted(y_bins, value) gives the insertion index in y_bins;
|
|
314
374
|
# --> subtracting 1 yields the bin index.
|
|
315
375
|
# If a value is not in y_bins, searchsorted returns 0, so idx = -1
|
|
376
|
+
# If a valueis NaN, the indices value will be ny
|
|
316
377
|
indices = np.searchsorted(y_bins, arr) - 1 # (samples, nx)
|
|
317
378
|
|
|
318
|
-
#
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
379
|
+
# Compute unormalized DenseLines grid
|
|
380
|
+
# grid = _create_denseline_grid(
|
|
381
|
+
# indices=indices,
|
|
382
|
+
# ny=ny,
|
|
383
|
+
# nx=nx,
|
|
384
|
+
# nsamples=nsamples
|
|
385
|
+
# )
|
|
386
|
+
|
|
387
|
+
# Compute unormalized DenseLines grid by blocks to avoid running out of memory
|
|
388
|
+
# - Define block size based on available RAM memory
|
|
389
|
+
block = _compute_block_size(ny=ny, nx=nx, dtype=np.float64, safety_margin=4e9)
|
|
390
|
+
list_grid = []
|
|
391
|
+
for i in range(0, nsamples, block):
|
|
392
|
+
block_start_idx = i
|
|
393
|
+
block_end_idx = min(i + block, nsamples)
|
|
394
|
+
block_indices = indices[block_start_idx:block_end_idx, :]
|
|
395
|
+
block_nsamples = block_end_idx - block_start_idx
|
|
396
|
+
block_grid = _create_denseline_grid(indices=block_indices, ny=ny, nx=nx, nsamples=block_nsamples)
|
|
397
|
+
list_grid.append(block_grid)
|
|
398
|
+
|
|
399
|
+
grid_3d = np.stack(list_grid, axis=0)
|
|
400
|
+
|
|
401
|
+
# Finalize sum over samples
|
|
331
402
|
grid = grid_3d.sum(axis=0)
|
|
332
403
|
|
|
333
404
|
# Normalize grid
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: disdrodb
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
4
4
|
Summary: disdrodb provides tools to download, standardize, share and analyze global disdrometer data.
|
|
5
5
|
Author: Gionata Ghiggi
|
|
6
6
|
Project-URL: homepage, https://github.com/ltelab/disdrodb
|
|
@@ -193,7 +193,7 @@ disdrodb_run_l2m
|
|
|
193
193
|
|
|
194
194
|
### 💫 Analyze Analysis-Ready Products
|
|
195
195
|
|
|
196
|
-
The software
|
|
196
|
+
The software's `open_dataset` function **lazily** opens all station files of a given product:
|
|
197
197
|
|
|
198
198
|
```python
|
|
199
199
|
import disdrodb
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
disdrodb/__init__.py,sha256
|
|
1
|
+
disdrodb/__init__.py,sha256=6gWEjGqPWGZXB_bzuQ_OgvFvrfIkUROMQGh_Mi8Go9Q,5174
|
|
2
2
|
disdrodb/_config.py,sha256=iTui06S8fbTjLgwI65aMMBTs1u_tzCnoXkOIjs-mJzA,1748
|
|
3
|
-
disdrodb/_version.py,sha256=
|
|
3
|
+
disdrodb/_version.py,sha256=rLCrf4heo25FJtBY-2Ap7ZuWW-5FS7sqTjsolIUuI5c,704
|
|
4
4
|
disdrodb/configs.py,sha256=2m_YvY8ddSPATng_UU62WCvqaYuju76BMccv9gDByL0,13361
|
|
5
5
|
disdrodb/constants.py,sha256=p_Nr9OiKREG5Vd4dxozzFuZz8Qwy8hkN0JKp2ENB66Y,2093
|
|
6
6
|
disdrodb/docs.py,sha256=EZQE-LHXeBLMP2Xk6g2jZtvBwzA6IOq2RaEF6OJ1Co4,1500
|
|
7
|
-
disdrodb/routines.py,sha256=8ii58SETDqqdFljgueQnK5RkTKwfOHczPIWAlxAUrCI,53762
|
|
8
7
|
disdrodb/accessor/__init__.py,sha256=fP3_Rg4FGLVLWTMXP5Q2sNVobWg8ZEq4FPUkT9EufWY,1048
|
|
9
8
|
disdrodb/accessor/methods.py,sha256=2rXAwUJftnep6iP-d5rfjnpj9ZHQAAZla7CQ4ZhoQNk,4586
|
|
10
9
|
disdrodb/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
|
-
disdrodb/api/checks.py,sha256=
|
|
12
|
-
disdrodb/api/configs.py,sha256
|
|
10
|
+
disdrodb/api/checks.py,sha256=6N32g98kN_DXYYCiRblKhBXYgBwIe2lWvr48_KV69sY,22618
|
|
11
|
+
disdrodb/api/configs.py,sha256=-BTWfw0VaT-LNhe5Z8z9Kh5ilxFDhXKV0ZkCIgb9Qys,3203
|
|
13
12
|
disdrodb/api/create_directories.py,sha256=Yy1QozD1f7Gdq0yhdgwQXy9Np3ElQD78FFlpYQy53NY,13946
|
|
14
|
-
disdrodb/api/info.py,sha256=
|
|
15
|
-
disdrodb/api/io.py,sha256=
|
|
16
|
-
disdrodb/api/path.py,sha256=
|
|
17
|
-
disdrodb/api/search.py,sha256=
|
|
13
|
+
disdrodb/api/info.py,sha256=u2c6MS-EIsUifBF4lRuUiBCcTxyrIe3HFPuKdxonCGg,15942
|
|
14
|
+
disdrodb/api/io.py,sha256=Rt288bnAHAYqrB2Of7izyaXkqmDxZJXzGphhC1Z2D0A,19879
|
|
15
|
+
disdrodb/api/path.py,sha256=QjbaOvwcYTDHYfamC4X1-SgllyTCUL22e2CySl7wWf0,31037
|
|
16
|
+
disdrodb/api/search.py,sha256=lqPGlrr_Sk69fWYgZZr4Mz8FH4cLTCRBXBil0jffNH4,19593
|
|
18
17
|
disdrodb/cli/disdrodb_check_metadata_archive.py,sha256=S2NuJcFVUjDJ6nsWhv9yllIGJaLLb9Vm3cjvZPCd-zY,1697
|
|
19
|
-
disdrodb/cli/
|
|
18
|
+
disdrodb/cli/disdrodb_create_summary.py,sha256=Ec3A_n4BOw16F0jHD2s4WvQBSNnLSF1xHKsi67X8hxM,3985
|
|
19
|
+
disdrodb/cli/disdrodb_create_summary_station.py,sha256=rc5JV3RPfOVJF60h14VtvXxgYr7XHEEPqiqTkuh1qoM,3314
|
|
20
20
|
disdrodb/cli/disdrodb_data_archive_directory.py,sha256=knqGyzK1KDxlo9X0h0zjZmE2Sg7YZ1JOe_TkV2k_zvs,1239
|
|
21
21
|
disdrodb/cli/disdrodb_download_archive.py,sha256=7lCXOcKQdjHbgCO9r-3V7MPmxbrPUo1zFBDdtPEzRqs,3491
|
|
22
22
|
disdrodb/cli/disdrodb_download_metadata_archive.py,sha256=NbWyqgxTSORKrsA4_oasW1VmtmPo1jMOHbUJP1aOAew,1983
|
|
@@ -32,21 +32,21 @@ disdrodb/cli/disdrodb_open_readers_directory.py,sha256=VFbOshM163H_2Xi-VkyHo8uoL
|
|
|
32
32
|
disdrodb/cli/disdrodb_run_l0.py,sha256=FxuKipN5OSkSQXtKmf-tieVOHzlfJAIzZni1EF_CWNE,6089
|
|
33
33
|
disdrodb/cli/disdrodb_run_l0_station.py,sha256=sDjjGNK07cmCCFt52NGrIBwW62FE3x-ypIwIc-vaCtI,5370
|
|
34
34
|
disdrodb/cli/disdrodb_run_l0a.py,sha256=3gi8A3F6z6VR8LRIaUq90pxHl34ZNIhKc8qVdP2rMq4,4773
|
|
35
|
-
disdrodb/cli/disdrodb_run_l0a_station.py,sha256=
|
|
35
|
+
disdrodb/cli/disdrodb_run_l0a_station.py,sha256=q-gsJZYzUejsiI8okXXgq0Kl-dlB-Iyyj2LXXi3bGrQ,4591
|
|
36
36
|
disdrodb/cli/disdrodb_run_l0b.py,sha256=Qt2uW08CdLh0-V45rOlsm8r-pN_pyRdSC5D6r2zYdnM,4933
|
|
37
|
-
disdrodb/cli/disdrodb_run_l0b_station.py,sha256=
|
|
37
|
+
disdrodb/cli/disdrodb_run_l0b_station.py,sha256=786QtXQ7jk2hKEFH-3UY0ftCwwuUXHR4Bg8u09DUnD0,4765
|
|
38
38
|
disdrodb/cli/disdrodb_run_l0c.py,sha256=L3v-4QffCr1IdaXqcUxujpWavum5MsLHKwj_JWrXE1Y,5109
|
|
39
|
-
disdrodb/cli/disdrodb_run_l0c_station.py,sha256=
|
|
39
|
+
disdrodb/cli/disdrodb_run_l0c_station.py,sha256=3MemLnTIH8TtUqxHF_r2mQ_jgWrKZYuYj2sol2L6l8Q,4941
|
|
40
40
|
disdrodb/cli/disdrodb_run_l1.py,sha256=UFH4GsCr36qPlZ-7XxXaXtmskOoxqhtXcMT1p44rdME,4768
|
|
41
|
-
disdrodb/cli/disdrodb_run_l1_station.py,sha256=
|
|
41
|
+
disdrodb/cli/disdrodb_run_l1_station.py,sha256=Jx8QvozKUTTxFXKsAE2BR6zjUcawRcXWyL3AS_qqioA,4605
|
|
42
42
|
disdrodb/cli/disdrodb_run_l2e.py,sha256=CBdEj5Qoz8LPtFt4bGtYX4grtDDH78B9lg4K70jP7Ic,4773
|
|
43
|
-
disdrodb/cli/disdrodb_run_l2e_station.py,sha256=
|
|
43
|
+
disdrodb/cli/disdrodb_run_l2e_station.py,sha256=whXeZH6Cw0oNcffrIT8rpZJ79QcYICLHaCSV0CJOMMg,4611
|
|
44
44
|
disdrodb/cli/disdrodb_run_l2m.py,sha256=4JnzlY3Dg-cE0yj8QqOcnpwESWuC0YxJ-uzDtoclqxk,4773
|
|
45
|
-
disdrodb/cli/disdrodb_run_l2m_station.py,sha256=
|
|
45
|
+
disdrodb/cli/disdrodb_run_l2m_station.py,sha256=GK8eHj5knQWfU_lBQBTEASJDnnL71RtcN0mc3U2xqTA,4611
|
|
46
46
|
disdrodb/cli/disdrodb_upload_archive.py,sha256=BN3nzBeDboliFNpNQ3SRDXV_EWv8_mcoJzkUHAaO-NI,3977
|
|
47
47
|
disdrodb/cli/disdrodb_upload_station.py,sha256=18JyaEsXLGUI1scT85qIjOQNeixL2bVGPXH-rj5MIRI,3556
|
|
48
48
|
disdrodb/data_transfer/__init__.py,sha256=JMz0m-lAzNvckxONeB75B0q-jsS0HPmHfQa6vbCG39w,1134
|
|
49
|
-
disdrodb/data_transfer/download_data.py,sha256=
|
|
49
|
+
disdrodb/data_transfer/download_data.py,sha256=vW4FvNVRsBVMJZULhT-clrRya0xY4ABxgKzmqgVD-68,21365
|
|
50
50
|
disdrodb/data_transfer/upload_data.py,sha256=imLdxor0e5t-Ha3HnujIrq-7xfPR65mD7QvLsRMmv8M,10916
|
|
51
51
|
disdrodb/data_transfer/zenodo.py,sha256=yX7GGocOYi39yO92vzxLxrou-HcDxeMw3BYpSexf80U,9672
|
|
52
52
|
disdrodb/etc/configs/attributes.yaml,sha256=zr06Xfzh6peo5-SDNZ_aTHVBL2nYqRPkkIZBdPRSplM,9969
|
|
@@ -64,16 +64,15 @@ disdrodb/etc/products/L2M/global.yaml,sha256=H-gUGfh5BHtK8-EiI6U4rv7DkujqWYDX9kF
|
|
|
64
64
|
disdrodb/issue/__init__.py,sha256=avYn-r8QItYawWh-iHflsgQDZSILO8b_84RNlgajGbU,991
|
|
65
65
|
disdrodb/issue/checks.py,sha256=0Sm7p9Cade8zuBfqAXYFbUVqxoae-QfXNRxT1x6Nk_0,7297
|
|
66
66
|
disdrodb/issue/reader.py,sha256=bs1ysWZ6e1Uv-fnvJ7Q0jztTmbx5E7PGCtJ0tvBsRJ8,3841
|
|
67
|
-
disdrodb/issue/writer.py,sha256=
|
|
67
|
+
disdrodb/issue/writer.py,sha256=wnSIud6_ld44ileOwMOHU7jlMbcgDpsHPBnkqNgiIrY,4760
|
|
68
68
|
disdrodb/l0/__init__.py,sha256=cw5SdPD1i-LzNBqljxPNR7e8lRhD6wYtlO1KTx4MNjo,1275
|
|
69
69
|
disdrodb/l0/check_configs.py,sha256=_6-_paPyXxxVXzY3lLFS_J5Ia7Lq9KSQ1FyLBzfn2lM,14046
|
|
70
70
|
disdrodb/l0/check_standards.py,sha256=vcLOLYNSylRsbrt7ETER7thmW7F11cs-ZQM2zaTt01g,7371
|
|
71
71
|
disdrodb/l0/l0_reader.py,sha256=WbGlGuWS_7mz9IP50-_HgoSaRO7WZ_jYKh2xO7s23mQ,12698
|
|
72
|
-
disdrodb/l0/l0a_processing.py,sha256=
|
|
73
|
-
disdrodb/l0/l0b_nc_processing.py,sha256=
|
|
74
|
-
disdrodb/l0/l0b_processing.py,sha256
|
|
75
|
-
disdrodb/l0/l0c_processing.py,sha256=
|
|
76
|
-
disdrodb/l0/routines.py,sha256=r5gNso8hPh2mx_gBBWrBhNlUqdMoVkEnw5PGDaD5Ce0,40248
|
|
72
|
+
disdrodb/l0/l0a_processing.py,sha256=e7BBvPIWarcw3ACC-MCFHmK5yfX2LJnCPrCr4zRHYhM,29940
|
|
73
|
+
disdrodb/l0/l0b_nc_processing.py,sha256=tR9ppyJtrwDcRr1shNm2i4bSGhGsj8RryTP7K-heDn4,20791
|
|
74
|
+
disdrodb/l0/l0b_processing.py,sha256=Jx9STge_tSM7JmJR4zpj8V4tH9C54236QKv_xd4RDsc,16387
|
|
75
|
+
disdrodb/l0/l0c_processing.py,sha256=2a8SaURgLEHSIsYsN37zhnBb5ND7wi8y-VBzEkSZwZo,32921
|
|
77
76
|
disdrodb/l0/standards.py,sha256=SJpKdAuUVUvci07Q3jpU9IetiGg4XxciHS5f5ACq2-I,22954
|
|
78
77
|
disdrodb/l0/template_tools.py,sha256=W-ixB_HTlNA468wawtezSQHk797-XM4cSmGpIS_Cx3s,17097
|
|
79
78
|
disdrodb/l0/configs/LPM/bins_diameter.yml,sha256=627jsVTNhbM7zpDa2MAwXFpc57hYglQQkZQor6lmW9M,1061
|
|
@@ -118,7 +117,7 @@ disdrodb/l0/manuals/VPF750.pdf,sha256=fRFKiqcBbJ43rQrFH1I1qaVMoHR3yhbw37g0JeHlzN
|
|
|
118
117
|
disdrodb/l0/readers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
119
118
|
disdrodb/l0/readers/template_reader_raw_netcdf_data.py,sha256=u1mBbK2wgsLf2y7WganSsvgEtyZ2TMUrDrZ_BTxqQl0,2950
|
|
120
119
|
disdrodb/l0/readers/template_reader_raw_text_data.py,sha256=CqpoTP9HJ3TRw31rJoKLh4XzOuaxp4oU9s3taXG8W_g,3206
|
|
121
|
-
disdrodb/l0/readers/LPM/ARM/ARM_LPM.py,sha256=
|
|
120
|
+
disdrodb/l0/readers/LPM/ARM/ARM_LPM.py,sha256=u0MajJY-5Z4CMhRih_KZdTWxA8J6RZQuUMIrfSiICJU,6846
|
|
122
121
|
disdrodb/l0/readers/LPM/AUSTRALIA/MELBOURNE_2007_LPM.py,sha256=GfQK3iF4xisMzFiLViBbw7gTOKt4EliuSacA63r8J-A,8690
|
|
123
122
|
disdrodb/l0/readers/LPM/BRAZIL/CHUVA_LPM.py,sha256=4dwVeNQPErIKPcVHqfLSfD6t_KFfhjuoCRrcnSeto-Q,7058
|
|
124
123
|
disdrodb/l0/readers/LPM/BRAZIL/GOAMAZON_LPM.py,sha256=4dwVeNQPErIKPcVHqfLSfD6t_KFfhjuoCRrcnSeto-Q,7058
|
|
@@ -171,10 +170,11 @@ disdrodb/l0/readers/PARSIVEL/NCAR/VORTEX2_2009.py,sha256=LXAZPlt4pPoHxUci6tHqHeX
|
|
|
171
170
|
disdrodb/l0/readers/PARSIVEL/NCAR/VORTEX2_2010.py,sha256=FyvJEKZQ1Bmkt_FBQywyO9mqVIJg280ynyqLb_hBoco,6145
|
|
172
171
|
disdrodb/l0/readers/PARSIVEL/NCAR/VORTEX2_2010_UF.py,sha256=3MvUPsZBSud1WJv8owjrEJNmc7VsTJm4TWYY1kYlGvQ,6485
|
|
173
172
|
disdrodb/l0/readers/PARSIVEL/SLOVENIA/UL.py,sha256=uHB_62kuzEjSb3ioGbE_dJ3TgeJhjzJv_8PP4cZ1uOM,4210
|
|
174
|
-
disdrodb/l0/readers/PARSIVEL2/ARM/ARM_PARSIVEL2.py,sha256=
|
|
173
|
+
disdrodb/l0/readers/PARSIVEL2/ARM/ARM_PARSIVEL2.py,sha256=mkqRpTjbF-hw_d-iL6uDXm3Mx570UXMWbJnSHYfJsMk,4276
|
|
175
174
|
disdrodb/l0/readers/PARSIVEL2/BELGIUM/ILVO.py,sha256=K-j-aImFxufa_syKrscvJZdzDydfSrQ-kMwNpsZgZ3M,6811
|
|
176
175
|
disdrodb/l0/readers/PARSIVEL2/BRAZIL/CHUVA_PARSIVEL2.py,sha256=mLNaPO2olONWNZxkFmv_uSoMM26V4M0Fn5dM5qkQAAQ,6010
|
|
177
176
|
disdrodb/l0/readers/PARSIVEL2/BRAZIL/GOAMAZON_PARSIVEL2.py,sha256=Agf0KwiSRQ4jHzY6oP3JR0UH1DOwLgs4-09fdO6Qhuw,6000
|
|
177
|
+
disdrodb/l0/readers/PARSIVEL2/CANADA/UQAM_NC.py,sha256=6bYcaVwSHtd6zyWVkhjboyoraEX3p2-Ugq3nKQDIZk0,2946
|
|
178
178
|
disdrodb/l0/readers/PARSIVEL2/DENMARK/DTU.py,sha256=IhTvvuk6pDXe9hOIfnEu7YyQRMCbwUfkRM-45dymhhU,6084
|
|
179
179
|
disdrodb/l0/readers/PARSIVEL2/DENMARK/EROSION_nc.py,sha256=MIFTS2-mmwQ7-NwHBlQSiQPebcsgo1jbqQl7-mnWMkc,2698
|
|
180
180
|
disdrodb/l0/readers/PARSIVEL2/FINLAND/FMI_PARSIVEL2.py,sha256=aXtulDtclb4wJYWwRQgyt5_-tL8d0iR0IMBZQPI-hDg,2944
|
|
@@ -187,7 +187,10 @@ disdrodb/l0/readers/PARSIVEL2/ITALY/GID_PARSIVEL2.py,sha256=wlKhAZHc2C8cMl31bqrp
|
|
|
187
187
|
disdrodb/l0/readers/PARSIVEL2/KIT/BURKINA_FASO.py,sha256=3YWkWhVDVWr_55bPMY3sD2vI05o_xuoysHVlhW_MriU,4790
|
|
188
188
|
disdrodb/l0/readers/PARSIVEL2/KIT/TEAMX.py,sha256=NNLP_MnaZondutWH0zUEI0B8MdKeAZl2_5wC16e35Tk,4713
|
|
189
189
|
disdrodb/l0/readers/PARSIVEL2/MEXICO/OH_IIUNAM_nc.py,sha256=YT0SbU0PGddRO1oPxD_yKfpG0Exa26Zexb8gqxIiSCA,2412
|
|
190
|
+
disdrodb/l0/readers/PARSIVEL2/MPI/BCO_PARSIVEL2.py,sha256=TrsQ4GSCOgX0f1XkmyoaF81Vuy_bqzImQt9br83JzlI,4540
|
|
191
|
+
disdrodb/l0/readers/PARSIVEL2/MPI/BOWTIE.py,sha256=d_-PNPW8cLDMj3oGJoP1trtgHAyVt1tAMPeJP3O3MAw,7156
|
|
190
192
|
disdrodb/l0/readers/PARSIVEL2/NASA/APU.py,sha256=oBRMOKHmAfShYDdVmoKD4vxAs0fiy3uUxMCsBFJC5tA,4196
|
|
193
|
+
disdrodb/l0/readers/PARSIVEL2/NASA/LPVEX.py,sha256=4jTawKH7li1-HEsVwYBeJpwwGvpIB5gJTXHYsUbYlCo,3805
|
|
191
194
|
disdrodb/l0/readers/PARSIVEL2/NCAR/FARM_PARSIVEL2.py,sha256=uU-udGs8YwW_A2wy0DivhP5DjnRji3l63i_lz4Q_2HY,4867
|
|
192
195
|
disdrodb/l0/readers/PARSIVEL2/NCAR/PECAN_FP3.py,sha256=THrsl6Q_LpBMInkXAgDP-NJK29mldayzQrvVX1Wcx5Q,4404
|
|
193
196
|
disdrodb/l0/readers/PARSIVEL2/NCAR/PECAN_MIPS.py,sha256=emMqH0ulkEZ9A75PuAFrAE5uvxptrDMYcyGnTPQ6wPo,3889
|
|
@@ -199,7 +202,7 @@ disdrodb/l0/readers/PARSIVEL2/NCAR/SNOWIE_SB.py,sha256=41Yml05w7VBN3nmqDl1moe9wc
|
|
|
199
202
|
disdrodb/l0/readers/PARSIVEL2/NCAR/VORTEX_SE_2016_P1.py,sha256=_empgxKM6WIT1_JnMHqydhdxNYbTNOfJeRbe7-9YGsA,3932
|
|
200
203
|
disdrodb/l0/readers/PARSIVEL2/NCAR/VORTEX_SE_2016_P2.py,sha256=dwKHt4K86lM7Jtdi1qdQwXobx9eteiWiMAQ40CrgQ3o,4511
|
|
201
204
|
disdrodb/l0/readers/PARSIVEL2/NCAR/VORTEX_SE_2016_PIPS.py,sha256=NkLbRg8e9BfXKVczbob6GuFyVvJ4S0yE9phB18GTbZ4,5764
|
|
202
|
-
disdrodb/l0/readers/PARSIVEL2/NETHERLANDS/DELFT_NC.py,sha256=
|
|
205
|
+
disdrodb/l0/readers/PARSIVEL2/NETHERLANDS/DELFT_NC.py,sha256=woc0cun89keUn2lJCavuAFUYOHspmL5rjbJ8v1Se9Ok,3081
|
|
203
206
|
disdrodb/l0/readers/PARSIVEL2/SPAIN/CENER.py,sha256=CHnL4-TvpVuj77h7XtJxY2tFfRN5vxQddU1UIOl3rUo,5391
|
|
204
207
|
disdrodb/l0/readers/PARSIVEL2/SPAIN/CR1000DL.py,sha256=MVmAEOIDOsWEQMHlQqC2FBy1-6fgIW7gE5bHRQdycv8,7448
|
|
205
208
|
disdrodb/l0/readers/PARSIVEL2/SPAIN/LIAISE.py,sha256=ZoMuR5BbqdKvAsYHX4fgz5dYFqz4Uwx232fkN6-OfY4,5139
|
|
@@ -213,20 +216,17 @@ disdrodb/l0/readers/RD80/NCAR/RELAMPAGO_RD80.py,sha256=n5Jbt8F4S6yQfnlerQSrAvv6R
|
|
|
213
216
|
disdrodb/l0/readers/RD80/NOAA/PSL_RD80.py,sha256=UiIADOFxQDWSDCzXcJEHpHLtKvH12uQ54fEr3jCyheA,9368
|
|
214
217
|
disdrodb/l1/__init__.py,sha256=M283LrOjYpRDiavOdQzjW5CGnBGYkyM4J7xWQMFukMA,951
|
|
215
218
|
disdrodb/l1/beard_model.py,sha256=3uNUd6gSSV3vUHqScG9l-NvEje6oI7sDwA8vdbUFMOY,22705
|
|
216
|
-
disdrodb/l1/fall_velocity.py,sha256=
|
|
219
|
+
disdrodb/l1/fall_velocity.py,sha256=TSFE0zoorO0lE7IFCMaGaHSrDYp9DKp-uyuSeGLIuQo,11040
|
|
217
220
|
disdrodb/l1/filters.py,sha256=_5EwCFmSl2YMoDUG1SPGm28JuYO_WHjRMDST2VIgfDw,8468
|
|
218
|
-
disdrodb/l1/processing.py,sha256=
|
|
221
|
+
disdrodb/l1/processing.py,sha256=0z2lji1JHFrrO_K4EPnd43_dDkuneIr8nhUQMJuACZ8,8704
|
|
219
222
|
disdrodb/l1/resampling.py,sha256=8m5dzZ_-RNwef7FSBF5B2RAbCzkIr6IHVLAIEfMPiHA,10060
|
|
220
|
-
disdrodb/l1/routines.py,sha256=3ZBP8KvzItqRqDGUrK48feAVfTTa0XY1EeGgEXLgbuY,12422
|
|
221
223
|
disdrodb/l1_env/__init__.py,sha256=a0KBE3Ugqz7FBZ2HM_Ey8YxBlrSNjoXIluLtgh10EGc,897
|
|
222
224
|
disdrodb/l1_env/routines.py,sha256=pRvcitOGkWMxinu7sKKCZjJJcSfmX_Ut6YHWTMF6zTM,2059
|
|
223
225
|
disdrodb/l2/__init__.py,sha256=leNODwoQgxK9y8hKBMdTC5bQOfRqqOgEapkRlshPkUk,1046
|
|
224
226
|
disdrodb/l2/empirical_dsd.py,sha256=ykZ0WNyE44GxZH3NrfxMY7MmmEt5E5QEJTT7AwT2Eqk,70045
|
|
225
|
-
disdrodb/l2/
|
|
226
|
-
disdrodb/l2/processing.py,sha256=3cKTCqYzxwB3s6GuLUKphbDyEdSaPWkx2TyFVkF3FCY,26103
|
|
227
|
-
disdrodb/l2/routines.py,sha256=lYYMtaSK8Vn6YMI9zBVGtDx2R9x-vyrRfG-5p2iZxxU,50380
|
|
227
|
+
disdrodb/l2/processing.py,sha256=mHyKYLJ8hruqn15ZOwovZmdtN3tj6qOqsrt9jAzZvE4,26104
|
|
228
228
|
disdrodb/metadata/__init__.py,sha256=dWGf3i_OZXGh_Vm4nviol5rnH289ebf46sXTvCJKmpc,437
|
|
229
|
-
disdrodb/metadata/checks.py,sha256=
|
|
229
|
+
disdrodb/metadata/checks.py,sha256=PjeZH99O71aazizt52i4WCgieqaC0Tqn9hQKeLDMypo,24556
|
|
230
230
|
disdrodb/metadata/download.py,sha256=fheSaUb4Q_W6lDkIkpS_TaencnkoT3676JUQ99wslwA,3049
|
|
231
231
|
disdrodb/metadata/geolocation.py,sha256=d7VNSb_FLc3MG-QaVMSNp8nk5PtnzStjIsu9lAaH100,4829
|
|
232
232
|
disdrodb/metadata/info.py,sha256=PMyvQ3tc6lsZk8j_Jmk4g-Q-vSjP5PTNa1FeLixNQjU,3279
|
|
@@ -236,37 +236,45 @@ disdrodb/metadata/search.py,sha256=XbxO_57klf3hw2xkdypqoYksfOms6-5vEKLfOktg6Mw,6
|
|
|
236
236
|
disdrodb/metadata/standards.py,sha256=iTnNMVrenWSjUcoFq4jX-RCKJ5x75I3Nh7TR41auy08,3197
|
|
237
237
|
disdrodb/metadata/writer.py,sha256=NFHFAOr0xwqfKRX6OtZ6jTI1hDLa5kF01jMb_MPHXXc,3618
|
|
238
238
|
disdrodb/psd/__init__.py,sha256=DKcZlbMWcQ_KGU5QrP9os2j8ewqoFitUYbp917uXJBI,1285
|
|
239
|
-
disdrodb/psd/fitting.py,sha256
|
|
240
|
-
disdrodb/psd/models.py,sha256=
|
|
239
|
+
disdrodb/psd/fitting.py,sha256=wUnOzElyHDrfZZ13kFC5AA5QfsU2s0neVzZvSf3K9p8,85317
|
|
240
|
+
disdrodb/psd/models.py,sha256=QB5nLWUzFJd8-NOKdfEyGP-CuLJ7Id0RAyIQLnYnrP4,27133
|
|
241
|
+
disdrodb/routines/__init__.py,sha256=QMnsfZ4vbGdiopIQVhtPalP51No0lN3EXhLuMVAMsQE,1526
|
|
242
|
+
disdrodb/routines/l0.py,sha256=lu3DtQP6k62AwCSODT5Er4W-LU3RxdkWjUhWiAsP2sA,34365
|
|
243
|
+
disdrodb/routines/l1.py,sha256=Qx4xTAmGrIzuTsDWuW2KLAM9389wiqhmyFLVAp8G3ko,10883
|
|
244
|
+
disdrodb/routines/l2.py,sha256=cYuphh1YLYXjkghEbfGAURFW9geFUH5j70hlr9xQvzM,40686
|
|
245
|
+
disdrodb/routines/wrappers.py,sha256=vCD_g081UfzjStekNdxyaEnfAWsAR7jjU_O8v3pJpXE,56481
|
|
241
246
|
disdrodb/scattering/__init__.py,sha256=m3HH0xSmaycTJW9FaKIn-bFIpORR7DQqOfPPvNiHmWo,1501
|
|
242
|
-
disdrodb/scattering/axis_ratio.py,sha256=
|
|
243
|
-
disdrodb/scattering/permittivity.py,sha256=
|
|
244
|
-
disdrodb/scattering/routines.py,sha256=
|
|
247
|
+
disdrodb/scattering/axis_ratio.py,sha256=s7ENqZdDDl7Bp99dhgOeV3w7pFwE5pa3wjKsG67X6J8,12351
|
|
248
|
+
disdrodb/scattering/permittivity.py,sha256=wD9yH62tvPXDGXKILmAitTlKqXiOEL_BBhcL3XCb_wY,19664
|
|
249
|
+
disdrodb/scattering/routines.py,sha256=RqPyGfkjpvISZ_QxAEC4VK1HpjMtLto4l8Ak5QYSl1c,37198
|
|
245
250
|
disdrodb/summary/__init__.py,sha256=VjvlQz0UBg5EcBO66cHnCw6J3gFqmvU76HJ9X1C2o48,875
|
|
246
|
-
disdrodb/summary/routines.py,sha256=
|
|
251
|
+
disdrodb/summary/routines.py,sha256=mUDKJQ1C18h4MiVtJGhYbRKC0IBhGZmymJB-vzB_gDw,125555
|
|
247
252
|
disdrodb/utils/__init__.py,sha256=liW-qox5S-thm_CYgS1S2BRqj_hwgFhCwL9jniLFDiA,873
|
|
253
|
+
disdrodb/utils/archiving.py,sha256=cvuOz6PxwEpSDpXl53oZx8AHV9-zAe8zFwX4BdvpNoc,17488
|
|
248
254
|
disdrodb/utils/attrs.py,sha256=RNmhaB0Q_3ZUAAJU3GVNXsfgC03yIw3-F8FV7qDPDrM,4712
|
|
249
|
-
disdrodb/utils/cli.py,sha256=
|
|
255
|
+
disdrodb/utils/cli.py,sha256=_fAKGWaFvF9c3za3HUdIB4tRqN_Hmex2OQ7hgQZ2Efg,7739
|
|
250
256
|
disdrodb/utils/compression.py,sha256=sWCMY10BFwTSVF5kENteYeXO85srroq88rDiIhIPMJk,10309
|
|
251
|
-
disdrodb/utils/dask.py,sha256=
|
|
257
|
+
disdrodb/utils/dask.py,sha256=UrP8Hb2acfbGWfNzf9MUHudz3CZPTkoCqUVa1xjKOQg,5963
|
|
252
258
|
disdrodb/utils/dataframe.py,sha256=qsaal5wRaFz53UrNhJZpJZ0hHnFEP-F_OK_1PnpIQX4,14345
|
|
253
|
-
disdrodb/utils/decorators.py,sha256=
|
|
259
|
+
disdrodb/utils/decorators.py,sha256=7Q0llNzRZFy_zjko6emudFB-9QcPbVAy7QN9kO8daIE,4729
|
|
254
260
|
disdrodb/utils/directories.py,sha256=mOyJ5rblY1jyRnsyX7L_P4yGtexcob_ap1MLbXiDFB8,11305
|
|
255
|
-
disdrodb/utils/encoding.py,sha256=
|
|
261
|
+
disdrodb/utils/encoding.py,sha256=7tbRwFCpncWGBipQH7jHm6IwKXxFAgKFK6llDBg4g2s,4632
|
|
262
|
+
disdrodb/utils/event.py,sha256=v3FNYHAYdQ8DtQIaHX92Wi9UTUBu9MyADPfo_Eks9so,9662
|
|
256
263
|
disdrodb/utils/list.py,sha256=1HEIN4RcGjiCDDQOZ7Kbz4Eqg2AhWuttzV_M0tdOysg,1382
|
|
257
|
-
disdrodb/utils/logger.py,sha256=
|
|
258
|
-
disdrodb/utils/manipulations.py,sha256=
|
|
264
|
+
disdrodb/utils/logger.py,sha256=rLRy19cnd_nesWI7AuX3XK19VUJuXrTgOfBTYv1gMj8,11415
|
|
265
|
+
disdrodb/utils/manipulations.py,sha256=zVwhhd0wopJcZol_MKqrOTJN_aLfsi-up4KCF_kTx4E,3245
|
|
266
|
+
disdrodb/utils/routines.py,sha256=akvbz3TUDT7l1PfQIcP4l7F_Yv26WAXgqcemtmPumcs,5828
|
|
259
267
|
disdrodb/utils/subsetting.py,sha256=dEB8RQcqMysDCVM1rVFVkVR3u-SSra9v37ReO7_kpWk,8321
|
|
260
|
-
disdrodb/utils/time.py,sha256=
|
|
268
|
+
disdrodb/utils/time.py,sha256=QBv0slkDxG-MDkiYEdfo1gpiQ4xUqTw0iDyFgErqrMQ,20462
|
|
261
269
|
disdrodb/utils/warnings.py,sha256=NQeDC0vJhARVGysE1205OVhcSQ_bg-CV0O_LLdgQyoo,1221
|
|
262
270
|
disdrodb/utils/writer.py,sha256=1_Ircgajk-SrUR-gyV1boD4E5m2e6G8_tIB5-Pwfh7Q,2541
|
|
263
|
-
disdrodb/utils/xarray.py,sha256=
|
|
271
|
+
disdrodb/utils/xarray.py,sha256=Ju1Y3r48d8t98JaUr_-5n1pIRzTaqbJV3atJLDrJrAA,9782
|
|
264
272
|
disdrodb/utils/yaml.py,sha256=oeh8BaL-8DbqEuj6SjY5snQcsCDH4icIu0bDix6QZIA,1558
|
|
265
273
|
disdrodb/viz/__init__.py,sha256=5paVA9bmWPI4z0YFVIqm3HHtc0jztwWpcOlXvM5_Qp0,1085
|
|
266
|
-
disdrodb/viz/plots.py,sha256=
|
|
267
|
-
disdrodb-0.1.
|
|
268
|
-
disdrodb-0.1.
|
|
269
|
-
disdrodb-0.1.
|
|
270
|
-
disdrodb-0.1.
|
|
271
|
-
disdrodb-0.1.
|
|
272
|
-
disdrodb-0.1.
|
|
274
|
+
disdrodb/viz/plots.py,sha256=DunFtD0bCFEi1NAmxxZAqjhPrzy9kldHmwGMdvjoyI0,14480
|
|
275
|
+
disdrodb-0.1.4.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
276
|
+
disdrodb-0.1.4.dist-info/METADATA,sha256=qXiMeIL6gu4XmOnCyfGYs9M9_cO9OM-TG5qMZ8rwBik,19203
|
|
277
|
+
disdrodb-0.1.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
278
|
+
disdrodb-0.1.4.dist-info/entry_points.txt,sha256=nkGWRHfgggAq3cH8VgYBhhjBQAipsQ4-lYosqHJCfmo,2862
|
|
279
|
+
disdrodb-0.1.4.dist-info/top_level.txt,sha256=2LJa4FBAK_iNmy-vH2H7lVNrMrpSAs71py-ktzOMC1k,9
|
|
280
|
+
disdrodb-0.1.4.dist-info/RECORD,,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
[console_scripts]
|
|
2
2
|
disdrodb_check_metadata_archive = disdrodb.cli.disdrodb_check_metadata_archive:disdrodb_check_metadata_archive
|
|
3
|
+
disdrodb_create_summary = disdrodb.cli.disdrodb_create_summary:disdrodb_create_summary
|
|
3
4
|
disdrodb_create_summary_station = disdrodb.cli.disdrodb_create_summary_station:disdrodb_create_summary_station
|
|
4
5
|
disdrodb_data_archive_directory = disdrodb.cli.disdrodb_data_archive_directory:disdrodb_data_archive_directory
|
|
5
6
|
disdrodb_download_archive = disdrodb.cli.disdrodb_download_archive:disdrodb_download_archive
|
|
File without changes
|
|
File without changes
|
|
File without changes
|