Changeset 1002 for LMDZ4/trunk/makegcm_fcm
- Timestamp:
- Oct 6, 2008, 11:20:44 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/trunk/makegcm_fcm
r875 r1002 3 3 # $Header$ 4 4 # 5 # FH : on ne cr ée plus le fichier arch.mk qui est supposéexister par5 # FH : on ne cr�e plus le fichier arch.mk qui est suppos� exister par 6 6 # FH : ailleurs. 7 # FH : ult érieurement, ce fichier sera pré-existant pour une série8 # FH : de configurations en versions optimis ées et debug qui seront9 # FH : li és (ln -s) avec arch.mk en fonction de l'architecture.10 # FH : Pour le moment, cette version est en test et on peut cr éer les11 # FH : arch.mk en lan çant une première fois makegcm7.7 # FH : ult�rieurement, ce fichier sera pr�-existant pour une s�rie 8 # FH : de configurations en versions optimis�es et debug qui seront 9 # FH : li�s (ln -s) avec arch.mk en fonction de l'architecture. 10 # FH : Pour le moment, cette version est en test et on peut cr�er les 11 # FH : arch.mk en lan�ant une premi�re fois makegcm7. 12 12 # 13 13 set verbose echo … … 24 24 set veget=false 25 25 set chimie=false 26 set parallel=false 26 set parallel=none 27 set compil_mod=prod 27 28 set io=ioipsl 28 29 set LIBPREFIX="" … … 40 41 set LIB="" 41 42 set adjnt="" 42 43 set COMPIL_FFLAGS="%PROD_FFLAGS" 44 set PARA_FFLAGS="" 45 set PARA_LD="" 43 46 44 47 ######################################################################## … … 54 57 manuel complet sur http://... 55 58 Usage : 56 makegcm 57 [-h] : manuel abrégé58 [-d [[IMx]JMx]LM] : IM, JM, LM sont les dims en x, y, z (def: $dim)59 [-t NTRAC] : nombre de traceurs (def: 4)60 [-p PHYS] : compilation avec la physique libf/phyPHYS, (def: lmd)61 [- debug] : compile avec options debug.62 [-c false/MPI1/MPI2] : couplé océan : MPI1/MPI2/false (def: false)63 [-v false/true] : avec ou sans végétation (def: false)64 [-chimie SCHEMA/false] : nom du schéma chimique ou false (def)65 [-parallel true/false] : parallelisation, en développement (def: false)66 [-g GRI] : conf. grille dans dyn3d/GRI_xy.h\67 (def: reg inclue un zoom)68 [-i o IO] : choix d'une librairie I/O, experts (def: ioipsl)69 [- include INCLUDES] : variables supplementaires pour include cpp, experts.70 [- adjnt] : adjoint, a remettre en route ...71 [- filtre NOMFILTRE] : prend le filtre dans libf/NOMFILTRE (def: filtrez)72 [-link LINKS] : liens optionels avec d'autres librairies 73 [-m arch] : nom de l'architecture cible 59 makegcm [options] -m arch exec 60 [-h] : manuel abrégé 61 [-d [[IMx]JMx]LM] : IM, JM, LM sont les dims en x, y, z (def: $dim) 62 [-t NTRAC] : nombre de traceurs (def: 4) 63 [-p PHYS] : compilation avec la physique libf/phyPHYS, (def: lmd) 64 [-prod / -dev / -debug] : compilation en mode production (default) / developpement / debug . 65 [-c false/MPI1/MPI2] : couplé océan : MPI1/MPI2/false (def: false) 66 [-v false/true] : avec ou sans végétation (def: false) 67 [-chimie SCHEMA/false] : nom du schéma chimique ou false (def) 68 [-parallel none/mpi/omp/mpi_omp] : parallelisation (default: none) : mpi, openmp ou mixte mpi_openmp 69 [-g GRI] : conf. grille dans dyn3d/GRI_xy.h (def: reg inclue un zoom) 70 [-io IO] : choix d'une librairie I/O, experts (def: ioipsl) 71 [-include INCLUDES] : variables supplementaires pour include cpp, experts. 72 [-adjnt] : adjoint, a remettre en route ... 73 [-filtre NOMFILTRE] : prend le filtre dans libf/NOMFILTRE (def: filtrez) 74 [-link LINKS] : liens optionels avec d'autres librairies 75 -m arch : nom de l'architecture cible 76 exec : exécutable généré 74 77 fin 75 78 exit … … 91 94 set couple="$2" ; shift ; shift ; goto top 92 95 96 case -prod 97 set compil_mod="prod" ; shift ; goto top 98 99 case -dev 100 set compil_mod="dev" ; shift ; goto top 101 102 case -debug 103 set compil_mod="debug" ; shift ; goto top 104 93 105 case -io 94 106 set io="$2" ; shift ; shift ; goto top … … 123 135 case -m 124 136 set arch=$2 ; shift ; shift ; goto top 125 126 case -debug127 echo 'option a reactiver' ; exit128 137 129 138 default … … 135 144 136 145 ############################################################### 137 # lecture des chemins propres àl'architecture de la machine #146 # lecture des chemins propres � l'architecture de la machine # 138 147 ############################################################### 139 148 … … 147 156 ######################################################################## 148 157 158 if ( "$compil_mod" == 'prod' ) then 159 set COMPIL_FFLAGS="%PROD_FFLAGS" 160 else if ( "$compil_mod" == 'dev' ) then 161 set COMPIL_FFLAGS="%DEV_FFLAGS" 162 else if ( "$compil_mod" == 'debug' ) then 163 set COMPIL_FFLAGS="%DEBUG_FFLAGS" 164 endif 149 165 150 166 if ( "$physique" == 'nophys' ) then … … 187 203 endif 188 204 189 if ( "$parallel" == 'true' ) then 190 set CPP_KEY="$CPP_KEY CPP_PARA" 205 if ( "$parallel" == 'mpi' ) then 206 set CPP_KEY="$CPP_KEY CPP_PARA CPP_MPI" 207 set PARA_FFLAGS="%MPI_FFLAGS" 208 set PARA_LD="%MPI_LD" 209 else if ("$parallel" == 'omp' ) then 210 set CPP_KEY="$CPP_KEY CPP_PARA CPP_OMP" 211 set PARA_FFLAGS="%OMP_FFLAGS" 212 set PARA_LD="%OMP_LD" 213 else if ("$parallel" == 'mpi_omp' ) then 214 set CPP_KEY="$CPP_KEY CPP_PARA CPP_MPI CPP_OMP" 215 set PARA_FFLAGS="%MPI_FFLAGS %OMP_FFLAGS" 216 set PARA_LD="%MPI_LD %OMP_LD" 191 217 endif 192 218 … … 311 337 set SUFF_NAME=${SUFF_NAME}_t${ntrac}_phy${physique} 312 338 313 if ( "$parallel" == 'true' ) then339 if ( "$parallel" != 'none' ) then 314 340 set SUFF_NAME=${SUFF_NAME}_para 315 341 set DYN=dyn${dimc}dpar … … 349 375 echo "%EXEC $code" >> $config_fcm 350 376 echo "%SUFF_NAME $SUFF_NAME" >> $config_fcm 377 echo "%COMPIL_FFLAGS $COMPIL_FFLAGS" >> $config_fcm 378 echo "%PARA_FFLAGS $PARA_FFLAGS" >> $config_fcm 379 echo "%PARA_LD $PARA_LD" >> $config_fcm 380 381 351 382 352 383 ln -s machine/arch-${arch}.fcm arch.fcm 384 rm -f $LIBOGCM/${arch}${SUFF_NAME}/.config/fcm.bld.lock 353 385 ./build_gcm 354 386
Note: See TracChangeset
for help on using the changeset viewer.