gnudatalanguage / Gdl

Licence: gpl-2.0
GDL - GNU Data Language

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Gdl

Yt
Main yt repository
Stars: ✭ 279 (+168.27%)
Mutual labels:  scientific-computing, astronomy, scientific-visualization, geophysics
Awesome Scientific Python
A curated list of awesome scientific Python resources
Stars: ✭ 127 (+22.12%)
Mutual labels:  data-analysis, scientific-computing, scientific-visualization
gis4wrf
QGIS toolkit 🧰 for pre- and post-processing 🔨, visualizing 🔍, and running simulations 💻 in the Weather Research and Forecasting (WRF) model 🌀
Stars: ✭ 137 (+31.73%)
Mutual labels:  netcdf, scientific-computing, plotting
Matplotplusplus
Matplot++: A C++ Graphics Library for Data Visualization 📊🗾
Stars: ✭ 2,433 (+2239.42%)
Mutual labels:  data-analysis, scientific-computing, scientific-visualization
yt astro analysis
yt astrophysical analysis modules
Stars: ✭ 18 (-82.69%)
Mutual labels:  astronomy, scientific-visualization, scientific-computing
labplot
LabPlot is a FREE, open source and cross-platform Data Visualization and Analysis software accessible to everyone.
Stars: ✭ 107 (+2.88%)
Mutual labels:  scientific-visualization, data-analysis, plotting
Visit
VisIt - Visualization and Data Analysis for Mesh-based Scientific Data
Stars: ✭ 140 (+34.62%)
Mutual labels:  data-analysis, scientific-computing, scientific-visualization
PyCORN
A script to extract data from ÄKTA/UNICORN result-files (.res)
Stars: ✭ 30 (-71.15%)
Mutual labels:  scientific-visualization, scientific-computing, plotting
GMT.jl
Generic Mapping Tools Library Wrapper for Julia
Stars: ✭ 148 (+42.31%)
Mutual labels:  mapping, geophysics, plotting
AlphaPlot
📈 Application for statistical analysis and data visualization which can generate different types of publication quality 2D and 3D plots with extensive visual customization.
Stars: ✭ 140 (+34.62%)
Mutual labels:  scientific-visualization, data-analysis, plotting
Regionmask
plotting and creation of masks of spatial regions
Stars: ✭ 97 (-6.73%)
Mutual labels:  netcdf, scientific-computing
Itkwidgets
Interactive Jupyter widgets to visualize images, point sets, and meshes in 2D and 3D
Stars: ✭ 338 (+225%)
Mutual labels:  scientific-computing, scientific-visualization
Corner.py
Make some beautiful corner plots
Stars: ✭ 327 (+214.42%)
Mutual labels:  data-analysis, plotting
Kneed
Knee point detection in Python 📈
Stars: ✭ 328 (+215.38%)
Mutual labels:  data-analysis, scientific-computing
Iris
A powerful, format-agnostic, and community-driven Python package for analysing and visualising Earth science data
Stars: ✭ 418 (+301.92%)
Mutual labels:  netcdf, data-analysis
Pandastable
Table analysis in Tkinter using pandas DataFrames.
Stars: ✭ 376 (+261.54%)
Mutual labels:  data-analysis, plotting
Gop
GoPlus - The Go+ language for engineering, STEM education, and data science
Stars: ✭ 7,829 (+7427.88%)
Mutual labels:  data-analysis, scientific-computing
Gonum
Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more
Stars: ✭ 5,384 (+5076.92%)
Mutual labels:  data-analysis, scientific-computing
Pyvista
3D plotting and mesh analysis through a streamlined interface for the Visualization Toolkit (VTK)
Stars: ✭ 734 (+605.77%)
Mutual labels:  scientific-visualization, plotting
Datacube Core
Open Data Cube analyses continental scale Earth Observation data through time
Stars: ✭ 285 (+174.04%)
Mutual labels:  netcdf, scientific-computing

Linux/OSX Build Status Windows Build status Coverage Status Codacy Badge License: GPL v2

GDL - GNU Data Language

GDL is a free/libre/open source incremental compiler compatible with IDL (Interactive Data Language) and to some extent with PV-WAVE. Together with its library routines it serves as a tool for data analysis and visualization in such disciplines as astronomy, geosciences and medical imaging. GDL development had been started by Marc Schellens back in early noughties and has since continued with help of a team of maintainers, developers, packagers and thanks to feedback from users.

IDL is a registered trademark of Harris Geospatial Solutions. PV-WAVE is a product of Rogue Wave Software.

