Index: palm/trunk/SCRIPTS/.mrun.config.dkrz
===================================================================
--- palm/trunk/SCRIPTS/.mrun.config.dkrz	(revision 1620)
+++ palm/trunk/SCRIPTS/.mrun.config.dkrz	(revision 1620)
@@ -0,0 +1,167 @@
+#$Id$
+#column 1          column 2                                   column 3
+#name of variable  value of variable (~ must not be used)     scope
+#----------------------------------------------------------------------------
+%mainprog          palm.f90
+%base_directory    $HOME/palm/current_version
+%base_data         ~/palm/current_version/JOBS
+%source_path       $base_directory/trunk/SOURCE
+%add_source_path   $base_directory/USER_CODE/$fname
+%depository_path   $base_directory/MAKE_DEPOSITORY
+#%use_makefile      true
+#
+# Enter your own host below by adding another line containing in the second
+# column your hostname (as provided by the unix command "hostname") and in the
+# third column the host identifier. Depending on your operating system, the
+# first characters of the host identifier should be "lc" (Linux cluster), "ibm"
+# (IBM-AIX), or "nec" (NEC-SX), respectively.
+#
+#
+# The next line is just an example. Add your own line below or replace this line.
+%host_identifier   mlogin1*    lcbullhh
+%host_identifier   m1*         lcbullhh
+#
+# DKRZ Hamburg
+%project_account     <replace_by_your_DKRZ_project_account>                                                lcbullhh parallel
+%tmp_user_catalog    /work/<replace_by_your_DKRZ_project_account>/<replace_by_your_DKRZ_username>          lcbullhh parallel
+%tmp_data_catalog    /work/<replace_by_your_DKRZ_project_account>/<replace_by_your_DKRZ_username>/JOBS     lcbullhh parallel
+%compiler_name       mpif90                                                                                lcbullhh parallel
+%compiler_name_ser   ifort                                                                                 lcbullhh parallel
+%cpp_options         -cpp:-DMPI_REAL=MPI_DOUBLE_PRECISION:-DMPI_2REAL=MPI_2DOUBLE_PRECISION:-D__lc:-D__parallel:-D__netcdf:-D__netcdf4:-D__netcdf4_parallel:-D__intel_compiler lcbullhh parallel
+%mopts               -j:4                                                                                  lcbullhh parallel
+%fopts               -O3:-nbs:-convert:little_endian                                                       lcbullhh parallel
+%lopts               -O3:-nbs:-convert:little_endian:-lc:-lm:-Wl,-rpath=/sw/rhel6-x64/netcdf/netcdf_fortran-4.4.2-parallel-bullxmpi-intel14/lib            lcbullhh parallel
+%remote_username     <replace_by_your_DKRZ_username>                                                       lcbullhh parallel
+%memory              1500                                                                                  lcbullhh parallel
+%modules             intel:mxm:fca:bullxmpi_mlx:nag                                                        lcbullhh parallel
+#
+# HLRN-III Hannover debug/trace mode
+%project_account     <replace_by_your_DKRZ_project_account>                                                lcbullhh parallel trace
+%tmp_user_catalog    /work/<replace_by_your_DKRZ_project_account>/<replace_by_your_DKRZ_username>          lcbullhh parallel trace
+%tmp_data_catalog    /work/<replace_by_your_DKRZ_project_account>/<replace_by_your_DKRZ_username>/JOBS     lcbullhh parallel trace
+%compiler_name       mpif90                                                                                lcbullhh parallel trace
+%compiler_name_ser   ifort                                                                                 lcbullhh parallel trace
+%cpp_options         -cpp:-DMPI_REAL=MPI_DOUBLE_PRECISION:-DMPI_2REAL=MPI_2DOUBLE_PRECISION:-D__lc:-D__parallel:-D__netcdf:-D__netcdf4:-D__netcdf4_parallel:-D__intel_compiler lcbullhh parallel trace
+%mopts               -j:4                                                                                  lcbullhh parallel trace
+%fopts             -O0:-nbs:-convert:little_endian:-fpe0:-ftz:-fno-alias:-no-prec-div:-no-prec-sqrt:-ip:-C:-check:nooutput_conversion:-debug:-traceback:-g:-w:-xT:-align:all     lcbullhh parallel trace
+%lopts             -O0:-nbs:-convert:little_endian:-fpe0:-ftz:-fno-alias:-no-prec-div:-no-prec-sqrt:-ip:-C:-check:nooutput_conversion:-debug:-traceback:-g:-w:-xT:-align:all:-lc:-lm:-Wl,-rpath=/sw/rhel6-x64/netcdf/netcdf_fortran-4.4.2-parallel-bullxmpi-intel14/lib            lcbullhh parallel trace
+%remote_username     <replace_by_your_DKRZ_username>                                                       lcbullhh parallel trace
+%memory              1500                                                                                  lcbullhh parallel trace
+%modules             intel:mxm:fca:bullxmpi_mlx:nag                                                        lcbullhh parallel trace
+#
+#
+%write_binary                true                             restart
+#
+#----------------------------------------------------------------------------
+# INPUT-commands, executed before running PALM - lines must start with "IC:"
+#----------------------------------------------------------------------------
+#IC:
+#
+#----------------------------------------------------------------------------
+# ERROR-commands - executed when program terminates abnormally
+#----------------------------------------------------------------------------
+EC:[[ \$locat = execution ]]  &&  cat  RUN_CONTROL
+EC:pwd; ls -al
+#
+#----------------------------------------------------------------------------
+# OUTPUT-commands - executed when program terminates normally
+#----------------------------------------------------------------------------
+# Combine all particle information files
+OC:[[ -f PARTICLE_INFOS/_0000 ]]  &&  cat  PARTICLE_INFOS/* >> PARTICLE_INFO
+#
+#----------------------------------------------------------------------------
+# List of input-files
+#----------------------------------------------------------------------------
+PARIN                    in:job        d3#      $base_data/$fname/INPUT    _p3d
+PARIN                    in:job        d3f      $base_data/$fname/INPUT    _p3df
+TOPOGRAPHY_DATA          in:locopt     d3#:d3f  $base_data/$fname/INPUT    _topo
+NUDGING_DATA             in:locopt     d3#:d3f  $base_data/$fname/INPUT    _nudge
+LSF_DATA                 in:locopt     d3#:d3f  $base_data/$fname/INPUT    _lsf
+BININ                    in:loc:flpe   d3f      $base_data/$fname/RESTART  _d3d
+PARTICLE_RESTART_DATA_IN in:loc:flpe   prtf     $base_data/$fname/RESTART  _rprt
+DATA_1D_PR_NETCDF        in:locopt     prf      $base_data/$fname/OUTPUT   _pr     nc
+DATA_1D_SP_NETCDF        in:locopt     spf      $base_data/$fname/OUTPUT   _sp     nc
+DATA_1D_TS_NETCDF        in:locopt     tsf      $base_data/$fname/OUTPUT   _ts     nc
+DATA_1D_PTS_NETCDF       in:locopt     ptsf     $base_data/$fname/OUTPUT   _pts    nc
+DATA_2D_XY_NETCDF        in:locopt     xyf      $base_data/$fname/OUTPUT   _xy     nc
+DATA_2D_XY_AV_NETCDF     in:locopt     xyf      $base_data/$fname/OUTPUT   _xy_av  nc
+DATA_2D_XZ_NETCDF        in:locopt     xzf      $base_data/$fname/OUTPUT   _xz     nc
+DATA_2D_YZ_NETCDF        in:locopt     yzf      $base_data/$fname/OUTPUT   _yz     nc
+DATA_3D_NETCDF           in:locopt     3df      $base_data/$fname/OUTPUT   _3d     nc
+DATA_PRT_NETCDF          in:locopt:pe  prtf     $base_data/$fname/OUTPUT   _prt
+#
+#----------------------------------------------------------------------------
+# List of output-files
+#----------------------------------------------------------------------------
+BINOUT                    out:loc:flpe restart   $base_data/$fname/RESTART  _d3d
+PARTICLE_RESTART_DATA_OUT out:loc:flpe prt#:prtf $base_data/$fname/RESTART  _rprt
+#
+RUN_CONTROL       out:loc:tr   d3#     $base_data/$fname/MONITORING  _rc
+RUN_CONTROL       out:loc:tra  d3f     $base_data/$fname/MONITORING  _rc
+HEADER            out:loc:tr   d3#     $base_data/$fname/MONITORING  _header
+HEADER            out:loc:tra  d3f     $base_data/$fname/MONITORING  _header
+CPU_MEASURES      out:loc:tr   d3#     $base_data/$fname/MONITORING  _cpu
+CPU_MEASURES      out:loc:tra  d3f     $base_data/$fname/MONITORING  _cpu
+#
+DATA_1D_PR_NETCDF    out:loc:tr   pr#:prf   $base_data/$fname/OUTPUT  _pr      nc
+DATA_1D_SP_NETCDF    out:loc:tr   sp#:spf   $base_data/$fname/OUTPUT  _sp      nc
+DATA_1D_TS_NETCDF    out:loc:tr   ts#:tsf   $base_data/$fname/OUTPUT  _ts      nc
+DATA_1D_PTS_NETCDF   out:loc:tr   pts#:ptsf $base_data/$fname/OUTPUT  _pts     nc
+DATA_2D_XY_NETCDF    out:loc:tr   xy#:xyf   $base_data/$fname/OUTPUT  _xy      nc
+DATA_2D_XY_AV_NETCDF out:loc:tr   xy#:xyf   $base_data/$fname/OUTPUT  _xy_av   nc
+DATA_2D_XZ_NETCDF    out:loc:tr   xz#:xzf   $base_data/$fname/OUTPUT  _xz      nc
+DATA_2D_XZ_AV_NETCDF out:loc:tr   xz#:xzf   $base_data/$fname/OUTPUT  _xz_av   nc
+DATA_2D_YZ_NETCDF    out:loc:tr   yz#:yzf   $base_data/$fname/OUTPUT  _yz      nc
+DATA_2D_YZ_AV_NETCDF out:loc:tr   yz#:yzf   $base_data/$fname/OUTPUT  _yz_av   nc
+DATA_3D_NETCDF       out:loc:tr   3d#:3df   $base_data/$fname/OUTPUT  _3d      nc
+DATA_3D_AV_NETCDF    out:loc:tr   3d#:3df   $base_data/$fname/OUTPUT  _3d_av   nc
+DATA_MASK_01_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m01     nc
+DATA_MASK_01_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m01_av  nc
+DATA_MASK_02_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m02     nc
+DATA_MASK_02_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m02_av  nc
+DATA_MASK_03_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m03     nc
+DATA_MASK_03_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m03_av  nc
+DATA_MASK_04_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m04     nc
+DATA_MASK_04_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m04_av  nc
+DATA_MASK_05_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m05     nc
+DATA_MASK_05_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m05_av  nc
+DATA_MASK_06_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m06     nc
+DATA_MASK_06_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m06_av  nc
+DATA_MASK_07_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m07     nc
+DATA_MASK_07_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m07_av  nc
+DATA_MASK_08_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m08     nc
+DATA_MASK_08_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m08_av  nc
+DATA_MASK_09_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m09     nc
+DATA_MASK_09_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m09_av  nc
+DATA_MASK_10_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m10     nc
+DATA_MASK_10_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m10_av  nc
+DATA_MASK_11_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m11     nc
+DATA_MASK_11_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m11_av  nc
+DATA_MASK_12_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m12     nc
+DATA_MASK_12_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m12_av  nc
+DATA_MASK_13_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m13     nc
+DATA_MASK_13_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m13_av  nc
+DATA_MASK_14_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m14     nc
+DATA_MASK_14_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m14_av  nc
+DATA_MASK_15_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m15     nc
+DATA_MASK_15_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m15_av  nc
+DATA_MASK_16_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m16     nc
+DATA_MASK_16_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m16_av  nc
+DATA_MASK_17_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m17     nc
+DATA_MASK_17_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m17_av  nc
+DATA_MASK_18_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m18     nc
+DATA_MASK_18_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m18_av  nc
+DATA_MASK_19_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m19     nc
+DATA_MASK_19_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m19_av  nc
+DATA_MASK_20_NETCDF    out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m20     nc
+DATA_MASK_20_AV_NETCDF out:loc:tr ma#:maf   $base_data/$fname/OUTPUT  _m20_av  nc
+DATA_PRT_NETCDF      out:loc:pe   prt#:prtf $base_data/$fname/OUTPUT  _prt     nc
+DATA_PRT_NETCDF      out:loc:trpe prt#:prtf $base_data/$fname/OUTPUT  _prt     nc
+DATA_DVR             out:loc:trpe dvr       $base_data/$fname/OUTPUT  _dvr
+#
+DVRP_LOG          out:loc:tr   dv#       $base_data/$fname/MONITORING  _dvrp_log
+DVRP_LOG          out:loc:tra  dvf       $base_data/$fname/MONITORING  _dvrp_log
+PARTICLE_INFO     out:loc:tr   pt#       $base_data/$fname/MONITORING  _prt_info
+PARTICLE_INFO     out:loc:tra  ptf       $base_data/$fname/MONITORING  _prt_info
+PARTICLE_DATA     out:loc:flpe prt#:prtf $base_data/$fname/OUTPUT      _prt_dat
+# A BLANK LINE MUST FOLLOW
Index: palm/trunk/SCRIPTS/mbuild
===================================================================
--- palm/trunk/SCRIPTS/mbuild	(revision 1619)
+++ palm/trunk/SCRIPTS/mbuild	(revision 1620)
@@ -22,5 +22,5 @@
 # Current revisions:
 # ------------------
-# 
+# adjustments for Mistral at DKRZ Hamburg (lcbullhh)
 # 
 # Former revisions:
@@ -516,4 +516,5 @@
        # DETERMINE IP-ADDRES OF THE REMOTE-HOST
     case  $remote_host  in
+        (lcbullhh)       remote_address=136.172.50.13;;
         (lccrayb)        remote_address=130.73.233.1;;
         (lccrayh)        remote_address=130.75.4.1;;
Index: palm/trunk/SCRIPTS/mrun
===================================================================
--- palm/trunk/SCRIPTS/mrun	(revision 1619)
+++ palm/trunk/SCRIPTS/mrun	(revision 1620)
@@ -22,5 +22,5 @@
 # Current revisions:
 # ------------------
-# 
+# adjustments for Mistral at DKRZ Hamburg (lcbullhh)
 # 
 # Former revisions:
@@ -324,6 +324,4 @@
  typeset -i  cputime i ii iia iii iio icycle inode ival jobges jobsek last_char_int maxcycle minuten nodes pes remaining_pes sekunden tp1
 
-
-
     # ERROR HANDLING IN CASE OF EXIT
  trap 'rm -rf  $working_directory/tmp_mrun
@@ -610,5 +608,5 @@
     do_remote=true
     case  $host  in
-        (ibm|ibmh|ibmkisti|ibmku|ibms|nech|lccrayb|lccrayh|lccrayf|lcflow|lckyoto|unics|lcxe6|lcxt5m|lck|lckiaps|lckordi|lckyuh|lckyut|lcsb)  true;;
+        (ibm|ibmh|ibmkisti|ibmku|ibms|nech|lcbullhh|lccrayb|lccrayh|lccrayf|lcflow|lckyoto|unics|lcxe6|lcxt5m|lck|lckiaps|lckordi|lckyuh|lckyut|lcsb)  true;;
         (*)  printf "\n"
              printf "\n  +++ sorry: execution of batch jobs on remote host \"$host\""
@@ -669,5 +667,4 @@
  fi
 
-
     # CHECK, IF FILE-ARCHIVING HAS FAILED IN PREVIOUS JOB (OF A JOB-CHAIN)
  if [[ -f ~/job_queue/ARCHIVE_ERROR_$fname ]]
@@ -697,5 +694,4 @@
  if [[ "$read_from_config" = false ]]
  then
-
     [[ $silent = false ]]  &&  printf "\n    Reading the configuration file... "
 
@@ -769,5 +765,5 @@
                    do_remote=true
                    case  $host  in
-                       (ibm|ibmh|ibmkisti|ibmku|ibms|lccrayb|lccrayh|lccrayf|lcflow|lckyoto|nech|unics|lcxe6|lcxt5m|lck|lckiaps|lckordi|lckyuh|lckyut|lcsb)  true;;
+                       (ibm|ibmh|ibmkisti|ibmku|ibms|lcbullhh|lccrayb|lccrayh|lccrayf|lcflow|lckyoto|nech|unics|lcxe6|lcxt5m|lck|lckiaps|lckordi|lckyuh|lckyut|lcsb)  true;;
                        (*)  printf "\n  +++ sorry: execution of batch jobs on remote host \"$host\""
                             printf "\n      is not available"
@@ -887,5 +883,4 @@
  else
 
-
        # EVALUATE THE CONFIGURATION-FILE BY FORTRAN-PROGRAM
     [[ $silent = false ]]  &&  printf "..."
@@ -1034,5 +1029,5 @@
     do_remote=true
     case  $host  in
-        (ibm|ibmh|ibmkisti|ibmku|ibms|lccrayb|lccrayh|lccrayf|lcflow|lckyoto|nech|unics|lcxe6|lcxt5m|lck|lckiaps|lckordi|lckyuh|lckyut|lcsb)  true;;
+        (ibm|ibmh|ibmkisti|ibmku|ibms|lcbullhh|lccrayb|lccrayh|lccrayf|lcflow|lckyoto|nech|unics|lcxe6|lcxt5m|lck|lckiaps|lckordi|lckyuh|lckyut|lcsb)  true;;
         (*)  printf "\n"
              printf "\n  +++ sorry: execution of batch jobs on remote host \"$host\""
@@ -1045,4 +1040,5 @@
 
 
+
     # IN CASE OF PARALLEL EXECUTION, CHECK SOME SPECIFICATIONS CONCERNING PROCESSOR NUMBERS
  if [[ "$cond1" = parallel  ||  "$cond2" = parallel ]]
@@ -1160,4 +1156,5 @@
         (ibmh)       queue=cluster;;
         (ibmkisti)   queue=class.32plus;;
+        (lcbullhh)   queue=compute;;
         (lccrayb)    queue=mpp1q;;
         (lccrayh)    queue=mpp1q;;
@@ -2170,5 +2167,4 @@
  fi
 
-
     # QUERY FOR CONTINUE (ON LOCAL MACHINES ONLY)
  if [[ $remotecall = false  &&  $silent = false  &&  $jobmo != BATCH ]]
@@ -2634,5 +2630,4 @@
  rm -rf  $check_sources
  cd $working_directory
-
 
     # DETERMINE PATH FOR MAKE DEPOSITORY
@@ -2825,5 +2820,5 @@
              [[ "$check_for_file" = "" ]]  &&  compile_error=true
              continue   # STATUS=1, IF a.out EXISTS
-          elif [[ $localhost = lccrayb  ||  $localhost = lccrayf ||  $localhost = lccrayh ]]
+          elif [[ $localhost = lcbullhh  ||  $localhost = lccrayb  ||  $localhost = lccrayf ||  $localhost = lccrayh ]]
           then
              make $mopts -f Makefile PROG=a.out  F90=$compiler_name  COPT="$cpp_options"  F90FLAGS="$fopts"  LDFLAGS="$lopts"
@@ -3497,5 +3492,5 @@
                 # COPY HOSTFILE FROM SOURCE DIRECTORY OR CREATE IT, IF IT
                 # DOES NOT EXIST
-             if [[  $host != lccrayb  &&$host != lccrayf  && $host != lccrayh  &&  $host != lckyuh  &&  $host != lckyut ]]
+             if [[  $host != lccrayb  && $host != lccrayf  && $host != lccrayh  &&  $host != lckyuh  &&  $host != lckyut ]]
              then
                 if [[ -f $hostfile ]]
@@ -3666,8 +3661,22 @@
              echo "mpirun  -np $ii  -hostfile $PBS_NODEFILE ./a.out  $ROPTS"
              mpirun  -np $ii  -hostfile $PBS_NODEFILE ./a.out  $ROPTS
+
+          elif [[ $host = lcbullhh ]]
+          then
+             export OMPI_MCA_pml=cm
+             export OMPI_MCA_mtl=mxm
+             export OMPI_MCA_coll=^ghc
+             export OMPI_MCA_mtl_mxm_np=0
+             export MXM_RDMA_PORTS=mlx5_0:1
+             export MXM_LOG_LEVEL=ERROR 
+             export OMP_NUM_THREADS=$threads_per_task
+             export KMP_AFFINITY=verbose,granularity=core,compact,1
+             export KMP_STACKSIZE=64m
+
+             srun  --nodes=$nodes --ntasks-per-node=$tasks_per_node ./a.out  
           else
              mpprun  -n $numprocs  a.out  $ROPTS
           fi
-       else
+      else
           a.out  $ROPTS
        fi
@@ -3892,4 +3901,7 @@
                    then
                       ssh $usern@hlogin1 ". \\$HOME/.profile; cd $TEMPDIR; batch_scp $PORTOPT $cps -b -m -u $return_username $return_address  ${localout[$i]} \"${pathout[$i]}\" ${localhost}_${fname}${endout[$i]}  ${extout[$i]}"
+                   elif [[ $localhost = lcbullhh ]]
+                   then
+                      ssh $usern@mlogin101 ". \\$HOME/.profile; cd $TEMPDIR; batch_scp $PORTOPT $cps -b -m -u $return_username $return_address  ${localout[$i]} \"${pathout[$i]}\" ${localhost}_${fname}${endout[$i]}  ${extout[$i]}"
                    elif [[ $localhost = lcxe6 ]]
                    then
@@ -4454,5 +4466,5 @@
           then
 
-             if [[ $localhost = lccrayb  || $localhost = lccrayh  ||  $localhost = nech  ||  $localhost = ibmh  ||  $localhost = ibmkisti  ||  $localhost = ibmku  ||  $localhost = ibms  ||  $localhost = lcflow  ||  $localhost = lckyu* || $localhost = lcxe6 ]]
+             if [[ $localhost = lcbullhh  ||  $localhost = lccrayb  ||  $localhost = lccrayh  ||  $localhost = nech  ||  $localhost = ibmh  ||  $localhost = ibmkisti  ||  $localhost = ibmku  ||  $localhost = ibms  ||  $localhost = lcflow  ||  $localhost = lckyu*  ||  $localhost = lcxe6 ]]
              then
                 echo "*** ssh will be used to initiate restart-runs!"
@@ -4464,4 +4476,7 @@
                    then
                       ssh $SSH_PORTOPT $usern@136.172.40.15 "ssh $SSH_PORTOPT $return_address -l $return_username \". \\\$HOME/.profile; module load intel-compiler hdf5 netcdf; PATH=\\\$PATH:$LOCAL_MRUN_PATH;export PALM_BIN=$LOCAL_MRUN_PATH;cd $LOCAL_PWD; $mc\" "
+                   elif [[ $localhost = lcbullhh ]]
+                   then
+                      ssh $SSH_PORTOPT $usern@mlogin101 "ssh $SSH_PORTOPT $return_address -l $return_username \". \\\$HOME/.profile; module load intel-compiler hdf5 netcdf; PATH=\\\$PATH:$LOCAL_MRUN_PATH;export PALM_BIN=$LOCAL_MRUN_PATH;cd $LOCAL_PWD; $mc\" "
                    elif [[ $localhost = lccrayb ]]
                    then
@@ -4582,5 +4597,4 @@
  else
 
-
        # PREPARING ACTIONS,
        # IF A BATCH-JOB IS TO BE GENERATED AND STARTED ON A REMOTE-MACHINE GERECHNET
@@ -4696,5 +4710,5 @@
        #              THIS MAY CREATE A QUITE LARGE JOB-FILE, WHICH CAN CAUSE PROBLEMS WITH SOME
        #              QUEUEING-SYSTEMS
-    if [[ $host = ibmkisti  ||  $host = lccrayb  ||  $host = lccrayf  ||  $host = lccrayh ]]
+    if [[ $host = ibmkisti  ||  $host = lcbullhh  ||  $host = lccrayb  ||  $host = lccrayf  ||  $host = lccrayh ]]
     then
 
@@ -4711,5 +4725,4 @@
        if [[ $host = $localhost ]]
        then
-
              # DUE TO UNKNOWN REASONS, COPY WITH cp COMMAND CREATES CORRUPT
              # FILES ON CRAY XC30 SYSTEMS (CSC HELSINKI), rsync IS USED INSTEAD
@@ -4727,4 +4740,9 @@
              echo  "localdir=\`pwd\`"                            >>  $jobfile
              echo  "ssh $SSH_PORTOPT $remote_username@gaiad \"cd \$localdir; scp $PORTOPT -r  $return_username@$return_address:$working_directory/SOURCES_FOR_RUN_$fname .\" "  >>  $jobfile
+         elif [[ $host = lcbullhh ]]
+          then
+             echo  "localdir=\`pwd\`"                            >>  $jobfile
+             echo  "ssh $SSH_PORTOPT $remote_username@mlogin101 \"cd \$localdir; scp $PORTOPT -r  $return_username@$return_address:$working_directory/SOURCES_FOR_RUN_$fname .\" "  >>  $jobfile
+
           elif [[ $host = lccrayb ]]
           then
Index: palm/trunk/SCRIPTS/subjob
===================================================================
--- palm/trunk/SCRIPTS/subjob	(revision 1619)
+++ palm/trunk/SCRIPTS/subjob	(revision 1620)
@@ -23,5 +23,5 @@
 # Current revisions:
 # ------------------
-# 
+# adjustments for Mistral at DKRZ Hamburg (lcbullhh)
 # 
 # Former revisions:
@@ -174,10 +174,6 @@
 
 
-
-
     # DETERMINE NAME OF LOCAL HOST
  local_host=$(hostname)
-
-
 
     # SET HOST-SPECIFIC VARIABLES VEREINBAREN (CHECK, IF LOCAL HOST
@@ -223,4 +219,5 @@
      (meller)                local_address=134.106.74.155; local_host=lcfor;;
      (meteo-login*)          local_address=193.166.211.144;local_host=lcxt5m;;
+     (mlogin1*|m1*)          local_address=136.172.50.13;  local_host=lcbullhh;;
      (hexagon*)		     local_address=129.177.20.113; local_host=lcxe6;;
      (nobel*)                local_address=150.183.5.101;  local_host=ibms;;
@@ -367,4 +364,5 @@
         (ibmku)   queue=s4; remote_address=133.5.4.129; submcom=/usr/local/bin/llsubmit;;
         (ibms)    queue=p_normal; remote_address=150.183.5.101; submcom=/usr/lpp/LoadL/full/bin/llsubmit;;
+        (lcbullhh)    queue=compute; remote_address=136.172.50.13; submcom=/usr/bin/sbatch;;
         (lccrayb) queue=mpp1testq; remote_address=130.73.233.1; submcom=/opt/moab/default/bin/msub;;
         (lccrayh) queue=mpp1testq; remote_address=130.75.4.1; submcom=/opt/moab/default/bin/msub;;
@@ -413,4 +411,8 @@
         (ibms)   case  $ndq  in
                      (express|normal|p_express|p_normal|p_normal_1.3|p_normal_1.7|grand)     error=false;;
+                     (*)                                     error=true;;
+                 esac;;
+        (lcbullhh) case  $ndq  in
+                     (compute|shared)  error=false;;
                      (*)                                     error=true;;
                  esac;;
@@ -617,6 +619,4 @@
  fi
 
-
-
     # GENERATE RANDOM IDENTIFIER, AND DETERMINE THE JOBNAME ON THE TARGET HOST
  identifier=$RANDOM
@@ -630,5 +630,4 @@
     remote_dayfile=/dev/null
  fi
-
 
 
@@ -780,4 +779,43 @@
 %%END%%
 
+ elif [[ $remote_host = lcbullhh ]]
+ then
+    if [[ $numprocs != 0 ]]
+    then
+       cat > $job_to_send << %%END%%
+#!/bin/bash -l
+#SBATCH -J $job_name
+#SBATCH -t $timestring
+#SBATCH -N $nodes
+#SBATCH --ntasks-per-node=$processes_per_node
+#SBATCH -p $queue
+#SBATCH -o $remote_dayfile
+#SBATCH -e $remote_dayfile
+#SBATCH -A $project_account
+
+$init_cmds
+$module_calls
+
+%%END%%
+
+    else
+       cat > $job_to_send << %%END%%
+#!/bin/bash -l
+#SBATCH -J $job_name
+#SBATCH -t $timestring
+#SBATCH -l ncpus=1
+#SBATCH -l pmem=${memory}mb
+#SBATCH -m abe
+#SBATCH -o $remote_dayfile
+#SBATCH -e $remote_dayfile
+#SBATCH -A $project_account
+
+$init_cmds
+$module_calls
+
+%%END%%
+
+    fi
+
  elif [[ $remote_host = lccrayb || $remote_host = lccrayh ]]
  then
@@ -1196,5 +1234,5 @@
     echo "trap '"                               >>  $job_to_send
     echo "set +vx"                              >>  $job_to_send
-    if [[ $(echo $remote_host | cut -c1-3) = ibm  ||  $remote_host = lccrayb  ||  $remote_host = lccrayh  ||  $(echo $remote_host | cut -c1-3) = nec  ||  $remote_host = lcflow  ||  $remote_host = lckiaps  ||  $remote_host = lckyu* || $remote_host = lcxe6 ]]
+    if [[ $(echo $remote_host | cut -c1-3) = ibm  ||  $remote_host = lcbullhh  ||  $remote_host = lccrayb  ||  $remote_host = lccrayh  ||  $(echo $remote_host | cut -c1-3) = nec  ||  $remote_host = lcflow  ||  $remote_host = lckiaps  ||  $remote_host = lckyu* || $remote_host = lcxe6 ]]
     then
        if [[ $remote_host = ibmh ]]
@@ -1210,4 +1248,7 @@
        then
           return_queue=p_normal
+       elif [[ $remote_host = lcbullhh ]]
+       then
+          return_queue=shared
        elif [[ $remote_host = lccrayb || $remote_host = lccrayh ]]
        then
@@ -1276,4 +1317,23 @@
           echo "[[ \"\$for_subjob_to_do\" != \"\" ]]  &&  eval \$for_subjob_to_do"  >>  $job_to_send
           echo "%%END%%"                           >>  $job_to_send
+
+       elif [[ $remote_host = lcbullhh ]]
+       then
+          echo "cat > scpjob.$identifier << %%END%%"        >>  $job_to_send
+          echo "#!/bin/bash"                             >>  $job_to_send
+          echo "#SBATCH --job-name=job_protocol_transfer" >>  $job_to_send
+          echo "#SBATCH -t 00:20:00"                     >>  $job_to_send
+          echo "#SBATCH -N 1"                            >>  $job_to_send
+          echo "#SBATCH -n 1"                            >>  $job_to_send
+          echo "#SBATCH -o \$HOME/job_queue/last_job_transfer_protocol"      >>  $job_to_send
+          echo "#SBATCH -o $remote_dayfile"              >>  $job_to_send
+          echo "#SBATCH -e $remote_dayfile"              >>  $job_to_send
+          echo "#SBATCH -A $project_account"             >>  $job_to_send
+          echo "#SBATCH -p $return_queue"                >>  $job_to_send
+          echo " "                                       >>  $job_to_send
+          echo "set -x"                                  >>  $job_to_send
+          echo "batch_scp  $PORTOPT  -d  -w 10  -u $local_user $local_address  ${job_catalog}/$remote_dayfile  \"$job_catalog\"  $local_dayfile"  >>  $job_to_send
+          echo "[[ \"\$for_subjob_to_do\" != \"\" ]]  &&  eval \$for_subjob_to_do"  >>  $job_to_send
+          echo "%%END%%"                                 >>  $job_to_send
 
        elif [[ $remote_host = lckyuh ]]
@@ -1387,4 +1447,5 @@
           echo "[[ \"\$for_subjob_to_do\" != \"\" ]]  &&  eval \$for_subjob_to_do"  >>  $job_to_send
           echo "%%END%%"                           >>  $job_to_send
+
        fi
 
@@ -1392,4 +1453,7 @@
        then
           echo "llsubmit  scpjob.$identifier"      >>  $job_to_send
+       elif [[ $remote_host = lcbullhh ]]
+       then
+          echo "sbatch  scpjob.$identifier"               >>  $job_to_send
        elif [[ $remote_host = lccrayb || $remote_host = lccrayh ]]
        then
@@ -1436,5 +1500,4 @@
 
 
-
     # APPEND THE JOB-FILE (CREATE BY mrun) TO THE JOB-DIRECTIVES GENERATED ABOVE
  cat  $file_to_send  >>  $job_to_send
@@ -1525,4 +1588,10 @@
              eval  $submcom  -q $queue  $job_on_remhost
           fi
+       elif [[ $local_host = lcbullhh ]]
+       then
+          if [[ $queue = default ]]
+          then
+             eval  $submcom  $job_on_remhost
+          fi
        else
           qsub  $job_on_remhost
@@ -1539,6 +1608,4 @@
  fi
 
-
-
     # FINAL ACTIONS
  if [[ $no_submit = false ]]
