Skip to main content

ADCPy - code to work with ADCP data from the raw binary using python 3.x

Documentation Status Build Status

Purpose

This code prepares large amounts of single ping ADCP data from the raw binary for use with xarray by converting it to netCDF.

Motivation

The code was written for the TRDI ADCP when I discovered theat TRDI's Velocity software could not easily export single ping data. While there are other packages out there, as the time of writing this code, I had yet to find one that saved the data in netCDF format (so it can be accessed with xarray and dask), could be run on linux, windows and mac, and did not load it into memory (the files I have are > 2GB)

The code is written as a module of functions, rather than classes, ensemble information is stored as nested dicts, in order to be more readable and to make the structure of the raw data (particularly the TRDI instruments) understandable.

Status

As the code stands now, a 3.5 GB, single ping Workhorse ADCP .pd0 file with 3 Million ensembles will take 4-5 hours to convert. I live with this, because I can just let the conversion happen overnight on such large data sets, and once my data is in netCDF, everything else is convenient and fast. I suspect that more speed might be acheived by making use of xarray and dask to write the netCDF output, and I may do this if time allows, and I invite an enterprising soul to beat me to it. I use this code myself on a routine basis in my work, and continue to make it better as I learn more about python.

At USGS Coastal and Marine Geology we use the PMEL EPIC convention for netCDF as we started doing this back in the early 1990's. Downstream we do convert to more current CF conventions, however our diagnostic and other legacy code for processing instrument data from binary and other raw formats depends on the EPIC convention for time, so you will see a time (Time (UTC) in True Julian Days: 2440000 = 0000 h on May 23, 1968) and time2 (msec since 0:00 GMT) variable created as default. This may confuse your code. If you want the more python friendly CF time (seconds since 1970-01-01T00:00:00 UTC) set timetype to CF.

Use at your own risk - this is a work in progress and a python learning project.

Enjoy,

Marinna

Metadata

Release files for ADCPy 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ADCPy 0.1.1
File Size Uploaded
ADCPy-0.1.1.tar.gz 55.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ADCPy 0.1.1
File Interpreter ABI Platform
ADCPy-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 181.2 kB

Release files / ADCPy-0.1.1.tar.gz

Download URL ADCPy-0.1.1.tar.gz
Size 55.7 kB
Tags Source
SHA-256 checksum
How to use checksums
10e5fd2f9f67588ac4764147ec14dd1537d6e72439444eaf74bd46fb5a706818
BLAKE2b-256 checksum
How to use checksums
6c553afe81686cc8ee6a0eb97e9e794c89facd94f0f2ce7e00c6de0e7d67a2de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2.post20191201 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.7.3

Release files / ADCPy-0.1.1-py3-none-any.whl

Download URL ADCPy-0.1.1-py3-none-any.whl
Size 125.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
322777e216d7ebea455ccf8931f9b06a213d486c6a18b81d497dd79da2669098
BLAKE2b-256 checksum
How to use checksums
b9473f104f66638b0e8abaad3920a2f9497a7192dd0215edd2728a33df985f01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2.post20191201 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.7.3

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page