Overview

GDL is a domain-specific programming language and a data analysis environment. As a language, it is dynamically-typed, array-oriented, vectorised and has object-oriented programming capabilities. GDL library routines handle numerical calculations, data visualisation, signal/image processing, interaction with host OS and data input/output. GDL supports several data formats such as netCDF, HDF4, HDF5, GRIB, PNG, TIFF, DICOM, etc. Graphical output is handled by X11, PostScript, SVG or z-buffer terminals, the last one allowing output graphics (plots) to be saved in a variety of raster graphics formats. GDL features integrated debugging facilities. The built-in widget functionality enables development of GUI-based software. GDL has also a Python bridge (Python code can be called from GDL; GDL can be compiled as a Python module). Development and maintenance of GDL is carried out targeting Linux, BSD, OSX and Windows (MinGW, Cygwin).

GDL is invoked just by typing gdl but see gdl -h as it has a number of commandline options. GDL may be known as gnudl or gnudatalanguage on some operating systems.

Other open-source numerical data analysis tools similar to GDL include SciPy, GNU Octave, Scilab, PDL, NCL, R, Yorick.

Package availability

See:

Dependencies

Packaged versions of GDL are available for several Linux distributions, BSD and Mac OS X. Please note that several features of GDL depend on compile-time configuration, and might not be available in pre-built or pre-configured packages.

GDL has numerous dependencies, most of the optional but highly recommended if you want it to be areally useful tool.

  • readline mandatory. For easy command line editing, recalling, history.
  • [n]curses mandatory. Terminal management.
  • zlib mandatory. compressed file access.
  • GSL mandatory, for many math functions.
  • OpenMP optional, but speed will suffer if not present
  • Magick++ / GraphicsMagick optional, but don't you want to read/write many image formats?
  • wxWidgets mandatory unless you do not want graphic outputs and widgets?
  • Xlib/X11 not used unless you explictly ask for it (replaced by wxWidgets for sake of compatibility on Windows, linux and MacOSX.
  • netCDF optional, but useful for reading this kind of data.
  • HDF4 optional, but useful for reading this kind of data.
  • HDF5 optional, but useful for reading this kind of data.
  • FFTW optional, but don't you need a fast fft at times?
  • PROJ optional but forget about mapping capabilities if absent.
  • Shapelib optional but forget about mapping capabilities if absent.
  • Expat optional but helps implement IDLffXMLSAX parser objects.
  • MPI optional but provides clustering facilities.
  • Python/NumPy optional but add python bridge and jupyter notebook.
  • udunits optional, units conversion
  • Eigen optional but provides inordiante speed enhancements...
  • ecCodes/GRIB optional, for GRIB API support.
  • GLPK optional, provides the SIMPLEX command.

Besides, for optimal use (speed mainly), GDL incorporates slightly edited code of

Build-time dependencies

Build and test automation is carried out using CMake.

GDL interpreter has been developed using ANTLR v2 but unless you want to change the grammar (*.g files) you don't need ANTLR. All relevant ANTLR files are included in the source tree.

Support, feedback and contributions

Your comments are welcome! Let us know what you use GDL for. Or if you don't, why not. Which functionality are you missing/would appreciate most for coming versions. Please use the github issue-tracking system to report bugs, complaints, suggestions and comments.

Code enhancements in the form of pull requests are very welcome! Note that contributions can be made in C++, IDL/GDL or Python, as well as by providing enhancements and extensions of the README files, diagnostic messages, etc.

Among the major challenges GDL development is facing currently, there are:

  • enhancing test coverage by writing test programs in GDL
  • streamlining development and maintenance of GDL reference docs and examples (using the Jupyter kernel?)
  • bringing in into the team the needed know-how to address the backlog of ANTLR-related issues
  • increasing presence within and interoperability with the Python ecosystem, including adding support for Python 3 (calling GDL from Python 2 and calling Python 2 from GDL is already implemented!)

Help welcome!

Information resources

As GDL is aimed as a drop-in replacement for IDL, resources for IDL constitute valuable sources of information for GDL users as well. These include:

There are several open source packages compatible or interoperable with GDL, including:

Alain Coulais maintains the GDL-announces mailing list.

There have been quite some mentions of GDL in scientific literature which also provide example use cases. The Coulais et al. papers from the ADASS conferences are the best way to cite GDL as of now.

Acknowledgements

GDL development had been carried out at SourceForge in years 2003-2018 - thank you!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].
OSZAR »