Copyright (C) 2007-2022 S[&]T, The Netherlands

                CODA Frequently Asked Questions

    This document contains answers to questions regarding CODA.

General questions
=================

 * The tool works well, but I miss the following feature: <...>. Can you
   include it?

Please tell us how we can improve CODA and we will at least consider it. If we
consider the request to be useful to many people, it will have a good chance to
be implemented by us and included in the next release. Otherwise (in case of
very specific requests) you might also consider to have it implemented
commercially, either by us, or by someone else (after all, it's open source!).
But, in that case, be sure to read the question about commercial use later on.

 * How do I uninstall CODA?

If you use Windows with the binary installer of CODA, then go to the
'add/remove software' control panel of Windows and select CODA. When it asks
you whether you want to remove CODA, click yes and all CODA components will be
removed.
Also, don't forget to remove any IDL and MATLAB settings you might have made
regarding CODA (since CODA is now removed, these settings have become invalid).
If you accidentally installed a new version of CODA over a previous
installation then the CODA directory (which you provided during installation;
'C:\CODA' by default) might still contain some files and is thus not removed.
If the CODA directory is still there, check whether this directory contains
files you might have put there yourself and still want to keep, otherwise you
can safely delete this directory.

If you use a UNIX system, you may try a 'make uninstall' in the unpacked CODA
source directory (if you still have this directory available). However, this is
not guaranteed to always work and especially if you have installed a new
version of CODA over a previous CODA installation the best thing to do is to
remove the following files and directories by hand ($(PREFIX) equals the
directory you gave with the --prefix option to ./configure during installation.
If you did not provide a --prefix option then $(PREFIX) equals '/usr/local'):

   $(PREFIX)/bin/codacheck
   $(PREFIX)/bin/codacmp
   $(PREFIX)/bin/codadd
   $(PREFIX)/bin/codadump
   $(PREFIX)/bin/codafind
   $(PREFIX)/include/coda.h
   $(PREFIX)/lib/libcoda.*
   $(PREFIX)/lib/coda/          (remove the directory and its contents)
   $(PREFIX)/lib/python2.7/site-packages/coda/
                                (remove the directory and its contents)
   $(PREFIX)/share/coda/        (remove the directory and its contents)
   
If you used a different version of Python you will have to use a different path
for $(PREFIX)/lib/python2.7/site-packages.

 * Can I provide my own compiler optimisation flags for building CODA?

It is possible to override the compiler flags when you want to build CODA.
For Windows you will have to edit the .dsp files (all these files are
located in the 'windows' subdirectory of your unpacked source package).
For Unix based systems you can pass a 'CFLAGS="..."' option to
the configure script. By default configure will use -g -O2 for the gcc
compiler and use the default optimisation settings for all other compilers.

 * When using CODA with HDF5 support the following warning is given:
---
Warning! The HDF5 header files included by this application do not match the
version used by the HDF5 library to which this application is linked. Data
corruption or segmentation faults may occur if the application continues.
'HDF5_DISABLE_VERSION_CHECK' environment variable set, application will
continue.
Headers are 1.6.4, library is 1.6.2
---
MATLAB will abort after this warning unless you set the
HDF5_DISABLE_VERSION_CHECK environment variable on your system.

This problem is related to the fact that MATLAB comes with its own HDF5
library and CODA is linked to a version of the HDF5 library that you provided
yourself. Downloading a HDF5 version that matches the version mentioned in
'library is x.x.x' and using that to build CODA will fix the problem. Earlier
versions of HDF5 can be downloaded from:
ftp://ftp.hdfgroup.org/HDF5/prev-releases

 * I get a 'could not map file into memory' error when I try to open a
   data file with CODA.

This situation can occur if you have too many (large) files open at the same
time. It is perfectly OK to have multiple files open at the same time. Still,
you are advised to close files as soon as you are done with them, since each of
them consumes a vital system resource: address space. Note that this is not the
same as 'memory': in CODA a data product is not read in its entirety into
memory when you open it. A typical opened product file should consume a maximum
of about 20 kilobytes of memory. However, the entire product file is virtually
mapped into memory (a well-known technique that provides high-performance I/O
access to a file). On a recent 32-bit computer (e.g., an Intel x86-class
computer running Linux or Windows), up to 3 gigabytes worth of files may be
mapped into memory at any one point in time. This means that if you use files
that are about 250MB apiece, you can probably use 5 simultaneously opened
files, but not 50. So a remedy to this situation is to close some product-files
before you open a new one.

 * When calling a CODA function in IDL, IDL returns an 'Error loading sharable
   executable.' message, mentioning 'wrong architecture' in the message.

This often means that you are running idl in 64-bit mode, whereas you have
build CODA in 32-bit mode. You should either run idl in 32 bit mode (e.g.
run 'idl -32' from the command prompt), or build a 64-bit version of CODA (see
above).

