- Timestamp:
- Jan 23, 2002, 11:17:21 AM (23 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ.3.3/branches/rel-1-0-patch/makegcm
r309 r312 12 12 set filtre=filtrez 13 13 set grille=reg 14 set couple=false 15 set veget=true 14 16 ######################################################################## 15 17 # path a changer contenant les sources et les objets du modele … … 29 31 setenv LIBOGCM "`pwd`/lib" 30 32 setenv IOIPSLDIR $LIBOGCM 33 setenv MODIPSLDIR $LIBOGCM 31 34 cd $localdir 32 35 if ( `hostname` == rhodes ) then … … 41 44 endif 42 45 endif 43 \cp libf/phylmd/oasis.F libf/phylmd/oasis.dummy44 \cp libf/phylmd/oasis.true libf/phylmd/oasis.F45 46 else 46 47 if ( ! $?LMDGCM ) then … … 56 57 echo for instance: "setenv IOIPSLDIR /usr/myself/ioipsl" in .cshrc 57 58 exit 59 else 60 setenv MODIPSLDIR $IOIPSLDIR 58 61 endif 59 62 if ( ! $?NCDFLIB ) then … … 70 73 set model=$LMDGCM 71 74 set libo=$LIBOGCM 72 73 #Force/couple74 set COUPLE=075 set ocean=`grep '^ parameter (ocean' libf/phylmd/physiq.F | awk -F\' '{print $2}'`76 banner $ocean77 if ($ocean == couple) then78 set COUPLE=179 endif80 81 75 82 76 ######################################################################## … … 170 164 set optimbis=" " 171 165 set optim90=" -fast -fixed " 172 set optimtru90=" -fast -free "173 set opt_link="-lf77compat -L$ IOIPSLDIR -lioipsl -L$NCDFLIB -lnetcdf"166 set optimtru90=" -fast -free " 167 set opt_link="-lf77compat -L$MODIPSLDIR -lsechiba -lparameters -lstomate -lioipsl -L$NCDFLIB -lnetcdf " 174 168 set mod_loc_dir=$localdir 175 169 set mod_suffix=mod … … 185 179 set optimbis=" -Wp,-DNC_DOUBLE -Ad -Z $LMDGCM/listage" 186 180 set optim90="$optim $optimbis -X9 -w" 187 if $COUPLE then188 set opt_link="-Wg,-c $MODIPSLDIR/liboasis2.4_mpi2.a /usr/lang/mpi2/lib64/libmpi.a /usr/lang/mpi2/lib64/libmp.a /usr/local/lib/lib64/libnetcdf_cc_31.a -L$MODIPSLDIR -lioipsl"189 set oplink="-Wl,-t,-P,-dy "190 else191 set opt_link="-Wg,-c /usr/local/lib/lib64/libnetcdf_cc_31.a -L$MODIPSLDIR -lioipsl"192 set oplink="-Wl,-t,-dy "193 endif194 181 set mod_loc_dir=$MODIPSLDIR 195 182 set mod_suffix=mod … … 199 186 else if $LINUX then 200 187 set optim="-fast " 201 set optim90=" -fast -module $libo"202 set optimtru90=" -fast -c -Mfree -module /d3/fairhead/sechiba/ioipsl"203 set opt_link=" -Mfree -L /usr/local/pgi/linux86/lib -lpgf90 -lpgftnrtl -lpghpf -lpghpf2 -L$NCDFLIB -lnetcdf -L$IOIPSLDIR -lioipsl -Wl,-Bstatic"204 set mod_loc_dir=$ IOIPSLDIR188 set optim90=" -fast " 189 set optimtru90=" -fast -c -Mfree -module $MODIPSLDIR " 190 set opt_link=" -Mfree -L /usr/local/pgi/linux86/lib -lpgf90 -lpgftnrtl -lpghpf -lpghpf2 -L$MODIPSLDIR -lsechiba -lparameters -lstomate -L$NCDFLIB -lnetcdf -lioipsl -Wl,-Bstatic -L/usr/lib/gcc-lib/i386-linux/2.95.2/" 191 set mod_loc_dir=$MODIPSLDIR 205 192 set mod_suffix=mod 206 193 else if $NEC then … … 209 196 set optim="$optim90" 210 197 set optimbis=" " 211 set opt_link=" -C hopt -float0 -ew -P static -L$ IOIPSLDIR -lioipsl -L/u/rech/psl/rpsl003/IOIPSL-lnetcdf_i8r8_v "198 set opt_link=" -C hopt -float0 -ew -P static -L$MODIPSLDIR -lioipsl -L$NCDFLIB -lnetcdf_i8r8_v " 212 199 set mod_loc_dir="." 213 200 set mod_suffix="mod" 214 201 else if $XNEC then 215 set optim90= ' -clear -R5 -C vopt -float0 -ew -P static -Wf,"-pvctl loopcnt=40000 fullmsg noassume "'216 set optimtru90= ' -clear -R5 -f4 -C vopt -float0 -ew -P static -Wf,"-pvctl loopcnt=40000 fullmsg noassume "'202 set optim90=" -clear $OPTIMI -float0 -ew -R5 $OPT_STACK" 203 set optimtru90=" -clear -f4 $OPTIMI -float0 -ew -R2 -R3 -R4 -R5 $OPT_STACK" 217 204 set optim="$optim90" 218 205 set optimbis=" " 219 if $MODIPSL then220 if $COUPLE then221 set opt_link="-L$IOIPSLDIR -lsxioipsl -loasis2.4_mpi2 -float0 -ew -P static -I$NCDFINC $NCDFLIB "222 else223 set opt_link="-L$IOIPSLDIR -lsxioipsl -float0 -ew -P static -I$NCDFINC $NCDFLIB "224 endif225 set mod_loc_dir="./"226 else227 set opt_link=" -C hopt -float0 -ew -P static -L$IOIPSLDIR -lsxioipsl -L /home/rech/psl/rpsl003/IOIPSL -lnetcdf_i8r8_v -I$NCDFINC "228 set mod_loc_dir="."229 endif230 206 set mod_suffix="mod" 231 232 207 else 233 208 set optim="" … … 307 282 parametrisations physiques dans le repertoire: 308 283 $LMDGCM/libf/phyPHYS 284 285 -c false|true 286 pour selectionner le mode force (par defaut) ou couple 287 288 -v true|false 289 pour selectionner la vegetation (par defaut) ou non 309 290 310 291 -g grille selectionne le type de grille qu'on veut utiliser. … … 362 343 set grille="$2" ; shift ; shift ; goto top 363 344 345 case -c 346 set couple="$2" ; shift ; shift ; goto top 347 348 case -v 349 set veget="$2" ; shift ; shift ; goto top 350 364 351 case -t 365 352 set ntrac=$2 ; shift ; shift ; goto top … … 384 371 setenv PARALLEL 2 385 372 set optim=" -g -C " 373 set optim=" -g " 374 set optim90=" -fixed -g -C " 386 375 set optim90=" -fixed -g " 387 376 set optimtru90=" -free -g " … … 390 379 set optim90="$optim90"" -G1 " 391 380 else if $LINUX then 392 set optim="$optim"" -g -Mbounds "393 set optim90="$optim90"" -g -Mbounds "381 set optim="$optim"" -g -Mbounds -C " 382 set optim90="$optim90"" -g -Mbounds -C " 394 383 else 395 384 echo pas d option debug predefinie pour cette machine … … 403 392 endsw 404 393 endif 405 406 echo apres les opts dim $dim407 394 408 395 ######################################################################## … … 436 423 ######################################################################## 437 424 438 \rm tmp ; touch tmp439 \rm tmp90 ; touch tmp90425 \rm -f tmp ; touch tmp 426 \rm -f tmp90 ; touch tmp90 440 427 foreach i ( $optim ) 441 428 echo $i | sed -e 's/\"//g' -e "s/\'//g" -e 's/-//g' >> tmp … … 451 438 set nomlib=DEC 452 439 endif 453 echo dimension avant sed $dim454 440 if ( $IBM ) then 455 441 set dim=`echo $dim | sed -en 's/[^0-9]/ /g'` 456 442 set dim_=`echo $dim | sed -en 's/[^0-9]/_/g'` 457 else if ( $SUN || $XNEC) then443 else if ( $SUN ) then 458 444 set dim=`echo $dim | sed -e 's/[^0-9]/ /g'` 459 445 set dim_=`echo $dim | sed -e 's/[^0-9]/_/g'` … … 502 488 echo "Voulez-vous vraiment continuer?" 503 489 if ( $< == "oui" ) then 504 \rm $libf/grid/dimensions.h490 \rm -f $libf/grid/dimensions.h 505 491 else 506 492 exit … … 524 510 525 511 set dimension=`echo $dim | wc -w` 526 echo dimension $dimension dim $dim512 echo dimension $dimension 527 513 if ( $dimension == 1 ) then 528 514 echo pas de dynamique … … 542 528 543 529 if ( -f $libf/phy$physique/raddim.h ) then 544 if ( -f $libf/phy$physique/raddim.$dimh.h ) then545 \rm$libf/phy$physique/raddim.h546 cp -p $libf/phy$physique/raddim.$dimh.h $libf/phy$physique/raddim.h547 echo $libf/phy$physique/raddim.$dimh.h548 cat $libf/phy$physique/raddim.$dimh.h549 cat $libf/phy$physique/raddim.h550 else551 echo On peut diminuer la taille de l executable en creant552 echo le fichier $libf/phy$physique/raddim.$dimh.h553 \cp -p $libf/phy$physique/raddim.defaut.h $libf/phy$physique/raddim.h554 endif530 if ( -f $libf/phy$physique/raddim.$dimh.h ) then 531 \rm -f $libf/phy$physique/raddim.h 532 cp -p $libf/phy$physique/raddim.$dimh.h $libf/phy$physique/raddim.h 533 echo $libf/phy$physique/raddim.$dimh.h 534 cat $libf/phy$physique/raddim.$dimh.h 535 cat $libf/phy$physique/raddim.h 536 else 537 echo On peut diminuer la taille de l executable en creant 538 echo le fichier $libf/phy$physique/raddim.$dimh.h 539 \cp -p $libf/phy$physique/raddim.defaut.h $libf/phy$physique/raddim.h 540 endif 555 541 endif 556 542 … … 568 554 echo $dimc 569 555 556 ######################################################################## 557 # utilisation des vraies routines de couplage si on est en couple 558 ######################################################################## 559 if ( $couple == 'true' ) then 560 banner couple 561 pwd 562 if ( `diff $libf/phylmd/oasis.F $libf/phylmd/oasis.true | wc -w` ) then 563 \cp $libf/phylmd/oasis.F $libf/phylmd/oasis.dummy 564 \cp $libf/phylmd/oasis.true $libf/phylmd/oasis.F 565 endif 566 else 567 if ( `diff $libf/phylmd/oasis.F $libf/phylmd/oasis.dummy | wc -w` ) then 568 \cp $libf/phylmd/oasis.F $libf/phylmd/oasis.true 569 \cp $libf/phylmd/oasis.dummy $libf/phylmd/oasis.F 570 endif 571 endif 570 572 ######################################################################## 571 573 # Avant de lancer le make, on recree le makefile si necessaire … … 618 620 set f77=frt 619 621 set f90=$f77 622 if ($couple == true) then 623 set opt_link="-Wg,-c $MODIPSLDIR/liboasis2.4_mpi2.a /usr/lang/mpi2/lib64/libmpi.a /usr/lang/mpi2/lib64/libmp.a /usr/local/lib/lib64/libnetcdf_cc_31.a -L$MODIPSLDIR -lioipsl" 624 set oplink="-Wl,-t,-P,-dy " 625 else 626 set opt_link="-Wg,-c /usr/local/lib/lib64/libnetcdf_cc_31.a -L$MODIPSLDIR -lioipsl" 627 set oplink="-Wl,-t,-dy " 628 endif 629 if ($veget == true) then 630 set opt_link="$opt_link -lsechiba -lparameters -lstomate -lioipsl /usr/local/lib/lib64/libnetcdf_cc_31.a" 631 endif 620 632 else if $CRAY then 621 633 set f77=f90 … … 630 642 set f77=f90 631 643 set f90=f90 644 set opt_link="-L$MODIPSLDIR" 645 if ($veget == true) then 646 set opt_link="$opt_link -lsechiba -lparameters -lstomate" 647 endif 648 if ($couple == true) then 649 set opt_link="$opt_link -lioipsl -loasis2.4_mpi2 -float0 -ew -P static $NCDFLIB " 650 else 651 set opt_link="$opt_link -L$MODIPSLDIR -lioipsl -float0 -ew -P static $NCDFLIB " 652 endif 653 set mod_loc_dir="./" 632 654 else if $XNEC then 633 655 set f77=sxmpif90 634 656 set f90=sxmpif90 657 if $MODIPSL then 658 set opt_link="-L$MODIPSLDIR" 659 if ($veget == true) then 660 set opt_link="$opt_link -lsxsechiba -lsxparameters -lsxstomate" 661 endif 662 if ($couple == true) then 663 set opt_link="$opt_link -lsxioipsl -loasis2.4_mpi2 -float0 -ew -P static $NCDFLIB " 664 else 665 set opt_link="$opt_link -lsxioipsl -float0 -ew -P static $NCDFLIB " 666 endif 667 else 668 set opt_link=" -C hopt -float0 -ew -P static -L$MODIPSLDIR -lsxsechiba -lsxparameters -lsxstomate -lsxioipsl $NCDFLIB -I$NCDFINC " 669 endif 670 set mod_loc_dir="./" 635 671 else 636 672 set f77=f77 … … 649 685 set make="make -k RANLIB=ranlib" 650 686 else if $XNEC then 651 set make="/usr/local/bin/gmake RANLIB=ls" 652 set make="/usr/freeware/bin/gmake RANLIB=ls" 687 set make="gmake RANLIB=ls" 653 688 else 654 689 set make="make RANLIB=ranlib" … … 681 716 682 717 # 683 # Encore un test temporaire: probleme de compilation sur VPP684 # l'optimisation de startvar se passe mal685 #686 if ($code == 'create_etat0' && $VPP) then687 if ( ! -f $libo/libdyn3d.a ) then688 echo "Priere de compiler gcm en premier pour des raisons d'optimisation"689 \rm $libf/grid/dimensions.h690 exit691 endif692 set optim=" -Wv,-Of,-ilfunc"693 set optimbis=" -Psia -Aa -Wv,-m3 -Wp,-DVPP -Z $LMDGCM/listage"694 set optim90="$optim""$optimbis"" -X9 -w"695 set opt_link="-L$IOIPSLDIR -lioipsl -L$NCDFLIB -lnetcdf"696 touch $LMDGCM/libf/dyn3d/startvar.F697 touch $LMDGCM/libf/dyn3d/etat0_netcdf.F698 endif699 700 #701 718 # etat0_netcdf a besoin d'info de la physique 702 719 # A revoir … … 717 734 \cp $IOIPSLDIR/*.mod $libo 718 735 else if $SUN then 719 set optim90=" $optim90 -M$libo "720 set optimtru90=" $optimtru90 -M$libo "736 set optim90=" $optim90 -M$libo -M$MODIPSLDIR " 737 set optimtru90=" $optimtru90 -M$libo -M$MODIPSLDIR " 721 738 set optim="$optim90" 722 \cp /d3/fairhead/sechiba_sun/parameters/*.mod $libo723 \cp /d3/fairhead/sechiba_sun/sechiba/*.mod $libo724 \cp /d3/fairhead/sechiba_sun/stomate/*.mod $libo725 739 \cp $IOIPSLDIR/*.mod $libo 726 740 else if $NEC then … … 730 744 set optimtru90=" $optimtru90 -I$libo " 731 745 else if $LINUX then 732 set optim90=" -fast-module $libo "746 set optim90=" $optim90 -module $libo " 733 747 set optim="$optim90" 734 748 set mod_loc_dir=$libo … … 796 810 PROG=$code 797 811 798 \rm $libf/grid/dimensions.h 799 if $MODIPSL then 800 \cp libf/phylmd/oasis.F libf/phylmd/oasis.true 801 \cp libf/phylmd/oasis.dummy libf/phylmd/oasis.F 802 endif 812 \rm -f $libf/grid/dimensions.h
Note: See TracChangeset
for help on using the changeset viewer.