pyadps 0.1.1__py3-none-any.whl → 0.2.0b0__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.
Files changed (48) hide show
  1. pyadps/Home_Page.py +5 -11
  2. pyadps/pages/01_Read_File.py +17 -190
  3. pyadps/pages/02_View_Raw_Data.py +33 -69
  4. pyadps/pages/03_Download_Raw_File.py +61 -149
  5. pyadps/pages/04_QC_Test.py +334 -0
  6. pyadps/pages/05_Profile_Test.py +575 -0
  7. pyadps/pages/06_Velocity_Test.py +341 -0
  8. pyadps/pages/07_Write_File.py +452 -0
  9. pyadps/utils/__init__.py +3 -3
  10. pyadps/utils/autoprocess.py +78 -344
  11. pyadps/utils/cutbin.py +413 -0
  12. pyadps/utils/metadata/config.ini +4 -22
  13. pyadps/utils/plotgen.py +3 -505
  14. pyadps/utils/profile_test.py +125 -494
  15. pyadps/utils/pyreadrdi.py +17 -27
  16. pyadps/utils/readrdi.py +18 -164
  17. pyadps/utils/{__pycache__/regrid.cpython-312.pyc → regrid.py} +0 -0
  18. pyadps/utils/script.py +147 -197
  19. pyadps/utils/signal_quality.py +24 -344
  20. pyadps/utils/velocity_test.py +31 -79
  21. pyadps/utils/writenc.py +21 -155
  22. {pyadps-0.1.1.dist-info → pyadps-0.2.0b0.dist-info}/METADATA +24 -55
  23. pyadps-0.2.0b0.dist-info/RECORD +31 -0
  24. {pyadps-0.1.1.dist-info → pyadps-0.2.0b0.dist-info}/WHEEL +1 -1
  25. {pyadps-0.1.1.dist-info → pyadps-0.2.0b0.dist-info}/entry_points.txt +0 -1
  26. pyadps/pages/04_Sensor_Health.py +0 -905
  27. pyadps/pages/05_QC_Test.py +0 -476
  28. pyadps/pages/06_Profile_Test.py +0 -971
  29. pyadps/pages/07_Velocity_Test.py +0 -600
  30. pyadps/pages/08_Write_File.py +0 -587
  31. pyadps/pages/09_Auto_process.py +0 -64
  32. pyadps/pages/__pycache__/__init__.cpython-312.pyc +0 -0
  33. pyadps/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  34. pyadps/utils/__pycache__/autoprocess.cpython-312.pyc +0 -0
  35. pyadps/utils/__pycache__/cutbin.cpython-312.pyc +0 -0
  36. pyadps/utils/__pycache__/plotgen.cpython-312.pyc +0 -0
  37. pyadps/utils/__pycache__/profile_test.cpython-312.pyc +0 -0
  38. pyadps/utils/__pycache__/pyreadrdi.cpython-312.pyc +0 -0
  39. pyadps/utils/__pycache__/readrdi.cpython-312.pyc +0 -0
  40. pyadps/utils/__pycache__/script.cpython-312.pyc +0 -0
  41. pyadps/utils/__pycache__/sensor_health.cpython-312.pyc +0 -0
  42. pyadps/utils/__pycache__/signal_quality.cpython-312.pyc +0 -0
  43. pyadps/utils/__pycache__/velocity_test.cpython-312.pyc +0 -0
  44. pyadps/utils/__pycache__/writenc.cpython-312.pyc +0 -0
  45. pyadps/utils/metadata/demo.000 +0 -0
  46. pyadps/utils/sensor_health.py +0 -120
  47. pyadps-0.1.1.dist-info/RECORD +0 -47
  48. {pyadps-0.1.1.dist-info → pyadps-0.2.0b0.dist-info}/LICENSE +0 -0
pyadps/utils/writenc.py CHANGED
@@ -17,6 +17,7 @@ from netCDF4 import date2num
17
17
  from pyadps.utils import readrdi as rd
18
18
 
19
19
 
