执行 GDL 命令时找不到过程和函数

Procedures and functions not found while executing GDL commands

我最近安装了 GDL,因为我没有 IDL 许可证。

我正在尝试 运行 和 IDL (.pro) 脚本来模拟系外行星 t运行sit(与 exomoon),但我遇到了一些问题:

GDL> .reset_session                                                 

(gdl:16530): Gtk-WARNING **: gtk_disable_setlocale() must be called before gtk_init()
GDL> 
GDL> restore, 'paramk63.save', /v
% Procedure not found: RESTORE
% Execution halted at: $MAIN$          
GDL> 
GDL> Per = PER
GDL> ap = A
% Variable is undefined: A
% Execution halted at: $MAIN$          
GDL> Rplan = RP
% Variable is undefined: RP
% Execution halted at: $MAIN$          
GDL> inc = INC
GDL> Pm = 1
GDL> Rmoon = 0.03
GDL> dmoon = 4.0
GDL> tetam0 = 0.0
GDL> dt = 1.0
GDL> wl = WL
GDL> 
GDL> eclipse_moon,Per,ap,Rplan,inc,Pm,Rmoon,dmoon,tetam0,dt,wl,/plot
% Compiled module: ECLIPSE_MOON.
% ECLIPSE_MOON: Ambiguous: Variable is undefined: MEAN or: Function not found: MEAN
% Execution halted at: ECLIPSE_MOON        23 /home/fabian/Downloads/eclipse_moon.pro
%                      $MAIN$          
GDL> 0:45 / 9:10
% ECLIPSE_MOON: Parser syntax error: unexpected token: 0
GDL> 

我 运行 在 linux 上安装了 IDL 并且完全没问题。

看来我还得安装一些东西。是吗?

似乎找不到名为 MEAN 的函数。确保它在您的 !path 中并且您正确地调用了它。当 IDL(或 GDL)运行一个函数或程序时,它会搜索变量 !path 中的所有目录来找到它。如果找到,IDL 将加载该函数并继续编译。在这种情况下,我希望函数 ECLIPSE_MOON 在第 23 行调用 MEAN。但是 MEAN(通常内置于 IDL 中)在 GDL 中找不到。所以你需要确保它能被找到。

要检查您的路径,请在 GDL 会话中键入 print,!path 并确保函数 MEAN 在这些目录之一中。