[Paper Review] Status of GDL - GNU Data Language
This paper presents GDL (GNU Data Language), an open-source, IDL-compatible language for numerical data analysis and visualization, with full syntax compatibility and extensive libraries for matrix operations, plotting, and scientific I/O. The key contribution is a stable, production-ready system that enables scientific computing in astronomy and related fields, though it faces challenges in documentation, GUI widgets, and publication-quality graphics output.
GNU Data Language (GDL) is an open-source interpreted language aimed at numerical data analysis and visualisation. It is a free implementation of the Interactive Data Language (IDL) widely used in Astronomy. GDL has a full syntax compatibility with IDL, and includes a large set of library routines targeting advanced matrix manipulation, plotting, time-series and image analysis, mapping, and data input/output including numerous scientific data formats. We will present the current status of the project, the key accomplishments, and the weaknesses - areas where contributions are welcome !
Motivation & Objective
- To provide a free, open-source alternative to IDL for scientific data analysis and visualization.
- To ensure full syntax compatibility with IDL to ease migration for existing users.
- To support a wide range of scientific computing tasks through integration with established open-source libraries.
- To foster community contributions and improve software sustainability through user feedback and testing.
- To address key limitations such as documentation, GUI widgets, and publication-quality graphical output.
Proposed method
- Implementing a C++-based interpreter with full compatibility to IDL's syntax and semantics.
- Leveraging external open-source libraries including GSL (for mathematical functions), PLplot (for plotting), FFTW (for Fourier transforms), and ImageMagick/HDF/NetCDF (for I/O).
- Enabling multi-threaded matrix operations via OpenMP support in recent releases (0.9rc4+).
- Providing a Python bridge to allow interoperability between GDL and Python code.
- Using SourceForge for version control and community collaboration, with CVS for development and pre-compiled packages for major distributions.
- Supporting compilation on Linux, *BSD, macOS, and OpenSolaris, with detailed guides for macOS compilation.
Experimental results
Research questions
- RQ1How well does GDL replicate the functionality and performance of IDL in scientific computing workflows?
- RQ2What are the main technical and organizational challenges in maintaining a volunteer-driven, open-source scientific language?
- RQ3To what extent can GDL support publication-quality graphics and complex data visualization tasks?
- RQ4How effective is the current ecosystem of external libraries (e.g., MPFIT, Astron, CMSVLIB) in extending GDL’s capabilities?
- RQ5What improvements are needed to close the gap between stable releases and the latest development code in major Linux distributions?
Key findings
- GDL's core components—interpreter, library routines, and key data manipulation and plotting functions—are stable and perform comparably to IDL in most benchmarks.
- The performance of basic plotting functions (PLOT, OPLOT, PLOTS) using PLplot is comparable to IDL, though SURFACE and TV are slower, especially over networked X11.
- The Postscript output capability is weak and does not produce publication-quality figures, representing a major limitation.
- External libraries such as MPFIT, the Astron FITS library, and CMSVLIB for IDL save files are functional and usable within GDL.
- Despite active user feedback and contributions, documentation remains sparse due to the project's focus on IDL feature parity and reliance on external library documentation.
- Pre-compiled packages in major distributions often lag behind the CVS development version, creating a gap that hinders access to recent fixes and features.
Better researchstarts right now
From reading papers to final review, dramatically reduce your research time.
No credit card · Free plan available
This review was created by AI and reviewed by human editors.