20
+
20
21
  def pd2nctime(time, t0="hours since 2000-01-01"):
21
22
  """
22
23
  Function to convert pandas datetime format to netcdf datetime format.
@@ -67,14 +68,7 @@ def flead_ncatt(fl_obj, ncfile_id, ens=0):
67
68
  setattr(ncfile_id, format_key, format(value))
68
69
 
69
70
 
70
- def rawnc(
71
- infile,
72
- outfile,
73
- time,
74
- axis_option=None,
75
- attributes=None,
76
- t0="hours since 2000-01-01",
77
- ):
71
+ def rawnc(infile, outfile, time, axis_option=None, attributes=None, t0="hours since 2000-01-01"):
78
72
  """
79
73
  rawnc is a function to create netcdf file. Stores 3-D data types like
80
74
  velocity, echo, correlation, and percent good.
@@ -162,100 +156,28 @@ def rawnc(
162
156
 
163
157
  vshape = var.T.shape
164
158
  if i == 0:
165
- if primary_axis == "ensemble":
159
+ if primary_axis == "time":
160
+ time[:] = np.arange(1, vshape[0] + 1, 1)
161
+ elif primary_axis == "ensemble":
166
162
  ensemble[:] = np.arange(1, vshape[0] + 1, 1)
163
+ else:
164
+ raise ValueError(f"Invalid axis_option: {axis_option}.")
167
165
 
168
166
  varid[i][0 : vshape[0], 0 : vshape[1], 0 : vshape[2]] = var.T
169
-
167
+
170
168
  # Add global attributes if provided
171
169
  if attributes:
172
170
  for key, value in attributes.items():
173
- setattr(
174
- outnc, key, str(value)
175
- ) # Convert to string to store in NetCDF metadata
171
+ setattr(outnc, key, str(value)) # Convert to string to store in NetCDF metadata
176
172
 
177
173
  # outnc.history = "Created " + time.ctime(time.time())
178
174
  flead_ncatt(flead, outnc)
175
+
179
176
 
180
177
  outnc.close()
181
178
 
182
- def flead_nc(
183
- infile,
184
- outfile,
185
- time,
186
- axis_option=None,
187
- attributes=None,
188
- t0="hours since 2000-01-01",
189
- ):
190
- """
191
- Function to create ncfile containing Variable Leader.
192
-
193
- Args:
194
- infile (string): Input file path including filename
195
- outfile (string): Output file path including filename
196
- """
197
- outnc = nc4.Dataset(outfile, "w", format="NETCDF4")
198
-
199
- # Dimensions
200
- # Define the primary axis based on axis_option
201
- if axis_option == "ensemble":
202
- outnc.createDimension("ensemble", None)
203
- primary_axis = "ensemble"
204
- ensemble = outnc.createVariable("ensemble", "i4", ("ensemble",))
205
- ensemble.axis = "T"
206
- elif axis_option == "time":
207
- tsize = len(time)
208
- outnc.createDimension("time", tsize)
209
- primary_axis = "time"
210
- time_var = outnc.createVariable("time", "i4", ("time",))
211
- time_var.axis = "T"
212
- time_var.units = t0
213
- time_var.long_name = "time"
214
-
215
- # Convert time_data to numerical format
216
- nctime = pd2nctime(time, t0)
217
- time_var[:] = nctime
218
-
219
- else:
220
- raise ValueError(f"Invalid axis_option: {axis_option}.")
221
-
222
- # Variables
223
-
224
- flead = rd.FixedLeader(infile)
225
- fdict = flead.fleader
226
- varid = [0] * len(fdict)
227
-
228
- i = 0
229
-
230
- for key, values in fdict.items():
231
- format_item = key.replace(" ", "_")
232
- varid[i] = outnc.createVariable(
233
- format_item, "i4", primary_axis, fill_value=-32768
234
- )
235
- var = values
236
- vshape = var.shape
237
- if i == 0:
238
- if primary_axis == "ensemble":
239
- ensemble[:] = np.arange(1, vshape[0] + 1, 1)
240
-
241
- varid[i][0 : vshape[0]] = var
242
- i += 1
243
-
244
- # Add global attributes if provided
245
- if attributes:
246
- for key, value in attributes.items():
247
- setattr(outnc, key, str(value)) # Store attributes as strings
248
179
 
249
- outnc.close()
250
-
251
- def vlead_nc(
252
- infile,
253
- outfile,
254
- time,
255
- axis_option=None,
256
- attributes=None,
257
- t0="hours since 2000-01-01",
258
- ):
180
+ def vlead_nc(infile, outfile, time, axis_option=None, attributes=None, t0="hours since 2000-01-01"):
259
181
  """
260
182
  Function to create ncfile containing Variable Leader.
261
183
 
@@ -304,12 +226,16 @@ def vlead_nc(
304
226
  var = values
305
227
  vshape = var.shape
306
228
  if i == 0:
307
- if primary_axis == "ensemble":
229
+ if primary_axis == "time":
230
+ time[:] = np.arange(1, vshape[0] + 1, 1)
231
+ elif primary_axis == "ensemble":
308
232
  ensemble[:] = np.arange(1, vshape[0] + 1, 1)
233
+ else:
234
+ raise ValueError(f"Invalid axis_option: {axis_option}.")
309
235
 
310
236
  varid[i][0 : vshape[0]] = var
311
237
  i += 1
312
-
238
+
313
239
  # Add global attributes if provided
314
240
  if attributes:
315
241
  for key, value in attributes.items():
@@ -318,9 +244,7 @@ def vlead_nc(
318
244
  outnc.close()
319
245
 
320
246
 
321
- def finalnc(
322
- outfile, depth, final_mask, final_echo, final_corr , final_pgood, time, data, t0="hours since 2000-01-01", attributes=None
323
- ):
247
+ def finalnc(outfile, depth, time, data, t0="hours since 2000-01-01", attributes=None):
324
248
  """
325
249
  Function to create the processed NetCDF file.
326
250
 
@@ -335,19 +259,15 @@ def finalnc(
335
259
 
336
260
  # Change velocity to cm/s
337
261
  data = data.astype(np.float64)
338
- data[data > fill] /= 10
262
+ data[data > fill] /= 10
339
263
 
340
264
  # Change depth to positive
341
- # depth = abs(depth)
265
+ depth = abs(depth)
342
266
 
343
267
  # Reverse the arrays if depth in descending order
344
268
  if np.all(depth[:-1] >= depth[1:]):
345
269
  depth = depth[::-1]
346
270
  data = data[:, ::-1, :]
347
- final_mask = final_mask[::-1, :]
348
- final_echo = final_echo[:,::-1, :]
349
- final_corr = final_corr[:,::-1, :]
350
- final_pgood = final_pgood[:,::-1, :]
351
271
 
352
272
  ncfile = nc4.Dataset(outfile, mode="w", format="NETCDF4")
353
273
  # Check if depth is scalar or array
@@ -387,45 +307,6 @@ def finalnc(
387
307
  evel.units = "cm/s"
388
308
  evel.long_name = "error_velocity"
389
309
 
390
- mvel = ncfile.createVariable("mask", np.float32, ("time", "depth"), fill_value=fill)
391
- mvel.long_name = "Velocity Mask (1: bad value, 0: good value)"
392
-
393
- echo1 = ncfile.createVariable("echo1", np.float32, ("time", "depth"), fill_value=-32768)
394
- echo1.long_name = "Echo intensity Beam 1"
395
-
396
- echo2 = ncfile.createVariable("echo2", np.float32, ("time", "depth"), fill_value=-32768)
397
- echo2.long_name = "Echo intensity Beam 2"
398
-
399
- echo3 = ncfile.createVariable("echo3", np.float32, ("time", "depth"), fill_value=-32768)
400
- echo3.long_name = "Echo intensity Beam 3"
401
-
402
- echo4 = ncfile.createVariable("echo4", np.float32, ("time", "depth"), fill_value=-32768)
403
- echo4.long_name = "Echo intensity Beam 4"
404
-
405
- corr1 = ncfile.createVariable("corr1", np.float32, ("time", "depth"), fill_value=-32768)
406
- corr1.long_name = "Beam 1 correlation"
407
-
408
- corr2 = ncfile.createVariable("corr2", np.float32, ("time", "depth"), fill_value=-32768)
409
- corr2.long_name = "Beam 2 correlation"
410
-
411
- corr3 = ncfile.createVariable("corr3", np.float32, ("time", "depth"), fill_value=-32768)
412
- corr3.long_name = "Beam 3 correlation"
413
-
414
- corr4 = ncfile.createVariable("corr4", np.float32, ("time", "depth"), fill_value=-32768)
415
- corr4.long_name = "Beam 4 correlation"
416
-
417
- pgd1 = ncfile.createVariable("pgd1", np.float32, ("time", "depth"), fill_value=-32768)
418
- pgd1.long_name = "Percent Good Beam 1"
419
-
420
- pgd2 = ncfile.createVariable("pgd2", np.float32, ("time", "depth"), fill_value=-32768)
421
- pgd2.long_name = "Percent Good Beam 2"
422
-
423
- pgd3 = ncfile.createVariable("pgd3", np.float32, ("time", "depth"), fill_value=-32768)
424
- pgd3.long_name = "Percent Good Beam 3"
425
-
426
- pgd4 = ncfile.createVariable("pgd4", np.float32, ("time", "depth"), fill_value=-32768)
427
- pgd4.long_name = "Percent Good Beam 4"
428
-
429
310
  nctime = pd2nctime(time, t0)
430
311
  # write data
431
312
  z[:] = depth
@@ -434,25 +315,10 @@ def finalnc(
434
315
  vvel[:, :] = data[1, :, :].T
435
316
  wvel[:, :] = data[2, :, :].T
436
317
  evel[:, :] = data[3, :, :].T
437
- mvel[:, :] = final_mask.T
438
- echo1[:, :] = final_echo[0, :, :].T
439
- echo2[:, :] = final_echo[1, :, :].T
440
- echo3[:, :] = final_echo[2, :, :].T
441
- echo4[:, :] = final_echo[3, :, :].T
442
- corr1[:, :] = final_corr[0, :, :].T
443
- corr2[:, :] = final_corr[1, :, :].T
444
- corr3[:, :] = final_corr[2, :, :].T
445
- corr4[:, :] = final_corr[3, :, :].T
446
- pgd1[:, :] = final_pgood[0, :, :].T
447
- pgd2[:, :] = final_pgood[1, :, :].T
448
- pgd3[:, :] = final_pgood[2, :, :].T
449
- pgd4[:, :] = final_pgood[3, :, :].T
450
-
318
+
451
319
  # Add global attributes if provided
452
320
  if attributes:
453
321
  for key, value in attributes.items():
454
322
  setattr(ncfile, key, str(value)) # Store attributes as strings
455
323
 
456
- ncfile.mask_applied = "True"
457
-
458
324
  ncfile.close()
@@ -1,8 +1,8 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.1
2
2
  Name: pyadps
3
- Version: 0.1.1
3
+ Version: 0.2.0b0
4
4
  Summary: A Python package for ADCP data processing
5
- Home-page: https://pyadps.readthedocs.io/en/latest/index.html
5
+ Home-page: https://example.com
6
6
  License: MIT
7
7
  Keywords: adcp,data-processing,oceanography
8
8
  Author: P. Amol
@@ -22,30 +22,18 @@ Requires-Dist: numpy (>=1.26.4)
22
22
  Requires-Dist: pandas (>=2.2.2)
23
23
  Requires-Dist: plotly (>=5.22.0)
24
24
  Requires-Dist: plotly-resampler (>=0.10.0)
25
- Requires-Dist: pygeomag (>=1.1.0,<2.0.0)
26
25
  Requires-Dist: scipy (>=1.14.0)
27
26
  Requires-Dist: streamlit (>=1.36.0)
28
- Project-URL: Documentation, https://pyadps.readthedocs.io/en/latest/index.html
27
+ Requires-Dist: wmm2020 (>=1.1.1)
28
+ Project-URL: Documentation, https://example.com/docs
29
29
  Project-URL: Repository, https://github.com/p-amol/pyadps
30
30
  Description-Content-Type: text/markdown
31
31
 
32
32
  # pyadps
33
33
 
34
- `pyadps` is a Python package for processing moored Acoustic Doppler
35
- Current Profiler (ADCP) data. It provides various functionalities
36
- such as data reading, quality control tests, NetCDF file creation,
37
- and visualization.
34
+ `pyadps` is a Python package for processing moored Acoustic Doppler Current Profiler (ADCP) data. It provides various functionalities such as data reading, quality control tests, NetCDF file creation, and visualization.
38
35
 
39
- This software offers both a graphical interface (`Streamlit`) for
40
- those new to Python and direct Python package access for experienced
41
- users. Please note that `pyadps` is primarily designed for Teledyne
42
- RDI workhorse ADCPs. Other company's ADCP files are not compatible,
43
- and while some other RDI models may work, they might require additional
44
- considerations.
45
-
46
- - Documentation: <https://pyadps.readthedocs.io>
47
- - Source code: <https://github.com/p-amol/pyadps>
48
- - Bug reports: <https://github.com/p-amol/pyadps/issues>
36
+ This software offers both a graphical interface (`Streamlit`) for those new to Python and direct Python package access for experienced users. Please note that `pyadps` is primarily designed for Teledyne RDI workhorse ADCPs. Other company's ADCP files are not compatible, and while some other RDI models may work, they might require additional considerations.
49
37
 
50
38
  ## Table of Contents
51
39
 
@@ -55,49 +43,37 @@ considerations.
55
43
 
56
44
  ## Installation
57
45
 
58
- We recommend installing the package within a virtual environment.
59
- At present, the package is compatible exclusively with Python version 3.12.
60
- You can create a Python environment using tools like `venv` or `conda`.
61
- Below are instructions for both methods.
46
+ We recommend installing the package within a virtual environment. At present, the package is compatible exclusively with Python version 3.12.
47
+ You can create a Python environment using tools like `venv` or `conda`. Below are instructions for both methods.
62
48
 
63
49
  ### 1. Using `venv` (Built-in Python Tool)
64
50
 
65
51
  #### Step 1: Install Python version 3.12 (if not already installed)
66
-
67
52
  Ensure you have Python installed. You can download the latest version from [python.org](https://www.python.org/downloads/).
68
53
 
69
- #### Step 2: Create a Virtual Environment
70
-
54
+ #### Step 2: Create a Virtual Environment
71
55
  - Open your terminal or command prompt.
72
56
  - Navigate to your project folder:
73
-
74
57
  ```bash
75
58
  cd /path/to/your/project
76
59
  ```
77
-
78
- - Run the following command to create a virtual environment
79
- (replace adpsenv with your preferred environment name):
60
+ - Run the following command to create a virtual environment (replace adpsenv with your preferred environment name):
80
61
 
81
62
  ```bash
82
63
  python -m venv adpsenv
83
64
  ```
84
65
 
85
66
  #### Step 3: Activate the Environment
86
-
87
67
  - On Windows:
88
-
89
68
  ```bash
90
69
  adpsenv\Scripts\activate
91
70
  ```
92
71
 
93
72
  - On macOS/Linux:
94
-
95
73
  ```bash
96
74
  source adpsenv/bin/activate
97
75
  ```
98
-
99
- You’ll see the environment name in your terminal prompt
100
- indicating the environment is active.
76
+ You’ll see the environment name in your terminal prompt indicating the environment is active.
101
77
 
102
78
  #### Step 4: Install Dependencies
103
79
 
@@ -108,51 +84,44 @@ pip install pyadps
108
84
  ```
109
85
 
110
86
  #### Step 5: Deactivate the Environment
111
-
112
87
  When you’re done working in the environment, deactivate it by running:
113
88
 
114
89
  ```bash
115
90
  deactivate
116
91
  ```
117
92
 
118
- ### 2. Using `conda` (Anaconda/Miniconda)
119
93
 
120
- #### Step 1: Install Conda
121
94
 
95
+
96
+ ### 2. Using `conda` (Anaconda/Miniconda):
97
+
98
+ #### Step 1: Install Conda
122
99
  First, you need to have Conda installed on your system. You can either install:
123
100
 
124
101
  - [Anaconda (Full Distribution)](https://www.anaconda.com/products/individual)
125
102
  - [Miniconda (Lightweight Version)](https://docs.conda.io/en/latest/miniconda.html)
126
103
 
127
104
  #### Step 2: Create a Conda Environment with Python 3.12
128
-
129
- Once Conda is installed, open a terminal or command prompt and run
130
- the following to create a new environment (replace `adpsenv` with
131
- your preferred environment name):
105
+ Once Conda is installed, open a terminal or command prompt and run the following to create a new environment (replace `adpsenv` with your preferred environment name):
132
106
 
133
107
  ```bash
134
108
  conda create --name adpsenv python=3.12
135
109
  ```
136
110
 
137
- #### Step 3: Activate the Conda Environment
138
-
111
+ #### Step 3: Activate the Environment
139
112
  ```bash
140
113
  conda activate adpsenv
141
114
  ```
142
115
 
143
- #### Step 4: Install pyadps Dependencies
144
-
145
- You can install packages with pip inside Conda environments.
146
-
116
+ #### Step 4: Install Dependencies
117
+ You can install packages with pip inside Conda environments.
147
118
  ```bash
148
119
  pip install pyadps
149
120
  ```
150
121
 
151
- #### Step 5: Deactivate the Conda Environment
152
-
153
- When done working in the environment, deactivate the environment by running:
154
-
155
- ```bash
122
+ #### Step 5: Deactivate the Environment
123
+ When done, deactivate the environment by running:
124
+ ```
156
125
  conda deactivate
157
126
  ```
158
127
 
@@ -161,11 +130,11 @@ conda deactivate
161
130
  ### Streamlit web interface
162
131
 
163
132
  Open a terminal or command prompt, activate the environment, and run the command.
164
-
165
133
  ```bash
166
134
  run-pyadps
167
135
  ```
168
136
 
137
+
169
138
  ## License
170
139
 
171
140
  This project is licensed under the MIT License. See the LICENSE file for details.
@@ -0,0 +1,31 @@
1
+ pyadps/Home_Page.py,sha256=gC0eFMtn85U_A4KcVlCEzXkB6a_J0WD3vpK691Kmyw8,1180
2
+ pyadps/__init__.py,sha256=bNCm6_WIhiwvaUeOZhRkyLZyzzUKfSH80Fslg0JPJyk,232
3
+ pyadps/__main__.py,sha256=cIFUayxPnKl00oIR99L6IUEvc8trW7dijtfBQCAen5c,356
4
+ pyadps/pages/01_Read_File.py,sha256=nN05FfZZ1wWOY0T1HRKQ9e2SGoKcc1eQLnTQnmQlfQw,8904
5
+ pyadps/pages/02_View_Raw_Data.py,sha256=-Txl4seQG_c1iAyKRDGONebOARmgEelTgYw19DajToo,3675
6
+ pyadps/pages/03_Download_Raw_File.py,sha256=XBpn4Jt4f9XjZoELS7svJW8S5JBFJnKPUkuIgsHlz_w,8787
7
+ pyadps/pages/04_QC_Test.py,sha256=RR6xos_jgTVrxve8GyrUxvWhEmxpLgbQ-Cx-xAazsls,10335
8
+ pyadps/pages/05_Profile_Test.py,sha256=TBqxJ4TRM7TN5Y7UxXkVtyfS6isD7FWzyS4wuZw79XE,19570
9
+ pyadps/pages/06_Velocity_Test.py,sha256=pBl56ITM-fTM5UnfB_qcYdzWNtmlhD5ZeGUGLwrBKj8,12066
10
+ pyadps/pages/07_Write_File.py,sha256=hzhKxQXwoMa-WC7Co3ufkqPAS_iLkqea6I_OusDQUM4,16115
11
+ pyadps/pages/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
+ pyadps/utils/__init__.py,sha256=NJQy9tUDnAOvX9-c47LjBJzxYeICC4y-WBv44pOL09k,402
13
+ pyadps/utils/autoprocess.py,sha256=DB0a8ycyEL1n0nNWsG-1lU0JmO5CtNQA_VXJsntIfek,9691
14
+ pyadps/utils/cutbin.py,sha256=JioME3mo4wZKiJ7lOWqNo0MvxHNFYv2enirBoD0oh6E,15911
15
+ pyadps/utils/metadata/config.ini,sha256=zbwByM9mIfLPPCkaJI7ShCmLbnAI9lkeImnVpkSCw2U,1821
16
+ pyadps/utils/metadata/flmeta.json,sha256=diIB9nht_0uw9YJNSFGdZYGzeVbR-07zIZS9Nf4VPSE,14245
17
+ pyadps/utils/metadata/vlmeta.json,sha256=_dkQlGkkUvpAIM7S6kEUenSaiCpOrwXg8n1aU3dDF3s,22535
18
+ pyadps/utils/plotgen.py,sha256=ylYPxBmrtPc_ssgEwyUixc6p3QuNcTs88LgJHWk_Vag,7129
19
+ pyadps/utils/profile_test.py,sha256=_eXh0JstTAxvYAEJEn1J_QpEJWeQBVIyZ7IPWipq3Vg,6168
20
+ pyadps/utils/pyreadrdi.py,sha256=MX5xe5qKwFMF1RWeCQ3-vBDxm9nP0UbHsEJzSDewnuY,34807
21
+ pyadps/utils/readrdi.py,sha256=ZQnkoVI1NUUjU7tVWx4gnLo7b2C3Lv4LnVPKm56qvqg,45028
22
+ pyadps/utils/regrid.py,sha256=Hj2dYSk4RQgXWXvkil5s5GlhyF-gE4HvO9Y_yIWrfPM,10006
23
+ pyadps/utils/script.py,sha256=yf3AZS3FMS2xk77rwezGA8WefwV03vIRQ6HraoeLuBA,4965
24
+ pyadps/utils/signal_quality.py,sha256=E1lZWZfdUnbc5c02px5WWU8b12DnkeCo-gRHjIoe18s,4170
25
+ pyadps/utils/velocity_test.py,sha256=sjQDgyC8TtOcmR8xW7crPhbt9ZAyp6Ej5o8bOdcWqxk,4707
26
+ pyadps/utils/writenc.py,sha256=Oc6vtMec4YWitv_XQYBuiakvo3ZUACBL0uZSL9lGUm4,9793
27
+ pyadps-0.2.0b0.dist-info/LICENSE,sha256=sfY_7DzQF5FxnO2T6ek74dfm5uBmwEp1oEg_WlzNsb8,1092
28
+ pyadps-0.2.0b0.dist-info/METADATA,sha256=bcnpYpROIyXwlFdsDSTHRnryh1CokPj6bqi5jTY1LVw,4238
29
+ pyadps-0.2.0b0.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
30
+ pyadps-0.2.0b0.dist-info/entry_points.txt,sha256=qS5lbmTJLC4Ys0nu4-2tJoBpAHxTREta30KFrDyTfsY,90
31
+ pyadps-0.2.0b0.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.0.0
2
+ Generator: poetry-core 1.9.1
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,5 +1,4 @@
1
1
  [console_scripts]
2
2
  run-auto=pyadps.utils.autoprocess:main
3
3
  run-pyadps=pyadps.__main__:main
4
- run-script=pyadps.utils.script:main
5
4