/** \mainpage CODA C interface
 *
 * \section intro Introduction
 *
 * This is the documentation that describes the Application Programmers Interface (API) for the CODA C Library.
 * It contains a full description for each of the functions in the API and a general description for each of the modules
 * mentioned below.
 * 
 * \section codadef CODA definition path
 *
 * Note that in order to access products whose formats are defined using .codadef files, you should let CODA know
 * where these .codadef files are stored. You can do this by using the coda_set_definition_path() or
 * coda_set_definition_path_conditional() functions, or you can set the CODA_DEFINITION environment variable.
 * This environment variable should be a ':' separated (';' on Windows) list of absolute paths to directories containing
 * .codadef files or absolute paths to .codadef files themselves (or a mix of those).
 *
 * \section intro_modules Modules
 * Each module has a separate section that contains its general description together with descriptions for all types,
 * variables, functions, etc. that are part of this module.
 * - \link coda_general CODA General\endlink
 * - \link coda_product CODA Product\endlink
 * - \link coda_types CODA Types\endlink
 * - \link coda_cursor CODA Cursor\endlink
 * - \link coda_expression CODA Expression\endlink
 * - \link coda_time CODA Time\endlink
 * - \link coda_error CODA Error\endlink
 *
 * \section performance Performance considerations
 * The following are some things to try that may help to improve the performance of reading data with CODA
 * - Disable boundary checks with coda_set_option_perform_boundary_checks().
 *   This can be a huge speed improvement, but only disable this once you have fully tested your program
 *   and are sure that all coda cursor navigation and reading function calls return successfully
 *   (i.e. return value equals 0).
 * - Disable special types with coda_set_option_bypass_special_types() and use the base type of the data.
 *   This can particularly increase performance for variable scale factor integers (::coda_special_vsf_integer).
 *   Note that this option can be enabled/disabled at will, so you might disable it when reading one field,
 *   but leave it enabled for reading others.
 * - Disable conversions with coda_set_option_perform_conversions() and use the data in its native format.
 * - For a single CODA cursor, read data as much as possible in sequence and use
 *   coda_cursor_goto_next_record_field() and coda_cursor_goto_next_array_element()
 *   when iterating over records and arrays.
 */
