adcpy

code to work with ADCP data from the raw binary in python 3x

https://github.com/mmartini-usgs/adcpy

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 3 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.2%) to scientific vocabulary

Keywords

adcp-data epic-convention python
Last synced: 6 months ago · JSON representation ·

Repository

code to work with ADCP data from the raw binary in python 3x

Basic Info
  • Host: GitHub
  • Owner: mmartini-usgs
  • License: other
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 22.7 MB
Statistics
  • Stars: 21
  • Watchers: 2
  • Forks: 16
  • Open Issues: 4
  • Releases: 0
Topics
adcp-data epic-convention python
Created about 9 years ago · Last pushed over 4 years ago
Metadata Files
Readme Changelog License Citation

README.md

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

Owner

  • Name: Marinna Martini
  • Login: mmartini-usgs
  • Kind: user
  • Location: Woods Hole, MA
  • Company: U.S. Geological Survey

Ocean engineer at USGS with @csherwood-usgs, @rsignell-usgs, @aaretxabaleta-usgs, @emontgomery-usgs , @dnowacki-usgs

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Martini
    given-names: Marinna
    orcid:  "https://orcid.org/0000-0002-7757-5158" 
title: "ADCPy"
version: 0.0
date-released: 2020-11-22
url:  "https://github.com/mmartini-usgs/ADCPy"

GitHub Events

Total
  • Watch event: 4
Last Year
  • Watch event: 4

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 194
  • Total Committers: 3
  • Avg Commits per committer: 64.667
  • Development Distribution Score (DDS): 0.057
Top Committers
Name Email Commits
mmartini-usgs m****i@u****v 183
Marinna Martini m****s@u****m 8
Filipe Fernandes o****f@g****m 3
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 10
  • Total pull requests: 1
  • Average time to close issues: 6 months
  • Average time to close pull requests: 42 minutes
  • Total issue authors: 2
  • Total pull request authors: 1
  • Average comments per issue: 0.6
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • mmartini-usgs (8)
  • emontgomery-usgs (2)
Pull Request Authors
  • ocefpaf (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 81 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 6
  • Total maintainers: 1
pypi.org: adcpy

read ADCP data from TRDI and Nortek instruments

  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 81 Last month
Rankings
Forks count: 9.1%
Dependent packages count: 10.1%
Average: 15.6%
Stargazers count: 16.0%
Downloads: 21.0%
Dependent repos count: 21.6%
Maintainers (1)
Last synced: 6 months ago

Dependencies

requirements-dev.txt pypi
  • check-manifest * development
  • pytest * development
  • pytest-xdist * development
  • twine * development
  • wheel * development
requirements.txt pypi
  • netCDF4 *
  • numpy *
  • pandas *