Skip to content
Python parser for Sea-Bird CTD outputs, usually .cnv files.
Python Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin Removing cnvdump command. Jan 6, 2019
binder Add binder reqs and badge to README Dec 28, 2018
docs Expanding documentation on QC. Jan 6, 2019
seabird As a function can return clean instead of exit. Jan 6, 2019
tests Moving test_import and simplifying it. Dec 17, 2016
.travis.yml Travis not ready to test with Python-3.7 Jan 6, 2019
AUTHORS.rst Acknowledging Uday. Jan 6, 2019
LICENSE.rst Fixing license. Jul 21, 2015 Forgot to update to requirements_dev.txt Aug 31, 2016
VERSION Bump version: 0.10.6 → 0.11.0 Jan 6, 2019
requirements.txt Updating requirements to run with Python-3.7 Jan 6, 2019
requirements_dev.txt Updating supportdata version used on development. Mar 13, 2018
setup.cfg Bump version: 0.10.6 → 0.11.0 Jan 6, 2019 Removing cnvdump command. Jan 6, 2019



This is a parser for Sea Bird CTD and TSG output files.

The Sea Bird CTD post processed data usually uses the .cnv extention. The purpose of the PySeabird is to parse this type of files, considering the different versions along the time, as well as different setups.

At this point my goal is to have an object with the attributes parsed from the header, and the data as Masked Arrays, so that the user doesn't need to loose time evaluating the version and details of that cnv, but have it in a standard pattern, ready to use.

ATENTION, this is not an official package, so if you have trouble with it, do not complain to Sea-Bird. Open an issue at GitHub (, and I'll try to help you.

Support and Documentation

The documentation is available at

The Seasoft manual might be the best reference for the format used.

If PySeabird doesn't work with your .cnv files, send me a sample (just one .cnv) and I'll fix to run it. The SeaBird changed the format several times along the time, so I need to see what do you have, to adjust PySeabird to work with it.

Quick howto use

To install:

pip install seabird

One way to use is running on the shell the cnvdump. Independent of the historical version of the cnv file, it will return a default structure:

seabird cnvdump your_file.cnv

To convert a .cnv (CTD output) into a NetCDF file, run:

seabird cnv2nc your_file.cnv

In a python script, one can use like this:

from seabird.cnv import fCNV

profile = fCNV('your_file.cnv')

profile.attrs # It will return the header, as a dictionary.

profile.keys() # It will list the available variables.

profile['TEMP2'] # If TEMP2 was on the .keys(), this is how you get the data. It will be a masked array.

Check the example notebooks:


seabird is licensed under a 3-clause BSD style license - see LICENSE.rst


Guilherme Castelão <> and Luiz Irber <>

You can’t perform that action at this time.