Процедуры и функции, не найденные при выполнении команд GDL

Я недавно установил GDL, так как у меня нет лицензии на IDL.

Я пытался запустить и IDL (.pro) скрипт для имитации экзопланетного транзита (с 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, и это было прекрасно.

Кажется, я должен установить еще кое-что. Это правильно?

1 ответ

Похоже, он не может найти функцию под названием MEAN, Убедитесь, что он находится на вашем пути! И вы правильно его называете. Когда IDL (или GDL) выполняет функцию или программу, он ищет все каталоги в переменной !path найти его. Если он найден, IDL загрузит функцию и продолжит компиляцию. В этом случае я ожидаю, что функция ECLIPSE_MOON звонки MEAN на линии 23. Но MEAN (который обычно встроен в IDL) не найден в GDL. Поэтому вам нужно убедиться, что его можно найти.

Чтобы проверить, каков ваш путь, в сеансе GDL введите print,!path и убедитесь, что функция MEAN находится в одном из тех каталогов.

Другие вопросы по тегам