Changeset 1318


Ignore:
Timestamp:
Mar 17, 2014 1:35:16 PM (10 years ago)
Author:
raasch
Message:

former files/routines cpu_log and cpu_statistics combined to one module,
which also includes the former data module cpulog from the modules-file,
module interfaces removed

Location:
palm/trunk/SOURCE
Files:
1 deleted
49 edited
1 moved

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/Makefile

    r1312 r1318  
    2020# Current revisions:
    2121# ------------------
    22 #
     22# +cpulog, dependencies for cpulog added
     23# -cpu_log, cpu_statistics
    2324#
    2425# Former revisions:
     
    142143        calc_radiation.f90 calc_spectra.f90 check_for_restart.f90 \
    143144        check_open.f90 check_parameters.f90 close_file.f90 compute_vpt.f90 \
    144         coriolis.f90 cpu_log.f90 cpu_statistics.f90 cuda_fft_interfaces.f90 \
    145         data_log.f90 \
     145        coriolis.f90 cpulog.f90 cuda_fft_interfaces.f90 data_log.f90 \
    146146        data_output_dvrp.f90 data_output_mask.f90 data_output_profiles.f90 \
    147147        data_output_ptseries.f90 data_output_spectra.f90 \
     
    221221
    222222
    223 advec_particles.o: modules.o
    224 advec_s_bc.o: modules.o
     223advec_s_bc.o: modules.o cpulog.o
    225224advec_s_pw.o: modules.o
    226225advec_s_up.o: modules.o
     
    232231advec_w_pw.o: modules.o
    233232advec_w_up.o: modules.o
    234 average_3d_data.o: modules.o
     233average_3d_data.o: modules.o cpulog.o
    235234boundary_conds.o: modules.o
    236235buoyancy.o: modules.o
     
    238237calc_precipitation.o: modules.o
    239238calc_radiation.o: modules.o
    240 calc_spectra.o: modules.o fft_xy.o
     239calc_spectra.o: modules.o cpulog.o fft_xy.o
    241240check_for_restart.o: modules.o
    242241check_open.o: modules.o
     
    245244compute_vpt.o: modules.o
    246245coriolis.o: modules.o
    247 cpu_log.o: modules.o
     246cpulog.o: modules.o
    248247cpu_statistics.o: modules.o
    249248cuda_fft_interfaces.o: cuda_fft_interfaces.f90 modules.o
    250249data_log.o: modules.o
    251 data_output_dvrp.o: modules.o
    252 data_output_mask.o: modules.o
    253 data_output_profiles.o: modules.o
    254 data_output_ptseries.o: modules.o
    255 data_output_spectra.o: modules.o
    256 data_output_tseries.o: modules.o
    257 data_output_2d.o: modules.o
    258 data_output_3d.o: modules.o
     250data_output_dvrp.o: modules.o cpulog.o
     251data_output_mask.o: modules.o cpulog.o
     252data_output_profiles.o: modules.o cpulog.o
     253data_output_ptseries.o: modules.o cpulog.o
     254data_output_spectra.o: modules.o cpulog.o
     255data_output_tseries.o: modules.o cpulog.o
     256data_output_2d.o: modules.o cpulog.o
     257data_output_3d.o: modules.o cpulog.o
    259258diffusion_e.o: modules.o
    260259diffusion_s.o: modules.o
     
    263262diffusion_w.o: modules.o wall_fluxes.o
    264263diffusivities.o: modules.o
    265 disturb_field.o: modules.o random_function.o
     264disturb_field.o: modules.o cpulog.o random_function.o
    266265disturb_heatflux.o: modules.o
    267266eqn_state_seawater.o: modules.o
    268 exchange_horiz.o: modules.o
    269 exchange_horiz_2d.o: modules.o
     267exchange_horiz.o: modules.o cpulog.o
     268exchange_horiz_2d.o: modules.o cpulog.o
    270269fft_xy.o: cuda_fft_interfaces.o modules.o singleton.o temperton_fft.o
    271 flow_statistics.o: modules.o
     270flow_statistics.o: modules.o cpulog.o
    272271global_min_max.o: modules.o
    273 header.o: modules.o subsidence.o
     272header.o: modules.o cpulog.o subsidence.o
    274273impact_of_latent_heat.o: modules.o
    275 inflow_turbulence.o: modules.o
     274inflow_turbulence.o: modules.o cpulog.o
    276275init_1d_model.o: modules.o
    277 init_3d_model.o: modules.o random_function.o advec_ws.o ls_forcing.o
     276init_3d_model.o: modules.o cpulog.o random_function.o advec_ws.o ls_forcing.o
    278277init_advec.o: modules.o
    279278init_cloud_physics.o: modules.o
     
    290289local_getenv.o: modules.o
    291290local_stop.o: modules.o
    292 local_tremain.o: modules.o
    293 local_tremain_ini.o: modules.o
    294 lpm.o: modules.o
     291local_tremain.o: modules.o cpulog.o
     292local_tremain_ini.o: modules.o cpulog.o
     293lpm.o: modules.o cpulog.o
    295294lpm_advec.o: modules.o
    296 lpm_boundary_conds.o: modules.o
    297 lpm_calc_liquid_water_content.o: modules.o
    298 lpm_collision_kernels.o: modules.o user_module.o
    299 lpm_data_output_particles.o: modules.o
    300 lpm_droplet_collision.o: modules.o lpm_collision_kernels.o
    301 lpm_droplet_condensation.o: modules.o lpm_collision_kernels.o
    302 lpm_exchange_horiz.o: modules.o
     295lpm_boundary_conds.o: modules.o cpulog.o
     296lpm_calc_liquid_water_content.o: modules.o cpulog.o
     297lpm_collision_kernels.o: modules.o cpulog.o user_module.o
     298lpm_data_output_particles.o: modules.o cpulog.o
     299lpm_droplet_collision.o: modules.o cpulog.o lpm_collision_kernels.o
     300lpm_droplet_condensation.o: modules.o cpulog.o lpm_collision_kernels.o
     301lpm_exchange_horiz.o: modules.o cpulog.o
    303302lpm_extend_particle_array.o: modules.o
    304303lpm_extend_tails.o: modules.o
     
    309308lpm_read_restart_file.o: modules.o
    310309lpm_release_set.o: modules.o random_function.o
    311 lpm_set_attributes.o: modules.o
    312 lpm_sort_arrays.o: modules.o
     310lpm_set_attributes.o: modules.o cpulog.o
     311lpm_sort_arrays.o: modules.o cpulog.o
    313312lpm_write_exchange_statistics.o: modules.o
    314313lpm_write_restart_file.o: modules.o
    315 ls_forcing.o: modules.o
     314ls_forcing.o: modules.o cpulog.o
    316315message.o: modules.o
    317316microphysics.o: modules.o
    318317modules.o: modules.f90
    319318netcdf.o: modules.o
    320 nudging.o: modules.o buoyancy.o
     319nudging.o: modules.o buoyancy.o cpulog.o
    321320package_parin.o: modules.o
    322 palm.o: modules.o ls_forcing.o nudging.o
    323 parin.o: modules.o
     321palm.o: modules.o cpulog.o ls_forcing.o nudging.o
     322parin.o: modules.o cpulog.o
    324323plant_canopy_model.o: modules.o
    325 poisfft.o: modules.o fft_xy.o tridia_solver.o
    326 poismg.o: modules.o
     324poisfft.o: modules.o cpulog.o fft_xy.o tridia_solver.o
     325poismg.o: modules.o cpulog.o
    327326prandtl_fluxes.o: modules.o
    328 pres.o: modules.o poisfft.o
    329 print_1d.o: modules.o
     327pres.o: modules.o cpulog.o poisfft.o
     328print_1d.o: modules.o cpulog.o
    330329production_e.o: modules.o wall_fluxes.o
    331330prognostic_equations.o: modules.o advec_s_pw.o advec_s_up.o advec_u_pw.o \
    332331        advec_u_up.o advec_v_pw.o advec_v_up.o advec_w_pw.o advec_w_up.o  \
    333         advec_ws.o buoyancy.o calc_precipitation.o calc_radiation.o coriolis.o \
    334         diffusion_e.o diffusion_s.o diffusion_u.o diffusion_v.o diffusion_w.o \
     332   advec_ws.o buoyancy.o calc_precipitation.o calc_radiation.o coriolis.o \
     333        cpulog.o diffusion_e.o diffusion_s.o diffusion_u.o diffusion_v.o diffusion_w.o \
    335334        eqn_state_seawater.o impact_of_latent_heat.o microphysics.o \
    336335        nudging.o plant_canopy_model.o production_e.o subsidence.o user_actions.o
    337336random_gauss.o: random_function.o
    338 read_3d_binary.o: modules.o random_function.o
     337read_3d_binary.o: modules.o cpulog.o random_function.o
    339338read_var_list.o: modules.o
    340 run_control.o: modules.o
     339run_control.o: modules.o cpulog.o
    341340set_slicer_attributes_dvrp.o: modules.o
    342341singleton.o: singleton.f90
    343342sor.o: modules.o
    344343subsidence.o: modules.o
    345 sum_up_3d_data.o: modules.o
    346 surface_coupler.o: modules.o
    347 swap_timelevel.o: modules.o
     344sum_up_3d_data.o: modules.o cpulog.o
     345surface_coupler.o: modules.o cpulog.o
     346swap_timelevel.o: modules.o cpulog.o
    348347temperton_fft.o: modules.o
    349 time_integration.o: modules.o advec_ws.o buoyancy.o interaction_droplets_ptq.o \
     348time_integration.o: modules.o advec_ws.o buoyancy.o cpulog.o interaction_droplets_ptq.o \
    350349        ls_forcing.o production_e.o prognostic_equations.o user_actions.o
    351 timestep.o: modules.o
     350timestep.o: modules.o cpulog.o
    352351timestep_scheme_steering.o: modules.o
    353 transpose.o: modules.o
     352transpose.o: modules.o cpulog.o
    354353tridia_solver.o: modules.o
    355354user_3d_data_averaging.o: modules.o user_module.o
    356 user_actions.o: modules.o user_module.o
     355user_actions.o: modules.o cpulog.o user_module.o
    357356user_additional_routines.o: modules.o user_module.o
    358357user_check_data_output.o: modules.o user_module.o
     
    380379user_statistics.o: modules.o user_module.o
    381380wall_fluxes.o: modules.o
    382 write_3d_binary.o: modules.o random_function.o
     381write_3d_binary.o: modules.o cpulog.o random_function.o
    383382write_compressed.o: modules.o
    384383write_var_list.o: modules.o
  • palm/trunk/SOURCE/advec_s_bc.f90

    r1310 r1318  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    8080    USE grid_variables
    8181    USE indices
    82     USE interfaces
    8382    USE pegrid
    8483    USE statistics
  • palm/trunk/SOURCE/average_3d_data.f90

    r1310 r1318  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! barrier argument removed from cpu_log,
     23! module interfaces removed
    2324!
    2425! Former revisions:
     
    7071    USE cpulog
    7172    USE indices
    72     USE interfaces
    7373
    7474    IMPLICIT NONE
     
    360360    average_count_3d = 0.0
    361361
    362     CALL cpu_log (log_point(35),'average_3d_data','stop','nobarrier')
     362    CALL cpu_log( log_point(35), 'average_3d_data', 'stop' )
    363363
    364364
  • palm/trunk/SOURCE/calc_spectra.f90

    r1310 r1318  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    8383    USE fft_xy
    8484    USE indices
    85     USE interfaces
    8685    USE pegrid
    8786    USE spectrum
  • palm/trunk/SOURCE/cpulog.f90

    r1313 r1318  
    1  SUBROUTINE cpu_log( log_event, place, modus, barrierwait )
     1 MODULE cpulog
    22
    33!--------------------------------------------------------------------------------!
     
    2020! Current revisions:
    2121! -----------------
    22 !
     22! former files/routines cpu_log and cpu_statistics combined to one module,
     23! which also includes the former data module cpulog from the modules-file
    2324!
    2425! Former revisions:
     
    5556
    5657    USE control_parameters
    57     USE cpulog
     58    USE indices,  ONLY: nx, ny, nz
    5859    USE pegrid
    5960
    6061    IMPLICIT NONE
    6162
    62     CHARACTER (LEN=*)           ::  modus, place
    63     CHARACTER (LEN=*), OPTIONAL ::  barrierwait
    64     LOGICAL, SAVE               ::  first = .TRUE.
    65     REAL                        ::  mtime = 0.0, mtimevec = 0.0
    66     TYPE(logpoint)              ::  log_event
     63    PRIVATE
     64    PUBLIC   cpu_log, cpu_log_barrierwait, cpu_log_nowait, cpu_statistics, &
     65             initial_wallclock_time, log_point, log_point_s
     66
     67    INTERFACE cpu_log
     68       MODULE PROCEDURE cpu_log
     69    END INTERFACE cpu_log
     70
     71    INTERFACE cpu_statistics
     72       MODULE PROCEDURE cpu_statistics
     73    END INTERFACE cpu_statistics
     74
     75    INTEGER, PARAMETER ::  cpu_log_continue = 0, cpu_log_pause = 1, &
     76                           cpu_log_start = 2, cpu_log_stop = 3
     77
     78    LOGICAL            ::  cpu_log_barrierwait = .FALSE.
     79    LOGICAL, PARAMETER ::  cpu_log_nowait = .FALSE.
     80
     81    REAL ::  initial_wallclock_time
     82
     83    TYPE logpoint
     84       REAL               ::  isum, ivect, mean, mtime, mtimevec, sum, vector
     85       INTEGER            ::  counts
     86       CHARACTER (LEN=20) ::  place
     87    END TYPE logpoint
     88
     89    TYPE(logpoint), DIMENSION(100) ::  log_point = logpoint( 0.0, 0.0, 0.0,   &
     90                                       0.0, 0.0, 0.0, 0.0, 0, ' ' ),          &
     91                                       log_point_s = logpoint( 0.0, 0.0, 0.0, &
     92                                       0.0, 0.0, 0.0, 0.0, 0, ' ' )
     93
     94    SAVE
     95
     96 CONTAINS
     97
     98    SUBROUTINE cpu_log( log_event, place, modus, barrierwait )
     99
     100       IMPLICIT NONE
     101
     102       CHARACTER (LEN=*)           ::  modus, place
     103       LOGICAL                     ::  wait_allowed
     104       LOGICAL, OPTIONAL           ::  barrierwait
     105       LOGICAL, SAVE               ::  first = .TRUE.
     106       REAL                        ::  mtime = 0.0, mtimevec = 0.0
     107       TYPE(logpoint)              ::  log_event
    67108
    68109#if defined( __lc ) || defined( __decalpha )
    69     INTEGER(8)                  ::  count, count_rate
     110       INTEGER(8)                  ::  count, count_rate
    70111#elif defined( __nec )
    71     INTEGER                     ::  count, count_rate
     112       INTEGER                     ::  count, count_rate
    72113#elif defined( __ibm )
    73     INTEGER(8)                  ::  IRTC
    74 #endif
    75 
    76 
    77 !
    78 !-- Initialize and check, respectively, point of measurement
    79     IF ( log_event%place == ' ' )  THEN
    80        log_event%place = place
    81     ELSEIF ( log_event%place /= place )  THEN
    82        WRITE( message_string, * ) 'wrong argument & expected: ', &
    83                          TRIM(log_event%place), '  given: ',  TRIM( place )
    84        CALL message( 'cpu_log', 'PA0174', 1, 2, 0, 6, 0 )
    85     ENDIF
    86 
    87 !
    88 !-- Take current time
     114       INTEGER(8)                  ::  IRTC
     115#endif
     116
     117
     118!
     119!--    Initialize and check, respectively, point of measurement
     120       IF ( log_event%place == ' ' )  THEN
     121          log_event%place = place
     122       ELSEIF ( log_event%place /= place )  THEN
     123          WRITE( message_string, * ) 'wrong argument & expected: ', &
     124                            TRIM(log_event%place), '  given: ',  TRIM( place )
     125          CALL message( 'cpu_log', 'PA0174', 1, 2, 0, 6, 0 )
     126       ENDIF
     127
     128!
     129!--    Determine, if barriers are allowed to set
     130       IF ( PRESENT( barrierwait ) )  THEN
     131          wait_allowed = barrierwait
     132       ELSE
     133          wait_allowed = .TRUE.
     134       ENDIF
     135
     136!
     137!--    MPI barrier, if requested, in order to avoid measuring wait times
     138!--    caused by MPI routines waiting for other MPI routines of other
     139!--    PEs that have not yet finished
     140#if defined( __parallel )
     141       IF ( cpu_log_barrierwait  .AND.  wait_allowed  .AND.  &
     142            ( modus == 'start'  .OR.  modus == 'continue' ) )  THEN
     143          CALL MPI_BARRIER( comm2d, ierr )
     144       ENDIF
     145#endif
     146
     147!
     148!--    Take current time
    89149#if defined( __lc ) || defined( __decalpha ) || defined( __nec )
    90     CALL SYSTEM_CLOCK( count, count_rate )
    91     mtime = REAL( count ) / REAL( count_rate )
     150       CALL SYSTEM_CLOCK( count, count_rate )
     151       mtime = REAL( count ) / REAL( count_rate )
    92152#elif defined( __ibm )
    93     mtime = IRTC( ) * 1E-9
     153       mtime = IRTC( ) * 1E-9
    94154#else
    95     message_string = 'no time measurement defined on this host'
    96     CALL message( 'cpu_log', 'PA0175', 1, 2, 0, 6, 0 )
    97 #endif
    98 
    99 !
    100 !-- Start, stop or pause measurement
    101     IF ( modus == 'start'  .OR.  modus == 'continue' )  THEN
    102        log_event%mtime    = mtime
    103        log_event%mtimevec = mtimevec
    104     ELSEIF ( modus == 'pause' )  THEN
    105        IF ( ( mtime - log_event%mtime ) < 0.0  .AND.  first )  THEN
    106           WRITE( message_string, * ) 'negative time interval occured',         &
    107                       ' &PE',myid,' L=PAUSE "',TRIM(log_event%place),'" new=', &
    108                       mtime,' last=',log_event%mtime
    109           CALL message( 'cpu_log', 'PA0176', 0, 1, -1, 6, 0 )
    110           first = .FALSE.
    111        ENDIF
    112        log_event%isum     = log_event%isum + mtime - log_event%mtime
    113        log_event%ivect    = log_event%ivect  + mtimevec - log_event%mtimevec
    114     ELSEIF ( modus == 'stop' )  THEN
    115        IF ( ( mtime - log_event%mtime + log_event%isum ) < 0.0  .AND. &
    116             first )  THEN
    117           WRITE( message_string, * ) 'negative time interval occured',        &
    118                       ' &PE',myid,' L=STOP "',TRIM(log_event%place),'" new=', &
    119                       mtime,' last=',log_event%mtime,' isum=',log_event%isum
    120           CALL message( 'cpu_log', 'PA0177', 0, 1, -1, 6, 0 )
    121           first = .FALSE.
    122        ENDIF
    123        log_event%mtime    = mtime    - log_event%mtime    + log_event%isum
    124        log_event%mtimevec = mtimevec - log_event%mtimevec + log_event%ivect
    125        log_event%sum      = log_event%sum  + log_event%mtime
    126        IF ( log_event%sum < 0.0  .AND.  first )  THEN
    127           WRITE( message_string, * ) 'negative time interval occured',        &
    128                       ' &PE',myid,' L=STOP "',TRIM(log_event%place),'" sum=', &
    129                                       log_event%sum,' mtime=',log_event%mtime
    130           CALL message( 'cpu_log', 'PA0178', 0, 1, -1, 6, 0 )
    131           first = .FALSE.
    132        ENDIF
    133        log_event%vector   = log_event%vector + log_event%mtimevec
    134        log_event%counts   = log_event%counts + 1
    135        log_event%isum     = 0.0
    136        log_event%ivect    = 0.0
    137     ELSE
    138        message_string = 'unknown modus of time measurement: ' // TRIM( modus )
    139        CALL message( 'cpu_log', 'PA0179', 0, 1, -1, 6, 0 )
    140     ENDIF
    141 
    142 
    143  END SUBROUTINE cpu_log
     155       message_string = 'no time measurement defined on this host'
     156       CALL message( 'cpu_log', 'PA0175', 1, 2, 0, 6, 0 )
     157#endif
     158
     159!
     160!--    Start, stop or pause measurement
     161       IF ( modus == 'start'  .OR.  modus == 'continue' )  THEN
     162          log_event%mtime    = mtime
     163          log_event%mtimevec = mtimevec
     164       ELSEIF ( modus == 'pause' )  THEN
     165          IF ( ( mtime - log_event%mtime ) < 0.0  .AND.  first )  THEN
     166             WRITE( message_string, * ) 'negative time interval occured',         &
     167                         ' &PE',myid,' L=PAUSE "',TRIM(log_event%place),'" new=', &
     168                         mtime,' last=',log_event%mtime
     169             CALL message( 'cpu_log', 'PA0176', 0, 1, -1, 6, 0 )
     170             first = .FALSE.
     171          ENDIF
     172          log_event%isum     = log_event%isum + mtime - log_event%mtime
     173          log_event%ivect    = log_event%ivect  + mtimevec - log_event%mtimevec
     174       ELSEIF ( modus == 'stop' )  THEN
     175          IF ( ( mtime - log_event%mtime + log_event%isum ) < 0.0  .AND. &
     176               first )  THEN
     177             WRITE( message_string, * ) 'negative time interval occured',        &
     178                         ' &PE',myid,' L=STOP "',TRIM(log_event%place),'" new=', &
     179                         mtime,' last=',log_event%mtime,' isum=',log_event%isum
     180             CALL message( 'cpu_log', 'PA0177', 0, 1, -1, 6, 0 )
     181             first = .FALSE.
     182          ENDIF
     183          log_event%mtime    = mtime    - log_event%mtime    + log_event%isum
     184          log_event%mtimevec = mtimevec - log_event%mtimevec + log_event%ivect
     185          log_event%sum      = log_event%sum  + log_event%mtime
     186          IF ( log_event%sum < 0.0  .AND.  first )  THEN
     187             WRITE( message_string, * ) 'negative time interval occured',        &
     188                         ' &PE',myid,' L=STOP "',TRIM(log_event%place),'" sum=', &
     189                                         log_event%sum,' mtime=',log_event%mtime
     190             CALL message( 'cpu_log', 'PA0178', 0, 1, -1, 6, 0 )
     191             first = .FALSE.
     192          ENDIF
     193          log_event%vector   = log_event%vector + log_event%mtimevec
     194          log_event%counts   = log_event%counts + 1
     195          log_event%isum     = 0.0
     196          log_event%ivect    = 0.0
     197       ELSE
     198          message_string = 'unknown modus of time measurement: ' // TRIM( modus )
     199          CALL message( 'cpu_log', 'PA0179', 0, 1, -1, 6, 0 )
     200       ENDIF
     201
     202    END SUBROUTINE cpu_log
     203
     204
     205    SUBROUTINE cpu_statistics
     206!------------------------------------------------------------------------------!
     207! Description:
     208! ------------
     209! Analysis and output of the cpu-times measured. All PE results are collected
     210! on PE0 in order to calculate the mean cpu-time over all PEs and other
     211! statistics. The output is sorted according to the amount of cpu-time consumed
     212! and output on PE0.
     213!------------------------------------------------------------------------------!
     214
     215       IMPLICIT NONE
     216
     217       INTEGER    ::  i, ii(1), iii, sender
     218       REAL       ::  average_cputime
     219       REAL, SAVE ::  norm = 1.0
     220       REAL, DIMENSION(:),   ALLOCATABLE ::  pe_max, pe_min, pe_rms, sum
     221       REAL, DIMENSION(:,:), ALLOCATABLE ::  pe_log_points
     222
     223
     224!
     225!--    Compute cpu-times in seconds
     226       log_point%mtime  = log_point%mtime  / norm
     227       log_point%sum    = log_point%sum    / norm
     228       log_point%vector = log_point%vector / norm
     229       WHERE ( log_point%counts /= 0 )
     230          log_point%mean = log_point%sum / log_point%counts
     231       END WHERE
     232
     233
     234!
     235!--    Collect cpu-times from all PEs and calculate statistics
     236       IF ( myid == 0 )  THEN
     237!
     238!--       Allocate and initialize temporary arrays needed for statistics
     239          ALLOCATE( pe_max( SIZE( log_point ) ), pe_min( SIZE( log_point ) ), &
     240                    pe_rms( SIZE( log_point ) ),                              &
     241                    pe_log_points( SIZE( log_point ), 0:numprocs-1 ) )
     242          pe_min = log_point%sum
     243          pe_max = log_point%sum    ! need to be set in case of 1 PE
     244          pe_rms = 0.0
     245
     246#if defined( __parallel )
     247!
     248!--       Receive data from all PEs
     249          DO  i = 1, numprocs-1
     250             CALL MPI_RECV( pe_max(1), SIZE( log_point ), MPI_REAL, &
     251                            i, i, comm2d, status, ierr )
     252             sender = status(MPI_SOURCE)
     253             pe_log_points(:,sender) = pe_max
     254          ENDDO
     255          pe_log_points(:,0) = log_point%sum   ! Results from PE0
     256!
     257!--       Calculate mean of all PEs, store it on log_point%sum
     258!--       and find minimum and maximum
     259          DO  iii = 1, SIZE( log_point )
     260             DO  i = 1, numprocs-1
     261                log_point(iii)%sum = log_point(iii)%sum + pe_log_points(iii,i)
     262                pe_min(iii) = MIN( pe_min(iii), pe_log_points(iii,i) )
     263                pe_max(iii) = MAX( pe_max(iii), pe_log_points(iii,i) )
     264             ENDDO
     265             log_point(iii)%sum = log_point(iii)%sum / numprocs
     266!
     267!--          Calculate rms
     268             DO  i = 0, numprocs-1
     269                pe_rms(iii) = pe_rms(iii) + ( &
     270                                    pe_log_points(iii,i) - log_point(iii)%sum &
     271                                            )**2
     272             ENDDO
     273             pe_rms(iii) = SQRT( pe_rms(iii) / numprocs )
     274          ENDDO
     275       ELSE
     276!
     277!--       Send data to PE0 (pe_max is used as temporary storage to send
     278!--       the data in order to avoid sending the data type log)
     279          ALLOCATE( pe_max( SIZE( log_point ) ) )
     280          pe_max = log_point%sum
     281          CALL MPI_SEND( pe_max(1), SIZE( log_point ), MPI_REAL, 0, myid, comm2d, &
     282                         ierr )
     283#endif
     284
     285       ENDIF
     286
     287!
     288!--    Write cpu-times
     289       IF ( myid == 0 )  THEN
     290!
     291!--       Re-store sums
     292          ALLOCATE( sum( SIZE( log_point ) ) )
     293          WHERE ( log_point%counts /= 0 )
     294             sum = log_point%sum
     295          ELSEWHERE
     296             sum = -1.0
     297          ENDWHERE
     298
     299!
     300!--       Get total time in order to calculate CPU-time per gridpoint and timestep
     301          IF ( nr_timesteps_this_run /= 0 )  THEN
     302             average_cputime = log_point(1)%sum / REAL( (nx+1) * (ny+1) * nz ) / &
     303                               REAL( nr_timesteps_this_run ) * 1E6  ! in micro-sec
     304          ELSE
     305             average_cputime = -1.0
     306          ENDIF
     307
     308!
     309!--       Write cpu-times sorted by size
     310          CALL check_open( 18 )
     311#if defined( __parallel )
     312          WRITE ( 18, 100 )  TRIM( run_description_header ),                          &
     313                             numprocs * threads_per_task, pdims(1), pdims(2),         &
     314                             threads_per_task, nx+1, ny+1, nz, nr_timesteps_this_run, &
     315                             average_cputime
     316
     317          IF ( num_acc_per_node /= 0 )  WRITE ( 18, 108 )  num_acc_per_node
     318          WRITE ( 18, 110 )
     319#else
     320          WRITE ( 18, 100 )  TRIM( run_description_header ),                          &
     321                             numprocs * threads_per_task, 1, 1,                       &
     322                             threads_per_task, nx+1, ny+1, nz, nr_timesteps_this_run, &
     323                             average_cputime
     324
     325          IF ( num_acc_per_node /= 0 )  WRITE ( 18, 109 )  num_acc_per_node
     326          WRITE ( 18, 110 )
     327#endif
     328          DO
     329             ii = MAXLOC( sum )
     330             i = ii(1)
     331             IF ( sum(i) /= -1.0 )  THEN
     332                WRITE ( 18, 102 ) &
     333              log_point(i)%place, log_point(i)%sum,                &
     334                   log_point(i)%sum / log_point(1)%sum * 100.0,         &
     335                   log_point(i)%counts, pe_min(i), pe_max(i), pe_rms(i)
     336                sum(i) = -1.0
     337             ELSE
     338                EXIT
     339             ENDIF
     340          ENDDO
     341       ENDIF
     342
     343
     344!
     345!--    The same procedure again for the individual measurements.
     346!
     347!--    Compute cpu-times in seconds
     348       log_point_s%mtime  = log_point_s%mtime  / norm
     349       log_point_s%sum    = log_point_s%sum    / norm
     350       log_point_s%vector = log_point_s%vector / norm
     351       WHERE ( log_point_s%counts /= 0 )
     352          log_point_s%mean = log_point_s%sum / log_point_s%counts
     353       END WHERE
     354
     355!
     356!--    Collect cpu-times from all PEs and calculate statistics
     357#if defined( __parallel )
     358!
     359!--    Set barrier in order to avoid that PE0 receives log_point_s-data
     360!--    while still busy with receiving log_point-data (see above)
     361       CALL MPI_BARRIER( comm2d, ierr )
     362#endif
     363       IF ( myid == 0 )  THEN
     364!
     365!--       Initialize temporary arrays needed for statistics
     366          pe_min = log_point_s%sum
     367          pe_max = log_point_s%sum    ! need to be set in case of 1 PE
     368          pe_rms = 0.0
     369
     370#if defined( __parallel )
     371!
     372!--       Receive data from all PEs
     373          DO  i = 1, numprocs-1
     374             CALL MPI_RECV( pe_max(1), SIZE( log_point ), MPI_REAL, &
     375                            MPI_ANY_SOURCE, MPI_ANY_TAG, comm2d, status, ierr )
     376             sender = status(MPI_SOURCE)
     377             pe_log_points(:,sender) = pe_max
     378          ENDDO
     379          pe_log_points(:,0) = log_point_s%sum   ! Results from PE0
     380!
     381!--       Calculate mean of all PEs, store it on log_point_s%sum
     382!--       and find minimum and maximum
     383          DO  iii = 1, SIZE( log_point )
     384             DO  i = 1, numprocs-1
     385                log_point_s(iii)%sum = log_point_s(iii)%sum + pe_log_points(iii,i)
     386                pe_min(iii) = MIN( pe_min(iii), pe_log_points(iii,i) )
     387                pe_max(iii) = MAX( pe_max(iii), pe_log_points(iii,i) )
     388             ENDDO
     389             log_point_s(iii)%sum = log_point_s(iii)%sum / numprocs
     390!
     391!--          Calculate rms
     392             DO  i = 0, numprocs-1
     393                pe_rms(iii) = pe_rms(iii) + ( &
     394                                    pe_log_points(iii,i) - log_point_s(iii)%sum &
     395                                            )**2
     396             ENDDO
     397             pe_rms(iii) = SQRT( pe_rms(iii) / numprocs )
     398          ENDDO
     399       ELSE
     400!
     401!--       Send data to PE0 (pe_max is used as temporary storage to send
     402!--       the data in order to avoid sending the data type log)
     403          pe_max = log_point_s%sum
     404          CALL MPI_SEND( pe_max(1), SIZE( log_point ), MPI_REAL, 0, 0, comm2d, &
     405                         ierr )
     406#endif
     407
     408       ENDIF
     409
     410!
     411!--    Write cpu-times
     412       IF ( myid == 0 )  THEN
     413!
     414!--       Re-store sums
     415          WHERE ( log_point_s%counts /= 0 )
     416             sum = log_point_s%sum
     417          ELSEWHERE
     418             sum = -1.0
     419          ENDWHERE
     420
     421!
     422!--       Write cpu-times sorted by size
     423          WRITE ( 18, 101 )
     424          DO
     425             ii = MAXLOC( sum )
     426             i = ii(1)
     427             IF ( sum(i) /= -1.0 )  THEN
     428                WRITE ( 18, 102 ) &
     429                   log_point_s(i)%place, log_point_s(i)%sum, &
     430                   log_point_s(i)%sum / log_point(1)%sum * 100.0, &
     431                   log_point_s(i)%counts, pe_min(i), pe_max(i), pe_rms(i)
     432                sum(i) = -1.0
     433             ELSE
     434                EXIT
     435             ENDIF
     436          ENDDO
     437
     438!
     439!--       Output of handling of MPI operations
     440          IF ( collective_wait )  THEN
     441             WRITE ( 18, 103 )
     442          ELSE
     443             WRITE ( 18, 104 )
     444          ENDIF
     445          IF ( cpu_log_barrierwait )  WRITE ( 18, 111 )
     446          IF ( synchronous_exchange )  THEN
     447             WRITE ( 18, 105 )
     448          ELSE
     449             WRITE ( 18, 106 )
     450          ENDIF
     451
     452!
     453!--       Empty lines in order to create a gap to the results of the model
     454!--       continuation runs
     455          WRITE ( 18, 107 )
     456
     457!
     458!--       Unit 18 is not needed anymore
     459          CALL close_file( 18 )
     460
     461       ENDIF
     462
     463
     464   100 FORMAT (A/11('-')//'CPU measures for ',I5,' PEs (',I5,'(x) * ',I5,'(y', &
     465               &') tasks *',I5,' threads):'//                                  &
     466               'gridpoints (x/y/z): ',20X,I5,' * ',I5,' * ',I5/                &
     467               'nr of timesteps: ',22X,I6/                                     &
     468               'cpu time per grid point and timestep: ',5X,F8.5,' * 10**-6 s')
     469
     470   101 FORMAT (/'special measures:'/ &
     471               &'-----------------------------------------------------------', &
     472               &'--------------------')
     473
     474   102 FORMAT (A20,2X,F9.3,2X,F7.2,1X,I7,3(1X,F9.3))
     475   103 FORMAT (/'Barriers are set in front of collective operations')
     476   104 FORMAT (/'No barriers are set in front of collective operations')
     477   105 FORMAT (/'Exchange of ghostpoints via MPI_SENDRCV')
     478   106 FORMAT (/'Exchange of ghostpoints via MPI_ISEND/MPI_IRECV')
     479   107 FORMAT (//)
     480   108 FORMAT ('Accelerator boards per node: ',14X,I2)
     481   109 FORMAT ('Accelerator boards: ',23X,I2)
     482   110 FORMAT ('----------------------------------------------------------',   &
     483               &'------------'//&
     484               &'place:                        mean        counts      min  ', &
     485               &'     max       rms'/ &
     486               &'                           sec.      %                sec. ', &
     487               &'     sec.      sec.'/  &
     488               &'-----------------------------------------------------------', &
     489               &'-------------------')
     490   111 FORMAT (/'Barriers are set at beginning (start/continue) of measurements')
     491
     492    END SUBROUTINE cpu_statistics
     493
     494 END MODULE cpulog
  • palm/trunk/SOURCE/data_output_2d.f90

    r1312 r1318  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! barrier argument removed from cpu_log.
     23! module interfaces removed
    2324!
    2425! Former revisions:
     
    143144    USE grid_variables
    144145    USE indices
    145     USE interfaces
    146146    USE netcdf_control
    147147    USE particle_attributes
     
    18081808    ENDIF
    18091809
    1810     CALL cpu_log (log_point(3),'data_output_2d','stop','nobarrier')
     1810    CALL cpu_log( log_point(3), 'data_output_2d', 'stop' )
    18111811
    18121812 END SUBROUTINE data_output_2d
  • palm/trunk/SOURCE/data_output_3d.f90

    r1310 r1318  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! barrier argument removed from cpu_log,
     23! module interfaces removed
    2324!
    2425! Former revisions:
     
    126127    USE cpulog
    127128    USE indices
    128     USE interfaces
    129129    USE netcdf_control
    130130    USE particle_attributes
     
    634634
    635635
    636     CALL cpu_log (log_point(14),'data_output_3d','stop','nobarrier')
     636    CALL cpu_log( log_point(14), 'data_output_3d', 'stop' )
    637637
    638638!
  • palm/trunk/SOURCE/data_output_dvrp.f90

    r1310 r1318  
    1818! Current revisions:
    1919! -----------------
    20 !
     20! module interfaces removed
    2121!
    2222! Former revisions:
     
    109109    USE grid_variables
    110110    USE indices
    111     USE interfaces
    112111    USE particle_attributes
    113112    USE pegrid
  • palm/trunk/SOURCE/data_output_mask.f90

    r1310 r1318  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! barrier argument removed from cpu_log,
     23! module interfaces removed
    2324!
    2425! Former revisions:
     
    7172    USE grid_variables
    7273    USE indices
    73     USE interfaces
    7474    USE netcdf
    7575    USE netcdf_control
     
    518518
    519519
    520     CALL cpu_log (log_point(49),'data_output_mask','stop','nobarrier')
     520    CALL cpu_log( log_point(49), 'data_output_mask', 'stop' )
    521521#endif
    522522
  • palm/trunk/SOURCE/data_output_profiles.f90

    r1310 r1318  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! barrier argument removed from cpu_log,
     23! module interfaces removed
    2324!
    2425! Former revisions:
     
    7172    USE cpulog
    7273    USE indices
    73     USE interfaces
    7474    USE netcdf_control
    7575    USE pegrid
     
    310310    ENDIF
    311311
    312     CALL cpu_log( log_point(15), 'data_output_profiles','stop', 'nobarrier' )
     312    CALL cpu_log( log_point(15), 'data_output_profiles','stop' )
    313313
    314314!
  • palm/trunk/SOURCE/data_output_ptseries.f90

    r1310 r1318  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! barrier argument removed from cpu_log,
     23! module interfaces removed
    2324!
    2425! Former revisions:
     
    6162    USE cpulog
    6263    USE indices
    63     USE interfaces
    6464    USE netcdf_control
    6565    USE particle_attributes
     
    332332    DEALLOCATE( pts_value, pts_value_l )
    333333
    334     CALL cpu_log( log_point(36), 'data_output_ptseries','stop', 'nobarrier' )
     334    CALL cpu_log( log_point(36), 'data_output_ptseries', 'stop' )
    335335
    336336 END SUBROUTINE data_output_ptseries
  • palm/trunk/SOURCE/data_output_spectra.f90

    r1310 r1318  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    6161    USE control_parameters
    6262    USE cpulog
    63     USE interfaces
    6463    USE netcdf_control
    6564    USE pegrid
  • palm/trunk/SOURCE/data_output_tseries.f90

    r1310 r1318  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! barrier argument removed from cpu_log.
     23! module interfaces removed
    2324!
    2425! Former revisions:
     
    5859    USE cpulog
    5960    USE indices
    60     USE interfaces
    6161    USE netcdf_control
    6262    USE pegrid
     
    118118
    119119
    120     CALL cpu_log( log_point(21), 'data_output_tseries','stop', 'nobarrier' )
     120    CALL cpu_log( log_point(21), 'data_output_tseries', 'stop' )
    121121
    122122!
  • palm/trunk/SOURCE/disturb_field.f90

    r1310 r1318  
    1919!
    2020! Current revisions:
    21 ! -----------------
     21! ------------------
     22! module interfaces removed
    2223!
    2324! Former revisions:
     
    6061    USE grid_variables
    6162    USE indices
    62     USE interfaces
    6363    USE random_function_mod
    6464
  • palm/trunk/SOURCE/disturb_heatflux.f90

    r1310 r1318  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    5656    USE grid_variables
    5757    USE indices
    58     USE interfaces
    5958
    6059    IMPLICIT NONE
  • palm/trunk/SOURCE/exchange_horiz.f90

    r1310 r1318  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    8787    USE cpulog
    8888    USE indices
    89     USE interfaces
    9089    USE pegrid
    9190
  • palm/trunk/SOURCE/exchange_horiz_2d.f90

    r1310 r1318  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    6868    USE cpulog
    6969    USE indices
    70     USE interfaces
    7170    USE pegrid
    7271
     
    189188    USE cpulog
    190189    USE indices
    191     USE interfaces
    192190    USE pegrid
    193191
  • palm/trunk/SOURCE/flow_statistics.f90

    r1310 r1318  
    2121! Current revisions:
    2222! -----------------
    23 !
     23! module interfaces removed
    2424!
    2525! Former revisions:
     
    180180    USE grid_variables
    181181    USE indices
    182     USE interfaces
    183182    USE pegrid
    184183    USE statistics
     
    13531352    USE grid_variables
    13541353    USE indices
    1355     USE interfaces
    13561354    USE pegrid
    13571355    USE statistics
  • palm/trunk/SOURCE/inflow_turbulence.f90

    r1310 r1318  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    5858    USE grid_variables
    5959    USE indices
    60     USE interfaces
    6160    USE pegrid
    6261
  • palm/trunk/SOURCE/init_3d_model.f90

    r1317 r1318  
    1 #if defined( __ibmy_special )
    2 @PROCESS NOOPTimize
    3 #endif
    41 SUBROUTINE init_3d_model
    52
     
    2320! Current revisions:
    2421! ------------------
    25 !
     22! module interfaces removed
    2623!
    2724! Former revisions:
     
    270267    USE grid_variables
    271268    USE indices
    272     USE interfaces
    273269    USE ls_forcing_mod
    274270    USE model_1d
  • palm/trunk/SOURCE/lpm.f90

    r1310 r1318  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    7979    USE control_parameters
    8080    USE cpulog
    81     USE interfaces
    8281    USE particle_attributes
    8382    USE pegrid
  • palm/trunk/SOURCE/lpm_boundary_conds.f90

    r1310 r1318  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    6363    USE grid_variables
    6464    USE indices
    65     USE interfaces
    6665    USE particle_attributes
    6766    USE pegrid
  • palm/trunk/SOURCE/lpm_calc_liquid_water_content.f90

    r1310 r1318  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    4545    USE grid_variables
    4646    USE indices
    47     USE interfaces
    4847    USE particle_attributes
    4948
  • palm/trunk/SOURCE/lpm_collision_kernels.f90

    r1310 r1318  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    264264       USE cpulog
    265265       USE indices
    266        USE interfaces
    267266       USE particle_attributes
    268267
  • palm/trunk/SOURCE/lpm_data_output_particles.f90

    r1310 r1318  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    4141    USE control_parameters
    4242    USE cpulog
    43     USE interfaces
    4443    USE netcdf_control
    4544    USE particle_attributes
  • palm/trunk/SOURCE/lpm_droplet_collision.f90

    r1310 r1318  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    7171    USE grid_variables
    7272    USE indices
    73     USE interfaces
    7473    USE lpm_collision_kernels_mod
    7574    USE particle_attributes
  • palm/trunk/SOURCE/lpm_droplet_condensation.f90

    r1310 r1318  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    6464    USE cpulog
    6565    USE grid_variables
    66     USE interfaces
    6766    USE lpm_collision_kernels_mod
    6867    USE particle_attributes
  • palm/trunk/SOURCE/lpm_exchange_horiz.f90

    r1310 r1318  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    4646    USE grid_variables
    4747    USE indices
    48     USE interfaces
    4948    USE particle_attributes
    5049    USE pegrid
  • palm/trunk/SOURCE/lpm_set_attributes.f90

    r1310 r1318  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    5353    USE grid_variables
    5454    USE indices
    55     USE interfaces
    5655    USE particle_attributes
    5756    USE pegrid
  • palm/trunk/SOURCE/lpm_sort_arrays.f90

    r1310 r1318  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    4343    USE grid_variables
    4444    USE indices
    45     USE interfaces
    4645    USE particle_attributes
    4746
  • palm/trunk/SOURCE/ls_forcing.f90

    r1310 r1318  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    6060       USE cpulog
    6161       USE indices
    62        USE interfaces
    6362       USE pegrid
    6463
     
    228227       USE cpulog
    229228       USE indices
    230        USE interfaces
    231229       USE pegrid
    232230
     
    287285       USE cpulog
    288286       USE indices
    289        USE interfaces
    290287       USE pegrid
    291288
  • palm/trunk/SOURCE/mod_kinds.f90

    r1310 r1318  
    4949!-- Integer kinds
    5050    INTEGER, PARAMETER ::  isp = SELECTED_INT_KIND(  9 )   ! single precision (32 bit)
    51     INTEGER, PARAMETER ::  idp = SELECTED_INT_KIND( 14 )   ! double precision (32 bit)
     51    INTEGER, PARAMETER ::  idp = SELECTED_INT_KIND( 14 )   ! double precision (64 bit)
    5252
    5353!
    5454!-- Set kinds to be used as defaults
    5555    INTEGER, PARAMETER ::   wp =  dp          ! default real kind
    56     INTEGER, PARAMETER ::  iwp = idp          ! default integer kind
     56    INTEGER, PARAMETER ::  iwp = isp          ! default integer kind
    5757
    5858    SAVE
  • palm/trunk/SOURCE/modules.f90

    r1315 r1318  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! module cpulog moved to new separate module-file
     23! interface for cpu_log removed
    2324! Former revisions:
    2425! -----------------
     
    942943
    943944
    944 
    945  MODULE cpulog
    946 
    947 !------------------------------------------------------------------------------!
    948 ! Description:
    949 ! ------------
    950 ! Definition of variables for cpu-time measurements
    951 !------------------------------------------------------------------------------!
    952 
    953     REAL ::  initial_wallclock_time
    954 
    955     TYPE logpoint
    956        REAL               ::  isum, ivect, mean, mtime, mtimevec, sum, vector
    957        INTEGER            ::  counts
    958        CHARACTER (LEN=20) ::  place
    959     END TYPE logpoint
    960 
    961     TYPE(logpoint), DIMENSION(100) ::  log_point = logpoint( 0.0, 0.0, 0.0,   &
    962                                        0.0, 0.0, 0.0, 0.0, 0, ' ' ),          &
    963                                        log_point_s = logpoint( 0.0, 0.0, 0.0, &
    964                                        0.0, 0.0, 0.0, 0.0, 0, ' ' )
    965 
    966     SAVE
    967 
    968  END MODULE cpulog
    969 
    970 
    971 
    972 
    973945 MODULE dvrp_variables
    974946
     
    11661138! Interfaces for special subroutines which use optional parameters
    11671139!------------------------------------------------------------------------------!
    1168 
    1169     INTERFACE
    1170 
    1171        SUBROUTINE cpu_log( log_event, place, modus, barrierwait )
    1172 
    1173           USE cpulog
    1174 
    1175           CHARACTER (LEN=*)           ::  modus, place
    1176           CHARACTER (LEN=*), OPTIONAL ::  barrierwait
    1177           TYPE(logpoint)              ::  log_event
    1178 
    1179        END SUBROUTINE cpu_log
    1180 
    1181     END INTERFACE
    1182 
    1183 
    11841140
    11851141    INTERFACE
  • palm/trunk/SOURCE/nudging.f90

    r1310 r1318  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    6363       USE cpulog
    6464       USE indices
    65        USE interfaces
    6665       USE pegrid
    6766
     
    191190       USE cpulog
    192191       USE indices
    193        USE interfaces
    194192       USE pegrid
    195193       USE statistics
     
    313311       USE cpulog
    314312       USE indices
    315        USE interfaces
    316313       USE pegrid
    317314       USE statistics
  • palm/trunk/SOURCE/palm.f90

    r1310 r1318  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    112112    USE grid_variables
    113113    USE indices
    114     USE interfaces
    115114    USE ls_forcing_mod
    116115    USE model_1d
  • palm/trunk/SOURCE/parin.f90

    r1310 r1318  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! +cpu_log_barrierwait in d3par
    2323!
    2424! Former revisions:
     
    212212    USE cloud_parameters
    213213    USE control_parameters
     214    USE cpulog
    214215    USE dvrp_variables
    215216    USE grid_variables
     
    281282     
    282283    NAMELIST /d3par/  averaging_interval, averaging_interval_pr, &
    283              create_disturbances, &
     284             cpu_log_barrierwait, create_disturbances, &
    284285             cross_profiles, cross_ts_uymax, cross_ts_uymin, &
    285286             data_output, data_output_format, data_output_masks, &
  • palm/trunk/SOURCE/poisfft.f90

    r1310 r1318  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    218218       USE control_parameters,  ONLY : fft_method, transpose_compute_overlap
    219219       USE cpulog
    220        USE interfaces
    221220       USE pegrid
    222221
     
    372371!--       2d-domain-decomposition or no decomposition (1 PE run) with
    373372!--       overlapping transposition / fft
     373!--       cputime logging must not use barriers, which would prevent overlapping
    374374          ALLOCATE( f_out_y(0:ny,nxl_y:nxr_y,nzb_y:nzt_y), &
    375375                    f_out_z(0:nx,nys_x:nyn_x,nzb_x:nzt_x) )
     
    399399
    400400             IF ( kk == 1 )  THEN
    401                 CALL cpu_log( log_point_s(5), 'transpo forward', 'start' )
     401                CALL cpu_log( log_point_s(5), 'transpo forward', 'start', cpu_log_nowait )
    402402             ELSE
    403                 CALL cpu_log( log_point_s(5), 'transpo forward', 'continue' )
     403                CALL cpu_log( log_point_s(5), 'transpo forward', 'continue', cpu_log_nowait )
    404404             ENDIF
    405405
     
    413413
    414414             IF ( kk == 1 )  THEN
    415                 CALL cpu_log( log_point_s(4), 'fft_x', 'start' )
     415                CALL cpu_log( log_point_s(4), 'fft_x', 'start', cpu_log_nowait )
    416416             ELSE
    417                 CALL cpu_log( log_point_s(4), 'fft_x', 'continue' )
     417                CALL cpu_log( log_point_s(4), 'fft_x', 'continue', cpu_log_nowait )
    418418             ENDIF
    419419
     
    456456          DO  ii = 0, nblk
    457457
    458              CALL cpu_log( log_point_s(5), 'transpo forward', 'continue' )
     458             CALL cpu_log( log_point_s(5), 'transpo forward', 'continue', cpu_log_nowait )
    459459
    460460             DO  inew = 0, nx-1
     
    468468
    469469             IF ( ii == 1 )  THEN
    470                 CALL cpu_log( log_point_s(7), 'fft_y', 'start' )
     470                CALL cpu_log( log_point_s(7), 'fft_y', 'start', cpu_log_nowait )
    471471             ELSE
    472                 CALL cpu_log( log_point_s(7), 'fft_y', 'continue' )
     472                CALL cpu_log( log_point_s(7), 'fft_y', 'continue', cpu_log_nowait )
    473473             ENDIF
    474474
     
    518518!--          Forward Fourier Transformation
    519519!--          Transposition y --> z
    520              CALL cpu_log( log_point_s(5), 'transpo forward', 'continue' )
     520             CALL cpu_log( log_point_s(5), 'transpo forward', 'continue', cpu_log_nowait )
    521521
    522522             DO  jnew = 0, ny-1
     
    535535!
    536536!--          Solve the tridiagonal equation system along z
    537              CALL cpu_log( log_point_s(6), 'tridia', 'start' )
     537             CALL cpu_log( log_point_s(6), 'tridia', 'start', cpu_log_nowait )
    538538
    539539             n = isave(2) + jj
     
    548548!--          backward tranpose are in the same section
    549549             IF ( jj == 0 )  THEN
    550                 CALL cpu_log( log_point_s(8), 'transpo invers', 'start' )
     550                CALL cpu_log( log_point_s(8), 'transpo invers', 'start', cpu_log_nowait )
    551551             ELSE
    552                 CALL cpu_log( log_point_s(8), 'transpo invers', 'continue' )
     552                CALL cpu_log( log_point_s(8), 'transpo invers', 'continue', cpu_log_nowait )
    553553             ENDIF
    554554
     
    597597          DO  ii = 0, nblk
    598598
    599              CALL cpu_log( log_point_s(7), 'fft_y', 'continue' )
     599             CALL cpu_log( log_point_s(7), 'fft_y', 'continue', cpu_log_nowait )
    600600
    601601             n = isave(2) + ii
     
    613613             ENDIF
    614614
    615              CALL cpu_log( log_point_s(8), 'transpo invers', 'continue' )
     615             CALL cpu_log( log_point_s(8), 'transpo invers', 'continue', cpu_log_nowait )
    616616
    617617             CALL transpose_yx( ar1(:,:,:), f_in )
     
    659659          DO  kk = 1, nblk
    660660
    661              CALL cpu_log( log_point_s(4), 'fft_x', 'continue' )
     661             CALL cpu_log( log_point_s(4), 'fft_x', 'continue', cpu_log_nowait )
    662662
    663663             n = isave(2) + kk - 1
     
    670670             ENDIF
    671671
    672              CALL cpu_log( log_point_s(8), 'transpo invers', 'continue' )
     672             CALL cpu_log( log_point_s(8), 'transpo invers', 'continue', cpu_log_nowait )
    673673
    674674             CALL transpose_xz( ar1(:,:,:), f_in )
     
    723723       USE cpulog
    724724       USE indices
    725        USE interfaces
    726725       USE pegrid
    727726       USE transpose_indices
     
    841840       USE cpulog
    842841       USE indices
    843        USE interfaces
    844842       USE pegrid
    845843       USE transpose_indices
     
    963961       USE grid_variables
    964962       USE indices
    965        USE interfaces
    966963       USE pegrid
    967964       USE transpose_indices
     
    10941091       USE cpulog
    10951092       USE indices
    1096        USE interfaces
    10971093       USE pegrid
    10981094       USE transpose_indices
     
    12001196       USE cpulog
    12011197       USE indices
    1202        USE interfaces
    12031198       USE pegrid
    12041199       USE transpose_indices
     
    13071302       USE grid_variables
    13081303       USE indices
    1309        USE interfaces
    13101304       USE pegrid
    13111305       USE transpose_indices
  • palm/trunk/SOURCE/poismg.f90

    r1310 r1318  
    2323! Current revisions:
    2424! -----------------
    25 !
     25! module interfaces removed
    2626!
    2727! Former revisions:
     
    110110    USE grid_variables
    111111    USE indices
    112     USE interfaces
    113112    USE pegrid
    114113
     
    616615    USE grid_variables
    617616    USE indices
    618     USE interfaces
    619617    USE pegrid
    620618
     
    10291027    USE cpulog
    10301028    USE indices
    1031     USE interfaces
    10321029    USE pegrid
    10331030
     
    10941091    USE cpulog
    10951092    USE indices
    1096     USE interfaces
    10971093    USE pegrid
    10981094
  • palm/trunk/SOURCE/pres.f90

    r1310 r1318  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    143143    USE grid_variables
    144144    USE indices
    145     USE interfaces
    146145    USE pegrid
    147146    USE poisfft_mod
  • palm/trunk/SOURCE/print_1d.f90

    r1310 r1318  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! barrier argument removed from cpu_log,
     23! module interfaces removed
    2324!
    2425! Former revisions:
     
    4748    USE cpulog
    4849    USE indices
    49     USE interfaces
    5050    USE pegrid
    5151    USE statistics
     
    136136    ENDIF
    137137
    138     CALL cpu_log( log_point(18), 'print_1d','stop', 'nobarrier' )
     138    CALL cpu_log( log_point(18), 'print_1d', 'stop' )
    139139
    140140!
  • palm/trunk/SOURCE/prognostic_equations.f90

    r1310 r1318  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    167167    USE grid_variables
    168168    USE indices
    169     USE interfaces
    170169    USE pegrid
    171170    USE pointer_interfaces
  • palm/trunk/SOURCE/read_3d_binary.f90

    r1310 r1318  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    110110    USE cpulog
    111111    USE indices
    112     USE interfaces
    113112    USE particle_attributes
    114113    USE pegrid
  • palm/trunk/SOURCE/run_control.f90

    r1310 r1318  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    6161    USE cpulog
    6262    USE indices
    63     USE interfaces
    6463    USE pegrid
    6564    USE statistics
  • palm/trunk/SOURCE/sum_up_3d_data.f90

    r1310 r1318  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! barrier argument removed from cpu_log,
     23! module interfaces removed
    2324!
    2425! Former revisions:
     
    8081    USE cpulog
    8182    USE indices
    82     USE interfaces
    8383    USE particle_attributes
    8484
     
    603603    ENDDO
    604604
    605     CALL cpu_log (log_point(34),'sum_up_3d_data','stop','nobarrier')
     605    CALL cpu_log( log_point(34), 'sum_up_3d_data', 'stop' )
    606606
    607607
  • palm/trunk/SOURCE/surface_coupler.f90

    r1310 r1318  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    6464    USE grid_variables
    6565    USE indices
    66     USE interfaces
    6766    USE pegrid
    6867
  • palm/trunk/SOURCE/swap_timelevel.f90

    r1310 r1318  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    7575    USE arrays_3d
    7676    USE cpulog
    77     USE interfaces
    7877    USE control_parameters
    7978
  • palm/trunk/SOURCE/time_integration.f90

    r1310 r1318  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    179179    USE indices
    180180    USE interaction_droplets_ptq_mod
    181     USE interfaces
    182181    USE ls_forcing_mod
    183182    USE particle_attributes
  • palm/trunk/SOURCE/transpose.f90

    r1310 r1318  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! cpu_log_nowait parameter added to cpu measurements of the transpositions
     23! required for solving the Poisson equation (poisfft),
     24! module interfaces removed
    2325!
    2426! Former revisions:
     
    125127    USE cpulog
    126128    USE indices
    127     USE interfaces
    128129    USE pegrid
    129130    USE transpose_indices
     
    143144!
    144145!--    Transpose array
    145        CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start' )
     146       CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start', cpu_log_nowait )
    146147       IF ( collective_wait )  CALL MPI_BARRIER( comm2d, ierr )
    147148       !$acc update host( f_inv )
     
    247248    USE cpulog
    248249    USE indices
    249     USE interfaces
    250250    USE pegrid
    251251    USE transpose_indices
     
    288288!
    289289!--    Transpose array
    290        CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start' )
     290       CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start', cpu_log_nowait )
    291291       IF ( collective_wait )  CALL MPI_BARRIER( comm2d, ierr )
    292292       CALL MPI_ALLTOALL( work(nys_x,1,nzb_x,0), sendrecvcount_zx, MPI_REAL, &
     
    370370    USE cpulog
    371371    USE indices
    372     USE interfaces
    373372    USE pegrid
    374373    USE transpose_indices
     
    408407!
    409408!--    Transpose array
    410        CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start' )
     409       CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start', cpu_log_nowait )
    411410       IF ( collective_wait )  CALL MPI_BARRIER( comm2d, ierr )
    412411       CALL MPI_ALLTOALL( work(1,nzb_y,nxl_y,0), sendrecvcount_xy, MPI_REAL, &
     
    453452    USE cpulog
    454453    USE indices
    455     USE interfaces
    456454    USE pegrid
    457455    USE transpose_indices
     
    558556    USE cpulog
    559557    USE indices
    560     USE interfaces
    561558    USE pegrid
    562559    USE transpose_indices
     
    594591!
    595592!--    Transpose array
    596        CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start' )
     593       CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start', cpu_log_nowait )
    597594       IF ( collective_wait )  CALL MPI_BARRIER( comm2d, ierr )
    598595       !$acc update host( f_inv )
     
    679676    USE cpulog
    680677    USE indices
    681     USE interfaces
    682678    USE pegrid
    683679    USE transpose_indices
     
    715711!
    716712!--    Transpose array
    717        CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start' )
     713       CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start', cpu_log_nowait )
    718714       IF ( collective_wait )  CALL MPI_BARRIER( comm2d, ierr )
    719715       !$acc update host( f_inv )
     
    800796    USE cpulog
    801797    USE indices
    802     USE interfaces
    803798    USE pegrid
    804799    USE transpose_indices
     
    841836!
    842837!--    Transpose array
    843        CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start' )
     838       CALL cpu_log( log_point_s(32), 'mpi_alltoall', 'start', cpu_log_nowait )
    844839       IF ( collective_wait )  CALL MPI_BARRIER( comm2d, ierr )
    845840       CALL MPI_ALLTOALL( work(nxl_z,1,nys_z,0), sendrecvcount_yz, MPI_REAL, &
     
    885880    USE cpulog
    886881    USE indices
    887     USE interfaces
    888882    USE pegrid
    889883    USE transpose_indices
  • palm/trunk/SOURCE/user_actions.f90

    r1310 r1318  
    1919!
    2020! Current revisions:
    21 ! -----------------
     21! ------------------
     22! module interfaces removed
    2223!
    2324! Former revisions:
     
    6465       USE cpulog
    6566       USE indices
    66        USE interfaces
    6767       USE pegrid
    6868       USE user
  • palm/trunk/SOURCE/write_3d_binary.f90

    r1310 r1318  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! module interfaces removed
    2323!
    2424! Former revisions:
     
    100100    USE cpulog
    101101    USE indices
    102     USE interfaces
    103102    USE particle_attributes
    104103    USE pegrid
Note: See TracChangeset for help on using the changeset viewer.