Changeset 475


Ignore:
Timestamp:
Feb 4, 2010 2:26:16 AM (12 years ago)
Author:
raasch
Message:

make options can be set in configuration file; bugfix for generating serial jobs; bugfix for masked output

Location:
palm/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SCRIPTS/mbuild

    r437 r475  
    109109     # 01/12/09 - BjornM- re-adjustments for lcxt4
    110110     # 01/02/10 - Siggi - adjustments for lcxt5m
     111     # 03/02/10 - Siggi - make options (mopts) to be set by configuration file
     112     #                    implemented, remoted mode option -r completely
     113     #                    removed, t3e related parts removed
    111114
    112115
     
    120123 locat=normal
    121124 makefile=""
    122  remote_mode=interactive
    123125 scirocco=false
    124126 silent=false
     
    156158
    157159    # SHELLSCRIPT-OPTIONEN EINLESEN
    158  while  getopts  :c:h:m:rs:u  option
     160 while  getopts  :c:h:m:s:u  option
    159161 do
    160162   case  $option  in
     
    162164       (h)   host=$OPTARG;;
    163165       (m)   makefile=$OPTARG;;
    164        (r)   remote_mode=batch;;
    165166       (s)   suf=$OPTARG;;
    166167       (u)   compile_utility_programs=true;;
     
    169170   esac
    170171 done
    171 
    172 
    173 
    174     # BATCH-MODE IST ZUR ZEIT NICHT FUNKTIONSFAEHIG
    175  if [[ $remote_mode = batch ]]
    176  then
    177     printf "\n  +++ sorry, batch mode does not work! \n"
    178     locat=parameter; exit
    179  fi
    180172
    181173
     
    749741
    750742
     743       # get make options
     744    line=""
     745    found=false
     746    grep  "$remote_host_string" $config_file | grep "%mopts"  >  $tmp_mbuild
     747    while read line1
     748    do
     749
     750       if [[ $(echo $line1 | cut -d" " -s -f3-) = "$remote_host_string" ]]
     751       then
     752          line="$line1"
     753       fi
     754
     755       if [[ "$line" != ""  &&  $(echo $line | cut -c1) != "#" ]]
     756       then
     757             # remove colons from directive string
     758          make_options=`echo $line | cut -d" " -s -f2 | sed 's/::/%DUM%/g' | sed 's/:/ /g' | sed 's/%DUM%/:/g'`
     759
     760       fi
     761
     762    done < $tmp_mbuild
     763
     764
     765
    751766       # COMPILEROPTIONEN ERMITTELN
    752767    line=""
     
    875890    then
    876891       column1="serial compiler:"; column2=$compiler_name_ser
     892       printf "| $column1$column2 | \n"
     893    fi
     894    if [[ "$make_options" != "" ]]
     895    then
     896       column1="make options:"; column2=$make_options
    877897       printf "| $column1$column2 | \n"
    878898    fi
     
    938958
    939959
    940     if [[ $remote_mode = batch ]]
    941     then
    942 
    943           # BATCH-JOB PARAMETER SETZEN
    944        case  $remote_host  in
    945            (t3eb)           queue=berte; memory=60; cputime=1000; xoption="-X 0";;
    946            (t3eh)           queue=comp_t3e; memory=60; cputime=360;;
    947            (t3ej2)          queue=normal; memory=60; cputime=1000; xoption="-X 0";;
    948            (t3ej5|ground.yonsei.ac.kr)  printf "\n  --- remote host \"$remote_host\" does not allow batch jobs"; continue;;
    949        esac
    950 
    951 
    952           # BATCH-JOB ZUSAMMENSTELLEN
    953        printf "\n  *** creating batch-job for remote host"
    954        echo " "  >  mbuild_job
    955 
    956           # AUF CRAY-RECHNERN IN JUELICH WIRD KEIN BENUTZER-PROFILE AUSGEFUEHRT
    957           # DIES WIRD HIER GETAN, UM PFADE USW. ZU SETZEN
    958        if [[ $remote_host = t3ej2 ]]
    959        then
    960           echo "set +vx"                       >>  mbuild_job
    961           echo ". .profile"                    >>  mbuild_job
    962           echo "set -x"                        >>  mbuild_job
    963        fi
    964 
    965           # AUF CRAY-RECHNERN GELADENE MODULE AUFLISTEN
    966        if [[ $host = t3eb  || $host = t3eh  ||  $host = t3ej2 ]]
    967        then
    968           echo "module list"                   >>  mbuild_job
    969        fi
    970 
    971 
    972           # WECHSEL IN TEMPORAERES VERZEICHNIS
    973        echo "cd ${remote_md}"  >>  mbuild_job
    974 
    975 
    976           # AKTUELLE QUELLTEXTVERSION INS REMOTE-QUELLTEXTVERZEICHNIS KOPIEREN
    977        echo  "scp  ${local_username}@${local_addres}:~/modell/code_3dp/palm_current_version/${mainprog}_sources.tar  ${mainprog}_sources.tar"  >>  mbuild_job
    978 #       echo  "[[ \$? != 0 ]]  &&  (echo "+++ scp failed"; exit)"  >>  mbuild_job
    979 
    980 
    981           # FALLS VORHANDEN, LETZTE VERSION AUF DEM REMOTE-RECHNER AUSPACKEN
    982        echo  "[[ -f ${mainprog}_current_version.tar ]]  &&  tar -xvf  ${mainprog}_current_version.tar"  >>  mbuild_job
    983 
    984 
    985           # AKTUELLE QUELLTEXTVERSION AUF REMOTE-RECHNER AUSPACKEN
    986        echo  "tar -xvf  ${mainprog}_sources.tar"              >>  mbuild_job
    987 
    988 
    989           # MAKE MIT ZUVOR ERMITTELTEN OPTIONEN AUF REMOTE RECHNER AUSFUEHREN
    990        echo  "make  PROG=$mainprog  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" "  >>  mbuild_job
    991        echo  "chmod  u+w  *"                                  >>  mbuild_job
    992 
    993           # NEUE VERSION AUF REMOTE-RECHNER ZUSAMMENPACKEN
    994        echo  "tar -cvf  ${mainprog}_current_version.tar  *.f90  *.o"  >>  mbuild_job
    995 
    996 
    997           # AKTUELLES VERSIONSVERZEICHNIS AUF REMOTE-RECHNER BEREINIGEN
    998        echo  "make  clean"                                    >>  mbuild_job
    999        echo  "rm ${mainprog}_sources.tar"                     >>  mbuild_job
    1000        echo  "rm *.f90 Makefile"                              >>  mbuild_job
    1001 
    1002 
    1003 
    1004           # JOB MITTELS SUBJOB STARTEN
    1005        printf "\n  *** sending batch job to remote host"
    1006 #       subjob  $xoption  -h $remote_host  -q $queue  -m $memory  -t $cputime  -v  mbuild_job
    1007 
    1008 
    1009           # JOBFILE LOESCHEN
    1010 #       rm  aljob
    1011 
    1012     else
    1013 
    1014        if [[ $remote_host != $local_host ]]
    1015        then
    1016 
    1017           if [[ $compile_utility_programs = false ]]
    1018           then
    1019 
    1020                 # AKTUELLE QUELLTEXTVERSION INS REMOTE-QUELLTEXTVERZEICHNIS KOPIEREN
    1021                 # FALLS DIESES NOCH NICHT EXISTIERT, WIRD ES ERZEUGT
    1022              echo "  *** copying \"${mainprog}_sources.tar\" to \"${remote_addres}:${remote_md}/\" "
    1023              if [[ $remote_host != lctit ]]
     960       # make on remote host
     961    if [[ $remote_host != $local_host ]]
     962    then
     963
     964       if [[ $compile_utility_programs = false ]]
     965       then
     966
     967             # AKTUELLE QUELLTEXTVERSION INS REMOTE-QUELLTEXTVERZEICHNIS KOPIEREN
     968             # FALLS DIESES NOCH NICHT EXISTIERT, WIRD ES ERZEUGT
     969          echo "  *** copying \"${mainprog}_sources.tar\" to \"${remote_addres}:${remote_md}/\" "
     970          if [[ $remote_host != lctit ]]
     971          then
     972             ssh  ${remote_username}@${remote_addres} "[[ ! -d ${remote_md} ]]  &&  (echo \"  *** ${remote_md} will be created\"; mkdir -p  ${remote_md})"
     973          else
     974                # TIT ERLAUBT NUR DIE AUSFï¿œHRUNG GANZ BESTIMMTER KOMMANDOS
     975                # MIT SSH, DESHALB AUFRUF PER PIPE
     976             print "[[ ! -d ${remote_md} ]]  &&  (echo \"  *** ${remote_md} will be created\"; mkdir -p  ${remote_md})"  |  ssh ${remote_username}@${remote_addres}  2>&1
     977          fi
     978          if [[ $local_host = decalpha ]]
     979          then
     980                # DECALPHA BENUTZT BEI NICHTANGABE DES VOLLSTï¿œNDIGEN PFADES
     981                # IRGENDEIN ANDERES SCP (WAS NICHT FUNKTIONIERT). AUSSERDEM
     982                # KOENNEN DOLLAR-ZEICHEN NICHT BENUTZT WERDEN
     983             remote_md=`echo $remote_md | sed 's/\$HOME\///'`
     984             /bin/scp  ${local_source_path}/${mainprog}_sources.tar  ${remote_username}@${remote_addres}:${remote_md}/${mainprog}_sources.tar
     985          else
     986             scp  ${local_source_path}/${mainprog}_sources.tar  ${remote_username}@${remote_addres}:${remote_md}/${mainprog}_sources.tar
     987          fi
     988
     989
     990
     991             # FALLS VORHANDEN, LETZTE VERSION AUF DEM REMOTE-RECHNER AUSPACKEN
     992          echo "  *** untar previous update on remote host, if existing"
     993          if [[ $remote_host != lctit ]]
     994          then
     995             ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; [[ -f ${mainprog}_current_version.tar ]]  &&  tar -xf  ${mainprog}_current_version.tar"
     996          else
     997                # TIT ERLAUBT NUR DIE AUSFï¿œHRUNG GANZ BESTIMMTER KOMMANDOS
     998                # MIT SSH, DESHALB AUFRUF PER PIPE
     999             print  "cd ${remote_md}; [[ -f ${mainprog}_current_version.tar ]]  &&  tar -xf  ${mainprog}_current_version.tar"  |  ssh  ${remote_username}@${remote_addres}  2>&1
     1000          fi
     1001
     1002
     1003             # AKTUELLE QUELLTEXTVERSION AUF REMOTE-RECHNER AUSPACKEN
     1004          echo "  *** untar actual sources on remote host"
     1005          if [[ $remote_host != lctit ]]
     1006          then
     1007             ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; tar -xf  ${mainprog}_sources.tar"
     1008          else
     1009                # TIT ERLAUBT NUR DIE AUSFï¿œHRUNG GANZ BESTIMMTER KOMMANDOS
     1010                # MIT SSH, DESHALB AUFRUF PER PIPE
     1011             print  "cd ${remote_md}; tar -xf  ${mainprog}_sources.tar"  |  ssh  ${remote_username}@${remote_addres}  2>&1
     1012          fi
     1013
     1014
     1015             # MAKE MIT ZUVOR ERMITTELTEN OPTIONEN AUF REMOTE RECHNER AUSFUEHREN
     1016             # KOMMANDOUEBERGABE AN SSH PER PIPE, DA SO DIE SYSTEM- UND
     1017             # BENUTZERPROFILE VOLLSTAENDIG AUSGEFUEHRT WERDEN (SONST FEHLEN MAKE
     1018             # Z.B. DIE PFADE ZUM COMPILER)
     1019          echo "  *** execute \"make\" on remote host"
     1020
     1021          if [[ $remote_host = nech ]]
     1022          then
     1023             make_call_string="sxmake  $make_options  PROG=$mainprog  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" "
     1024          else
     1025             make_call_string="make  $make_options  PROG=$mainprog  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" "
     1026          fi
     1027
     1028          if [[ $remote_host = ibms  ||  $remote_host = ibmy ]]
     1029          then
     1030
     1031             ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; echo '$make_call_string' > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" 2>&1 | tee ${remote_host}_last_make_protokoll
     1032
     1033          elif [[ $remote_host = ibmh ]]
     1034          then
     1035
     1036             print "export OBJECT_MODE=64; cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
     1037
     1038          elif [[ $remote_host = lcsgib  ||  $remote_host = lcsgih ]]
     1039          then
     1040
     1041             print ". /usr/share/modules/init/bash; module load ifort/11.0.069; module load $mpilib; cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
     1042#             print ". /usr/share/modules/init/bash; module load mvapich2/1.2rc1-intel; cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
     1043#             print ". /usr/share/modules/init/bash; module load mvapich2; cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
     1044
     1045          elif [[ $remote_host = lctit ]]
     1046          then
     1047
     1048             echo  " "  >  ${remote_host}_last_make_protokoll
     1049             while [[ $(cat ${remote_host}_last_make_protokoll | grep -c "Forwarding to N1GE") = 0 ]]
     1050             do
     1051                print "cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
     1052             done
     1053
     1054          elif [[ $remote_host = lcxt4 ]]
     1055          then
     1056
     1057             print ". /opt/modules/default/init/ksh; module load Base-opts/2.1.56HDA; module load modules/3.1.6; module load pgi/9.0.4; module load PrgEnv-pgi/2.1.56HDA; cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
     1058
     1059          else
     1060
     1061             print "cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
     1062
     1063          fi
     1064
     1065          if [[ $(grep -c MAKE_ERROR ${remote_host}_last_make_protokoll) != 0 ]]
     1066          then
     1067             printf "\a\n  +++ error(s) occurred during compiling or linking on host \"$remote_host\" "
     1068             if [[ $silent = false ]]
    10241069             then
    1025                 ssh  ${remote_username}@${remote_addres} "[[ ! -d ${remote_md} ]]  &&  (echo \"  *** ${remote_md} will be created\"; mkdir -p  ${remote_md})"
    1026              else
    1027                    # TIT ERLAUBT NUR DIE AUSFï¿œHRUNG GANZ BESTIMMTER KOMMANDOS
    1028                    # MIT SSH, DESHALB AUFRUF PER PIPE
    1029                 print "[[ ! -d ${remote_md} ]]  &&  (echo \"  *** ${remote_md} will be created\"; mkdir -p  ${remote_md})"  |  ssh ${remote_username}@${remote_addres}  2>&1
    1030              fi
    1031              if [[ $local_host = decalpha ]]
    1032              then
    1033                    # DECALPHA BENUTZT BEI NICHTANGABE DES VOLLSTï¿œNDIGEN PFADES
    1034                    # IRGENDEIN ANDERES SCP (WAS NICHT FUNKTIONIERT). AUSSERDEM
    1035                    # KOENNEN DOLLAR-ZEICHEN NICHT BENUTZT WERDEN
    1036                 remote_md=`echo $remote_md | sed 's/\$HOME\///'`
    1037                 /bin/scp  ${local_source_path}/${mainprog}_sources.tar  ${remote_username}@${remote_addres}:${remote_md}/${mainprog}_sources.tar
    1038              else
    1039                 scp  ${local_source_path}/${mainprog}_sources.tar  ${remote_username}@${remote_addres}:${remote_md}/${mainprog}_sources.tar
    1040              fi
    1041 
    1042 
    1043 
    1044                 # FALLS VORHANDEN, LETZTE VERSION AUF DEM REMOTE-RECHNER AUSPACKEN
    1045              echo "  *** untar previous update on remote host, if existing"
    1046              if [[ $remote_host != lctit ]]
    1047              then
    1048                 ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; [[ -f ${mainprog}_current_version.tar ]]  &&  tar -xf  ${mainprog}_current_version.tar"
    1049              else
    1050                    # TIT ERLAUBT NUR DIE AUSFï¿œHRUNG GANZ BESTIMMTER KOMMANDOS
    1051                    # MIT SSH, DESHALB AUFRUF PER PIPE
    1052                 print  "cd ${remote_md}; [[ -f ${mainprog}_current_version.tar ]]  &&  tar -xf  ${mainprog}_current_version.tar"  |  ssh  ${remote_username}@${remote_addres}  2>&1
    1053              fi
    1054 
    1055 
    1056                 # AKTUELLE QUELLTEXTVERSION AUF REMOTE-RECHNER AUSPACKEN
    1057              echo "  *** untar actual sources on remote host"
    1058              if [[ $remote_host != lctit ]]
    1059              then
    1060                 ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; tar -xf  ${mainprog}_sources.tar"
    1061              else
    1062                    # TIT ERLAUBT NUR DIE AUSFï¿œHRUNG GANZ BESTIMMTER KOMMANDOS
    1063                    # MIT SSH, DESHALB AUFRUF PER PIPE
    1064                 print  "cd ${remote_md}; tar -xf  ${mainprog}_sources.tar"  |  ssh  ${remote_username}@${remote_addres}  2>&1
    1065              fi
    1066 
    1067 
    1068                 # MAKE MIT ZUVOR ERMITTELTEN OPTIONEN AUF REMOTE RECHNER AUSFUEHREN
    1069                 # KOMMANDOUEBERGABE AN SSH PER PIPE, DA SO DIE SYSTEM- UND
    1070                 # BENUTZERPROFILE VOLLSTAENDIG AUSGEFUEHRT WERDEN (SONST FEHLEN MAKE
    1071                 # Z.B. DIE PFADE ZUM COMPILER)
    1072              echo "  *** execute \"make\" on remote host"
    1073 
    1074              if [[ $remote_host = nech ]]
    1075              then
    1076                 make_call_string="sxmake  PROG=$mainprog  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" "
    1077              else
    1078                 make_call_string="make  PROG=$mainprog  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" "
    1079              fi
    1080 
    1081              if [[ $remote_host = t3eh ]]
    1082              then
    1083        
    1084                 print "xterm\nexit\n cd ${remote_md}; make  PROG=$mainprog  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" " | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
    1085 
    1086              elif [[ $remote_host = t3ej2  ||  $remote_host = ibms  ||  $remote_host = ibmy ]]
    1087              then
    1088 
    1089                 ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; echo '$make_call_string' > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" 2>&1 | tee ${remote_host}_last_make_protokoll
    1090 
    1091              elif [[ $remote_host = ibmh ]]
    1092              then
    1093 
    1094                 print "export OBJECT_MODE=64; cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
    1095 
    1096              elif [[ $remote_host = lcsgib  ||  $remote_host = lcsgih ]]
    1097              then
    1098 
    1099                 print ". /usr/share/modules/init/bash; module load ifort/11.0.069; module load $mpilib; cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
    1100 #                print ". /usr/share/modules/init/bash; module load mvapich2/1.2rc1-intel; cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
    1101 #                print ". /usr/share/modules/init/bash; module load mvapich2; cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
    1102 
    1103              elif [[ $remote_host = lctit ]]
    1104              then
    1105 
    1106                 echo  " "  >  ${remote_host}_last_make_protokoll
    1107                 while [[ $(cat ${remote_host}_last_make_protokoll | grep -c "Forwarding to N1GE") = 0 ]]
     1070                answer=dummy
     1071                printf "\n"
     1072                while [[ "$answer" != c  &&  "$answer" != k ]]
    11081073                do
    1109                    print "cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
     1074                   printf "  >>> continue / list errors / kill mbuild (c/l/k) ? "
     1075                   read  answer
     1076                   if [[ "$answer" = l ]]
     1077                   then
     1078                      more ${remote_host}_last_make_protokoll
     1079                   fi
    11101080                done
    1111 
    1112              elif [[ $remote_host = lcxt4 ]]
    1113              then
    1114 
    1115                 print ". /opt/modules/default/init/ksh; module load Base-opts/2.1.56HDA; module load modules/3.1.6; module load pgi/9.0.4; module load PrgEnv-pgi/2.1.56HDA; cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
    1116 
    1117              else
    1118 
    1119                 print "cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
    1120 
    1121              fi
    1122 
    1123              if [[ $(grep -c MAKE_ERROR ${remote_host}_last_make_protokoll) != 0 ]]
    1124              then
    1125                 printf "\a\n  +++ error(s) occurred during compiling or linking on host \"$remote_host\" "
    1126                 if [[ $silent = false ]]
     1081                if [[ $answer = k ]]
    11271082                then
    1128                    answer=dummy
    1129                    printf "\n"
    1130                    while [[ "$answer" != c  &&  "$answer" != k ]]
    1131                    do
    1132                       printf "  >>> continue / list errors / kill mbuild (c/l/k) ? "
    1133                       read  answer
    1134                       if [[ "$answer" = l ]]
    1135                       then
    1136                          more ${remote_host}_last_make_protokoll
    1137                       fi
    1138                    done
    1139                    if [[ $answer = k ]]
    1140                    then
    1141                       locat=user_abort; exit
    1142                    fi
     1083                   locat=user_abort; exit
    11431084                fi
    11441085             fi
    1145 
    1146 
    1147 
    1148                 # NEUE VERSION AUF REMOTE-RECHNER ZUSAMMENPACKEN
    1149              printf "\n  *** tar update on remote host ..."
    1150              if [[ $remote_host != lctit ]]
     1086          fi
     1087
     1088
     1089
     1090             # NEUE VERSION AUF REMOTE-RECHNER ZUSAMMENPACKEN
     1091          printf "\n  *** tar update on remote host ..."
     1092          if [[ $remote_host != lctit ]]
     1093          then
     1094             ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; chmod u+w *; tar -cf  ${mainprog}_current_version.tar  ${mainprog}  *.f90 *.o *.mod"
     1095          else
     1096                # TIT ERLAUBT NUR DIE AUSFï¿œHRUNG GANZ BESTIMMTER KOMMANDOS
     1097                # MIT SSH, DESHALB AUFRUF PER PIPE
     1098             print  "cd ${remote_md}; chmod u+w *; tar -cf  ${mainprog}_current_version.tar  ${mainprog}  *.f90 *.o *.mod"  |  ssh  ${remote_username}@${remote_addres}  2>&1
     1099          fi
     1100
     1101
     1102             # AKTUELLES VERSIONSVERZEICHNIS AUF REMOTE-RECHNER BEREINIGEN
     1103#          printf "\n  *** \"make clean\" on remote host ..."
     1104#          ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; make clean; rm ${mainprog}_sources.tar; rm *.f90 Makefile"
     1105#          printf "\n"
     1106
     1107
     1108
     1109
     1110          # GLEICHE AKTIONEN FUER DIE UTILITY-PROGRAMME DURCHFUEHREN
     1111          # AKTUELLE QUELLTEXTVERSION INS REMOTE-QUELLTEXTVERZEICHNIS KOPIEREN
     1112          # FALLS DIESES NOCH NICHT EXISTIERT, WIRD ES ERZEUGT
     1113       elif [[ $compile_utility_programs = true ]]
     1114       then
     1115
     1116          printf "\n\n"
     1117          echo "  *** copying scripts and utility programs to \"${remote_addres}:${remote_ud}/\" "
     1118          cd  ${local_source_path}/../SCRIPTS
     1119
     1120          if [[ $remote_host != lctit ]]
     1121          then
     1122             ssh  ${remote_username}@${remote_addres} "[[ ! -d ${remote_ud} ]]  &&  (echo \"  *** ${remote_ud} will be created\"; mkdir -p  ${remote_ud}); [[ ! -d ${remote_ud}/../SCRIPTS ]]  &&  (echo \"  *** ${remote_ud}/../SCRIPTS will be created\"; mkdir -p ${remote_ud}/../SCRIPTS)"
     1123          else
     1124                # TIT ERLAUBT NUR DIE AUSFï¿œHRUNG GANZ BESTIMMTER KOMMANDOS
     1125                # MIT SSH, DESHALB AUFRUF PER PIPE
     1126             print "[[ ! -d ${remote_ud} ]]  &&  (echo \"  *** ${remote_ud} will be created\"; mkdir -p  ${remote_ud}); [[ ! -d ${remote_ud}/../SCRIPTS ]]  &&  (echo \"  *** ${remote_ud}/../SCRIPTS will be created\"; mkdir -p  ${remote_ud}/../SCRIPTS)"  |  ssh ${remote_username}@${remote_addres}  2>&1
     1127          fi
     1128
     1129             # KOPIEREN DER SCRIPTE
     1130          if [[ $local_host = decalpha ]]
     1131          then
     1132                # DECALPHA BENUTZT BEI NICHTANGABE DES VOLLSTï¿œNDIGEN PFADES
     1133                # IRGENDEIN ANDERES SCP (WAS NICHT FUNKTIONIERT). AUSSERDEM
     1134                # KOENNEN DOLLAR-ZEICHEN NICHT BENUTZT WERDEN
     1135             remote_ud=`echo $remote_ud | sed 's/\$HOME\///'`
     1136             /bin/scp  batch_scp mbuild mrun process_dvr_output .dvrserver.config subjob  ${remote_username}@${remote_addres}:${remote_ud}/../SCRIPTS  >  /dev/null
     1137          else
     1138             scp  batch_scp mbuild mrun process_dvr_output .dvrserver.config subjob  ${remote_username}@${remote_addres}:${remote_ud}/../SCRIPTS  >  /dev/null
     1139          fi
     1140
     1141          cd  -  > /dev/null
     1142          cd  ${local_source_path}/../UTIL
     1143
     1144
     1145             # KOPIEREN DER UTILITY-PROGRAMME
     1146          if [[ $local_host = decalpha ]]
     1147          then
     1148                # DECALPHA BENUTZT BEI NICHTANGABE DES VOLLSTï¿œNDIGEN PFADES
     1149                # IRGENDEIN ANDERES SCP (WAS NICHT FUNKTIONIERT). AUSSERDEM
     1150                # KOENNEN DOLLAR-ZEICHEN NICHT BENUTZT WERDEN
     1151             remote_ud=`echo $remote_ud | sed 's/\$HOME\///'`
     1152             /bin/scp  Makefile  *.f90  ${remote_username}@${remote_addres}:${remote_ud}  >  /dev/null
     1153          else
     1154             scp  Makefile  *.f90  ${remote_username}@${remote_addres}:${remote_ud}  >  /dev/null
     1155          fi
     1156
     1157
     1158
     1159             # MAKE MIT ZUVOR ERMITTELTEN OPTIONEN AUF REMOTE RECHNER AUSFUEHREN
     1160             # KOMMANDOUEBERGABE AN SSH PER PIPE, DA SO DIE SYSTEM- UND
     1161             # BENUTZERPROFILE VOLLSTAENDIG AUSGEFUEHRT WERDEN (SONST FEHLEN MAKE
     1162             # Z.B. DIE PFADE ZUM COMPILER)
     1163          echo "  *** execute \"make\" on remote host"
     1164
     1165          if [[ $remote_host = nech ]]
     1166          then
     1167             make_call_string="sxmake  F90=$compiler_name  F90_SER=$compiler_name_ser  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" "
     1168          else
     1169             make_call_string="make  F90=$compiler_name  F90_SER=$compiler_name_ser  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" "
     1170          fi
     1171
     1172          if [[ $remote_host = ibms  ||  $remote_host = ibmy ]]
     1173          then
     1174
     1175             ssh  ${remote_username}@${remote_addres}  "cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR"
     1176
     1177          elif [[ $remote_host = ibmh ]]
     1178          then
     1179
     1180             print "export OBJECT_MODE=64; cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres}
     1181
     1182          elif [[ $remote_host = lctit ]]
     1183          then
     1184
     1185             echo  " "  >  ${remote_host}_last_make_protokoll
     1186             while [[ $(cat ${remote_host}_last_make_protokoll | grep -c "Forwarding to N1GE") = 0 ]]
     1187             do
     1188                print "cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
     1189             done
     1190
     1191          elif [[ $remote_host = lcxt4 ]]
     1192          then
     1193
     1194             print ". /opt/modules/default/init/ksh; module load Base-opts/2.1.56HDA; module load modules/3.1.6; module load pgi/9.0.4; module load PrgEnv-pgi/2.1.56HDA; cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
     1195
     1196          else
     1197
     1198             print "cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
     1199
     1200          fi
     1201
     1202       fi    # ENDE UEBERSETZUNG DER UTILITY-PROGRAMME
     1203
     1204       rm -rf  ${remote_host}_last_make_protokoll
     1205
     1206       # make on local host
     1207    else
     1208
     1209       if [[ $compile_utility_programs = false ]]
     1210       then
     1211
     1212             # DEPOSITORY VERZEICHNIS ERZEUGEN, FALLS NOCH NICHT VORHANDEN
     1213          eval remote_md=$remote_md
     1214          if [[ ! -d $remote_md ]]
     1215          then
     1216             if  mkdir $remote_md
    11511217             then
    1152                 ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; chmod u+w *; tar -cf  ${mainprog}_current_version.tar  ${mainprog}  *.f90 *.o *.mod"
     1218                printf "\n\n  *** directory for make depository:"
     1219                printf "\n           $remote_md"
     1220                printf "\n      was created\n"
    11531221             else
    1154                    # TIT ERLAUBT NUR DIE AUSFï¿œHRUNG GANZ BESTIMMTER KOMMANDOS
    1155                    # MIT SSH, DESHALB AUFRUF PER PIPE
    1156                 print  "cd ${remote_md}; chmod u+w *; tar -cf  ${mainprog}_current_version.tar  ${mainprog}  *.f90 *.o *.mod"  |  ssh  ${remote_username}@${remote_addres}  2>&1
     1222                printf "\n  +++ directory for make depository:"
     1223                printf "\n           $remote_md"
     1224                printf "\n      cannot be created"
     1225                locat=local_depository_path; exit
    11571226             fi
    1158 
    1159 
    1160                 # AKTUELLES VERSIONSVERZEICHNIS AUF REMOTE-RECHNER BEREINIGEN
    1161 #             printf "\n  *** \"make clean\" on remote host ..."
    1162 #             ssh  ${remote_username}@${remote_addres}  "cd ${remote_md}; make clean; rm ${mainprog}_sources.tar; rm *.f90 Makefile"
    1163 #             printf "\n"
    1164 
    1165 
    1166 
    1167 
    1168              # GLEICHE AKTIONEN FUER DIE UTILITY-PROGRAMME DURCHFUEHREN
    1169              # AKTUELLE QUELLTEXTVERSION INS REMOTE-QUELLTEXTVERZEICHNIS KOPIEREN
    1170              # FALLS DIESES NOCH NICHT EXISTIERT, WIRD ES ERZEUGT
    1171           elif [[ $compile_utility_programs = true ]]
    1172           then
    1173 
    1174              printf "\n\n"
    1175              echo "  *** copying scripts and utility programs to \"${remote_addres}:${remote_ud}/\" "
    1176              cd  ${local_source_path}/../SCRIPTS
    1177 
    1178              if [[ $remote_host != lctit ]]
     1227          fi
     1228
     1229             # QUELLTEXT-DATEIEN AUS REPOSITORY INS DEPOSITORY KOPIEREN
     1230          echo " "
     1231          echo "  *** updating sources in $remote_md"
     1232          cd  $remote_md
     1233          cp  $local_source_path/${mainprog}_sources.tar  .
     1234          tar xf  ${mainprog}_sources.tar
     1235
     1236             # MAKE MIT ZUVOR ERMITTELTEN OPTIONEN AUF LOKALEM RECHNER AUSFUEHREN
     1237          echo " "
     1238          echo "  *** execute \"make\" on local host"
     1239
     1240          make  $make_options  PROG=$mainprog  F90=$compiler_name  COPT="$cpp_options"  F90FLAGS="$compiler_options"  LDFLAGS="$loader_options"  2>&1 | tee ${remote_host}_last_make_protokoll
     1241
     1242          if [[ $? != 0 ]]
     1243          then
     1244             printf "\a\n  +++ error(s) occurred during compiling or linking on host \"$remote_host\" "
     1245             if [[ $silent = false ]]
    11791246             then
    1180                 ssh  ${remote_username}@${remote_addres} "[[ ! -d ${remote_ud} ]]  &&  (echo \"  *** ${remote_ud} will be created\"; mkdir -p  ${remote_ud}); [[ ! -d ${remote_ud}/../SCRIPTS ]]  &&  (echo \"  *** ${remote_ud}/../SCRIPTS will be created\"; mkdir -p ${remote_ud}/../SCRIPTS)"
    1181              else
    1182                    # TIT ERLAUBT NUR DIE AUSFï¿œHRUNG GANZ BESTIMMTER KOMMANDOS
    1183                    # MIT SSH, DESHALB AUFRUF PER PIPE
    1184                 print "[[ ! -d ${remote_ud} ]]  &&  (echo \"  *** ${remote_ud} will be created\"; mkdir -p  ${remote_ud}); [[ ! -d ${remote_ud}/../SCRIPTS ]]  &&  (echo \"  *** ${remote_ud}/../SCRIPTS will be created\"; mkdir -p  ${remote_ud}/../SCRIPTS)"  |  ssh ${remote_username}@${remote_addres}  2>&1
    1185              fi
    1186 
    1187                 # KOPIEREN DER SCRIPTE
    1188              if [[ $local_host = decalpha ]]
    1189              then
    1190                    # DECALPHA BENUTZT BEI NICHTANGABE DES VOLLSTï¿œNDIGEN PFADES
    1191                    # IRGENDEIN ANDERES SCP (WAS NICHT FUNKTIONIERT). AUSSERDEM
    1192                    # KOENNEN DOLLAR-ZEICHEN NICHT BENUTZT WERDEN
    1193                 remote_ud=`echo $remote_ud | sed 's/\$HOME\///'`
    1194                 /bin/scp  batch_scp mbuild mrun process_dvr_output .dvrserver.config subjob  ${remote_username}@${remote_addres}:${remote_ud}/../SCRIPTS  >  /dev/null
    1195              else
    1196                 scp  batch_scp mbuild mrun process_dvr_output .dvrserver.config subjob  ${remote_username}@${remote_addres}:${remote_ud}/../SCRIPTS  >  /dev/null
    1197              fi
    1198 
    1199              cd  -  > /dev/null
    1200              cd  ${local_source_path}/../UTIL
    1201 
    1202 
    1203                 # KOPIEREN DER UTILITY-PROGRAMME
    1204              if [[ $local_host = decalpha ]]
    1205              then
    1206                    # DECALPHA BENUTZT BEI NICHTANGABE DES VOLLSTï¿œNDIGEN PFADES
    1207                    # IRGENDEIN ANDERES SCP (WAS NICHT FUNKTIONIERT). AUSSERDEM
    1208                    # KOENNEN DOLLAR-ZEICHEN NICHT BENUTZT WERDEN
    1209                 remote_ud=`echo $remote_ud | sed 's/\$HOME\///'`
    1210                 /bin/scp  Makefile  *.f90  ${remote_username}@${remote_addres}:${remote_ud}  >  /dev/null
    1211              else
    1212                 scp  Makefile  *.f90  ${remote_username}@${remote_addres}:${remote_ud}  >  /dev/null
    1213              fi
    1214 
    1215 
    1216 
    1217                 # MAKE MIT ZUVOR ERMITTELTEN OPTIONEN AUF REMOTE RECHNER AUSFUEHREN
    1218                 # KOMMANDOUEBERGABE AN SSH PER PIPE, DA SO DIE SYSTEM- UND
    1219                 # BENUTZERPROFILE VOLLSTAENDIG AUSGEFUEHRT WERDEN (SONST FEHLEN MAKE
    1220                 # Z.B. DIE PFADE ZUM COMPILER)
    1221              echo "  *** execute \"make\" on remote host"
    1222 
    1223              if [[ $remote_host = nech ]]
    1224              then
    1225                 make_call_string="sxmake  F90=$compiler_name  F90_SER=$compiler_name_ser  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" "
    1226              else
    1227                 make_call_string="make  F90=$compiler_name  F90_SER=$compiler_name_ser  COPT=\"$cpp_options\"  F90FLAGS=\"$compiler_options\"  LDFLAGS=\"$loader_options\" "
    1228              fi
    1229 
    1230              if [[ $remote_host = ibms  ||  $remote_host = ibmy ]]
    1231              then
    1232 
    1233                 ssh  ${remote_username}@${remote_addres}  "cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR"
    1234 
    1235              elif [[ $remote_host = ibmh ]]
    1236              then
    1237 
    1238                 print "export OBJECT_MODE=64; cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres}
    1239 
    1240              elif [[ $remote_host = lctit ]]
    1241              then
    1242 
    1243                 echo  " "  >  ${remote_host}_last_make_protokoll
    1244                 while [[ $(cat ${remote_host}_last_make_protokoll | grep -c "Forwarding to N1GE") = 0 ]]
     1247                answer=dummy
     1248                printf "\n"
     1249                while [[ "$answer" != c  &&  "$answer" != k ]]
    12451250                do
    1246                    print "cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
     1251                   printf "  >>> continue / list errors / kill mbuild (c/l/k) ? "
     1252                   read  answer
     1253                   if [[ "$answer" = l ]]
     1254                   then
     1255                      more ${remote_host}_last_make_protokoll
     1256                   fi
    12471257                done
    1248 
    1249              elif [[ $remote_host = lcxt4 ]]
    1250              then
    1251 
    1252                 print ". /opt/modules/default/init/ksh; module load Base-opts/2.1.56HDA; module load modules/3.1.6; module load pgi/9.0.4; module load PrgEnv-pgi/2.1.56HDA; cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
    1253 
    1254              else
    1255 
    1256                 print "cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
    1257 
    1258              fi
    1259 
    1260           fi    # ENDE UEBERSETZUNG DER UTILITY-PROGRAMME
    1261 
    1262           rm -rf  ${remote_host}_last_make_protokoll
    1263 
    1264        else
    1265 
    1266           if [[ $compile_utility_programs = false ]]
    1267           then
    1268 
    1269                 # DEPOSITORY VERZEICHNIS ERZEUGEN, FALLS NOCH NICHT VORHANDEN
    1270              eval remote_md=$remote_md
    1271              if [[ ! -d $remote_md ]]
    1272              then
    1273                 if  mkdir $remote_md
     1258                if [[ $answer = k ]]
    12741259                then
    1275                    printf "\n\n  *** directory for make depository:"
    1276                    printf "\n           $remote_md"
    1277                    printf "\n      was created\n"
    1278                 else
    1279                    printf "\n  +++ directory for make depository:"
    1280                    printf "\n           $remote_md"
    1281                    printf "\n      cannot be created"
    1282                    locat=local_depository_path; exit
     1260                   locat=user_abort; exit
    12831261                fi
    12841262             fi
    1285 
    1286                 # QUELLTEXT-DATEIEN AUS REPOSITORY INS DEPOSITORY KOPIEREN
    1287              echo " "
    1288              echo "  *** updating sources in $remote_md"
    1289              cd  $remote_md
    1290              cp  $local_source_path/${mainprog}_sources.tar  .
    1291              tar xf  ${mainprog}_sources.tar
    1292 
    1293                 # MAKE MIT ZUVOR ERMITTELTEN OPTIONEN AUF LOKALEM RECHNER AUSFUEHREN
    1294              echo " "
    1295              echo "  *** execute \"make\" on local host"
    1296 
    1297              make  PROG=$mainprog  F90=$compiler_name  COPT="$cpp_options"  F90FLAGS="$compiler_options"  LDFLAGS="$loader_options"  2>&1 | tee ${remote_host}_last_make_protokoll
    1298 
    1299              if [[ $? != 0 ]]
    1300              then
    1301                 printf "\a\n  +++ error(s) occurred during compiling or linking on host \"$remote_host\" "
    1302                 if [[ $silent = false ]]
    1303                 then
    1304                    answer=dummy
    1305                    printf "\n"
    1306                    while [[ "$answer" != c  &&  "$answer" != k ]]
    1307                    do
    1308                       printf "  >>> continue / list errors / kill mbuild (c/l/k) ? "
    1309                       read  answer
    1310                       if [[ "$answer" = l ]]
    1311                       then
    1312                          more ${remote_host}_last_make_protokoll
    1313                       fi
    1314                    done
    1315                    if [[ $answer = k ]]
    1316                    then
    1317                       locat=user_abort; exit
    1318                    fi
    1319                 fi
    1320              fi
    1321 
    1322 
    1323                 # NEUE VERSION AUF LOKALEM RECHNER ZUSAMMENPACKEN
    1324              printf "\n  *** tar update on local host ..."
    1325              tar -cf  ${mainprog}_current_version.tar  *.$suf *.o *.mod
    1326 
    1327 
    1328              # COMPILE THE UTILITY PROGRAMS
    1329           elif [[ $compile_utility_programs = true ]]
    1330           then
    1331              printf "\n\n"
    1332              echo "  *** compiling the utility programs ..."
    1333              cd ${local_source_path}/../UTIL
    1334              make  F90=$compiler_name  F90_SER=$compiler_name_ser  COPT="$cpp_options"  F90FLAGS="$compiler_options"  LDFLAGS="$loader_options"
    1335              cd  -  > /dev/null
    1336           fi
    1337 
    1338        fi
    1339 
    1340     fi
     1263          fi
     1264
     1265
     1266             # NEUE VERSION AUF LOKALEM RECHNER ZUSAMMENPACKEN
     1267          printf "\n  *** tar update on local host ..."
     1268          tar -cf  ${mainprog}_current_version.tar  *.$suf *.o *.mod
     1269
     1270
     1271          # COMPILE THE UTILITY PROGRAMS
     1272       elif [[ $compile_utility_programs = true ]]
     1273       then
     1274          printf "\n\n"
     1275          echo "  *** compiling the utility programs ..."
     1276          cd ${local_source_path}/../UTIL
     1277          make  F90=$compiler_name  F90_SER=$compiler_name_ser  COPT="$cpp_options"  F90FLAGS="$compiler_options"  LDFLAGS="$loader_options"
     1278          cd  -  > /dev/null
     1279       fi
     1280
     1281    fi
     1282
    13411283 done
    13421284
  • palm/trunk/SCRIPTS/mrun

    r440 r475  
    196196     # 18/12/09 - Carolin- modification of archiving (permq)
    197197     # 01/02/10 - Siggi  - adapted for lcxt5m and lckyoto (Fujitsu HX600)
     198     # 03/02/10 - Siggi  - make options (mopts) to be set by configuration file
     199     #                     implemented
    198200
    199201
     
    21212123 if [[ $do_compile = true ]]
    21222124 then
     2125    if [[ "$mopts" != "" ]]
     2126    then
     2127       spalte1=make-options:; spalte2=$mopts
     2128       printf "| $spalte1$spalte2 | \n"
     2129       zeile=$(echo "$mopts" | cut -c41-)
     2130       while [[ "$zeile" != "" ]]
     2131       do
     2132          spalte1=""
     2133          spalte2=$zeile
     2134          printf "| $spalte1$spalte2 | \n"
     2135          zeile=$(echo "$zeile" | cut -c41-)
     2136       done
     2137    fi
     2138
    21232139    spalte1=cpp-directives:; spalte2=$cpp_options
    21242140    printf "| $spalte1$spalte2 | \n"
     
    23702386       cp  SOURCES_FOR_RUN_$fname/*  $TEMPDIR_COMPILE
    23712387
    2372           # FALLS USER-INTERFACE VORHANDEN UND AUF DATEI MIT ANDEREM NAMEN
    2373           # ALS user_interface.f90 LIEGT, DIESEN GEAENDERTEN NAMEN INS
    2374           # MAKEFILE EINTRAGEN
    2375 #       cd  $TEMPDIR_COMPILE
    2376 #       interface_file=`grep -l "END SUBROUTINE user_parin" $source_list`
    2377 #       if [[ "$interface_file" != "" ]]
    2378 #       then
    2379 #          interface_file=`echo $interface_file | cut -d"." -f1`
    2380 #          mv  Makefile  Makefile_old
    2381 #          sed "s/user_interface/$interface_file/g"  Makefile_old  >  Makefile
    2382 #       fi
    2383 #       cd -  > /dev/null
    23842388    else
     2389
    23852390       cp  $executable   ${TEMPDIR}/a.out
     2391
    23862392    fi
    23872393
    23882394
    23892395       # WECHSEL IN TEMPORAEREN KATALOG
    2390     cd $TEMPDIR
     2396    cd  $TEMPDIR
    23912397    printf "\n  *** changed to temporary directory: $TEMPDIR"
    23922398
     
    24182424       printf "  *** compilation with make using following options:\n"
    24192425       printf "      make depository:          $make_depository"
     2426       if [[ "$mopts" != "" ]]
     2427       then
     2428          printf "      make options:             $mopts\n"
     2429       fi
    24202430       printf "      compilername:             $compiler_name\n"
    2421        printf "      options:                  $fopts\n"
     2431       printf "      compiler options:         $fopts\n"
    24222432       printf "      preprocessor-directives:  $cpp_options \n"
    24232433       printf "      linker-options:           $lopts \n"
     
    24262436       if [[ $localhost = nech ]]
    24272437       then
    2428           ssh  136.172.44.192 -l $usern ". /SX/opt/etc/initsx.sh; cd \$HOME/work/${usern}.$kennung; sxmake -f Makefile PROG=a.out  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$fopts\"  LDFLAGS=\"$lopts\" "
     2438          ssh  136.172.44.192 -l $usern ". /SX/opt/etc/initsx.sh; cd \$HOME/work/${usern}.$kennung; sxmake $mopts -f Makefile PROG=a.out  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$fopts\"  LDFLAGS=\"$lopts\" "
    24292439          cp  $TEMPDIR_COMPILE/a.out  .
    24302440          [[ $? != 0 ]]  &&  compile_error=true
     
    24332443       then
    24342444          printf "      compiler is called via ssh on \"plogin1\" \n"
    2435           ssh  plogin1  -l $usern  "export PATH=/sw/ibm/xlf/12.1.0.3/usr/bin:$PATH; cd $TEMPDIR; make -f Makefile PROG=a.out  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$fopts\"  LDFLAGS=\"$lopts\" "
     2445          ssh  plogin1  -l $usern  "export PATH=/sw/ibm/xlf/12.1.0.3/usr/bin:$PATH; cd $TEMPDIR; make $mopts -f Makefile PROG=a.out  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$fopts\"  LDFLAGS=\"$lopts\" "
    24362446          [[ ! -f a.out ]]  &&  compile_error=true
    24372447          continue   # ANDERENFALLS IST STATUS=1, FALLS A.OUT VORHANDEN
     
    24392449       then
    24402450          printf "      compiler is called via ssh on \"bicegate\" using module \"$mpilib\" \n"
    2441           ssh  130.73.232.103  -l $usern  ". /usr/share/modules/init/bash; module load ifort/11.0.069; module load $mpilib; cd $TEMPDIR; make -f Makefile PROG=a.out  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$fopts\"  LDFLAGS=\"$lopts\" "
     2451          ssh  130.73.232.103  -l $usern  ". /usr/share/modules/init/bash; module load ifort/11.0.069; module load $mpilib; cd $TEMPDIR; make $mopts -f Makefile PROG=a.out  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$fopts\"  LDFLAGS=\"$lopts\" "
    24422452          [[ ! -f a.out ]]  &&  compile_error=true
    24432453          continue   # ANDERENFALLS IST STATUS=1, FALLS A.OUT VORHANDEN
     
    24452455       then
    24462456          printf "      compiler is called via ssh on \"hicegate2\" using module \"$mpilib\" \n"
    2447           ssh  130.75.4.103  -l $usern  ". /usr/share/modules/init/bash; module load ifort/11.0.069; module load $mpilib; cd $TEMPDIR; make -f Makefile PROG=a.out  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$fopts\"  LDFLAGS=\"$lopts\" 2>&1 "
     2457          ssh  130.75.4.103    -l $usern  ". /usr/share/modules/init/bash; module load ifort/11.0.069; module load $mpilib; cd $TEMPDIR; make $mopts -f Makefile PROG=a.out  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$fopts\"  LDFLAGS=\"$lopts\" 2>&1 "
    24482458          [[ ! -f a.out ]]  &&  compile_error=true
    24492459          continue   # ANDERENFALLS IST STATUS=1, FALLS A.OUT VORHANDEN
    24502460       else
    24512461          [[ $localhost = lctit ]]  &&  export LM_LICENSE_FILE=27050@tggls
    2452           make -f Makefile PROG=a.out  F90=$compiler_name  COPT="$cpp_options"  F90FLAGS="$fopts"  LDFLAGS="$lopts"
     2462          make $mopts -f Makefile PROG=a.out  F90=$compiler_name  COPT="$cpp_options"  F90FLAGS="$fopts"  LDFLAGS="$lopts"
    24532463       fi
    24542464
  • palm/trunk/SCRIPTS/subjob

    r440 r475  
    112112     # 16/10/09 - Carolin-adding permq
    113113     # 01/02/10 - Siggi - adapted for lcxt5m and lckyoto (Fujitsu HX600)
     114     # 03/02/10 - Siggi - bug in serial jobs removed
    114115
    115116
     
    126127 local_user=$LOGNAME
    127128 node_usage=shared
    128  numprocs=1
     129 numprocs=0
    129130 punkte="..........................................................."
    130131 submcom=qsub
     
    830831#PBS -l ncpus=1
    831832#PBS -o $remote_dayfile
    832 #PBS -e $remote_dayfile
     833#PBS -j oe
    833834$queue_directive
    834835$email_directive
     836
     837. /usr/share/modules/init/bash
     838module load ifort/11.0.069
     839module load netcdf
    835840
    836841%%END%%
  • palm/trunk/SOURCE/CURRENT_MODIFICATIONS

    r464 r475  
    11New:
    22---
     3make options (mopts) to be set by configuration file implemented (mrun, mbuild)
     4
    35humidity=.T. is now usable for runs with topography. wall_humidityflux and
    46wall_scalarflux are the corresponding new parin arrays.
     
    1315has been added. (Makefile, palm_simple_install, palm_simple_run)
    1416
    15 check parameters, header, init_3d_model, Makefile, modules, parin, prognostic_equations, read_var_list, write_var_list
     17check parameters, header, init_3d_model, Makefile, mbuild, modules, mrun, parin, prognostic_equations, read_var_list, write_var_list
    1618new: palm_simple_install, palm_simple_run, subsidence
    1719
     
    1921Changed:
    2022-------
     23parallel make implemented (mbuild, mrun)
     24
    21252d-decomposition is default for Cray-XT machines (init_pegrid)
    2226
     
    3034Rogers and Yau. (collision_efficiency)
    3135
    32 advec_particles, collision_efficiency, init_3d_model, init_pegrid, modules
     36advec_particles, collision_efficiency, init_3d_model, init_pegrid, mbuild, modules, mrun
    3337
    3438
    3539Errors:
    3640------
     41Bugfix for generating serial jobs (subjob)
     42
    3743Bugfix: index problem concerning gradient_level indices removed (header)
    3844
     
    6066Bugfix: initialisation of var_mod (subsidence)
    6167
    62 advec_particles, calc_precipitation, collision_efficiency, disturb_field, header, modules, poisfft_hybrid, subsidence, sum_up_3d_data, time_integration
     68advec_particles, calc_precipitation, collision_efficiency, disturb_field, header, modules, poisfft_hybrid, subjob, subsidence, sum_up_3d_data, time_integration
    6369
    6470
  • palm/trunk/SOURCE/data_output_mask.f90

    r449 r475  
    44! Actual revisions:
    55! -----------------
    6 !
     6! Bugfix in serial branch: arguments from array local_pf removed in N90_PUT_VAR
    77!
    88! Former revisions:
     
    427427       nc_stat = NF90_PUT_VAR( id_set_mask(mid,av),  &
    428428            id_var_domask(mid,av,if),       &
    429             local_pf(mask_size_l(mid,1),mask_size_l(mid,2), &
    430                      mask_size_l(mid,3)),&
     429            local_pf, &
    431430            start = (/ 1, 1, 1, domask_time_count(mid,av) /), &
    432431            count = (/ mask_size_l(mid,1), mask_size_l(mid,2), &
Note: See TracChangeset for help on using the changeset viewer.