|
|
Lina | ||
|
Accueil Journal de mission Course à pied Ski de randonnée Alpinisme Voile Ecrits Diaporamas Programmation Carnet des invités |
Accueil > Programmation > Lina Lina is not Aspro ButA partir d'une base de données aspro et d'un modèle de job, créer le job correspondant à un élément de cette base, élement que l'on appelle communément "profil". TéléchargementMéthodeCeci équivaut à la procédure aspro que l'on connait, avec les avantages;
Petit avantage 1Si on peut lancer une exécution ainsi; xw84pt1% lina.pl etqxy.mod sau3370.aspro 2202_01 xw84pt1% lsub etqxy_2202_01.job exec PCEXEC r1n01a On comprendra la possibilité d'inclure ces deux simples commandes à l'intérieur de deux boucles telles; pour chacun des profils du sps
pour chacun des modèles de géométrie
préprocesser le modèle avec lina
déplacer le job dans son répertoire
l'exécuter
modèle suivant
profil suivant.
Un script de cet ordre pourrait ainsi être; #!/bin/bash
if [ $# != 2 ] ; then
printf "Usage : %s swath_shift actor\n" $0
printf "as : %s 210 c\n" $0
exit 1
fi
cd /proj/sau3370/ASPRO
for prof in `awk -F/ '/^'$sps'/{print $1}' sau3370.aspro`; do # Pour chacun des profils
printf "%s" $prof
for j in $jobs; do # Pour chacun des modèles de géométrie
lina.pl $j.mod $aspro $prof # Préprocesser, déplacer, exécuter job
mv ${j}_$prof.job ../JOBS/${j}
lsub ../JOBS/${j}/${j}_$prof.job exec PCEXEC r1n01$actor
done # Modèle suivant
printf "\n"
done # Profil suivant
Synchroniser aisément toutes les géometries pour un swath donné sur réception du sps final de ce swath n'est alors plus qu'une affaire d'une seule commande. Celle-ci évite de ce fait toute possibilité d'erreur dans l'ordre de lancement, évitant par exemple de lancer qctra avant etqxy pour un certain profil; xw84pt1% main.sh 2202 c
Ici, les 5 modèles; "etqxy diff_spread QC-X qctra sditr" pour chacun des profils 2202_01, 2202_02 ... 2202_09, soit 45 jobs, sont rangés, bien ordonnés, dans la queue d'exécution r1n01c. Souvent, on profite de la période de la nuit pour lancer une telle exécution volumineuse. Le matin venu, ou plus tard, après une visite terrain, nous sommes assurés d'avoir des données bien synchronisées avec le SPS. Evidemment, on a tout loisir, pour ceux qui aiment geowork, de coder ce script sous une boite de dialogue geowork, par exemple; modeles="etqxy diff_spread QC-X vscan sditr qctra preproc"
cd /proj/#C1#/ASPRO
for m in $modeles;do
lina.pl $m.mod #C1#.aspro #01#
mv ${m}_#01#.job /proj/#C1#/JOBS/$m
lsub /proj/#C1#/JOBS/$m/${m}_#01#.job exec PCEXEC $actor
done
Il suffit alors de lancer cet item pour l'ensemble des profils. Evidemment, on dira que tout ceci, à défaut de la ligne de commande, est de toute façon implémenté sous geowork de façon graphique par la création de lien de soumission. Ceci nous amène au petit avantage 2; Petit avantage 2Il est toujours difficile sur lecture d'un job Geocluster, voir même pénible, de discriminer le code des arguments. Une fois le job modèle ficelé et mis en production, son code est "black-boxé", et le seul intérêt de sa lecture est de voir avec quels arguments il a été créé. Dans l'exemple bien réel d'un job segou que je dois lancer ce soir se trouve dans l'en-tête du modèle une ligne "drapeau" ainsi; **==============================================================================
** Job : segou.mod
** Project : sau3370
** Date : 16-Oct-2008
** Comments:
** #lina
** GVRPA@ setenv MAXLIST 400000000
** GVRPA@ setenv gvr_stage /stage
**============||======||======|=================================================
* RDLIB FO 01
FILE=/proj/#C1#/LIBRIS/SEGY-ARAMCO_v080918_whc.lfo
* LIBRI TR 01 (C#2#-C#3#),F1,STG,SELEC=MOT22=(#07#-#08#),
* LIBRI BD 01 BLOCK,S#1#,(RW),
...etc
Lina remplace cette ligne par les noms des communs et registres trouvés dans le job modèle pour aisi donner me donner un en-tête de job segou tel; **==============================================================================
** Job : segou.mod
** Project : sau3370
** Date : 16-Oct-2008
** Comments:
** 1 : #tape number# <2953>
** 2 : #input stage nb from (for seg-y)# <320201>
** 3 : #input stage nb to (for seg-y)# <320213>
** 5 : #swath number# <2202>
** 6 : #Processor# <Martineau>
** 7 : #min ffid for seg-y# < 9>
** 8 : #max ffid for seg-y# < 8317>
** 9 : #Segy Date of creation# <02-OCT-2009>
** C1 : #Project# <sau3370>
** GVRPA@ setenv gvr_stage /stage
**============||======||======|=================================================
* RDLIB FO 01
FILE=/proj/sau3370/LIBRIS/SEGY-ARAMCO_v080918_whc.lfo
* LIBRI TR 01 (C320201-C320213),F1,STG,SELEC=MOT22=( 9- 8317),
* LIBRI BD 01 BLOCK,S2953,(RW),
...etc
Ceci me dispense de devoir lire le reste et permet donc un très rapide survol du job. A faire
|
| Tous droits réservés © 2003-2006 Gaétan Martineau |