GNU Data Language (GDL) - a free and open-source...

Post on 12-Oct-2020

0 views 0 download

transcript

GNU Data Language (GDL) - a free and open-source implementation of IDLR©

Sylwester Arabas1, Marc Schellens*, Alain Coulais2, Joel Gales3, Peter Messmer4, and many other volunteers all around the world**

*: Marc is the primary author and the maintainer of GDL **: a list of contributors is available at the project’s website (http://gnudatalanguage.sf.net/) and in the AUTHORS file of the GDL tarballs and packages1: Institute of Geophysics, University of Warsaw, Poland; 2: LERMA, CNRS and Observatoire de Paris, Paris, France; 3: NASA Goddard Space Flight Center, Greenbelt, Maryland, USA; 4: Tech-X Corporation, Boulder, Colorado, USA

About GDL

GNU Data Language (GDL) is developed with the aim of providingan open-source drop-in replacement for the ITTVIS’s Interactive DataLanguage (IDL). It is free software developed by an international teamof volunteers led by Marc Schellens - the project’s founder (a listof contributors is available on the project’s website). GDL with its libraryroutines is designed as a tool for numerical data analysis andvisualisation. As its proprietary counterparts (IDL and PV-WAVE),GDL is used particularly in geosciences and astronomy. GDL isdynamically-typed, vectorized and has object-oriented programmingcapabilities. The library routines handle numerical calculations, datavisualisation, signal/image processing, interaction with host OS and datainput/output. GDL supports several data formats such as netCDF,HDF4, HDF5, GRIB, PNG, TIFF, DICOM, etc. Graphical outputis handled by X11, PostScript, SVG or z-buffer terminals, the last oneallowing output to be saved in a variety of raster graphics formats. Whilestill being in its beta-stage of development (see Coulais et al., 2009),GDL proved to be a usable tool both for research (Jaffey et al., 2008,2009) and teaching purposes (outlined hereby). GDL is released underthe GNU GPL licence - you are free to use it, to share it with anyone,to modify and improve it, and to share the modified version with anyone.Contributions and users’ feedback are welcome!

References

Coulais, A., M. Schellens, J. Gales, S. Arabas, M. Boquien, P. Chanial, P. Messmer,D. Fillmore, O. Poplawski, S. Maret, G. Marchal, N. Galmiche, and T. Mermet, 2009:Status of GDL - GNU Data Language. Astronomical Data Analysis Software andSystems XIX , ASP Conference Series, Sapporo, Japan.http://aramis2.obspm.fr/coulais/.

Jaffey, A., M. Cheung, and A. Kobashi, 2008: Online data analysis using Web GDL.AGU Fall Meeting 2008 , San Francisco, USA. http://www.agu.org/meetings/fm08/.

Jaffey, A., A. Kobashi, and M. Cheung, 2009: GPU acceleration of the scientific dataanalysis package GDL. NVIDIA Research Summit 2009 , San Jose, USA.http://www.nvidia.com/object/gtc 2009 archive.html.

Acknowledgements

Presentation of the poster during the EGU conference in Vienna was supported by theEuropean Geosciences Union (through the Young Scientist’s Travel Award forEuropeans) and the European Commission’s 6th FP IP EUCAARI (European Integratedproject on Aerosol Cloud Climate and Air Quality interactions, no. 036833-2). Thanksare due all volunteers who helped in the development of GDL by providing their feedbackin the form of patches, bug reports, support requests and comments. Development ofGDL is hosted at SourceForge. The LIDAR figure was provided by Michał Piądłowski.

Disclaimer

GDL is not an official GNU package (yet). IDL is a registered trademark of ITT VisualInformation Solutions (http://www.ittvis.com/).

Dependencies and useful libraries (all free & open)

GDL is an incremental compiler with integrated debugging facilities. It is written in C++ using theANTLR language-recognition framework. Extensions to GDL can be written in C++, GDL, andPython. Most of the library routines are implemented as interfaces to open-source libraries:

GNUScientific Library

(GSL)

Terence Parr's

ANTLR

C++STL, GCC

OpenMP(GCC >4.2)

UNIDATA's

netCDF

HDFGroup's

HDF4

ECMWF's

GRIB API

HDFGroup's

HDF5

ImageMagick's

Magick++

RobbieBarnett 's

GDLffDICOM

free, open & libre:

free & open:

MIT's

FFTW

PythonPython

wxWidgets

Paul Wessel's

GSHHS

PLplot

Gerald I. Evenden's

libproj4

UNIDATA's

UDUNITS

Matthew Craig's

TeXtoIDL

(optional)

(mandatory)

readlinezlib...

GNUautotools

(for development only)

Craig Markwardt's

MPFITcurve fitt ing, function

minimi-zation

2D & 3D plots, contours, surfaces, text

annotations etc

NASA's

Astron libincl. FITS IO

Craig Markwardt's

CMSVLIBIDL's SAVE

files I/O

calling Python code from GDL &

GDL as a Python module

shorelines etc

simple linear algebra, random numbers, histograms, interpolation,

splines, root-finding, physical constants catalogue, wavelets,

etc

(optional)

(IDL-written librariesfunctional under GDL)

e.g.

multithreadedmatrix

op.

grammar descriptionparsers

Example usage of GDL for classroom work on data analysis

GDL proved to be a useful tool for classroom work on dataanalysis. In 2010 it was used for the second time as a data-analysisenvironment during a meteorological-data processing coursetaught at the Institute of Geophysics, University of Warsaw. Thecourse covers hands-on training in handling of scientific data sets.GDL is used for reading GRIB, netCDF & HDF files, andperforming basic data analysis and visualisation tasks.

GDL plotting weather-forecast map from aGRIB file with NOAA GFS model output.

GDL used for analyzing LIDAR data (readingnetCDF files, producing PostScript plots) onLinux, using the IDLWAVE mode for Emacs.

GDL used as a part of a web-interface forcontrolling 2D fluid flow simulation and

visualizing the output (reading netCDF filesand outputting SVG plots).

GDL-generated PostScript plot of a Fourierspectrum in a LaTeX-generated PDF file.

GDL compressing weather-radar imagesusing truncated wavelet approximation.

GDL used for demonstrating Kalmanfiltering on randomly-generated signal.

GDL displaying MODIS satellite image(stored in a HDF file) on multiple X11

windows - using a true-color RGBcomposite, and using separate channels.

Supported platforms and availability of pre-compiled/pre-configured packages

Packaged versions of GDL are available for several Linux distributions(incl. Fedora, Gentoo and Debian) and Mac OS X (e.g. via Macports andFink). The source code (available at http://gnudatalanguage.sf.net/)compiles on other UNIX systems, including BSD, OpenSolaris. TM

TM

Poster presented at the European Geosciences Union General Assembly 2010, May 2010, Vienna, Austria (ESSI1 session: Earth & Space Science Informatics / International Geoscience Informatics Partnerships, Projects, and Collaboration Technologies)