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
todepth
(PR48). - Change
vel_std
variables in output dataset tovel_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
- Ensemble-average before depth gridding. This happens automatically when using
velosearaptor.madcp.ProcessADCP.burst_average_ensembles
. - Improved gridding for burst sampling schemes in
velosearaptor.madcp.ProcessADCP.burst_average_ensembles
. - Apply pg criterion prior to depth gridding in
velosearaptor.madcp.ProcessADCP.burst_average_ensembles
. - Interpolate over missing bin prior to depth gridding in
velosearaptor.madcp.ProcessADCP.burst_average_ensembles
. - Write log messages to a file and (if desired) to the screen.
Breaking Changes
- Changed the
velosearaptor.madcp
architecture and moved from using the functionvelosearaptor.madcp.proc
to the classvelosearaptor.madcp.ProcessADCP
.
Bug Fixes
- Correct time stamp calculation for burst averages.
- For burst sampling schemes average pressure before gridding to depth.
Documentation
- Added lots of documentation to
velosearaptor.madcp.ProcessADCP
. - Use pdoc to generate the package documentation.
- Automatically build the documentation using GitHub Actions.
- Automatically deploy the documentation to modscripps.github.io/velosearaptor with GitHub Actions.
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.