source: trunk/00FlowSolve_PL/CMD_ODYSSEUS/lanc.ksh @ 11

Last change on this file since 11 was 11, checked in by xlvlod, 18 years ago

Import initial

File size: 3.8 KB
Line 
1#!/usr/bin/ksh
2#######################################################
3#####          LANCEMENT DU RUN                 #######
4#######################################################
5#_____________________________________________________
6#
7#       DEFINITION DES VARIABLES
8#_____________________________________________________
9
10MODE=$1
11VERSION=$2
12RUN=$3
13
14
15
16if [ $# -ne 3 ]; then
17  echo ' '
18  echo " *** Mauvais arguments d'entree ! *** "
19  echo '   exemple: ./lanc.ksh mode version numero_run'
20  echo ' '
21  exit 1
22fi
23
24echo ' '
25echo ' '
26case $1 in
27  0)
28   echo '========================'
29   echo '==     MODE BATCH     =='
30   echo '========================'
31  ;;
32  1)
33   echo '========================'
34   echo '==   MODE INTERACTIF  =='
35   echo '========================'
36  ;;
37  *)
38   echo '========================'
39   echo '==     MODE TEST      =='
40   echo '========================'
41  ;;
42esac
43 echo ' '
44 echo ' '
45
46#_____________________________________________________
47#
48# PARAMETRES
49#_____________________________________________________
50
51DATE=`date '+%Y%m%d'_'%H%M%S'`
52echo `date`
53
54HOME_DIR=$PWD
55HOME_PROG=00FlowSolve_PL
56SUB_PROJECT=sub_lelong
57WORK_PROG=${RUN}_$HOST_${HOME_PROG}_${VERSION}_${DATE}
58
59if [ ! -d $WORK_DIR  ]; then
60   WORK_DIR=$HOME_DIR
61   echo ' '
62   echo ' pas de WORK_DIR definit, execution sur:'
63   echo '    --> '$WORK_DIR
64   echo ' '
65fi
66
67echo ' '
68echo 'Definitions des variables:'
69echo '   HOME_DIR    = '$HOME_DIR
70echo '   HOME_PROG   = '$HOME_PROG'     Version: '$VERSION
71echo '   SUB_PROJECT = '$SUB_PROJECT
72echo '   WORK_DIR    = '$WORK_DIR
73echo '   WORK_PROG   = '$WORK_PROG
74
75#_____________________________________________________
76#
77# CREATION DU REPERTOIRE DE COMPILATION SUR LE WORKDIR
78#_____________________________________________________
79
80echo ' '
81echo 'Creation du repertoire de compilation et copie des fichiers'
82if [ ! -d $HOME_DIR/PROJECTS/$VERSION ]; then
83   echo ' '
84   echo '   WARNING: le projet '$VERSION" n'existe pas"
85   exit 1
86fi
87
88cd $WORK_DIR
89if  [ -d $WORK_PROG ]; then
90  rm -rf $WORK_PROG
91fi
92mkdir $WORK_PROG 
93cd $WORK_PROG
94mkdir output
95cp -r $HOME_DIR/SRC src
96cp -r $HOME_DIR/Makefile src/.
97cp -r $HOME_DIR/Make.inc src/.
98cp -r $HOME_DIR/PROJECTS/NEW_SRC/* src/.
99cp -r $HOME_DIR/PROJECTS/$VERSION input
100mv input/*.f90 src/.
101
102
103#_____________________________________________________
104#
105#       COMPILATION DU PROG SUR LE WORKDIR
106#_____________________________________________________
107
108echo ' '
109echo 'Compilation du code pour le projet: '$VERSION
110# Compilation
111cd $WORK_DIR/$WORK_PROG/src
112make clean
113make
114if [ -f cfd.x ]; then
115   echo '   Compilation successful ! Here we go'
116else
117   echo '   WARNING: Compilation failed !'
118   cd $WORK_DIR
119   rm -rf $WORK_PROG
120   exit 1
121fi
122
123echo ' '
124case $1 in
125        0)
126        #_____________________________________________________
127        #
128        #        OFFLINE NOHUP
129        #_____________________________________________________
130        echo ' Soumission du job... offline.'
131        cp $HOME_DIR/$SUB_PROJECT $WORK_DIR/$WORK_PROG/.
132        cd $WORK_DIR/$WORK_PROG
133        nohup ./$SUB_PROJECT $WORK_DIR/$WORK_PROG $HOME/$WORK_PROG > $WORK_DIR/$WORK_PROG/nohup.out &
134        ;;
135        1)
136        #_____________________________________________________
137        #
138        #        ONLINE
139        #_____________________________________________________
140        echo ' Mode interactif: execution sur le workdir ...'
141        cd $WORK_DIR/$WORK_PROG
142        NPROCS=`grep 'numprocs' $WORK_DIR/$WORK_PROG/input/problem_size.h | tr -d ' ' | grep 'numprocs=' | cut -c 20-21`
143        export MP_PROCS=$NPROCS
144        echo '   Execution sur '$MP_PROCS' procs.' 
145        cd $WORK_DIR/$WORK_PROG
146        cd src
147        ./cfd.x
148        rm $HOME/$WORK_PROG
149        ;;
150        *)
151        #_____________________________________________________
152        #
153        #        TEST COMPILATION
154        #_____________________________________________________
155        echo ' End : successful test !'
156        cd $WORK_DIR
157        rm -rf $WORK_PROG
158        ;;
159esac
160echo ' '
161
Note: See TracBrowser for help on using the repository browser.