Run SSW with GDL
June 11, 2026 · View on GitHub
The idea is to make GDL pretend to be IDL.
GDL is fully syntax-compatible with IDL 7.1 and partially compatible with IDL 8.x. Due to the limited scope of our tests, compatibility with all SSW programs is not guaranteed. And we only tested our way in Linux and macOS, while this way should also work well in Windows.
Please address comments and suggestions to Dr. Luo, RunBin (罗润彬) or Dr. Chen, Jun (陈俊)
Software preparations
- tcsh: https://www.tcsh.org/
- SSW: http://www.lmsal.com/solarsoft/
$SSWin the following filesswgdlis the SSW top level path, e.g./usr/local/ssw,$HOME/ssw,C:\ssw
- GDL: https://gnudatalanguage.github.io/downloads.html
$GDL_DIRin the following filesswgdlis the GDL top level path- if you install GDL from the software source of the system
- command of install:
- Ubuntu/Debian:
apt install gnudatalanguage - Fedora:
yum install gdl - ArchLinux:
pacman -S gnudatalanguage - Gento:
emerge gdl - macOS:
port install gnudatalanguageorfink install gdl
- Ubuntu/Debian:
- then
$GDL_DIRshould be:- Ubuntu & Fedora:
/usr/share/gnudatalanguage - ArchLinux:
/usr/lib/gdl - Gentoo:
/usr/local/share/gdl - macOS:
/opt/local/share/gnudatalanguage
- Ubuntu & Fedora:
- please locate the position of
$command_gdlin the system
It would displaywhereis gdl/opt/local/bin/gdlin macOS, it would display/usr/bin/gdlin Ubuntu. Please execute the following command to make GDL pretend to be IDL:mkdir $GDL_DIR/bin/ ln -s $command_gdl $GDL_DIR/bin/idl $GDL_LIBin the following filesswgdlis$GDL_DIR/lib
- command of install:
- If you download GDL from https://github.com/gnudatalanguage/gdl/releases
$GDL_DIRis where you unpack the package, it should containbin/gdl- please execute the following command to make GDL pretend to be IDL.
ln -s $GDL_DIR/bin/gdl $GDL_DIR/bin/idl $GDL_LIBin the following filesswgdlis$GDL_DIR/share/gnudatalanguage/lib
- If you compile the project from https://github.com/gnudatalanguage/gdl
-
$GDL_DIRis where you build the project, it should containsrc/gdlafter the compilation -
please execute the following command to make GDL pretend to be IDL.
mkdir $GDL_DIR/bin/ ln -s $GDL_DIR/src/gdl $GDL_DIR/bin/idl -
$GDL_LIBin the following filesswgdlis$GDL_DIR/src/pro
-
- A potential issue: Launching SSW with GDL 1.0.0 will print
% Cannot apply operation to datatype STRING. It is unclear which specific programs of SSW are affected, but this issue will not happen with GDL 1.1.3
Launch SSW with a script
-
Create a file
sswgdl(can be any other name) with the following content:#!/bin/tcsh # please replace the text `$SSW` to the SSW top level path setenv SSW $SSW # Point IDL_DIR to the GDL top level path # please replace the text `$GDL_DIR` the GDL top level path setenv IDL_DIR $GDL_DIR # please replace the text `$GDL_LIB` by the full path of `lib/` setenv GDL_LIB $GDL_LIB # Set GDL_PATH that including $SSW and your private path for *.pro # the text `$SSW` in this line is unnessary to change setenv GDL_PATH +$GDL_LIB/:+$SSW/:+$HOME/your/private/pro/path # set your instruments setenv SSW_INSTR "gen sdo aia hmi xrt hessi ontology" # the text `$SSW` in this line is unnessary to change source $SSW/gen/setup/setup.ssw # Launch SSW sswidl -
Make the script executable
chmod u+x sswgdl -
Launch SSW with GDL in a terminal:
./sswgdl- note: put
sswgdlto the$pathof the system is suggested, e.g. you can append this line to~/.bashrc
thenexport PATH=$HOME/bin:$PATH$HOME/binis a$pathof the system. Ifsswgdlis putted in a$path, you can directly run this command at any directorysswgdl
- note: put
-
Confirm the path inside the session
GDL> PRINT, !PATH