Ignore:
Timestamp:
Mar 1, 2010 8:30:24 AM (14 years ago)
Author:
raasch
Message:

New:
---
Output in NetCDF4-format. New d3par-parameter netcdf_data_format.

(check_open, check_parameters, close_file, data_output_2d, data_output_3d, header, modules, netcdf, parin)

Modules to be loaded for compilation (mbuild) or job execution (mrun)
can be given in the configuration file using variable modules. Example:

%modules ifort/11.0.069:netcdf lcsgih parallel

This method replaces the (undocumented) mpilib-variable.

WARNING: All fixed settings of modules in the scripts mbuild, mrun, and subjob
have been removed! Please set the modules variable appropriately in your
configuration file. (mbuild, mrun, subjob)

Changed:


Parameters netcdf_64bit and netcdf_64bit_3d have been removed. Use
netcdf_data_format = 2 for choosing the classic 64bit-offset format (this is
the default). The offset-format can not be set independently for the
3d-output-data any more.

Parameters netcdf_format_mask, netcdf_format_mask_av, and variables
nc_format_mask, format_parallel_io removed. They are replaced by the new
parameter netcdf_data_format. (check_open, close_file,
data_output_mask, header, init_masks, modules, parin)

Errors:


bugfix in trunk/UTIL/Makefile: forgot to compile for interpret_config

Bugfix: timeseries data have to be collected by PE0 (user_statistics)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SCRIPTS/mbuild

    r492 r493  
    113113     #                    removed, t3e related parts removed
    114114     # 26/02/10 - BjornM- re-adjustments for lcxt4 (new modules)
     115     # 01/03/10 - Siggi - mpilib replaced by modules: explicit module settings
     116     #                    removed; modules should now be given in the
     117     #                    configuration file
    115118
    116119
     
    124127 locat=normal
    125128 makefile=""
     129 module_calls=""
    126130 scirocco=false
    127131 silent=false
     
    460464    fi
    461465
     466    modules=""
    462467    netcdf_inc=""
    463468    netcdf_lib=""
     
    798803
    799804
    800        # MPI LIBRARY ERMITTELN
     805       # get modules to be load
    801806    line=""
    802     found=false
    803     grep  "$remote_host_string" $config_file | grep "%mpilib"  >  $tmp_mbuild
     807    grep  "$remote_host_string" $config_file | grep "%modules"  >  $tmp_mbuild
    804808    while read line1
    805809    do
     
    813817       then
    814818             # EVENTUELLE DOPPELPUNKTE AUS DIREKTIVENSTRING ENTFERNEN
    815           mpilib=`echo $line | cut -d" " -s -f2`
    816           found=true
     819          modules=`echo $line | cut -d" " -s -f2 | sed 's/::/%DUM%/g' | sed 's/:/ /g' | sed 's/%DUM%/:/g'`
    817820       fi
    818821
    819822    done < $tmp_mbuild
    820 
    821     [[ $found = false ]]  &&  mpilib=mpt
    822823
    823824
     
    918919       line=$(echo "$line" | cut -c51-)
    919920    done
    920     if [[ $( echo $remote_host | cut -c1-5 ) = lcsgi ]]
    921     then
    922        column1="mpi library:"; column2=$mpilib
    923        printf "| $column1$column2 | \n"
    924     fi
    925921    column1="loader options:"; column2=$loader_options
    926922    printf "| $column1$column2 | \n"
     
    933929       line=$(echo "$line" | cut -c51-)
    934930    done
     931    if [[ $modules != "" ]]
     932    then
     933       column1="modules to be load:"; column2=$modules
     934       printf "| $column1$column2 | \n"
     935       line=$(echo "$modules" | cut -c51-)
     936       while [[ "$line" != "" ]]
     937       do
     938          column1=""
     939          column2=$line
     940          printf "| $column1$column2 | \n"
     941          line=$(echo "$line" | cut -c51-)
     942       done
     943    fi
    935944    printf "#------------------------------------------------------------------------# \n"
    936945
     
    10201029          echo "  *** execute \"make\" on remote host"
    10211030
     1031
     1032             # generate make call with make options
    10221033          if [[ $remote_host = nech ]]
    10231034          then
     
    10271038          fi
    10281039
     1040             # generate command to load modules, if modules are given
     1041          if [[ "$modules" != "" ]]
     1042          then
     1043             module_calls="module load ${modules};"
     1044          fi
     1045
    10291046          if [[ $remote_host = ibms  ||  $remote_host = ibmy ]]
    10301047          then
    10311048
    1032              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
     1049             ssh  ${remote_username}@${remote_addres}  "$module_calls 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
    10331050
    10341051          elif [[ $remote_host = ibmh ]]
    10351052          then
    10361053
    1037              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
     1054             print "$module_calls 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
    10381055
    10391056          elif [[ $remote_host = lcsgib  ||  $remote_host = lcsgih ]]
    10401057          then
    10411058
    1042              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
    1043 #             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
    1044 #             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
     1059             print ". /usr/share/modules/init/bash; $module_calls  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
    10451060
    10461061          elif [[ $remote_host = lctit ]]
     
    10561071          then
    10571072
    1058              print ". /opt/modules/default/init/ksh; module load Base-opts; module load modules; module load pmi; module load pgi; module load PrgEnv-pgi; 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
     1073             print ". /opt/modules/default/init/ksh; $module_calls 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
    10591074
    10601075          else
    10611076
    1062              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
     1077             print "cd $module_calls ${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
    10631078
    10641079          fi
     
    11711186          fi
    11721187
     1188             # generate command to load modules, if modules are given
     1189          if [[ "$modules" != "" ]]
     1190          then
     1191             module_calls="module load ${modules};"
     1192          fi
     1193
    11731194          if [[ $remote_host = ibms  ||  $remote_host = ibmy ]]
    11741195          then
    11751196
    1176              ssh  ${remote_username}@${remote_addres}  "cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR"
     1197             ssh  ${remote_username}@${remote_addres}  "$module_calls cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR"
    11771198
    11781199          elif [[ $remote_host = ibmh ]]
    11791200          then
    11801201
    1181              print "export OBJECT_MODE=64; cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres}
     1202             print "$module_calls export OBJECT_MODE=64; cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres}
    11821203
    11831204          elif [[ $remote_host = lctit ]]
     
    11871208             while [[ $(cat ${remote_host}_last_make_protokoll | grep -c "Forwarding to N1GE") = 0 ]]
    11881209             do
    1189                 print "cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
     1210                print "$module_calls cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
    11901211             done
    11911212
     
    11931214          then
    11941215
    1195              print ". /opt/modules/default/init/ksh; module load Base-opts; module load modules; module load pmi; module load pgi; module load PrgEnv-pgi; cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
     1216             print ". /opt/modules/default/init/ksh; $module_calls cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
    11961217
    11971218          else
    11981219
    1199              print "cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
     1220             print "$module_calls cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
    12001221
    12011222          fi
     
    12381259          echo " "
    12391260          echo "  *** execute \"make\" on local host"
     1261
     1262             # first load modules, if given
     1263          if [[ "$modules" != "" ]]
     1264          then
     1265             module load ${modules}
     1266          fi
    12401267
    12411268          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
Note: See TracChangeset for help on using the changeset viewer.