Ignore:
Timestamp:
Jan 23, 2002, 11:17:21 AM (23 years ago)
Author:
lmdz
Message:

Inclusions des modifs faites dans la branche couplée pour le VPP
LF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ.3.3/branches/rel-1-0-patch/makegcm

    r309 r312  
    1212set filtre=filtrez
    1313set grille=reg
     14set couple=false
     15set veget=true
    1416########################################################################
    1517# path a changer contenant les sources et les objets du modele
     
    2931  setenv LIBOGCM "`pwd`/lib"
    3032  setenv IOIPSLDIR $LIBOGCM
     33  setenv MODIPSLDIR $LIBOGCM
    3134  cd $localdir
    3235  if ( `hostname` == rhodes ) then
     
    4144    endif
    4245  endif
    43   \cp libf/phylmd/oasis.F libf/phylmd/oasis.dummy
    44   \cp libf/phylmd/oasis.true libf/phylmd/oasis.F
    4546else
    4647  if ( ! $?LMDGCM ) then
     
    5657    echo for instance: "setenv IOIPSLDIR /usr/myself/ioipsl" in .cshrc
    5758    exit
     59  else
     60      setenv MODIPSLDIR $IOIPSLDIR
    5861  endif
    5962  if ( ! $?NCDFLIB ) then
     
    7073set model=$LMDGCM
    7174set libo=$LIBOGCM
    72 
    73 #Force/couple
    74 set COUPLE=0
    75 set ocean=`grep '^      parameter (ocean' libf/phylmd/physiq.F | awk -F\' '{print $2}'`
    76 banner $ocean
    77 if ($ocean == couple) then
    78   set COUPLE=1
    79 endif
    80 
    8175
    8276########################################################################
     
    170164   set optimbis=" "
    171165   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 "
    174168   set mod_loc_dir=$localdir
    175169   set mod_suffix=mod
     
    185179   set optimbis=" -Wp,-DNC_DOUBLE -Ad -Z $LMDGCM/listage"
    186180   set optim90="$optim $optimbis -X9 -w"
    187    if $COUPLE then
    188      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    else
    191      set opt_link="-Wg,-c /usr/local/lib/lib64/libnetcdf_cc_31.a -L$MODIPSLDIR -lioipsl"
    192      set oplink="-Wl,-t,-dy "
    193    endif
    194181   set mod_loc_dir=$MODIPSLDIR
    195182   set mod_suffix=mod
     
    199186else if $LINUX then
    200187   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=$IOIPSLDIR
     188   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
    205192   set mod_suffix=mod
    206193else if $NEC then
     
    209196   set optim="$optim90"
    210197   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 "
    212199   set mod_loc_dir="."
    213200   set mod_suffix="mod"
    214201else 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"
    217204   set optim="$optim90"
    218205   set optimbis=" "
    219    if $MODIPSL then
    220      if $COUPLE then
    221        set opt_link="-L$IOIPSLDIR -lsxioipsl -loasis2.4_mpi2 -float0 -ew -P static -I$NCDFINC $NCDFLIB "
    222      else
    223        set opt_link="-L$IOIPSLDIR -lsxioipsl -float0 -ew -P static -I$NCDFINC $NCDFLIB "
    224      endif
    225      set mod_loc_dir="./"
    226    else
    227      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    endif
    230206   set mod_suffix="mod"
    231 
    232207else
    233208   set optim=""
     
    307282           parametrisations physiques dans le repertoire:
    308283            $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
    309290
    310291-g grille  selectionne le type de grille qu'on veut utiliser.
     
    362343        set grille="$2" ; shift ; shift ; goto top
    363344
     345     case -c
     346        set couple="$2" ; shift ; shift ; goto top
     347
     348     case -v
     349        set veget="$2" ; shift ; shift ; goto top
     350
    364351     case -t
    365352        set ntrac=$2 ; shift ; shift ; goto top
     
    384371           setenv PARALLEL 2
    385372           set optim=" -g -C "
     373           set optim=" -g "
     374           set optim90=" -fixed -g -C "
    386375           set optim90=" -fixed -g "
    387376           set optimtru90=" -free -g "
     
    390379           set optim90="$optim90"" -G1 "
    391380        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 "
    394383        else
    395384           echo pas d option debug predefinie pour cette machine
     
    403392   endsw
    404393endif
    405 
    406 echo apres les opts dim $dim
    407394
    408395########################################################################
     
    436423########################################################################
    437424
    438 \rm tmp ; touch tmp
    439 \rm tmp90 ; touch tmp90
     425\rm -f tmp ; touch tmp
     426\rm -f tmp90 ; touch tmp90
    440427foreach i ( $optim )
    441428   echo $i | sed -e 's/\"//g' -e "s/\'//g" -e 's/-//g'  >> tmp
     
    451438   set nomlib=DEC
    452439endif
    453 echo dimension avant sed $dim
    454440if ( $IBM ) then
    455441   set dim=`echo $dim | sed -en 's/[^0-9]/ /g'`
    456442   set dim_=`echo $dim | sed -en 's/[^0-9]/_/g'`
    457 else if ( $SUN || $XNEC ) then
     443else if ( $SUN ) then
    458444   set dim=`echo $dim | sed -e 's/[^0-9]/ /g'`
    459445   set dim_=`echo $dim | sed -e 's/[^0-9]/_/g'`
     
    502488echo "Voulez-vous vraiment continuer?"
    503489if ( $< == "oui" ) then
    504 \rm $libf/grid/dimensions.h
     490\rm -f $libf/grid/dimensions.h
    505491else
    506492exit
     
    524510
    525511set dimension=`echo $dim | wc -w`
    526 echo dimension $dimension dim $dim
     512echo dimension $dimension
    527513if ( $dimension == 1 ) then
    528514echo pas de dynamique
     
    542528
    543529if ( -f $libf/phy$physique/raddim.h ) then
    544 if ( -f $libf/phy$physique/raddim.$dimh.h ) then
    545 \rm $libf/phy$physique/raddim.h
    546 cp -p $libf/phy$physique/raddim.$dimh.h $libf/phy$physique/raddim.h
    547 echo $libf/phy$physique/raddim.$dimh.h
    548 cat $libf/phy$physique/raddim.$dimh.h
    549 cat $libf/phy$physique/raddim.h
    550 else
    551 echo On peut diminuer la taille de l executable en creant
    552 echo le fichier $libf/phy$physique/raddim.$dimh.h
    553 \cp -p $libf/phy$physique/raddim.defaut.h $libf/phy$physique/raddim.h
    554 endif
     530 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
    555541endif
    556542
     
    568554echo $dimc
    569555
     556########################################################################
     557#  utilisation des vraies routines de couplage si on est en couple
     558########################################################################
     559if ( $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
     566else
     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
     571endif
    570572########################################################################
    571573#  Avant de lancer le make, on recree le makefile si necessaire
     
    618620   set f77=frt
    619621   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
    620632else if $CRAY then
    621633   set f77=f90
     
    630642   set f77=f90
    631643   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="./"
    632654else if $XNEC then
    633655   set f77=sxmpif90
    634656   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="./"
    635671else
    636672   set f77=f77
     
    649685set make="make -k RANLIB=ranlib"
    650686else if $XNEC then
    651 set make="/usr/local/bin/gmake RANLIB=ls"
    652 set make="/usr/freeware/bin/gmake RANLIB=ls"
     687set make="gmake RANLIB=ls"
    653688else
    654689set make="make RANLIB=ranlib"
     
    681716
    682717#
    683 # Encore un test temporaire: probleme de compilation sur VPP
    684 # l'optimisation de startvar se passe mal
    685 #
    686 if ($code == 'create_etat0' && $VPP) then
    687    if ( ! -f $libo/libdyn3d.a ) then
    688      echo "Priere de compiler gcm en premier pour des raisons d'optimisation"
    689      \rm $libf/grid/dimensions.h                                             
    690      exit                       
    691    endif
    692    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.F
    697    touch $LMDGCM/libf/dyn3d/etat0_netcdf.F
    698 endif
    699 
    700 #
    701718# etat0_netcdf a besoin d'info de la physique
    702719# A revoir
     
    717734 \cp $IOIPSLDIR/*.mod $libo
    718735else 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 "
    721738 set optim="$optim90"
    722  \cp /d3/fairhead/sechiba_sun/parameters/*.mod $libo
    723  \cp /d3/fairhead/sechiba_sun/sechiba/*.mod $libo
    724  \cp /d3/fairhead/sechiba_sun/stomate/*.mod $libo
    725739 \cp $IOIPSLDIR/*.mod $libo
    726740else if $NEC then
     
    730744 set optimtru90=" $optimtru90 -I$libo "
    731745else if $LINUX then
    732  set optim90=" -fast -module $libo "
     746 set optim90=" $optim90 -module $libo "
    733747 set optim="$optim90"
    734748 set mod_loc_dir=$libo
     
    796810PROG=$code
    797811
    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.