Changeset 311 for LMDZ.3.3/trunk
- Timestamp:
- Jan 22, 2002, 12:21:47 PM (23 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ.3.3/trunk/makegcm
r309 r311 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 set optimtru90=" -free -g " 376 set optimtru90=" -free -g -C " 377 # set optim=" -g " 378 # set optim90=" -fixed -g " 379 # set optimtru90=" -free -g " 388 380 else if $CRAY then 389 381 set optim="$optim"" -g " 390 382 set optim90="$optim90"" -G1 " 391 383 else if $LINUX then 392 set optim="$optim"" -g -Mbounds "393 set optim90="$optim90"" -g -Mbounds "384 set optim="$optim"" -g -Mbounds -C " 385 set optim90="$optim90"" -g -Mbounds -C " 394 386 else 395 387 echo pas d option debug predefinie pour cette machine … … 403 395 endsw 404 396 endif 405 406 echo apres les opts dim $dim407 397 408 398 ######################################################################## … … 436 426 ######################################################################## 437 427 438 \rm tmp ; touch tmp439 \rm tmp90 ; touch tmp90428 \rm -f tmp ; touch tmp 429 \rm -f tmp90 ; touch tmp90 440 430 foreach i ( $optim ) 441 431 echo $i | sed -e 's/\"//g' -e "s/\'//g" -e 's/-//g' >> tmp … … 451 441 set nomlib=DEC 452 442 endif 453 echo dimension avant sed $dim454 443 if ( $IBM ) then 455 444 set dim=`echo $dim | sed -en 's/[^0-9]/ /g'` 456 445 set dim_=`echo $dim | sed -en 's/[^0-9]/_/g'` 457 else if ( $SUN || $XNEC) then446 else if ( $SUN ) then 458 447 set dim=`echo $dim | sed -e 's/[^0-9]/ /g'` 459 448 set dim_=`echo $dim | sed -e 's/[^0-9]/_/g'` … … 502 491 echo "Voulez-vous vraiment continuer?" 503 492 if ( $< == "oui" ) then 504 \rm $libf/grid/dimensions.h493 \rm -f $libf/grid/dimensions.h 505 494 else 506 495 exit … … 524 513 525 514 set dimension=`echo $dim | wc -w` 526 echo dimension $dimension dim $dim515 echo dimension $dimension 527 516 if ( $dimension == 1 ) then 528 517 echo pas de dynamique … … 542 531 543 532 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 endif533 if ( -f $libf/phy$physique/raddim.$dimh.h ) then 534 \rm -f $libf/phy$physique/raddim.h 535 cp -p $libf/phy$physique/raddim.$dimh.h $libf/phy$physique/raddim.h 536 echo $libf/phy$physique/raddim.$dimh.h 537 cat $libf/phy$physique/raddim.$dimh.h 538 cat $libf/phy$physique/raddim.h 539 else 540 echo On peut diminuer la taille de l executable en creant 541 echo le fichier $libf/phy$physique/raddim.$dimh.h 542 \cp -p $libf/phy$physique/raddim.defaut.h $libf/phy$physique/raddim.h 543 endif 555 544 endif 556 545 … … 568 557 echo $dimc 569 558 559 ######################################################################## 560 # utilisation des vraies routines de couplage si on est en couple 561 ######################################################################## 562 if ( $couple == 'true' ) then 563 banner couple 564 pwd 565 if ( `diff $libf/phylmd/oasis.F $libf/phylmd/oasis.true | wc -w` ) then 566 \cp $libf/phylmd/oasis.F $libf/phylmd/oasis.dummy 567 \cp $libf/phylmd/oasis.true $libf/phylmd/oasis.F 568 endif 569 else 570 if ( `diff $libf/phylmd/oasis.F $libf/phylmd/oasis.dummy | wc -w` ) then 571 \cp $libf/phylmd/oasis.F $libf/phylmd/oasis.true 572 \cp $libf/phylmd/oasis.dummy $libf/phylmd/oasis.F 573 endif 574 endif 570 575 ######################################################################## 571 576 # Avant de lancer le make, on recree le makefile si necessaire … … 618 623 set f77=frt 619 624 set f90=$f77 625 if ($couple == true) then 626 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" 627 set oplink="-Wl,-t,-P,-dy " 628 else 629 set opt_link="-Wg,-c /usr/local/lib/lib64/libnetcdf_cc_31.a -L$MODIPSLDIR -lioipsl" 630 set oplink="-Wl,-t,-dy " 631 endif 632 if ($veget == true) then 633 set opt_link="$opt_link -lsechiba -lparameters -lstomate -lioipsl /usr/local/lib/lib64/libnetcdf_cc_31.a" 634 endif 620 635 else if $CRAY then 621 636 set f77=f90 … … 630 645 set f77=f90 631 646 set f90=f90 647 set opt_link="-L$MODIPSLDIR" 648 if ($veget == true) then 649 set opt_link="$opt_link -lsechiba -lparameters -lstomate" 650 endif 651 if ($couple == true) then 652 set opt_link="$opt_link -lioipsl -loasis2.4_mpi2 -float0 -ew -P static $NCDFLIB " 653 else 654 set opt_link="$opt_link -L$MODIPSLDIR -lioipsl -float0 -ew -P static $NCDFLIB " 655 endif 656 set mod_loc_dir="./" 632 657 else if $XNEC then 633 658 set f77=sxmpif90 634 659 set f90=sxmpif90 660 if $MODIPSL then 661 set opt_link="-L$MODIPSLDIR" 662 if ($veget == true) then 663 set opt_link="$opt_link -lsxsechiba -lsxparameters -lsxstomate" 664 endif 665 if ($couple == true) then 666 set opt_link="$opt_link -lsxioipsl -loasis2.4_mpi2 -float0 -ew -P static $NCDFLIB " 667 else 668 set opt_link="$opt_link -lsxioipsl -float0 -ew -P static $NCDFLIB " 669 endif 670 else 671 set opt_link=" -C hopt -float0 -ew -P static -L$MODIPSLDIR -lsxsechiba -lsxparameters -lsxstomate -lsxioipsl $NCDFLIB -I$NCDFINC " 672 endif 673 set mod_loc_dir="./" 635 674 else 636 675 set f77=f77 … … 649 688 set make="make -k RANLIB=ranlib" 650 689 else if $XNEC then 651 set make="/usr/local/bin/gmake RANLIB=ls" 652 set make="/usr/freeware/bin/gmake RANLIB=ls" 690 set make="gmake RANLIB=ls" 653 691 else 654 692 set make="make RANLIB=ranlib" … … 681 719 682 720 # 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 721 # etat0_netcdf a besoin d'info de la physique 702 722 # A revoir … … 717 737 \cp $IOIPSLDIR/*.mod $libo 718 738 else if $SUN then 719 set optim90=" $optim90 -M$libo "720 set optimtru90=" $optimtru90 -M$libo "739 set optim90=" $optim90 -M$libo -M$MODIPSLDIR " 740 set optimtru90=" $optimtru90 -M$libo -M$MODIPSLDIR " 721 741 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 742 \cp $IOIPSLDIR/*.mod $libo 726 743 else if $NEC then … … 730 747 set optimtru90=" $optimtru90 -I$libo " 731 748 else if $LINUX then 732 set optim90=" -fast-module $libo "749 set optim90=" $optim90 -module $libo " 733 750 set optim="$optim90" 734 751 set mod_loc_dir=$libo … … 796 813 PROG=$code 797 814 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 815 \rm -f $libf/grid/dimensions.h
Note: See TracChangeset
for help on using the changeset viewer.