Changeset 1731 for BOL/script_install/install.sh
- Timestamp:
- Mar 5, 2013, 10:00:50 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BOL/script_install/install.sh
r1710 r1731 102 102 # ifort 103 103 if [ $real = r8 ] ; then OPTPREC="-real-size 64 -DNC_DOUBLE" ; fi 104 OPTIM="-O2 - ip -mkl=sequential -align all -static"104 OPTIM="-O2 -fp-model strict -ip -align all " 105 105 # with ifort, compile with fcm 106 106 compile_with_fcm=1 … … 116 116 117 117 ########################################################################## 118 # If installing on know machines such as NEC Brodie118 # If installing on know machines such as IBM x3750 (Ada) 119 119 # at IDRIS, don't check for available software and don"t install netcdf 120 if [ $hostname = brodie ] ; then 121 netcdf=0 122 check_linux=0 123 pclinux=0 120 if [ $hostname = ada338 ] ; then 121 netcdf=0 # no need to recompile netcdf, alreday available 122 check_linux=0 123 pclinux=0 124 ioipsl=0 # no need to recompile ioipsl, already available 125 #netcdf="/smplocal/pub/NetCDF/4.1.3" 126 compilo="ifort" 127 fmod='module ' 128 if [ $real = r8 ] ; then OPTPREC="-real-size 64 -DNC_DOUBLE" ; fi 129 OPTIM="-O2 -fp-model strict -ip -axAVX,SSE4.2 -align all " 130 OPTIMGCM="$OPTIM $OPTPREC" 124 131 fi 125 132 ########################################################################## … … 266 273 make check 267 274 make install 268 fi 275 fi # of if [ $netcdf = 1 ] 269 276 270 277 echo OK2 ioipsl=$ioipsl 271 278 echo '##########################################################' 272 echo Installing MODIPSL, the installation package manager for the273 echo IPSL models and tools279 echo 'Installing MODIPSL, the installation package manager for the ' 280 echo 'IPSL models and tools' 274 281 echo '##########################################################' 275 282 … … 281 288 282 289 if [ $ioipsl = 1 ] ; then 283 cd $MODEL/modipsl 284 \rm -r lib/* 285 286 cd util 287 288 if [ $compilo = pgf90 ] ; then 289 fmod='module ' 290 elif [ $compilo = g95 ] ; then 291 fmod='fmod=' 292 elif [ $compilo = ifort ] ; then 293 fmod='module ' 294 else # gfortran 295 fmod='I ' 296 fi 297 cp AA_make.gdef AA_make.orig 298 sed -e 's/^\#.*.g95.*.\#.*.$/\#/' AA_make.gdef > tmp 299 sed -e "s:F_L = g95:F_L = $compilo:" -e "s:F_C = g95 -c:F_C = $compilo -c": \ 300 -e 's/g95.*.w_w.*.(F_D)/g95 w_w = '"$OPTIMGCM"'/' \ 301 -e 's:g95.*.NCDF_INC.*.$:g95 NCDF_INC= '"$ncdfdir"'/include:' \ 302 -e 's:g95.*.NCDF_LIB.*.$:g95 NCDF_LIB= -L'"$ncdfdir"'/lib -lnetcdf:' \ 303 -e "s:-fmod=:-$fmod:" -e 's/-fno-second-underscore//' \ 304 -e 's:#-Q- g95 M_K = gmake:#-Q- g95 M_K = make:' \ 305 tmp >| AA_make.gdef 306 307 308 if [ "$use_shell" = "ksh" ] ; then 290 cd $MODEL/modipsl 291 \rm -r lib/* 292 293 cd util 294 295 if [ $compilo = pgf90 ] ; then 296 fmod='module ' 297 elif [ $compilo = g95 ] ; then 298 fmod='fmod=' 299 elif [ $compilo = ifort ] ; then 300 fmod='module ' 301 else # gfortran 302 fmod='I ' 303 fi 304 cp AA_make.gdef AA_make.orig 305 sed -e 's/^\#.*.g95.*.\#.*.$/\#/' AA_make.gdef > tmp 306 sed -e "s:F_L = g95:F_L = $compilo:" -e "s:F_C = g95 -c:F_C = $compilo -c": \ 307 -e 's/g95.*.w_w.*.(F_D)/g95 w_w = '"$OPTIMGCM"'/' \ 308 -e 's:g95.*.NCDF_INC.*.$:g95 NCDF_INC= '"$ncdfdir"'/include:' \ 309 -e 's:g95.*.NCDF_LIB.*.$:g95 NCDF_LIB= -L'"$ncdfdir"'/lib -lnetcdf:' \ 310 -e "s:-fmod=:-$fmod:" -e 's/-fno-second-underscore//' \ 311 -e 's:#-Q- g95 M_K = gmake:#-Q- g95 M_K = make:' \ 312 tmp >| AA_make.gdef 313 314 315 if [ "$use_shell" = "ksh" ] ; then 316 if [ "$pclinux" = 1 ] ; then 317 ./ins_make -t g95 # We use lines for g95 even for the other compilers 318 fi 319 else # bash 320 sed -e s:/bin/ksh:/bin/bash:g ins_make > ins_make.bash 321 chmod u=rwx ins_make.bash 322 if [ "$pclinux" = 1 ] ; then 323 ./ins_make.bash -t g95 # We use lines for g95 even for the other compilers 324 else 325 ./ins_make.bash 326 fi 327 fi # of if [ "$use_shell" = "ksh" ] 328 329 echo '##########################################################' 330 echo 'Compiling IOIPSL, the interface library with Netcdf' 331 echo '##########################################################' 332 333 cd $MODEL/modipsl/modeles/IOIPSL/src 334 if [ "$use_shell" = "bash" ] ; then 335 cp Makefile Makefile.ksh 336 sed -e s:/bin/ksh:/bin/bash:g Makefile.ksh > Makefile 337 fi 309 338 if [ "$pclinux" = 1 ] ; then 310 ./ins_make -t g95 # We use lines for g95 even for the other compilers 311 fi 312 else # bash 313 sed -e s:/bin/ksh:/bin/bash:g ins_make > ins_make.bash 314 chmod u=rwx ins_make.bash 315 if [ "$pclinux" = 1 ] ; then 316 ./ins_make.bash -t g95 # We use lines for g95 even for the other compilers 317 else 318 ./ins_make.bash 319 fi 320 fi 321 322 echo '##########################################################' 323 echo Compiling IOIPSL, the interface library with Netcdf 324 echo '##########################################################' 325 326 cd $MODEL/modipsl/modeles/IOIPSL/src 327 if [ "$use_shell" = "bash" ] ; then 328 cp Makefile Makefile.ksh 329 sed -e s:/bin/ksh:/bin/bash:g Makefile.ksh > Makefile 330 fi 331 if [ "$pclinux" = 1 ] ; then 332 # Build IOIPSL modules and library 333 make clean 339 # Build IOIPSL modules and library 340 make clean 341 make 342 if [ $compilo = gfortran ] ; then # copy module files to lib 343 cp -f *.mod ../../../lib 344 fi 345 # Build IOIPSL tools (ie: "rebuild", if present) 346 if [ -f $MODEL/modipsl/modeles/IOIPSL/tools/rebuild ] ; then 347 cd $MODEL/modipsl/modeles/IOIPSL/tools 348 # adapt Makefile & rebuild script if in bash 349 if [ "$use_shell" = "bash" ] ; then 350 cp Makefile Makefile.ksh 351 sed -e s:/bin/ksh:/bin/bash:g Makefile.ksh > Makefile 352 cp rebuild rebuild.ksh 353 sed -e 's:/bin/ksh:/bin/bash:g' \ 354 -e 's:print -u2:echo:g' \ 355 -e 's:print:echo:g' rebuild.ksh > rebuild 356 fi 357 make clean 358 make 359 fi 360 fi # of if [ "$pclinux" = 1 ] 361 362 else # of if [ $ioipsl = 1 ] 363 if [ $hostname = ada338 ] ; then 364 cd $MODEL/modipsl 365 cd util 366 367 cp AA_make.gdef AA_make.orig 368 sed -e 's/^\#.*.g95.*.\#.*.$/\#/' AA_make.gdef > tmp 369 sed -e "s:F_L = g95:F_L = $compilo:" -e "s:F_C = g95 -c:F_C = $compilo -c": \ 370 -e 's/g95.*.w_w.*.(F_D)/g95 w_w = '"$OPTIMGCM"'/' \ 371 -e 's:g95.*.NCDF_INC.*.$:g95 NCDF_INC= -I/smplocal/pub/HDF5/1.8.9/seq/include -I/smplocal/pub/NetCDF/4.1.3/include:' \ 372 -e 's:g95.*.NCDF_LIB.*.$:g95 NCDF_LIB= -L/smplocal/pub/NetCDF/4.1.3/lib -lnetcdff -lnetcdf:' \ 373 -e "s:-fmod=:-$fmod:" -e 's/-fno-second-underscore//' \ 374 -e 's:#-Q- g95 M_K = gmake:#-Q- g95 M_K = make:' \ 375 tmp >| AA_make.gdef 376 377 ./ins_make -t g95 # We use lines for g95 even for the other compilers 378 379 # on Ada, IOIPSL is already installed in ~rpsl035/IOIPSL_PLUS 380 # so link it to current settings 381 cd $MODEL/modipsl/modeles/ 382 \rm -r -f IOIPSL 383 ln -s ~rpsl035/IOIPSL_PLUS IOIPSL 384 cd .. 385 ln -s ~rpsl035/IOIPSL_PLUS/modipsl/bin/* bin/ 386 ln -s ~rpsl035/IOIPSL_PLUS/modipsl/lib/* lib/ 387 388 fi # of if [ $hostname = ada338 ] 389 fi # of if [ $ioipsl = 1 ] 390 391 if [ "$veget" = 1 ] ; then 392 echo '########################################################' 393 echo 'Compiling ORCHIDEE, the continental surfaces model ' 394 echo '########################################################' 395 cd $MODEL/modipsl/modeles/ORCHIDEE 396 cd src_parameters 397 # A trick to compile ORCHIDEE depending on if we are using real*4 or real*8 398 399 \cp reqdprec.$real reqdprec.f90 334 400 make 335 401 if [ $compilo = gfortran ] ; then # copy module files to lib 336 402 cp -f *.mod ../../../lib 337 403 fi 338 # Build IOIPSL tools (ie: "rebuild", if present) 339 if [ -f $MODEL/modipsl/modeles/IOIPSL/tools/rebuild ] ; then 340 cd $MODEL/modipsl/modeles/IOIPSL/tools 341 # adapt Makefile & rebuild script if in bash 342 if [ "$use_shell" = "bash" ] ; then 343 cp Makefile Makefile.ksh 344 sed -e s:/bin/ksh:/bin/bash:g Makefile.ksh > Makefile 345 cp rebuild rebuild.ksh 346 sed -e 's:/bin/ksh:/bin/bash:g' \ 347 -e 's:print -u2:echo:g' \ 348 -e 's:print:echo:g' rebuild.ksh > rebuild 349 fi 350 make clean 351 make 352 fi 353 else 354 # we're on brodie 355 sxgmake clean 356 sxgmake 357 fi 358 359 if [ "$veget" = 1 ] ; then 360 echo '########################################################' 361 echo Compiling ORCHIDEE, the continental surfaces model 362 echo '########################################################' 363 cd $MODEL/modipsl/modeles/ORCHIDEE 364 cd src_parameters 365 # A trick to compile ORCHIDEE depending on if we are using real*4 or real*8 366 367 368 \cp reqdprec.$real reqdprec.f90 369 make 370 if [ $compilo = gfortran ] ; then # copy module files to lib 371 cp -f *.mod ../../../lib 372 fi 373 cd ../src_stomate 374 make 375 if [ $compilo = gfortran ] ; then # copy module files to lib 376 cp -f *.mod ../../../lib 377 fi 378 cd ../src_sechiba 379 make 380 if [ $compilo = gfortran ] ; then # copy module files to lib 381 cp -f *.mod ../../../lib 382 fi 383 fi 384 fi 385 404 cd ../src_stomate 405 make 406 if [ $compilo = gfortran ] ; then # copy module files to lib 407 cp -f *.mod ../../../lib 408 fi 409 cd ../src_sechiba 410 make 411 if [ $compilo = gfortran ] ; then # copy module files to lib 412 cp -f *.mod ../../../lib 413 fi 414 fi # of if [ "$veget" = 1 ] 386 415 387 416 # Ehouarn: it may be directory LMDZ4 or LMDZ5 depending on tar file... 388 417 if [[ -d $MODEL/modipsl/modeles/LMDZ4 ]] ; then 389 418 echo '##########################################################' 390 echo 'Compil ation deLMDZ4'419 echo 'Compiling LMDZ4' 391 420 echo '##########################################################' 392 421 cd $MODEL/modipsl/modeles/LMDZ4 … … 541 570 echo "bld::tool::SHELL $whereisthatshell" >> bld.cfg 542 571 572 fi # of if [ "$pclinux" = 1 ] 573 574 575 cd $MODEL/modipsl/modeles/LMDZ? 576 543 577 ### Modify makelmdz_fcm and makelmdz to use ORCHIDEE in the bench: 544 578 ### remove liborglob.a and libparallel.a … … 552 586 makelmdz.orig > makelmdz 553 587 554 fi # of if [ "$pclinux" = 1 ]555 588 556 589 ################################################################## … … 558 591 ################################################################## 559 592 ok_veget=false 560 if [ "$veget" = 1 ] ; then $ok_veget = true ; fi593 if [ "$veget" = 1 ] ; then $ok_veget = true ; fi 561 594 if [ $compile_with_fcm = 1 ] ; then 562 595 # Compile with makelmdz_fcm 596 if [ "$pclinux" = 1 ] ; then 563 597 ./makelmdz_fcm -d ${grid_resolution} -arch local -v $ok_veget gcm 598 else 599 # we are on Ada 600 ./makelmdz_fcm -d ${grid_resolution} -arch X64_ADA -v $ok_veget gcm 601 fi 564 602 else 565 603 # Comple with makegcm: … … 570 608 fi 571 609 572 if [ -f gcm.e ] || [ -f bin/gcm_${grid_resolution}_phylmd_seq_orch.e ] || [ -f bin/gcm_${grid_resolution}_phylmd_seq.e ] 573 echo '##########################################################' 574 echo Compilation successfull !!575 echo '##########################################################' 576 else 577 echo Compilation failed !!610 if [ -f gcm.e ] || [ -f bin/gcm_${grid_resolution}_phylmd_seq_orch.e ] || [ -f bin/gcm_${grid_resolution}_phylmd_seq.e ] ; then 611 echo '##########################################################' 612 echo 'Compilation successfull !! ' 613 echo '##########################################################' 614 else 615 echo 'Compilation failed !!' 578 616 exit 579 617 fi … … 587 625 588 626 echo '##########################################################' 589 echo Running a test run627 echo ' Running a test run ' 590 628 echo '##########################################################' 591 629 … … 607 645 fi 608 646 609 if [ $hostname = brodie ] ; then610 echo to run the bench, you must log on to Brodie01611 echo and then change directory to `pwd`/BENCH${grid_resolution}612 echo and run the gcm613 exit614 fi615 616 647 cd BENCH${grid_resolution} 617 648 ./bench.sh > bench.out 2>&1
Note: See TracChangeset
for help on using the changeset viewer.