skip to navigation
skip to content

Not Logged In

seabird 0.5.3

A non official package to handle the output of Sea-Bird's CTD.

Latest Version: 0.5.5


This is a parser for Sea Bird CTD output files.

The `Sea Bird CTD`_ post processed data usually uses the .cnv extention. The purpose of the PyCNV 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 don'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 this package, do not complain to Sea-Bird.

.. _`Sea Bird`:

Support and Documentation

See the `Seabird Wiki`_ to view documentation, report bugs, and obtain support.

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

The variables names were based on the `pcmdi standard name table`

If PyCNV don'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 PyCNV to work with it.

.. _`Seabird Wiki`:
.. _`Seasoft`:
.. _`pcmdi standard name table`:

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:

cnvdump your_file.cnv

To convert a .cnv to a NetCDF, run:

cnv2cdf your_file.cnv

In a python script, one can use like this:

from seabird.cnv import fCNV

profile = fCNV('your_file.cnv')

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

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

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


``seabird`` is offered under the PSFL. I guess I need to put a link here?


Guilherme Castelão <> and Luiz Irber <>

.. seabird is a parser for the CTD data format used by Sea-Bird



* Testing structure
* Some minor improvements in the core.


* Carolina Nobre pointed that there are some .cnv files without any time variable, i.e. no timeS, timeJ or timeQ. The CNV() will not fail anymore if lacks a time record.


* The oficial package name now is seabird. I realized that my goal here goes beyond to just parse the .cnv files, so the name seabird covers it better.


* cnv2nc, a script to convert the cnv into a netCDF file.


* First public release


* Refactoring. Parsed text is saved in self.parsed, preparing to output
everything that wasn't specifically parsed.
* XML is extracted into self.attributes['awkward_xml']


* Now it calculate and include the hex md5sum.
* Bugfix, now handle well when timeJ has masked values.
* Bugfix converting timeJ, it was one day longer.
* I'll run on the whole PIRATA dataset to check against different formats
and after that it will be ready for 0.2 as Beta version


* When position available in the header.intro as NMEA, load this instead of
try to parse from the header.notes.
* Load default values from a yaml file, like attributes{cruise, project,
shipname ...}
* Using a recommended variable names list


* Initial prototype of the cnvdump


* Rules are now inside the packag, and loaded with pkg_resources.


*Release date: 3-Jul-2012*

* Initial import.
* It's able to load the variables into Masked Array, but it's not the best way to do it.  
File Type Py Version Uploaded on Size
seabird-0.5.3.tar.gz (md5) Source 2014-04-16 14KB
  • Downloads (All Versions):
  • 20 downloads in the last day
  • 106 downloads in the last week
  • 153 downloads in the last month