2017-11-22 3 views
1

Ich habe GDL kürzlich installiert, da ich keine IDL-Lizenz habe.Prozeduren und Funktionen, die beim Ausführen von GDL-Befehlen nicht gefunden wurden

Ich habe versucht, laufen und IDL (.pro) Skript für Simulieren exoplanetaren Transit (mit Extrasolarer Mond) und ich habe einige Probleme:

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> 

ich diesen gleichen Code auf Linux mit IDL lief installiert und es war vollkommen in Ordnung.

Es scheint, dass ich etwas mehr Zeug installieren muss. Ist das richtig?

Antwort

1

Sieht aus, als ob es keine Funktion namens MEAN finden konnte. Stellen Sie sicher, dass es sich in Ihrem! Pfad befindet und dass Sie es richtig aufrufen. Wenn IDL (oder GDL) eine Funktion oder ein Programm ausführt, durchsucht es alle Verzeichnisse in der Variablen !path, um es zu finden. Wenn es gefunden wird, lädt IDL die Funktion und setzt das Kompilieren fort. In diesem Fall erwarte ich, dass die Funktion ECLIPSE_MOON in Zeile 23 MEAN aufruft. Aber MEAN (die normalerweise in IDL eingebaut ist) wird in GDL nicht gefunden. Sie müssen also sicherstellen, dass es gefunden werden kann.

Um zu überprüfen, welchen Pfad Sie in einer GDL-Sitzung eingeben, geben Sie print,!path ein und stellen Sie sicher, dass sich die Funktion MEAN in einem dieser Verzeichnisse befindet.

+0

Wie kann ich das tun? –

+0

@FabianMenezes, Ich habe die Antwort bearbeitet, um Ihre Frage besser zu beantworten. Hilft dir das? – veda905

+0

@FabianMenezes, Wenn dies Ihnen geholfen hat, wählen Sie es bitte als die richtige Antwort aus. – veda905

Verwandte Themen