logo

SANGOMA data assimilation tools (version 1.0)

This software package from the SANGOMA project provides several utilities that are used in connection with data assimilation problems. Tools have been adapted to follow a common data model.

Contents

List of functions

The software is organized in the following sub-directories:

Requirements

Installation instructions

Download the file http://sourceforge.net/projects/sangoma/files/sangoma-_VERSION_.tar.gz from the Sourceforge site and decompress it. The decompressed files will be in a folder named sangoma-_VERSION_

wget http://sourceforge.net/projects/sangoma/files/sangoma-_VERSION_.tar.gz
tar -xvzf sangoma-_VERSION_.tar.gz

Fortran tools

The Fortran tools can be compiled by issuing make in subdirectory Fortran/ of the sangoma-_VERSION_ directory:

$ make
gfortran -O3 -fdefault-real-8  -I/usr/include  -c sangoma_base.F90 -o sangoma_base.o
...
gfortran -O3 -fdefault-real-8  -I/usr/include  -c perturbations/mod_sangoma_pseudornd.F90 -o perturbations/mod_sangoma_pseudornd.o
ar -r  libsangoma_tools.a  diagnostics/sangoma_ComputeEnsStats.o diagnostics/sangoma_ComputeHistogram.o diagnostics/sangoma_ComputeMutInf.o diagnostics/sangoma_ComputeSensitivity.o diagnostics/sangoma_ComputeSensitivity_op.o diagnostics/sangoma_ComputeRE.o diagnostics/sangoma_computeCRPS.o diagnostics/sangoma_computeRCRV.o diagnostics/sangoma_computeBRIER.o diagnostics/sangoma_arm.o perturbations/sangoma_EOFCovar.o perturbations/sangoma_MVNormalize.o perturbations/mod_sangoma_pseudornd.o
ar: creating libsangoma_tools.a
ranlib  libsangoma_tools.a

This creates a library called libsangoma_tools.a and the module files mod_sangoma_pseudornd.mod and sangoma_base.mod (possibly in uppercase depending on the compiler). The sangoma tools can be used from a Fortran or C program. A Fortran program must be compiled by using the option -I (indicating the path to the module files) and the option -L (the path of the library) and the name of the library -lsangoma_tools. For example:

gfortran -I$HOME/src/sangoma/tools/trunk myprogram.f90 -L$HOME/src/sangoma/tools/trunk -lsangoma_tools

For a C program, only the options -L$HOME/src/sangoma/tools/trunk and -lsangoma_tools must be specified.

If a different Fortran compiler is used instead of gfortran, then the variables FC and FFLAGS in the Makefile need to be adapted.

MATLAB/GNU octave tools

The MATLAB/GNU octave tools in the sub-directories of the directory Matlab/ can be used by including the corresponding directory in your MATLAB/GNU octave search path by using the script sangoma_addpath for including all tools. Individual tools can be added by using:

addpath('/path/to/subfolder');

The tools WCE, Anam and HFRadarExtract include test scripts named wce_demo, anam_test and test_hfradar_extractf respectively that verifies the correct functioning of the packages.

Examples

Examples for the tools are provided in the subdirectory examples/ that is include in each category-directory. In case of theh Fortran codes, there is a Makefile in the directory that compiles all examples.

Documentation

Documentation of the tools is available at http://www.data-assimilation.net/Documents/sangomaDL2.4.pdf.

License

This software release includes code distributed under the terms of the GNU Lesser General Public License (version 3 or later) and the GNU General Public License (version 2 or later). The source code file contains a reference to the applicable license and the copyright holder.

Acknowledgment

SANGOMA is an European FP7-SPACE-2011 project, Grant 283580.