Analisi ed ottimizzazione di
strumenti Software per l'utilizzo
di IDL sulla GRID ENEA
S.PI.1.2 Strumenti per la grafica
Marta Chinnici
Portici, 11 Dicembre 2007
ENEA-CRESCO
Che cos’é IDL (Interactive Data Language)
Linguaggio di programmazione sviluppato dalla
Research Systems Inc;
Orientato all’analisi di data-set uni-bi o multidimensionali;
Linguaggio di programmazione ad alto livello (facilmente
comprensibile) che consente sia l’analisi che la
visualizzazione grafica dei dati o delle elaborazioni;
Linguaggio array-oriented, particolarmente efficace
nell’analisi di strutture di dati come le matrici bi o
tridimensionali (immagini mediche o telerilevate).
ENEA-CRESCO
Marta Chinnici
2
Ambiente di sviluppo di IDL: IDLDE
IDL è un linguaggio interpretato, quindi il programma
sorgente scritto in IDL viene eseguito un’istruzione alla
volta, da un interprete
l’interprete di IDL è inserito in un ambiente di sviluppo
denominato IDLDE (IDL Development Environment)
IDLDE è una semplice interfaccia grafica che presenta
strumenti utili per l’editing e per il debugging di
programmi IDL. L’ambiente di sviluppo è composto dal
menu di comando, da alcune toolbars e da differenti
finestre.
ENEA-CRESCO
Marta Chinnici
3
L’ambiente di sviluppo IDLDE da interfaccia
Enea-Grid
ENEA-CRESCO
Marta Chinnici
4
La programmazione in IDL
Il programma viene salvato in un file, con estensione .pro, e
quando il programma viene lanciato IDL esegue in sequenza le
istruzioni in esso contenute
ES: mio_programma.pro
La programmazione viene eseguita nella finestra di editing di
IDLDE.
Una routine IDL(files .pro) può essere eseguita in modalità
interattiva attraverso l'interfaccia grafica Idlde, oppure
direttamente da linea di comando digitando il nome (con o senza
interfaccia grafica).
ENEA-CRESCO
Marta Chinnici
5
Compilare ed eseguire un programma
IDL da linea di comando terminal idlde
ENEA-CRESCO
Marta Chinnici
6
IDL da linea di comando terminal (idl, senza interfaccia
grafica)
ENEA-CRESCO
Marta Chinnici
7
IDL in modalità batch (.sav)
Una routine IDL per essere eseguita in modalità batch,
deve preliminarmente essere convertita in un file.sav
(in binario) e opportunamente salvata all' interno di IDL
•
Compilare il programma, assieme a tutte le routines associate (COMPILE_ALL)
•
Salvarlo come file binario: save, filename = ‘mio_programma.sav' , /ROUTINE
•
Comando per eseguire il programma :
-rt = ‘mio_programma.sav’
ENEA-CRESCO
Marta Chinnici
8
Gestione delle variabili in modalità batch
Lanciare il comando idl_setup residente nella directory bin di IDL: questo
apre una shell “figlia”, all' interno della principale, in ambiente IDL (laddove
idlde è invece l'eseguibile per lanciare IDL in modalità interattiva)
Una volta dentro la shell di IDL, impostiamo come variabili d'ambiente
( SETENV ) le variabili che la routine IDL dovrà utilizzare
setenv VAR_A $1
setenv VAR_B $2
La routine IDL legge le variabili tramite GETENV
var_idl1 = GETENV('VAR_A')
var_idl2 = GETENV('VAR_B')
ENEA-CRESCO
Marta Chinnici
9
IDL e l’interfaccia LSF
batch
files IDL attraverso LSF
lanciare e gestire un job IDL attraverso LSF
IDL
in parallelo attraverso LSF
lanciare in modalità parallela (in contemporanea su più
macchine) un job IDL attraverso l' interfaccia LSF.
ENEA-CRESCO
Marta Chinnici
10
Eseguire un'applicazione IDL attraverso
l'interfaccia LSF
Se l' applicazione non prevede variabili input runtime, può essere
lanciata dall' interfaccia LSF con un semplice
ENEA-CRESCO
Marta Chinnici
11
ENEA-CRESCO
Marta Chinnici
12
Multicase
ENEA-CRESCO
Marta Chinnici
13
IDL per FTU
Elaborazione delle immagini provenienti dalle telecamere di FTU
attraverso un’interfaccia di IDL
FTU è un tokamak ad elevato campo magnetico, sviluppato a
Frascati
http://ftu.frascati.enea.it/
ENEA-CRESCO
Marta Chinnici
14
Applicazioni IDL realizzate in ENEA
ENEA-CRESCO
Marta Chinnici
15
Applicazione IDL:Falsecolor
ENEA-CRESCO
Marta Chinnici
16
Istruzioni per l’uso
ENEA-CRESCO
Marta Chinnici
17
ENEA-CRESCO
Marta Chinnici
18
ENEA-CRESCO
Marta Chinnici
19
Immagine di output
ENEA-CRESCO
Marta Chinnici
20
ENEA-CRESCO
Marta Chinnici
21
ENEA-CRESCO
Marta Chinnici
22
Multicase
ENEA-CRESCO
Marta Chinnici
23
ENEA-CRESCO
Marta Chinnici
24
Analisi in itinere
Realizzazione dei tools relativi alle applicazioni IDL
realizzate in ENEA
Database
Brightzone
Volume rendering
Controllo delle code multicluster per il lancio dei
programmi IDL (modalità multicase)
[email protected]
http://www.cresco.enea.it/LA1/cresco_sp12_graf3d/
ENEA-CRESCO
Marta Chinnici
25