Changeset 221 for palm/trunk


Ignore:
Timestamp:
Jan 12, 2009 3:32:23 PM (16 years ago)
Author:
raasch
Message:

new environment variable mpilib in configuration file, used by mrun, mbuild, and subjob; small bugfix concerning t<0 in init_cloud_physics

Location:
palm/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SCRIPTS/mbuild

    r215 r221  
    798798
    799799
     800       # MPI LIBRARY ERMITTELN
     801    line=""
     802    found=false
     803    grep  "$remote_host_string" $config_file | grep "%mpilib"  >  $tmp_mbuild
     804    while read line1
     805    do
     806
     807       if [[ $(echo $line1 | cut -d" " -s -f3-) = "$remote_host_string" ]]
     808       then
     809          line="$line1"
     810       fi
     811
     812       if [[ "$line" != ""  &&  $(echo $line | cut -c1) != "#" ]]
     813       then
     814             # EVENTUELLE DOPPELPUNKTE AUS DIREKTIVENSTRING ENTFERNEN
     815          mpilib=`echo $line | cut -d" " -s -f2`
     816          found=true
     817       fi
     818
     819    done < $tmp_mbuild
     820
     821    [[ $found = false ]]  &&  mpilib=mpt
     822
     823
     824
     825
    800826       # LADER-OPTIONEN ERMITTELN
    801827    line=""
     
    887913       line=$(echo "$line" | cut -c51-)
    888914    done
     915    if [[ $( echo $remote_host | cut -c1-5 ) = lcsgi ]]
     916    then
     917       column1="mpi library:"; column2=$mpilib
     918       printf "| $column1$column2 | \n"
     919    fi
    889920    column1="loader options:"; column2=$loader_options
    890921    printf "| $column1$column2 | \n"
     
    10821113             then
    10831114
    1084                 print ". /usr/share/modules/init/bash; module load mpt/1.21; 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
     1115                print ". /usr/share/modules/init/bash; 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
    10851116#                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
    10861117#                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
  • palm/trunk/SCRIPTS/mrun

    r220 r221  
    164164     #                     default source-code filenames are allowed
    165165     # 14/11/08 - Siggi  - cond1 and cond2 are part of the depository name
     166     # 08/01/09 - Siggi  - mpi module on sgi machines to be used can be set
     167     #                     with environment variable mpilib
    166168
    167169
     
    20152017 fi
    20162018
     2019
     2020    # SET DEFAULT VALUE FOR MPI MODULE TO BE USED ON SGI-ALTIX
     2021 if [[ $host = lcsgib  ||  $host = lcsgih ]]
     2022 then
     2023    [[ "$mpilib" = "" ]]  &&  export mpilib=mpt
     2024 fi
     2025
     2026
     2027
    20172028###########################################################################
    20182029# HEADER-AUSGABE
     
    23692380       elif [[ $localhost = lcsgib ]]
    23702381       then
    2371           printf "      compiler is called via ssh on \"bicegate\" \n"
    2372           ssh  130.73.232.102  -l $usern  ". /usr/share/modules/init/bash; module load mpt; cd $TEMPDIR; make -f Makefile PROG=a.out  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$fopts\"  LDFLAGS=\"$lopts\" "
     2382          printf "      compiler is called via ssh on \"bicegate\" using module \"$mpilib\" \n"
     2383          ssh  130.73.232.102  -l $usern  ". /usr/share/modules/init/bash; module load $mpilib; cd $TEMPDIR; make -f Makefile PROG=a.out  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$fopts\"  LDFLAGS=\"$lopts\" "
    23732384          [[ ! -f a.out ]]  &&  compile_error=true
    23742385          continue   # ANDERENFALLS IST STATUS=1, FALLS A.OUT VORHANDEN
    23752386       elif [[ $localhost = lcsgih ]]
    23762387       then
    2377           printf "      compiler is called via ssh on \"hicegate2\" \n"
    2378           ssh  130.75.4.103  -l $usern  ". /usr/share/modules/init/bash; module load mpt; cd $TEMPDIR; make -f Makefile PROG=a.out  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$fopts\"  LDFLAGS=\"$lopts\" 2>&1 "
    2379 #          ssh  130.75.4.102  -l $usern  ". /usr/share/modules/init/bash; module load mvapich2; cd $TEMPDIR; make -f Makefile PROG=a.out  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$fopts\"  LDFLAGS=\"$lopts\" 2>&1 "
    2380 #          print  ". /usr/share/modules/init/bash; module load mpt; cd $TEMPDIR; make -f Makefile PROG=a.out  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$fopts\"  LDFLAGS=\"$lopts\" " | ssh  ${usern}@130.75.4.102  2>&1
     2388          printf "      compiler is called via ssh on \"hicegate2\" using module \"$mpilib\" \n"
     2389          ssh  130.75.4.103  -l $usern  ". /usr/share/modules/init/bash; module load $mpilib; cd $TEMPDIR; make -f Makefile PROG=a.out  F90=$compiler_name  COPT=\"$cpp_options\"  F90FLAGS=\"$fopts\"  LDFLAGS=\"$lopts\" 2>&1 "
    23812390          [[ ! -f a.out ]]  &&  compile_error=true
    23822391          continue   # ANDERENFALLS IST STATUS=1, FALLS A.OUT VORHANDEN
     
    28302839          fi
    28312840          printf "\n\n"
    2832 #          ulimit -s 300000   # A too large stack size causes problems
    2833 #          export MV2_NUM_PORTS=2
    2834 #          export MV2_CPU_MAPPING=0:1:2:3
    2835 #          mpiexec    ./a.out  $ROPTS
    2836 #          export MPI_LAUNCH_TIMEOUT=360
    28372841           echo "no_coupling"  >  runfile_atmos
    2838            mpiexec_mpt -np $ii   ./a.out  $ROPTS
     2842           if [[ $( echo $mpilib | cut -c1-3 ) = mpt ]]
     2843           then
     2844#              export MPI_LAUNCH_TIMEOUT=360
     2845              mpiexec_mpt -np $ii   ./a.out  $ROPTS
     2846           elif [[ $( echo $mpilib | cut -c1-3 ) = mva ]]
     2847           then
     2848#              ulimit -s 300000   # A too large stack size causes problems
     2849#              export MV2_NUM_PORTS=2
     2850#              export MV2_CPU_MAPPING=0:1:2:3
     2851              mpiexec    ./a.out  $ROPTS
     2852           fi
    28392853       else
    28402854          printf "\n  +++ no debug available on \"$localhost\" "
     
    29983012                if [[ $host = lcsgih  ||  $host = lcsgib ]]
    29993013                then
    3000 #                   ulimit -s 300000   # A too large stack size causes problems
    3001 #                   export MV2_NUM_PORTS=2
    3002 #                   export MV2_CPU_MAPPING=0:1:2:3
    3003 #                   mpiexec    ./a.out  $ROPTS
    3004 #                   export MPI_LAUNCH_TIMEOUT=360
    3005                    mpiexec_mpt -np $ii   ./a.out  $ROPTS
     3014                   if [[ $( echo $mpilib | cut -c1-3 ) = mpt ]]
     3015                   then
     3016#                      export MPI_LAUNCH_TIMEOUT=360
     3017                      mpiexec_mpt -np $ii   ./a.out  $ROPTS
     3018                   elif [[ $( echo $mpilib | cut -c1-3 ) = mva ]]
     3019                   then
     3020#                      ulimit -s 300000   # A too large stack size causes problems
     3021#                      export MV2_NUM_PORTS=2
     3022#                      export MV2_CPU_MAPPING=0:1:2:3
     3023                      mpiexec    ./a.out  $ROPTS
     3024                   fi
    30063025                elif [[ $host = lcxt4 ]]
    30073026                then
     
    30273046                   then
    30283047
    3029                       mpiexec_mpt -np $iia  ./palm  $ROPTS < runfile_atmos &
    3030                       mpiexec_mpt -np $iio  ./palm  $ROPTS < runfile_ocean &
     3048                      if [[ $( echo $mpilib | cut -c1-3 ) = mpt ]]
     3049                      then
     3050#                         export MPI_LAUNCH_TIMEOUT=360
     3051                         mpiexec_mpt -np $iia  ./a.out  $ROPTS < runfile_atmos &
     3052                         mpiexec_mpt -np $iio  ./a.out  $ROPTS < runfile_ocean &
     3053                      elif [[ $( echo $mpilib | cut -c1-3 ) = mva ]]
     3054                      then
     3055#                         ulimit -s 300000   # A too large stack size causes problems
     3056#                         export MV2_NUM_PORTS=2
     3057#                         export MV2_CPU_MAPPING=0:1:2:3
     3058                         mpiexec -n $iia  ./a.out  $ROPTS < runfile_atmos &
     3059                         mpiexec -n $iio  ./a.out  $ROPTS < runfile_ocean &
     3060                      fi
    30313061
    30323062                   elif [[ $host = lcxt4 ]]
     
    30513081                   then
    30523082
    3053                       mpiexec_mpt  -np $ii  a.out  $ROPTS  <  runfile_atmos
     3083                      if [[ $( echo $mpilib | cut -c1-3 ) = mpt ]]
     3084                      then
     3085#                         export MPI_LAUNCH_TIMEOUT=360
     3086                         mpiexec_mpt -np $ii  ./a.out  $ROPTS < runfile_atmos
     3087                      elif [[ $( echo $mpilib | cut -c1-3 ) = mva ]]
     3088                      then
     3089#                         ulimit -s 300000   # A too large stack size causes problems
     3090#                         export MV2_NUM_PORTS=2
     3091#                         export MV2_CPU_MAPPING=0:1:2:3
     3092                         mpiexec  ./a.out  $ROPTS < runfile_atmos
     3093                      fi
    30543094
    30553095                   elif [[ $host = lcxt4 ]]
  • palm/trunk/SCRIPTS/subjob

    r210 r221  
    703703
    704704. /usr/share/modules/init/bash
    705 module load mpt/1.21
     705module load $mpilib
    706706# module load mvapich2/1.2rc1-intel
    707707# module load mvapich2
  • palm/trunk/SOURCE/CURRENT_MODIFICATIONS

    r217 r221  
    99DVRP arguments changed to single precision, mode pathlines added.
    1010
    11 User can add additional routines in files user_additional_routines.f90
     11User can add additional routines in files user_additional_routines
    1212
    1313User can check user parameters and deduce further quantities in user_check_parameters
     
    7676of grid points do not match (read_3d_binary)
    7777
    78 advec_particles, combine_plot_fields, data_output_2d, header, production_e, read_3d_binary
     78Bugfix: abort in case that absolute temperature is below zero (init_cloud_physics)
     79
     80advec_particles, combine_plot_fields, data_output_2d, header, init_cloud_physics, production_e, read_3d_binary
  • palm/trunk/SOURCE/init_cloud_physics.f90

    r98 r221  
    44! Actual revisions:
    55! -----------------
    6 !
     6! Bugfix: abort in case that absolute temperature is below zero
    77!
    88! Former revisions:
     
    6262    t_surface = pt_surface * ( surface_pressure / 1000.0 )**0.286
    6363    DO  k = nzb, nzt+1
     64!
     65!--    Check temperature in case of too large domain height
     66       IF ( ( t_surface - g/cp * zu(k) ) < 0.0 )  THEN
     67          WRITE( message_string, * )  'absolute temperature < 0.0 at zu(', k, &
     68                                      ') = ', zu(k)
     69          CALL handle_palm_message( 'init_cloud_physics', 'PA0142', 1, 2, 0, 6, &
     70                                    0 )
     71       ENDIF
    6472       hyp(k)    = surface_pressure * 100.0 * &
    6573                   ( (t_surface - g/cp * zu(k)) / t_surface )**(1.0/0.286)
Note: See TracChangeset for help on using the changeset viewer.