ICARE programmers toolbox

ICARE developed a variety of tools to help users manipulate, analyze and visualize the data sets and formats available at ICARE. A few tools are provided by ICARE partners and distributed through this page. Feel free to use these tools. Please acknowledge the use of these tools in publications with a sentence such as “Software/tools provided by the ICARE Data and Services Center (http://www.icare.univ-lille1.fr)".
If you have any question, please contact our support team.


Language/Format: IDL
Application type(s): Analysis, Visualization
Related project(s): PARASOL, POLDER


Anapol is an IDL graphic interface for POLDER and PARASOL data visualization and analysis.

The functionalities of the program are :

Author(s): Francois-Marie Bréon, Marie-Pierre Moine (LSCE)

Average Tool

Language/Format: Numpy, Python
Application type(s): Analysis
Related project(s): MSG, PARASOL


This tool processes the average of multiple products and computes some additional statistics like the standard deviation, maximum and minimum per pixel. The input files and the output files are in HDF format. This tool is divided into three modules which can be used separately. With options, this tool can perform its calculations within a temporal distribution (start date and end date) on a selected area (subsetting's option).

Author(s): Nicolas Thomas (ICARE)


Language/Format: C, C++
Application type(s):
Related project(s): CALIPSO


caliop2ascii program aims to display CALIOP/caltrack HDF file dataset's value in ascii format either as physical values (scaled), which is the default behaviour from now, or as raw values (old behavior for compatibility, see --raw option).


Usage : caliop2ascii [list of options] <input CALIOP/caltrack HDF  file> [sds_name1,[sds_name2 ...]]
 If invoked without any options and arguments, caliop2ascii will display this usage message
Author(s): François Thieuleux


Language/Format: C, C++, Fortran
Application type(s): Extraction
Related project(s): MSG


The Cookie-cutter project is born from the need to compare data from various moving satellites to those from the SEVIRI instrument over geostationnary satellite MSG. The goal was to obtain, for each acquisition day of a given moving satellite, mosaics of SEVIRI slot extractions (the cookies) in best temporal coincidence with the moving platform, in order to allow direct comparisons of data.

Author(s): Fabrice Ducos (ICARE - LOA)

Correlation Matcher

Language/Format: Python
Application type(s): Analysis
Related project(s):


This page contains the code of a tool for giving informations on correlations between two variables or two images.

Author(s): James Manley (ICARE)


Language/Format: C++
Application type(s): Data Read/Write
Related project(s): CALIPSO, MODIS, PARASOL


This library provides interfaces for reading products hosted by ICARE, like MODIS, CALIPSO, PARASOL, CLOUDSAT, MERIS... It also provides high level interfaces to common file formats like HDF5 or HDF4interfaces Usage In the /test directory of the package, stands a few code snippets that show how to use it.


Source can be downloaded here :
Package can be browsed here :
Author(s): Nicolas Pascal, James Manley (ICARE)


Language/Format: C
Application type(s): Data Conversion
Related project(s): MSG


converts a FIS file (FORMAT IMAGE STANDARD, .fis extension) into a RAW file

The FIS format is one of the numerous formats in which MSG (METEOSAT SECOND GENERATION) data are provided. In order to let the user read easily the content of such files without bothering with a new format, fis2raw converts it into a simple raw file (a simple binary array of values with no header).

Author(s): Fabrice Ducos (ICARE - LOA - Univ. of Lille)


Language/Format: C, Fortran
Application type(s): Data Read/Write
Related project(s): GOES, METEOSAT, MSG


This library is a set of routines for manipulating geostationary satellites data. It allows to compute latitudes, longitudes, azimutal and zenithal angles from rows and columns in the satellite grid and the reverse.

Hopefully the function names should be self-explanatory. Inputs are passed by values, outputs passed by pointers (only one value addressed by each pointer). The functions suffixed by _double handle fractional rows and columns instead of integral values.

Author(s): C wrapper : Fabrice Ducos ( ICARE - LOA - Univ. of Lille ) ; FORTRAN Library developped by SATMOS and supplied by Geneviève Sèze ( LMD )

HDF compressor

Language/Format: C++
Application type(s): Data Conversion
Related project(s):


The hdfcompressor tool copies a source HDF file and compress its SDS data, using a gzip algorithm.


At this time, only the file/SDS attributes and SDS data are supported. The VData, VGroup... are ignored.

The build process supports only the UNIX/LINUX platforms

Author(s): Nicolas Pascal (ICARE)

HDF Reader

Language/Format: C, Fortran, Fortran77, Fortran90, IDL, MATLAB, Python
Application type(s): Data Read/Write
Related project(s):


This package contains generic tools and libraries for reading HDF4 files data, in C, Fortran 77, Fortran 90, IDL, Python and MATLAB programming languages. It contains high-level functions to read a sds data, read an file or SDS attribute, obtain informations about an HDF4 file...

Author(s): Bruno Six, Nicolas Pascal, Aminata Ndiaye (ICARE) ; Francois-Marie Breon (IPSL-LSCE)