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
Scarica

IDL - Cresco