Latest version:

  CODA-2.18.2 (released on June 20, 2017; Change Notes)

For an overview of known issues with these latest releases check the issues page on GitHub.

Introduction

The Common Data Access toolbox (CODA) provides a set of interfaces for reading remote sensing data from earth observation data files. These interfaces consist of command line applications, libraries, interfaces to scientific applications (such as IDL and MATLAB), and interfaces to programming languages (such as C, Fortran, Python, and Java).

CODA provides a single interface to access data in a wide variety of data formats, including ASCII, binary, XML, netCDF, HDF4, HDF5, CDF, GRIB, RINEX, and SP3. This is done by using a generic high level type hierarchy mapping for each data format. For self describing formats such as netCDF, HDF, and GRIB, CODA will automatically construct this mapping based on the file itself. For raw ASCII and binary (and partially also XML) formats CODA makes use of an external format definition stored in .codadef files to determine this mapping. On the download section of this website you will find .codadef files for various earth observation missions that can be used with CODA.

The CODA software is used as core data access component in various software applications, such as the Basic Envisat Atmospheric Toolbox (BEAT) the Basic Radar Altimetry Toolbox (BRAT), and several ESA internal quality control tools.

CODA started out as the core data access layer of BEAT (called BEAT-I), dating as far back as 2002. As of 2008, in order to harmonize the various uses of this data access layer, the software layer was turned into a separate entity named CODA. However, for several years the CODA software was only publicly available as part of either the BEAT or BRAT toolboxes. In 2011, with the release of CODA 2.1, CODA received its own website.

CODA is Open Source Software provided free of charge under the GPL v2 license. If you want to use CODA in a non GPL environment please contact S&T (see email address below) for additional licensing options.

CODA Overview

CODA consists of the following components:

C interface:The C interface is the foundation of CODA upon which all other CODA tools are build. As a developer you can also use this library and gain easy, high-performance access to all data in products that are supported by CODA.
Fortran interface:The Fortran interface provides a small wrapper for the C Library and allows you to call its functions from your Fortran 77/90 programs.
IDL interface:The IDL interface provides a wrapper for the C Library through a small set of powerful functions (such as coda_fetch) which are available from within IDL.
MATLAB interface:The MATLAB interface provides a wrapper for the C Library through a small set of powerful functions (such as coda_fetch) which are available from within MATLAB.
Python interface:The Python interface provides a wrapper for the CODA C Library. The Python interface contains both direct wrappers for the C Library functions (so you can traverse a product using the so-called CODA cursors) as well as the more high level functions that can be found in the IDL and MATLAB interfaces (e.g. coda_fetch).
Java interface:The Java interface provides a wrapper for the CODA C Library using JNI. The Java interface wraps the C Library functions behind classes for CODA Products, Types, and Cursors.
codacheck:With codacheck it is possible to provide a basic sanity check on product files.
codacmp:With codacmp two product files can be compared. In other words, it is a 'diff' tool for product data. The tool is primarily intended for verification purposes.
codadd:The codadd tool allows for a quick validation of .codadef files and is able to generate HTML documentation for the product format definitions that are inside the .codadef files.
codadump:With the codadump command line tool you can view data from any product file that is supported by CODA. The tool allows you to inspect the product structure (including array sizes), view and export data from the product in ASCII format, and export data into HDF4 format.
codaeval:CODA comes with an expression language. The codaeval tool allows you to run such an expression on one or more product files, or you can use it as a quick way to just syntactically and grammatically check an expression.
codafind:The codafind command line tool allows you to search files and directories for product files that are supported by CODA. The tool comes with a very powerful filtering mechanism that makes it possible to search for only those product files that match certain filter criteria.

Supported Platforms and Languages

Supported platforms include Linux, Mac OS X, and Windows. It should be possible to use the CODA package on other Unix platforms (Sun Solaris, IBM AIX, SGI Irix, HP/UX, BSD, etcetera) as well, since the entire system is implemented in portable ANSI-C code. However, these platforms are not routinely tested and may therefore require more effort during installation.

Acknowledgements

The development of CODA is primarily funded by the European Space Agency (ESA).
ESA Project Manager: Claus Zehner
esa logo
CODA is designed, developed and maintained by S&T. stcorp logo

Support and Feedback

Please send an e-mail to coda@stcorp.nl if you have any questions and/or remarks regarding CODA.

CODA is available on GitHub and issues/contributions can be found and submitted there.