Edit on GitHub

velosearaptor

velosearaptor

Library of python modules for reading and processing raw RDI Teledyne ADCP data. The code interfaces the UH package pycurrents and its Multiread for efficient reading of raw ADCP data.

velosearaptor.io provides convenience functions for reading raw data either into an xarray.Dataset or into the output structure format provided by the UH software package.

velosearaptor.adcp is a collection of functions that are useful to quickly analyze raw ADCP data.

velosearaptor.madcp contains functions for processing moored ADCP data. Many thanks to Eric Fiering for sharing his code on moored ADCP data processing mcm_avp.py that much of this is based on.

Installation

Installing pycurrents

This package depends on the pycurrents package. Installation instructions can either be found here, or a conda environment including all necessary dependencies can be installed via conda env create -f environment.yml. Take a look at environment.yml and requirements.txt and copy the relevant parts if you would like to incude the package and its dependencies in other environments.

Installing magdec

Note that this method only works with the editable pip install of velosearaptor (e.g. pip install -e .) since it compiles magdec locally and does not do a system install. See note at bottom for system install.

Requirements:

  • A C compiler, e.g. in OSX with homebrew use brew install gcc
  • conda package manager
  • The velosearaptor environment installed via conda, e.g. conda env create -f environment.yml

With the requirements satisfied, run the shell script:

./install_magdec.sh

To remove, delete the geomag/ directory.

For a system install you need to cd geomag and do something like sudo make install.


History

v0.?? (unreleased)

New Features

  • Install magdec via shell script.
  • Add an example notebook.
  • Read serial number from binary file and compare with SN in meta data (PR13). By Jesse Cusack.
  • Add bin mapping for cases with large pitch and roll. This adds velosearaptor.madcp.ProcessADCP.process_pings (PR17). By Jesse Cusack.
  • Add position to moored ADCP meta data (PR21).
  • Allow for external input of pressure time series in velosearaptor.madcp.ProcessADCP (PR12).
  • Improve default depth grid to also work well with mooring knockdowns (PR44).
  • Optionally read processing parameters from .yml-file (PR26).
  • Allow for string format when supplying start and end time in .yml parameter file (PR63).
  • Add CF-compliant meta data to output dataset (PR26).

Breaking Changes

  • Transfer repository from gunnarvoet to modscripps and rename from gadcp to velosearaptor. Legacy code still exists at https://github.com/gunnarvoet/gadcp.
  • Change processed dataset coordinate z to depth (PR48).
  • Change vel_std variables in output dataset to vel_error by dividing the standard deviation of each average by the square root of the number of pings (PR26).
  • Low-pass filter (inherently noisy) pressure before ensemble-averaging continuous ping data (PR61). By Gunnar Voet.

Bug Fixes

  • Fix conda/pip environment.
  • Read correct instrument orientation when a majority of the time series has been recorded outside the water (PR44).
  • Read paths provided via pathlib.PosixPath objects (PR55). By Gunnar Voet.
  • Fix xarray warning in groupby (PR55). By Gunnar Voet.

Documentation

  • Consolidate readme and history files.
  • Add button with link to source code on GitHub (PR43).

Internal Changes

  • Remove gvpy dependency (PR27).

v0.2.0 (2022 March)

This release brings a major refactoring of the velosearaptor.madcp module with lots of breaking changes. The module now allows for improved ensemble averages for burst sampling schemes with better control of the editing parameters.

New Features

Breaking Changes

Bug Fixes

  • Correct time stamp calculation for burst averages.
  • For burst sampling schemes average pressure before gridding to depth.

Documentation

Internal Changes

  • Improved the pip/conda requirements to automatically install the pycurrents package.

v0.0.1 (2020-04-28)

  • Moved all ADCP-related functions from gvpy to this module.
 1"""
 2.. include:: ../README.md
 3
 4---
 5
 6.. include:: ../HISTORY.md
 7
 8"""
 9__all__ = ["io", "adcp", "madcp", "tools"]
10
11__author__ = "velosearaptor Developers"
12__email__ = ""
13__version__ = "0.2.0"
14
15from . import adcp, io, madcp, tools