GDL(1)
GDL π (1) β General Commands Manual π
okay bestie, sit DOWN, we're learning gdl(1) today and it's literally so good. β¨
πΈ NAME πΈ
gdl β GNU Data Language incremental compiler π
π¦ SYNOPSIS π¦
gdl [--help] [-h] [--version] [-v] [-V] [[-]-quiet] [-q] [ -arg value ]
[ -args ... ] [ -e statement ] [ -pref=/path/to/preferenceFile ] [
batch_file ... ]
π DESCRIPTION π
okay so gdl is an incremental compiler for the GNU Data Language (GDL). and the whole vibe of GDL is: it's being developed to be an open-source drop-in replacement for Interactive Data Language (IDL) β and bestie, IDL has been passed around like a group chat screenshot: RSI, then ITTVIS, then Exelis, and now Harris Geospatial Solutions, Inc. π It's also partially compatible with Visual Numerics (VN) PV-WAVE. and jsyk, IDL and PV-WAVE are registered trademarks of L3Harris and VN respectively. no cap.
GDL and its library routines are designed as a tool for numerical data analysis and visualisation. GDL is dynamically typed, vectorized, and has object-oriented programming capabilities. the library routines handle:
- numerical calculations
- data visualisation
- signal/image processing
- file input/output (incl. graphical and scientific data formats such as TIFF, PNG, netCDF, HDF etc) π«Ά
- interaction with the host OS
for a list of resources on GDL/IDL/PV-WAVE syntax and library routines, see the references in the GDL v1.0 JOSS paper: https://doi.org/10.21105/joss.04633 β
the GDL mailing list is maintained at: https://sympa.obspm.fr/wws/info/gdl-announces π¬
a vast part of GDL library routines is implemented using open-source libraries including GSL, plPlot, and optionally: readline, FFTW, Eigen3, ImageMagick, netCDF, HDF4, HDF5, PROJ, UDUNITS-2, libps and others. the range?? immaculate. π
β¨ OPTIONS β¨
--help(or-h) β shows a summary of the options. your little map. πΊοΈ--version(or-v,-V) β shows the version of the program. π«--quiet(or-quiet,-q) β suppresses the welcome messages. no hello, just vibes. π€«-argvalue β tellsCOMMAND_LINE_ARGS()to report the following argument (and yes, you can specify this more than once). π-args... β tellsCOMMAND_LINE_ARGS()to report all the following arguments. everything. the whole group chat. π¬-estatement β execute the given statement and exit. only the last occurrence is taken into account, it's executed after the startup file, and it may not be specified together with batch files. β οΈ-pref=/path/to/PreferenceFileβ (only partially working right now, bestie, don't come for me) setting using an external text file a few variables including default preferences (e.g. X11 Windows Size).--fakereleaseversion β sets!VERSION.RELEASEto that value.!VERSION.RELEASEis often tested by procedures to decide whether some function or option should be used. it's sometimes possible to use this option to fool a procedure that requests a specific value of!VERSION.RELEASE(e.g.atv.pro). catfishing, but for compilers. π--fussyβ signals that all used procedures will adhere to modern IDL, where"()"are for functions and"[]"are for arrays. this speeds up compilation (sometimes terribly) but chokes on every use of"()"with arrays. conversion of procedures to modern IDL can be done with D. Landsman'sidlv4_to_v5procedure. use the environment variable"GDL_IS_FUSSY"to set up this feature permanently.
incidentally, "being fussy" can help find all the places in a procedure that need to be corrected to have it in the modern IDL format. so it's giving tough love. π
--silentβ suppresses some messages (mainly"Compiled Module XXX"). π€--sloppyβ the inverse of fussy above. sets the traditional (default) compiling option where"()"can be used both with functions and arrays. needed to counteract temporarily the effect of the environment variable"GDL_IS_FUSSY". chaotic but valid. π--smart-tpoolβ switch to a mode where the number of threads is adaptive (experimental). should enable better perfs on many-core machines. π₯--use-wxβ tells GDL to use WxWidgets graphics instead of X11 or Windows. (nicer plots π) also enabled by setting the environment variableGDL_USE_WXto a non-null value.--no-use-wxβ tells GDL not to use WxWidgets graphics, even if the env. var."GDL_USE_WX"is set. π«--no-dSFMTβ tells GDL not to use double precision SIMD oriented Fast Mersenne Twister (dSFMT) for random values. also disabled by setting the environment variableGDL_NO_DSFMTto a non-null value.
with dSFMT, although the Mersenne Twister algorithm is the same as in modern IDL, the values are computed in parallel (hence a speed gain πββοΈ) but the output order is not the same as IDL. also, the seed is different. these differences should not be a problem as it is discouraged to interfere with seed values.
the -demo, -em, -novm, -queue, -rt, -ulicense and -vm options are ignored for compatibility with IDL. π«₯
a list of batch files to be executed before entering the interactive mode (but after executing a startup file, if specified) may be given when not using the -e option. π
π FILES π
$DATADIR/gnudatalanguage/lib/*.proβ library routines implemented in GDL.$DATADIRis specified during compilation and usually translates to/usr/share,/usr/local/shareor alike. GDL includes this directory in its search path unlessGDL_PATHorIDL_PATHenv. variables are set (see below π).$HOME/.gdl/historyβ a file used for storing the history of commands issued in the interactive mode (if GDL was compiled within ReadLine). your receipts, bestie. π§Ύ
π ENVIRONMENT π
the following environment variables have special meaning to gdl. and here's the rule: the GDL_* variant, if defined, takes precedence over any corresponding IDL_* variant. π
GDL_PATH,IDL_PATHβ the GDL command (script) search path.GDL_STARTUP,IDL_STARTUPβ a file of commands to be executed on startup. πGDL_TMPDIR,IDL_TMPDIRβ a directory in which temporary files may be created.HOME,SHELLβ variables influencing shell invocations from within GDL (theSPAWNprocedure and the$interpreter command). the value ofHOMEdetermines as well the location of the GDL history-file. πPATHβ determines the search path when spawning child processes using theSPAWNprocedure with the/NOSHELLkeyword set.PYTHONPATHβ influences the behaviour of thePYTHONprocedure and thePYTHON()function (available if GDL is compiled with support for calling Python code). πGDL_MPIβ a message to be sent out usingMPI_Sendbefore initialization of the interpreter (available if GDL is compiled with support for MPI).DISPLAY,XENVIRONMENTβ tell GDL how to connect to the X server. π₯οΈLC_*β the locale-related settings accessible viaLOCALE_GET()(GDL always uses theClocale internally).GDL_GR_WIN_HEIGHTβ sets the preference for the default height of a Windows(tm) graphic window.GDL_GR_WIN_QSCREENβ if set to true (1) this will prevent the use of theGDL_GR_WIN_HEIGHTandGDL_GR_WIN_WIDTHpreferences, and the default dimensions of graphic windows will be 1/4 of the screen dimensions. πGDL_GR_WIN_WIDTHβ sets the preference for the default width of a Windows(tm) graphic window.GDL_GR_X_HEIGHTβ sets the preference for the default height of an X11 graphic window.GDL_GR_X_QSCREENβ if set to true (1) this will prevent the use of theGDL_GR_X_HEIGHTandGDL_GR_X_WIDTHpreferences, and the default dimensions of graphic windows will be 1/4 of the screen dimensions. πGDL_GR_X_WIDTHβ sets the preference for the default width of an X11 graphic window.GDL_WX_BACKENDβ can be set to[0,1,2]which will select, respectively, the back-ends0,1or2of plplot's old wxWidgets driver (plplot versions <5.10). back-end2has anti-aliasing enabled. β¨GDL_MAPS_DIRβ if not automatically found, tells GDL where the maps files (coasts, rivers, etc, used byMAPS_CONTINENTS) are located. these are in Shapefile format and newer versions can possibly be present on naturalearthdata.com. πΊοΈ
π BUGS π
please report bugs, comments, patches or feature requests at https://github.com/gnudatalanguage/gdl/ β the devs want to hear from you, fr fr. π«Ά
π AUTHOR π
the primary author of GDL is Marc Schellens <m_schellens@users.sourceforge.net>. a list of contributors is available in the AUTHORS file shipped with GDL, and on the project website (see above). π«‘
the original version of this manual page was written by Sergio Gelato <Sergio.Gelato@astro.su.se>. it is currently a part of the GDL package, and is maintained by the GDL Team. π
β SEE ALSO β
netcdf(3), hdf(1), gsl(3), eigen3, plplot, fftw π§
and that's the whole page, bestie!! this one's brought to you by The GDL Team, dated 2024-03-19 β and it's the manual for GDL(1) obviously, iykyk. go compile something iconic. π
β¨π¦
π¦ where this page comes from
- debian trixie: gnudatalanguage 1.1.1-1 Β· GPL-2.0-or-later
- fedora 43: gdl 1.1.1-5.fc43 Β· GPL-2.0-or-later
- fedora 44: gdl 1.1.3-1.fc44 Β· GPL-2.0-or-later
- nixos 26.05: gnudatalanguage 1.1.1
- nixpkgs unstable: gnudatalanguage 1.1.1
- ubuntu questing: gnudatalanguage 1.1.1-1
- ubuntu resolute: gnudatalanguage 1.1.3-1 Β· GPL-2.0-or-later
- ubuntu stonking: gnudatalanguage 1.1.3-1build1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms