Skip to main content

Parser for .cnv files, the Sea-Bird CTD data format.

Project description

PyCNV
==========================

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.

.. _`Sea Bird`: http://www.seabird.com/software/SBEDataProcforWindows.htm

Support and Documentation
-------------------------

See the `PyCNV 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.

.. _`PyCNV Wiki`: http://pycnv.castelao.net
.. _`Seasoft`: http://www.seabird.com/pdf_documents/manuals/Seasoft_4.249Rev05-02.pdf
.. _`pcmdi standard name table`: http://cf-pcmdi.llnl.gov/documents/cf-standard-names/standard-name-table/19/cf-standard-name-table.html

Quick howto use
---------------

To install:

pip install pycnv


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 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 previous list, this is how you get the data. It will be a masked array.



License
-------

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

Authors
-------

Guilherme Castelão <guilherme@castelao.net>
Luiz Irber <luiz.irber@gmail.com>


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

News
====

0.3
___

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

0.2
---

* First public release

0.1.8
-----

* 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']

0.1.7
-----

* 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

0.1.6
-----

* 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

0.1.5
-----

* Initial prototype of the cnvdump

0.1.1
-----

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

0.1
---

*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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cnv-0.3.2.tar.gz (12.0 kB view details)

Uploaded Source

File details

Details for the file cnv-0.3.2.tar.gz.

File metadata

  • Download URL: cnv-0.3.2.tar.gz
  • Upload date:
  • Size: 12.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for cnv-0.3.2.tar.gz
Algorithm Hash digest
SHA256 ba7de34069c01404c62b7b246e67a67e11800ea17f912ec6b3572e4a1453b9e8
MD5 e3d2ac3ec44d31ba19fb7ab8be3eb16b
BLAKE2b-256 79b0667e3555329df0128e6c80c043c8a1641b9e57a20f9212263225b1b9713b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page