Changeset 1402 for palm


Ignore:
Timestamp:
May 9, 2014 2:25:13 PM (10 years ago)
Author:
raasch
Message:

output of location messages complemented, output of location bar added
(Makefile, check_parameters, cpulog, init_pegrid, init_3d_model, message, palm, parin, time_integration, new: progress_bar)
preprocessor switch intel_compiler added, -r8 compiler options removed
(.mrun.config.default, .mrun.config.imuk, .mrun.config.kiaps)

batch_job added to envpar-NAMELIST
(mrun, parin)

Location:
palm/trunk
Files:
1 added
14 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SCRIPTS/.mrun.config.default

    r1241 r1402  
    3333%compiler_name     mpif90                                        <hi> parallel
    3434%compiler_name_ser ifort                                         <hi> parallel
    35 %cpp_options       -cpp:-D__mpi2:-DMPI_REAL=MPI_DOUBLE_PRECISION:-DMPI_2REAL=MPI_2DOUBLE_PRECISION:-D__netcdf   <hi> parallel
     35%cpp_options       -cpp:-D__mpi2:-DMPI_REAL=MPI_DOUBLE_PRECISION:-DMPI_2REAL=MPI_2DOUBLE_PRECISION:-D__netcdf:-D__intel_compiler   <hi> parallel
    3636%netcdf_inc        -I:<replace by netcdf include path>           <hi> parallel
    3737%netcdf_lib        -L<replace by netcdf library path>:-lnetcdf   <hi> parallel
    3838%mopts             -j:4                                          <hi> parallel
    39 %fopts             -xS:-r8:-nbs:-convert:little_endian:-I:<replace by mpi include path>   <hi> parallel
    40 %lopts             -xS:-r8:-nbs:-Vaxlib:-L:<replace by mpi library path>                  <hi> parallel
     39%fopts             -xS:-nbs:-convert:little_endian:-I:<replace by mpi include path>   <hi> parallel
     40%lopts             -xS:-nbs:-Vaxlib:-L:<replace by mpi library path>                  <hi> parallel
    4141# if you want to use your own hostfile, uncomment next line
    4242#%hostfile          $base_directory/.hostfile                    <hi> parallel
     
    5252%compiler_name     mpif90                                        <hi> parallel trace
    5353%compiler_name_ser ifort                                         <hi> parallel trace
    54 %cpp_options       -cpp:-DMPI_REAL=MPI_DOUBLE_PRECISION:-DMPI_2REAL=MPI_2DOUBLE_PRECISION:-D__netcdf   <hi> parallel trace
     54%cpp_options       -cpp:-DMPI_REAL=MPI_DOUBLE_PRECISION:-DMPI_2REAL=MPI_2DOUBLE_PRECISION:-D__netcdf:-D__intel_compiler   <hi> parallel trace
    5555%netcdf_inc        -I:<replace by netcdf include path>           <hi> parallel trace
    5656%netcdf_lib        -L<replace by netcdf library path>:-lnetcdf   <hi> parallel trace
    5757%mopts             -j:4                                          <hi> parallel trace
    58 %fopts             -C:-check:nooutput_conversion:-fpe0:-debug:-traceback:-g:-w:-xT:-O0:-cpp:-r8:-ftz:-fno-alias:-no-prec-div:-no-prec-sqrt:-ip:-nbs:-convert:little_endian  <hi> parallel trace
    59 %lopts             -C:-check:nooutput_conversion:-fpe0:-debug:-traceback:-g:-w:-xT:-O0:-cpp:-r8:-ftz:-fno-alias:-no-prec-div:-no-prec-sqrt:-ip:-nbs:-Vaxlib  <hi> parallel trace
     58%fopts             -C:-check:nooutput_conversion:-fpe0:-debug:-traceback:-g:-w:-xT:-O0:-cpp:-ftz:-fno-alias:-no-prec-div:-no-prec-sqrt:-ip:-nbs:-convert:little_endian  <hi> parallel trace
     59%lopts             -C:-check:nooutput_conversion:-fpe0:-debug:-traceback:-g:-w:-xT:-O0:-cpp:-ftz:-fno-alias:-no-prec-div:-no-prec-sqrt:-ip:-nbs:-Vaxlib  <hi> parallel trace
    6060# if you want to use your own hostfile, uncomment next line
    6161#%hostfile          $base_directory/.hostfile                    <hi> parallel trace
  • palm/trunk/SCRIPTS/.mrun.config.imuk

    r1327 r1402  
    2323%compiler_name     ifort                                                       lcmuk
    2424%compiler_name_ser ifort                                                       lcmuk
    25 %cpp_options       -cpp:-D__netcdf                                             lcmuk
     25%cpp_options       -cpp:-D__netcdf:-D__intel_compiler                          lcmuk
    2626%netcdf_inc        -I:/muksoft/packages/netcdf/3.6.3/include                   lcmuk
    2727%netcdf_lib        -L/muksoft/packages/netcdf/3.6.3/lib:-lnetcdf               lcmuk
     
    3535%compiler_name     mpif90                                                      lcmuk parallel
    3636%compiler_name_ser ifort                                                       lcmuk parallel
    37 %cpp_options       -cpp:-DMPI_REAL=MPI_DOUBLE_PRECISION:-DMPI_2REAL=MPI_2DOUBLE_PRECISION:-D__netcdf  lcmuk parallel
     37%cpp_options       -cpp:-DMPI_REAL=MPI_DOUBLE_PRECISION:-DMPI_2REAL=MPI_2DOUBLE_PRECISION:-D__netcdf:-D__intel_compiler  lcmuk parallel
    3838%netcdf_inc        -I:/muksoft/packages/netcdf/3.6.3/include                   lcmuk parallel
    3939%netcdf_lib        -L/muksoft/packages/netcdf/3.6.3/lib:-lnetcdf               lcmuk parallel
     
    4848%compiler_name     mpif90                                                      lcmuk parallel trace
    4949%compiler_name_ser ifort                                                       lcmuk parallel trace
    50 %cpp_options       -DMPI_REAL=MPI_DOUBLE_PRECISION:-DMPI_2REAL=MPI_2DOUBLE_PRECISION:-D__netcdf   lcmuk parallel trace
     50%cpp_options       -DMPI_REAL=MPI_DOUBLE_PRECISION:-DMPI_2REAL=MPI_2DOUBLE_PRECISION:-D__netcdf:-D__intel_compiler   lcmuk parallel trace
    5151%netcdf_inc        -I:/muksoft/packages/netcdf/3.6.3/include            lcmuk parallel trace
    5252%netcdf_lib        -L/muksoft/packages/netcdf/3.6.3/lib:-lnetcdf        lcmuk parallel trace
  • palm/trunk/SCRIPTS/.mrun.config.kiaps

    r1241 r1402  
    3535%netcdf_lib          -L/opt/kiaps/apps/netcdf/4.1.3/pgi/11.10/lib:-lnetcdf:-lnetcdff  lckiaps parallel
    3636%mopts               -j:4                              lckiaps parallel
    37 %fopts               -fastsse:-r8                      lckiaps parallel
    38 %lopts               -fastsse:-r8                      lckiaps parallel
     37%fopts               -fastsse                          lckiaps parallel
     38%lopts               -fastsse                          lckiaps parallel
    3939%remote_username     <replace by your kiaps username>  lckiaps parallel
    4040%memory              1500                              lckiaps parallel
  • palm/trunk/SCRIPTS/mrun

    r1358 r1402  
    2222# Current revisions:
    2323# ------------------
    24 #
     24# batch_job added to envpar-NAMELIST
    2525#
    2626# Former revisions:
     
    17581758 if [[ "$ENVIRONMENT" = BATCH ]]
    17591759 then
     1760    batch_job=.TRUE.
    17601761    jobmo=BATCH
    17611762 else
     1763    batch_job=.FALSE.
    17621764    jobmo=INTERACTIVE
    17631765 fi
     
    31803182          maximum_cpu_time_allowed = ${cpumax}.,
    31813183          revision = '$global_revision',
    3182           local_dvrserver_running = $local_dvrserver_running /
     3184          local_dvrserver_running = $local_dvrserver_running,
     3185          batch_job = $batch_job /
    31833186
    31843187%%END%%
  • palm/trunk/SOURCE/Makefile

    r1401 r1402  
    2020# Current revisions:
    2121# ------------------
    22 #
     22# progress_bar added
    2323#
    2424# Former revisions:
     
    207207        mod_particle_attributes.f90 netcdf.f90 nudging.f90 \
    208208        package_parin.f90 palm.f90 parin.f90 plant_canopy_model.f90 poisfft.f90 \
    209         poismg.f90 prandtl_fluxes.f90 pres.f90 print_1d.f90 \
    210         production_e.f90 prognostic_equations.f90 random_function.f90 \
     209        poismg.f90 prandtl_fluxes.f90 pres.f90 print_1d.f90 production_e.f90 \
     210        prognostic_equations.f90 progress_bar.f90 random_function.f90 \
    211211        random_gauss.f90 random_generator_parallel.f90 read_3d_binary.f90 \
    212212        read_var_list.f90 run_control.f90 \
     
    372372package_parin.o: modules.o mod_kinds.o
    373373palm.o: modules.o cpulog.o ls_forcing.o mod_kinds.o nudging.o
    374 parin.o: modules.o cpulog.o mod_kinds.o
     374parin.o: modules.o cpulog.o mod_kinds.o progress_bar.o
    375375plant_canopy_model.o: modules.o mod_kinds.o
    376376poisfft.o: modules.o cpulog.o fft_xy.o mod_kinds.o tridia_solver.o
     
    402402time_integration.o: modules.o advec_ws.o buoyancy.o calc_mean_profile.o \
    403403        cpulog.o interaction_droplets_ptq.o ls_forcing.o mod_kinds.o \
    404         nudging.o production_e.o prognostic_equations.o user_actions.o
     404        nudging.o production_e.o prognostic_equations.o progress_bar.o user_actions.o
    405405time_to_string.o: mod_kinds.o
    406406timestep.o: modules.o cpulog.o mod_kinds.o
  • palm/trunk/SOURCE/check_parameters.f90

    r1401 r1402  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! location messages modified
    2323!
    2424! Former revisions:
     
    268268
    269269
    270     CALL location_message( 'checking parameters' )
     270    CALL location_message( 'checking parameters', .FALSE. )
    271271
    272272!
     
    37023702    ENDIF
    37033703
    3704     CALL location_message( 'finished' )
     3704    CALL location_message( 'finished', .TRUE. )
    37053705
    37063706!
  • palm/trunk/SOURCE/cpulog.f90

    r1370 r1402  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! location messages added
    2323!
    2424! Former revisions:
     
    293293
    294294
     295       CALL location_message( 'calculating cpu statistics', .FALSE. )
     296
    295297!
    296298!--    Compute cpu-times in seconds
     
    532534       ENDIF
    533535
     536       CALL location_message( 'finished', .TRUE. )
    534537
    535538   100 FORMAT (A/11('-')//'CPU measures for ',I5,' PEs (',I5,'(x) * ',I5,'(y', &
  • palm/trunk/SOURCE/fft_xy.f90

    r1399 r1402  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! fortran bugfix for r1392
    2323!
    2424! Former revisions:
  • palm/trunk/SOURCE/init_3d_model.f90

    r1401 r1402  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! location messages modified
    2323!
    2424! Former revisions:
     
    234234
    235235
    236     CALL location_message( 'allocating arrays' )
     236    CALL location_message( 'allocating arrays', .FALSE. )
    237237!
    238238!-- Allocate arrays
     
    612612    intermediate_timestep_count = 1  ! needed when simulated_time = 0.0
    613613       
    614     CALL location_message( 'finished' )
     614    CALL location_message( 'finished', .TRUE. )
    615615!
    616616!-- Initialize model variables
     
    622622       IF ( INDEX( initializing_actions, 'set_1d-model_profiles' ) /= 0 )  THEN
    623623
    624           CALL location_message( 'initializing with 1D model profiles' )
     624          CALL location_message( 'initializing with 1D model profiles', .FALSE. )
    625625!
    626626!--       Use solutions of the 1D model as initial profiles,
     
    741741          ENDIF
    742742
    743           CALL location_message( 'finished' )
     743          CALL location_message( 'finished', .TRUE. )
    744744
    745745       ELSEIF ( INDEX(initializing_actions, 'set_constant_profiles') /= 0 ) &
    746746       THEN
    747747
    748           CALL location_message( 'initializing with constant profiles' )
     748          CALL location_message( 'initializing with constant profiles', .FALSE. )
    749749!
    750750!--       Overwrite initial profiles in case of nudging
     
    855855          IF ( sloping_surface )  CALL init_slope
    856856
    857           CALL location_message( 'finished' )
     857          CALL location_message( 'finished', .TRUE. )
    858858
    859859       ELSEIF ( INDEX(initializing_actions, 'by_user') /= 0 ) &
    860860       THEN
    861861
    862           CALL location_message( 'initializing by user' )
     862          CALL location_message( 'initializing by user', .FALSE. )
    863863!
    864864!--       Initialization will completely be done by the user
    865865          CALL user_init_3d_model
    866866
    867           CALL location_message( 'finished' )
    868 
    869        ENDIF
    870 
    871        CALL location_message( 'initializing statistics, boundary conditions, etc.' )
     867          CALL location_message( 'finished', .TRUE. )
     868
     869       ENDIF
     870
     871       CALL location_message( 'initializing statistics, boundary conditions, etc.', &
     872                              .FALSE. )
    872873
    873874!
     
    11581159       ENDIF
    11591160       
    1160        CALL location_message( 'finished' )
     1161       CALL location_message( 'finished', .TRUE. )
    11611162
    11621163    ELSEIF ( TRIM( initializing_actions ) == 'read_restart_data'  .OR.    &
     
    11641165    THEN
    11651166
    1166        CALL location_message( 'initializing in case of restart / cyclic_fill' )
     1167       CALL location_message( 'initializing in case of restart / cyclic_fill', &
     1168                              .FALSE. )
    11671169!
    11681170!--    When reading data for cyclic fill of 3D prerun data files, read
     
    13491351       IF ( ocean )  tsa_m = 0.0_wp
    13501352
    1351        CALL location_message( 'finished' )
     1353       CALL location_message( 'finished', .TRUE. )
    13521354
    13531355    ELSE
     
    15201522         TRIM( initializing_actions ) /= 'cyclic_fill' )  THEN
    15211523
    1522        CALL location_message( 'creating initial disturbances' )
     1524       CALL location_message( 'creating initial disturbances', .FALSE. )
    15231525       CALL disturb_field( nzb_u_inner, tend, u )
    15241526       CALL disturb_field( nzb_v_inner, tend, v )
    1525        CALL location_message( 'finished' )
    1526 
    1527        CALL location_message( 'calling pressure solver' )
     1527       CALL location_message( 'finished', .TRUE. )
     1528
     1529       CALL location_message( 'calling pressure solver', .FALSE. )
    15281530       n_sor = nsor_ini
    15291531       !$acc data copyin( d, ddzu, ddzw, nzb_s_inner, nzb_u_inner )            &
     
    15341536       !$acc end data
    15351537       n_sor = nsor
    1536        CALL location_message( 'finished' )
     1538       CALL location_message( 'finished', .TRUE. )
    15371539
    15381540    ENDIF
     
    19081910    DEALLOCATE( ngp_2dh_l, ngp_2dh_outer_l, ngp_3d_inner_l, ngp_3d_inner_tmp )
    19091911
    1910     CALL location_message( 'leaving init_3d_model' )
     1912    CALL location_message( 'leaving init_3d_model', .TRUE. )
    19111913
    19121914 END SUBROUTINE init_3d_model
  • palm/trunk/SOURCE/init_pegrid.f90

    r1385 r1402  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! location messages modified
    2323!
    2424! Former revisions:
     
    178178#if defined( __parallel )
    179179
    180     CALL location_message( 'creating virtual PE grids + MPI derived data types' )
     180    CALL location_message( 'creating virtual PE grids + MPI derived data types', &
     181                           .FALSE. )
    181182!
    182183!-- Determine the processor topology or check it, if prescribed by the user
     
    10741075                        comm1dx, ierr )
    10751076
    1076     CALL location_message( 'finished' )
     1077    CALL location_message( 'finished', .TRUE. )
    10771078
    10781079#elif ! defined ( __parallel )
  • palm/trunk/SOURCE/message.f90

    r1385 r1402  
    2121! Current revisions:
    2222! -----------------
    23 !
     23! formatting of messages modified
    2424!
    2525! Former revisions:
     
    8383    pe_out_of_range = .FALSE.
    8484
    85 !    print*, '#1'
    8685!
    8786!-- Create the complete output string, starting with the message level
     
    9796    ENDIF
    9897
    99 !    print*, '#2'
    10098!
    10199!-- Add the message identifier and the generating routine
     
    113111   
    114112
    115 !    print*, '#3'
    116113!
    117114!-- Output the output string and the corresponding message string which had
     
    124121       do_output = .TRUE.
    125122    ENDIF
    126 !    print*, '#4'
    127123#if defined( __parallel )
    128124!
     
    132128       IF ( myid == 0 )  do_output = .TRUE.
    133129    ENDIF
    134 !    print*, '#5'
    135130#endif
    136131
     
    138133!-- Now do the output
    139134    IF ( do_output )  THEN
    140 !    print*, '#6'
     135
    141136       IF ( file_id == 6 )  THEN
    142137!
    143138!--       Output on stdout
    144139          WRITE( *, '(A/)' )  TRIM( header_string )
    145 !    print*, '#7'
    146140!
    147141!--       Cut message string into pieces and output one piece per line.
     
    155149          ENDDO
    156150          WRITE( *, '(4X,A)' )  TRIM( message_string )
    157 !    print*, '#8'
    158151          WRITE( *, '(4X,A)' )  ''
    159152          WRITE( *, '(4X,A)' )  TRIM( information_string_1 )
     
    162155
    163156       ELSE
    164 !    print*, '#9'
    165157!
    166158!--       Output on requested file id (file must have been opened elsewhere!)
     
    185177          IF ( flush == 1 )  CALL local_flush( file_id )
    186178       ENDIF
    187 !    print*, '#10'
    188179
    189180       IF ( pe_out_of_range )  THEN
     
    195186          WRITE ( *, '(A)' )  '    Output is done on PE0 instead'
    196187       ENDIF
    197 !    print*, '#11'
    198188
    199189    ENDIF
     
    201191!
    202192!-- Abort execution, if requested
    203 !    print*, '#12'
    204193    IF ( requested_action > 0 )  THEN
    205194       abort_mode = requested_action
    206195       CALL local_stop
    207196    ENDIF
    208 !    print*, '#13'
    209197
    210198 END SUBROUTINE message
    211199
    212200
    213  SUBROUTINE location_message( location )
     201 SUBROUTINE location_message( location, advance )
    214202
    215203!------------------------------------------------------------------------------!
     
    219207!------------------------------------------------------------------------------!
    220208
     209    USE, INTRINSIC ::  ISO_FORTRAN_ENV,                                        &
     210        ONLY :  OUTPUT_UNIT
     211
    221212    USE pegrid,                                                                &
    222213        ONLY :  myid
     
    224215    IMPLICIT NONE
    225216
    226     CHARACTER(LEN=*) ::  location
     217    CHARACTER(LEN=*) ::  location !: text to be output on stdout
     218    LOGICAL          ::  advance  !: switch for advancing/noadvancing I/O
    227219
    228220
    229221    IF ( myid == 0 )  THEN
    230        WRITE ( 6, '(6X,''... '',A)' )  TRIM( location )
    231        CALL local_flush( 6 )
     222       IF ( advance )  THEN
     223          WRITE ( OUTPUT_UNIT, '(6X,''--- '',A)' )  TRIM( location )
     224       ELSE
     225          WRITE ( OUTPUT_UNIT, '(6X,''... '',A)', ADVANCE='NO' )               &
     226                TRIM( location )
     227       ENDIF
     228       CALL local_flush( OUTPUT_UNIT )
    232229    ENDIF
    233230
  • palm/trunk/SOURCE/palm.f90

    r1375 r1402  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! location messages added
    2323!
    2424! Former revisions:
     
    285285       CALL cpu_log( log_point(22), 'write_3d_binary', 'start' )
    286286
     287       CALL location_message( 'writing restart data', .FALSE. )
     288
    287289       CALL check_open( 14 )
    288290
     
    297299#endif
    298300       ENDDO
     301
     302       CALL location_message( 'finished', .TRUE. )
    299303
    300304       CALL cpu_log( log_point(22), 'write_3d_binary', 'stop' )
  • palm/trunk/SOURCE/parin.f90

    r1385 r1402  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! location messages modified, batch_job included in envpar-NAMELIST
    2323!
    2424! Former revisions:
     
    245245        ONLY:  cross_profiles, cross_ts_uymax, cross_ts_uymin,                 &
    246246               profile_columns, profile_rows
     247
     248    USE progress_bar,                                                          &
     249        ONLY :  batch_job
    247250
    248251    USE statistics,                                                            &
     
    333336
    334337
    335     NAMELIST /envpar/  host, local_dvrserver_running, maximum_cpu_time_allowed,&
    336                        maximum_parallel_io_streams, revision, return_addres, &
    337                        return_username, run_identifier, tasks_per_node, &
    338                        write_binary
     338    NAMELIST /envpar/  batch_job, host, local_dvrserver_running, &
     339                       maximum_cpu_time_allowed, maximum_parallel_io_streams, &
     340                       revision, return_addres, return_username, &
     341                       run_identifier, tasks_per_node, write_binary
    339342
    340343!
    341344!-- First read values of environment variables (this NAMELIST file is
    342345!-- generated by mrun)
    343     CALL location_message( 'reading environment parameters from ENVPAR' )
     346    CALL location_message( 'reading environment parameters from ENVPAR', .FALSE. )
    344347    OPEN ( 90, FILE='ENVPAR', STATUS='OLD', FORM='FORMATTED', ERR=30 )
    345348    READ ( 90, envpar, ERR=31, END=32 )
    346349    CLOSE ( 90 )
    347     CALL location_message( 'finished' )
     350    CALL location_message( 'finished', .TRUE. )
    348351
    349352!
     
    368371    io_group  = MOD( myid+1, io_blocks )
    369372
    370     CALL location_message( 'reading NAMELIST parameters from PARIN' )
     373    CALL location_message( 'reading NAMELIST parameters from PARIN', .FALSE. )
    371374!
    372375!-- Data is read in parallel by groups of PEs
     
    487490    ENDDO
    488491
    489     CALL location_message( 'finished' )
     492    CALL location_message( 'finished', .TRUE. )
    490493
    491494    RETURN
  • palm/trunk/SOURCE/time_integration.f90

    r1385 r1402  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! location messages modified
    2323!
    2424! Former revisions:
     
    205205        ONLY:  production_e_init
    206206
     207    USE progress_bar,                                                          &
     208        ONLY:  finish_progress_bar, output_progress_bar
     209
    207210    USE prognostic_equations_mod,                                              &
    208211        ONLY:  prognostic_equations_acc, prognostic_equations_cache,           &
     
    253256#endif
    254257
    255     CALL location_message( 'beginning with time-stepping' )
     258    CALL location_message( 'start with time-stepping', .TRUE. )
    256259!
    257260!-- Start of the time loop
     
    944947       CALL user_actions( 'after_timestep' )
    945948
     949!
     950!--    Output elapsed simulated time in form of a progress bar on stdout
     951       IF ( myid == 0 )  CALL output_progress_bar
     952
    946953       CALL cpu_log( log_point_s(10), 'timesteps', 'stop' )
    947954
    948955
    949956    ENDDO   ! time loop
     957
     958    IF ( myid == 0 )  CALL finish_progress_bar
    950959
    951960#if defined( __dvrp_graphics )
     
    953962#endif
    954963
    955     CALL location_message( 'finished time-stepping' )
     964    CALL location_message( 'finished time-stepping', .TRUE. )
    956965
    957966 END SUBROUTINE time_integration
Note: See TracChangeset for help on using the changeset viewer.