Changeset 254 for palm/trunk


Ignore:
Timestamp:
Mar 5, 2009 3:33:42 PM (15 years ago)
Author:
heinze
Message:

Output of messages replaced by message handling routine.

Location:
palm/trunk
Files:
18 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/DOC/tec/message_identifiers

    r247 r254  
    267267    PA0171           NetCDF: no 64-bit offset allowed on this machine
    268268    PA0172           no OPEN-statement for file-id ...
     269    PA0173           wrong component: ...
     270    PA0174           wrong argument  expected: ... given: ...
     271    PA0175           no time measurement defined on this host
     272    PA0176           negative time interval occured
     273                      PE ... L=PAUSE "..." new=...  last=...
     274    PA0177           negative time interval occured
     275                      PE ... L=STOP "..." new=... last=... isum=...
     276    PA0178           negative time interval occured
     277                      PE ... L=STOP "..." sum=...  mtime=...
     278    PA0179           unknown modus of time measurement: ...
     279    PA0180           unknown cross-section: ...
     280    PA0181           no output provided for: ...
     281    PA0182           no output available for: ...
     282    PA0183           if humidity/passive_scalar = FALSE output of ... is not provided
     283    PA0184           if cloud_physics = FALSE output of ... is not provided
     284    PA0185           data_output_profiles: normalizing cross ...
     285                      is not possible since one of the  normalizing factors is zero!
     286                      cross_normx_factor(...,...) = ...
     287                      cross_normy_factor(...,...) = ...
     288    PA0186           no spectra data available
     289    PA0187           fft method "..." currently does not work on NEC
     290    PA0188           no system-specific fft-call available
     291    PA0189           fft method "..." not available
     292    PA0190           flow_statistics is called two times within one timestep
     293    PA0191           unknown action(s): ...
     294    PA0192           timestep has exceeded the lower limit dt_1d = ... s   
     295                      simulation stopped!
     296    PA0193           unknown initializing problem
     297    PA0194           number of time series quantities exceeds its maximum
     298                      of dots_max = ... Please increase dots_max in modules.f90.
     299    PA0195           dvrp_username is undefined
     300    PA0196           dvrp_output="..." not allowed
     301    PA0197           dvrp_file="..." not allowed
     302    PA0198           mode_dvrp="..." not allowed
     303    PA0199           split of communicator not realized with  MPI1 coupling
     304                      atmosphere-ocean'
     305    PA0200           missing dz
     306    PA0201           dz=... <= 0.0
     307    PA0202           grid anisotropy exceeds threshold given by only local
     308                      horizontal reduction of near_wall mixing length l_wall
     309                      starting from height level k = ... .
     310    PA0203           inconsistent building parameters: bxl=... bxr=... bys=...
     311                      byn=... nx=... ny=...
     312    PA0204           no street canyon width given
     313    PA0205           inconsistent canyon parameters: cxl=... cxr=...
     314                      cwx=... ch=... nx=... ny=...
     315    PA0206           inconsistent canyon parameters:... cys=... cyn=...
     316                      cwy=... ch=... nx=... ny=...
     317    PA0207           inconsistent canyon parameters: street canyon can
     318                      only be oriented either in x- or in y-direction
     319    PA0208           file TOPOGRAPHY_DATA does not exist
     320    PA0209           errors in file TOPOGRAPHY_DATA
     321    PA0210           nzb_local values are outside the model domain
     322                     MINVAL( nzb_local ) = ...
     323                      MAXVAL( nzb_local ) = ...
     324    PA0211           nzb_local does not fulfill cyclic boundary condition
     325                      in x-direction
     326    PA0212           nzb_local does not fulfill cyclic boundary condition
     327                      in y-direction   
     328    PA0213           max_number_of_particle_groups =...
     329                      number_of_particle_groups reset to ...
     330    PA0214           version mismatch concerning data from prior run
     331                      version on file    = ...
     332                      version in program = ...
     333    PA0215           particle group # ...  has a density ratio /= 0
     334                      but radius = 0
     335    PA0216           number of initial particles (...) exceeds
     336                      maximum_number_of_particles (...) on PE ...
     337    PA0217           unknown boundary condition bc_par_b = "..."
     338    PA0218           unknown boundary condition bc_par_t = "..."
     339    PA0219           unknown boundary condition bc_par_lr = "..."
     340    PA0220           unknown boundary condition bc_par_ns = "..."
     341    PA0221           number of PEs of the prescribed topology (...) does not match
     342                      the number of PEs available to the job ()
     343    PA0222           if the processor topology is prescribed by the user,
     344                      both values of "npex" and "npey" must be given
     345                      in the NAMELIST-parameter file
     346    PA0223           psolver = "poisfft_hybrid" can only be used in case of
     347                      a 1d-decomposition along x
     348    PA0224           no matching grid for transpositions found
     349    PA0225           x-direction: gridpoint number (...)is not an
     350                      integral divisor of the number of procesors (...)
     351    PA0226           x-direction: nx does not match the requirements given
     352                      by the number of PEs used
     353                      please use nx = ... instead of nx =...
     354    PA0227           y-direction: gridpoint number (...) is not an
     355                      integral divisor of the number of processors (...)
     356    PA0228           y-direction: ny does not match the requirements given
     357                      by the number of PEs used
     358                      please use ny = ... instead of ny =...
     359    PA0229           1d-decomposition along x chosen but nz restrictions
     360                      may occur since ups-scheme is activated
     361    PA0230           transposition z --> x:
     362                      nz=... is not an integral divisior of pdims(1)= ...
     363    PA0231           transposition x --> y:
     364                      nx+1=... is not an integral divisor of pdims(2)= ...
     365    PA0232           transposition y --> z:
     366                      ny+1=... is not an integral divisor of pdims(1)=...
     367    PA0233           transposition x --> y:
     368                      ny+1=... is not an integral divisor of pdims(1)=...
     369    PA0234           direct transposition z --> y (needed for spectra):
     370                       nz=... is not an integral divisor of pdims(2)=...
     371    PA0235           mg_switch_to_pe0_level out of range and reset to default (=0)     
     372    PA0236           not enough memory for storing gathered multigrid data on PE0
     373    PA0237           multigrid gather/scatter impossible in non parallel mode
     374    PA0238           more than 10 multigrid levels
     375   
    269376
    270377    UI0001           The value for "topography_grid_convention" is not set.
  • palm/trunk/SOURCE/CURRENT_MODIFICATIONS

    r253 r254  
    2626First constant in array den also defined as type double. (eqn_state_seawater)
    2727
    28 advec_particles, advec_s_bc, buoyancy, calc_spectra, check_for_restart, check_open, eqn_state_seawater, sort_particles
     28advec_particles, advec_s_bc, buoyancy, calc_spectra, check_for_restart, check_open, coriolis, cpu_log, data_output_2d, data_output_3d, data_output_dvrp, data_output_profiles, data_output_spectra,  eqn_state_seawater, fft_xy, flow_statistics, header, init_1d_model, init_3d_model, init_dvrp, init_grid, init_particles, init_pegrid, sort_particles
    2929
    3030
  • palm/trunk/SOURCE/coriolis.f90

    r110 r254  
    22
    33!------------------------------------------------------------------------------!
    4 ! Actual revisions:
     4! Current revisions:
    55! -----------------
    6 !
     6! Output of messages replaced by message handling routine.
     7!
    78!
    89! Former revisions:
     
    106107          CASE DEFAULT
    107108
    108              IF ( myid == 0 )  PRINT*,'+++ coriolis:  wrong component: ', &
    109                                       component
    110              CALL local_stop
     109             WRITE( message_string, * ) ' wrong component: ', component
     110             CALL message( 'coriolis', 'PA0173', 1, 2, 0, 6, 0 )
    111111
    112112       END SELECT
     
    166166          CASE DEFAULT
    167167
    168              IF ( myid == 0 )  PRINT*,'+++ coriolis:  wrong component: ', &
    169                                       component
    170              CALL local_stop
     168             WRITE( message_string, * ) ' wrong component: ', component
     169             CALL message( 'coriolis', 'PA0173', 1, 2, 0, 6, 0 )
    171170
    172171       END SELECT
  • palm/trunk/SOURCE/cpu_log.f90

    r239 r254  
    22
    33!------------------------------------------------------------------------------!
    4 ! Actual revisions:
     4! Current revisions:
    55! -----------------
     6! Output of messages replaced by message handling routine.
    67! Type of count and count_rate changed to default INTEGER on NEC machines
    78!
     
    3132!------------------------------------------------------------------------------!
    3233
     34    USE control_parameters
    3335    USE cpulog
    3436    USE pegrid
     
    5658       log_event%place = place
    5759    ELSEIF ( log_event%place /= place )  THEN
    58        IF ( myid == 0 )  THEN
    59           PRINT*,'+++ cpu_log: wrong argument'
    60           PRINT*,'    expected: ',log_event%place,'  given: ', place
    61        ENDIF
    62        CALL local_stop
     60       WRITE( message_string, * ) 'wrong argument & expected: ', &
     61                         TRIM(log_event%place), '  given: ',  TRIM( place )
     62       CALL message( 'cpu_log', 'PA0174', 1, 2, 0, 6, 0 )
    6363    ENDIF
    6464
     
    7171    mtime = IRTC( ) * 1E-9
    7272#else
    73     IF ( myid == 0 )  THEN
    74        PRINT*, '+++ cpu_log: no time measurement defined on this host'
    75     ENDIF
    76     CALL local_stop
     73    message_string = 'no time measurement defined on this host'
     74    CALL message( 'cpu_log', 'PA0175', 1, 2, 0, 6, 0 )
    7775#endif
    7876
     
    8482    ELSEIF ( modus == 'pause' )  THEN
    8583       IF ( ( mtime - log_event%mtime ) < 0.0  .AND.  first )  THEN
    86           PRINT*,'+++ WARNING: cpu_log: negative time interval occured'
    87           PRINT*,'+++ PE',myid,' L=PAUSE "',TRIM(log_event%place),'" new=', &
    88                  mtime,' last=',log_event%mtime
     84          WRITE( message_string, * ) 'negative time interval occured', &
     85                                     ' &PE',myid,' L=PAUSE "',TRIM(log_event%place),'" new=', &
     86                                      mtime,' last=',log_event%mtime
     87          CALL message( 'cpu_log', 'PA0176', 0, 1, -1, 6, 0 )
    8988          first = .FALSE.
    9089       ENDIF
     
    9493       IF ( ( mtime - log_event%mtime + log_event%isum ) < 0.0  .AND. &
    9594            first )  THEN
    96           PRINT*,'+++ WARNING: cpu_log: negative time interval occured'
    97           PRINT*,'+++ PE',myid,' L=STOP "',TRIM(log_event%place),'" new=', &
    98                  mtime,' last=',log_event%mtime,' isum=',log_event%isum
     95          WRITE( message_string, * ) 'negative time interval occured', &
     96                                     ' &PE',myid,' L=STOP "',TRIM(log_event%place),'" new=', &
     97                                      mtime,' last=',log_event%mtime,' isum=',log_event%isum
     98          CALL message( 'cpu_log', 'PA0177', 0, 1, -1, 6, 0 )
    9999          first = .FALSE.
    100100       ENDIF
     
    103103       log_event%sum      = log_event%sum  + log_event%mtime
    104104       IF ( log_event%sum < 0.0  .AND.  first )  THEN
    105           PRINT*,'+++ WARNING: cpu_log: negative time interval occured'
    106           PRINT*,'+++ PE',myid,' L=STOP "',TRIM(log_event%place),'" sum=', &
    107                  log_event%sum,' mtime=',log_event%mtime
     105          WRITE( message_string, * ) 'negative time interval occured',&
     106                                     ' &PE',myid,' L=STOP "',TRIM(log_event%place),'" sum=', &
     107                                      log_event%sum,' mtime=',log_event%mtime
     108          CALL message( 'cpu_log', 'PA0178', 0, 1, -1, 6, 0 )
    108109          first = .FALSE.
    109110       ENDIF
     
    113114       log_event%ivect    = 0.0
    114115    ELSE
    115        PRINT*, '+++ unknown modus of time measurement: ', modus
     116       message_string = 'unknown modus of time measurement: ' // TRIM( modus )
     117       CALL message( 'cpu_log', 'PA0179', 0, 1, -1, 6, 0 )
    116118    ENDIF
    117119
  • palm/trunk/SOURCE/data_output_2d.f90

    r226 r254  
    22
    33!------------------------------------------------------------------------------!
    4 ! Actual revisions:
     4! Current revisions:
    55! -----------------
    6 !
     6! Output of messages replaced by message handling routine.
     7!
    78!
    89! Former revisions:
     
    158159       CASE DEFAULT
    159160
    160           PRINT*,'+++ data_output_2d: unknown cross-section: ',mode
    161           CALL local_stop
     161          message_string = 'unknown cross-section: ' // TRIM( mode )
     162          CALL message( 'data_output_2d', 'PA0180', 1, 2, 0, 6, 0 )
    162163
    163164    END SELECT
     
    518519
    519520                IF ( .NOT. found )  THEN
    520                    PRINT*, '+++ data_output_2d: no output provided for: ', &
    521                                 do2d(av,if)
     521                   message_string =  'no output provided for: ' // TRIM( do2d(av,if) )
     522                   CALL message( 'data_output_2d', 'PA0181', 0, 0, 0, 6, 0 )
    522523                ENDIF
    523524
  • palm/trunk/SOURCE/data_output_3d.f90

    r98 r254  
    22
    33!------------------------------------------------------------------------------!
    4 ! Actual revisions:
     4! Current revisions:
    55! -----------------
    6 !
     6! Output of messages replaced by message handling routine.
     7!
    78!
    89! Former revisions:
     
    310311             resorted = .TRUE.
    311312
    312              IF ( myid == 0  .AND.  .NOT. found )  THEN
    313                 PRINT*, '+++ data_output_3d: no output available for: ', &
    314                              do3d(av,if)
     313             IF ( .NOT. found )  THEN
     314                message_string =  'no output available for: ' // TRIM( do3d(av,if) )
     315                CALL message( 'data_output_3d', 'PA0182', 0, 0, 0, 6, 0 )
    315316             ENDIF
    316317
  • palm/trunk/SOURCE/data_output_dvrp.f90

    r246 r254  
    3030
    3131!------------------------------------------------------------------------------!
    32 ! Actual revisions:
     32! Current revisions:
    3333! -----------------
     34! Output of messages replaced by message handling routine.
    3435! TEST: different colours for isosurfaces
    3536!
     
    398399                         ENDDO
    399400                      ENDDO           
    400                    ELSE
    401                       IF ( myid == 0 )  THEN
    402                          PRINT*, '+++ data_output_dvrp: if humidity/passive_scalar = ', &
    403                                  'FALSE output of ', output_variable,            &
    404                                  'is not provided'
    405                       ENDIF
     401                   ELSE                   
     402                      message_string = 'if humidity/passive_scalar = ' //  &
     403                                       'FALSE output of ' // TRIM( output_variable ) // &
     404                                       'is not provided'
     405                      CALL message( 'data_output_dvrp', 'PA0183', 0, 0, 0, 6, 0 )
    406406                   ENDIF
    407407             
     
    415415                         ENDDO
    416416                      ENDDO
    417                    ELSE
    418                       IF ( myid == 0 ) THEN
    419                          PRINT*, '+++ data_output_dvrp: if cloud_physics = FALSE ', &
    420                                  'output of ', output_variable, 'is not provided'
    421                       ENDIF
     417                   ELSE                     
     418                         message_string = 'if cloud_physics = FALSE ' // &
     419                                          'output of ' // TRIM( output_variable) // &
     420                                         'is not provided'
     421                         CALL message( 'data_output_dvrp', 'PA0184', 0, 0, 0, 6, 0 )
    422422                   ENDIF
    423423
  • palm/trunk/SOURCE/data_output_profiles.f90

    r198 r254  
    22
    33!------------------------------------------------------------------------------!
    4 ! Actual revisions:
     4! Current revisions:
    55! -----------------
    6 !
     6! Output of messages replaced by message handling routine.
     7!
    78!
    89! Former revisions:
     
    290291                      IF ( cross_normx_factor(k,j) == 0.0  .OR. &
    291292                           cross_normy_factor(k,j) == 0.0 )  THEN
    292                          PRINT*,'+++ WARNING data_output_profiles: normalizi', &
    293                                 'ng cross ',j, ' is not possible since one o', &
    294                                 'f the'
    295                          PRINT*,'                     normalizing factors is ',&
    296                                 'zero!'
    297                          PRINT*,'    cross_normx_factor(',k,',',j,') = ', &
    298                                 cross_normx_factor(k,j)
    299                          PRINT*,'    cross_normy_factor(',k,',',j,') = ', &
    300                                 cross_normy_factor(k,j)
     293                         WRITE( message_string, * ) 'data_output_profiles: normalizi', &
     294                                                    'ng cross ',j, ' is not possible since one o', &
     295                                                    'f the & normalizing factors is zero! & ', &
     296                                                    'cross_normx_factor(',k,',',j,') = ', &
     297                                                     cross_normx_factor(k,j), &
     298                                                    ' & cross_normy_factor(',k,',',j,') = ', &
     299                                                     cross_normy_factor(k,j)
     300                         CALL message( 'data_output_profiles', 'PA0185', 0, 1, 0, 6, 0 )
    301301                         cross_normx_factor(k,j) = 1.0
    302302                         cross_normy_factor(k,j) = 1.0
     
    532532
    533533!
    534 !--             Check the normalizing factors for zeros and deactivate the
    535 !--             normalization, if required.
     534!--             Check the normalizing factors for zeros and deactivate
     535!--             the normalization, if required.
    536536                IF ( cross_normx_factor(k,j) == 0.0  .OR. &
    537537                     cross_normy_factor(k,j) == 0.0 )  THEN
    538                    PRINT*,'+++ WARNING data_output_profiles: normalizing ',j, &
    539                           ' cross is not possible since one of the'
    540                    PRINT*,'                     normalizing factors is zero!'
    541                    PRINT*,'    cross_normx_factor(',k,',',j,') = ', &
    542                            cross_normx_factor(k,j)
    543                    PRINT*,'    cross_normy_factor(',k,',',j,') = ', &
    544                            cross_normy_factor(k,j)
    545                    cross_normx_factor(k,j) = 1.0
    546                    cross_normy_factor(k,j) = 1.0
    547                    cross_normalized_x(j) = ' '
    548                    cross_normalized_y(j) = ' '
     538                   WRITE( message_string, * ) 'data_output_profiles: normalizi', &
     539                                              'ng cross ',j, ' is not possible since one o', &
     540                                              'f the & normalizing factors is zero! & ', &
     541                                              'cross_normx_factor(',k,',',j,') = ', &
     542                                               cross_normx_factor(k,j), &
     543                                              ' & cross_normy_factor(',k,',',j,') = ', &
     544                                               cross_normy_factor(k,j)
     545                    CALL message( 'data_output_profiles', 'PA0185', 0, 1, 0, 6, 0 )
     546                    cross_normx_factor(k,j) = 1.0
     547                    cross_normy_factor(k,j) = 1.0
     548                    cross_normalized_x(j) = ' '
     549                    cross_normalized_y(j) = ' '
    549550                ENDIF
    550551
  • palm/trunk/SOURCE/data_output_spectra.f90

    r198 r254  
    22
    33!------------------------------------------------------------------------------!
    4 ! Actual revisions:
     4! Current revisions:
    55! -----------------
    6 !
     6! Output of messages replaced by message handling routine.
     7!
    78!
    89! Former revisions:
     
    9293!--    If necessary, calculate time average and reset average counter
    9394       IF ( average_count_sp == 0 )  THEN
    94           PRINT*, '+++ data_output_spectra: no spectra data available'
     95           message_string = 'no spectra data available'
     96           CALL message( 'data_output_spectra', 'PA0186', 0, 0, 0, 6, 0 )
    9597       ENDIF
    9698       IF ( average_count_sp /= 1 )  THEN
  • palm/trunk/SOURCE/fft_xy.f90

    r4 r254  
    22
    33!------------------------------------------------------------------------------!
    4 ! Actual revisions:
     4! Current revisions:
    55! -----------------
    6 !
     6! Output of messages replaced by message handling routine.
     7!
    78!
    89! Former revisions:
     
    134135                      auy4, nau2 )
    135136#elif defined( __nec )
    136           PRINT*, '+++ fft_init: fft method "', fft_method, &
    137                   '" currently does not work on NEC'
    138           CALL local_stop
     137          message_string = 'fft method "' // TRIM( fft_method) // &
     138                           '" currently does not work on NEC'
     139          CALL message( 'fft_init', 'PA0187', 1, 2, 0, 6, 0 )
    139140
    140141          ALLOCATE( trig_xb(2*(nx+1)), trig_xf(2*(nx+1)), &
     
    163164                       trig_yb, worky, 0 )
    164165#else
    165           PRINT*, '+++ fft_init: no system-specific fft-call available'
    166           CALL local_stop
     166          message_string = 'no system-specific fft-call available'
     167          CALL message( 'fft_init', 'PA0188', 1, 2, 0, 6, 0 )
    167168#endif
    168169       ELSEIF ( fft_method == 'temperton-algorithm' )  THEN
     
    181182       ELSE
    182183
    183           PRINT*, '+++ fft_init: fft method "', fft_method, &
    184                   '" not available'
    185           CALL local_stop
    186 
     184          message_string = 'fft method "' // TRIM( fft_method) // &
     185                           '" not available'
     186          CALL message( 'fft_init', 'PA0189', 1, 2, 0, 6, 0 )
    187187       ENDIF
    188188
     
    357357          ENDIF
    358358#else
    359           PRINT*, '+++ fft_x: no system-specific fft-call available'
    360           CALL local_stop
     359          message_string = 'no system-specific fft-call available'
     360          CALL message( 'fft_x', 'PA0188', 1, 2, 0, 6, 0 )
    361361#endif
    362362       ELSE
    363 
    364           PRINT*, '+++ fft_x: fft method "', fft_method, '" not available'
    365           CALL local_stop
     363          message_string = 'fft method "' // TRIM( fft_method) // '" not available'
     364          CALL message( 'fft_x', 'PA0189', 1, 2, 0, 6, 0 )
    366365
    367366       ENDIF
     
    537536          ENDIF
    538537#else
    539           PRINT*, '+++ fft_y: no system-specific fft-call available'
    540           CALL local_stop
     538          message_string = 'no system-specific fft-call available'
     539          CALL message( 'fft_y', 'PA0188', 1, 2, 0, 6, 0 )
     540
    541541#endif
    542542
    543543       ELSE
    544544
    545           PRINT*, '+++ fft_y: fft method "', fft_method, '" not available'
    546           CALL local_stop
     545          message_string = 'fft method "' // TRIM( fft_method) // '" not available'
     546          CALL message( 'fft_y', 'PA0189', 1, 2, 0, 6, 0 )
    547547
    548548       ENDIF
     
    672672
    673673#else
    674           PRINT*, '+++ fft_x_m: no system-specific fft-call available'
    675           STOP
     674          message_string = 'no system-specific fft-call available'
     675          CALL message( 'fft_x_m', 'PA0188', 1, 2, 0, 6, 0 )
    676676#endif
    677677
    678678       ELSE
    679679
    680           PRINT*, '+++ fft_x_m: fft method "', fft_method, '" not available'
    681           CALL local_stop
     680          message_string = 'fft method "' // TRIM( fft_method) // '" not available'
     681          CALL message( 'fft_x_m', 'PA0189', 1, 2, 0, 6, 0 )
    682682
    683683       ENDIF
     
    807807
    808808#else
    809           PRINT*, '+++ fft_y_m: no system-specific fft-call available'
    810           STOP
     809          message_string = 'no system-specific fft-call available'
     810          CALL message( 'fft_y_m', 'PA0188', 1, 2, 0, 6, 0 )
    811811#endif
    812812
    813813       ELSE
    814 
    815           PRINT*, '+++ fft_y_m: fft method "', fft_method, '" not available'
    816           CALL local_stop
     814         
     815          message_string = 'fft method "' // TRIM( fft_method) // '" not available'
     816          CALL message( 'fft_x_m', 'PA0189', 1, 2, 0, 6, 0 )
    817817
    818818       ENDIF
  • palm/trunk/SOURCE/flow_statistics.f90

    r220 r254  
    22
    33!------------------------------------------------------------------------------!
    4 ! Actual revisions:
     4! Current revisions:
    55! -----------------
    6 !
     6! Output of messages replaced by message handling routine.
     7!
    78!
    89! Former revisions:
     
    9394!-- called once after the current time step
    9495    IF ( flow_statistics_called )  THEN
    95        IF ( myid == 0 )  PRINT*, '+++ WARNING: flow_statistics is called two', &
    96                                  ' times within one timestep'
    97        CALL local_stop
     96
     97       message_string = 'flow_statistics is called two times within one timestep'
     98       CALL message( 'flow_statistics', 'PA0190', 1, 2, 0, 6, 0 )
     99     
    98100    ENDIF
    99101
  • palm/trunk/SOURCE/header.f90

    r241 r254  
    22
    33!------------------------------------------------------------------------------!
    4 ! Actual revisions:
     4! Current revisions:
    55! -----------------
     6! Output of messages replaced by message handling routine.
    67! Output of cluster_size
    78! +canyon_height, canyon_width_x, canyon_width_y, canyon_wall_left,
     
    135136       run_classification = '3D - run initialized by user'
    136137    ELSE
    137        PRINT*,'+++ header:  unknown action(s): ',initializing_actions
     138       message_string = ' unknown action(s): ' // TRIM( initializing_actions )
     139       CALL message( 'header', 'PA0191', 0, 0, 0, 6, 0 )
    138140    ENDIF
    139141    IF ( ocean )  THEN
     
    634636!
    635637!-- 1D-profiles
    636     dopr_chr = 'Profile:'
     638    dopr_chr = 'Pofile:'
    637639    IF ( dopr_n /= 0 )  THEN
    638640       WRITE ( io, 331 )
  • palm/trunk/SOURCE/init_1d_model.f90

    r198 r254  
    22
    33!------------------------------------------------------------------------------!
    4 ! Actual revisions:
     4! Current revisions:
    55! -----------------
    6 !
     6! Output of messages replaced by message handling routine.
     7!
    78!
    89! Former revisions:
     
    842843    IF ( dt_1d < ( 0.00001 * dt_max_1d ) )  THEN
    843844       stop_dt_1d = .TRUE.
    844        IF ( myid == 0 )  THEN
    845           PRINT*,'+++ timestep_1d: timestep has exceeded the lower limit'
    846           PRINT*,'                 dt_1d = ',dt_1d,' s   simulation stopped!'
    847        ENDIF
    848        CALL local_stop
     845
     846       WRITE( message_string, * ) 'timestep has exceeded the lower limit &', &
     847                                  'dt_1d = ',dt_1d,' s   simulation stopped!'
     848       CALL message( 'timestep_1d', 'PA0192', 1, 2, 0, 6, 0 )
     849       
    849850    ENDIF
    850851
  • palm/trunk/SOURCE/init_3d_model.f90

    r241 r254  
    55
    66!------------------------------------------------------------------------------!
    7 ! Actual revisions:
     7! Current revisions:
    88! -----------------
     9! Output of messages replaced by message handling routine.
    910! Set the starting level and the vertical smoothing factor used for
    1011! the external pressure gradient
    11 ! +converve_volume_flow_mode: 'default', 'initial_profiles', 'inflow_profile'
     12! +conserve_volume_flow_mode: 'default', 'initial_profiles', 'inflow_profile'
    1213! and 'bulk_velocity'
    1314!
     
    10791080!
    10801081!--    Actually this part of the programm should not be reached
    1081        IF ( myid == 0 )  PRINT*,'+++ init_3d_model: unknown initializing ', &
    1082                                                     'problem'
    1083        CALL local_stop
     1082       message_string = 'unknown initializing problem'
     1083       CALL message( 'init_3d_model', 'PA0193', 1, 2, 0, 6, 0 )
    10841084    ENDIF
    10851085
     
    13781378
    13791379    IF ( dots_num > dots_max )  THEN
    1380        IF ( myid == 0 )  THEN
    1381           PRINT*, '+++ user_init: number of time series quantities exceeds', &
    1382                   ' its maximum of dots_max = ', dots_max
    1383           PRINT*, '    Please increase dots_max in modules.f90.'
    1384        ENDIF
    1385        CALL local_stop
     1380       WRITE( message_string, * ) 'number of time series quantities exceeds', &
     1381                                  ' its maximum of dots_max = ', dots_max, &
     1382                                  ' &Please increase dots_max in modules.f90.'
     1383       CALL message( 'init_3d_model', 'PA0194', 1, 2, 0, 6, 0 )   
    13861384    ENDIF
    13871385
  • palm/trunk/SOURCE/init_dvrp.f90

    r242 r254  
    22
    33!------------------------------------------------------------------------------!
    4 ! Actual revisions:
     4! Current revisions:
    55! -----------------
     6! Output of messages replaced by message handling routine.
    67! Clipping implemented.
    78! Polygon reduction for building and ground plate isosurface. Reduction level
     
    131132!-- and set default-values, where necessary
    132133    IF ( dvrp_username == ' ' )  THEN
    133        IF ( myid == 0 )  THEN
    134           PRINT*, '+++ init_dvrp: dvrp_username is undefined'
    135           CALL local_stop
    136        ENDIF
     134        message_string = 'dvrp_username is undefined'
     135        CALL message( 'init_dvrp', 'PA0195', 1, 2, 0, 6, 0 )         
    137136    ENDIF
    138137
    139138    IF ( dvrp_output /= 'ftp'  .AND.  dvrp_output /= 'rtsp'  .AND. &
    140139         dvrp_output /= 'local' )  THEN
    141        IF ( myid == 0 )  THEN
    142           PRINT*, '+++ init_dvrp: dvrp_output="', dvrp_output, '" not allowed'
    143           CALL local_stop
    144        ENDIF
     140       message_string = 'dvrp_output="' // TRIM( dvrp_output ) // '" not allowed'
     141       CALL message( 'init_dvrp', 'PA0196', 1, 2, 0, 6, 0 )
    145142    ENDIF
    146143
     
    151148    IF ( dvrp_output /= 'local' )  THEN
    152149       IF ( dvrp_file /= 'default'  .AND.  dvrp_file /= '/dev/null' )  THEN
    153           IF ( myid == 0 )  THEN
    154              PRINT*, '+++ init_dvrp: dvrp_file="', dvrp_file, '" not allowed'
    155              CALL local_stop
    156           ENDIF
     150          message_string = 'dvrp_file="' // TRIM( dvrp_file ) // '" not allowed'
     151          CALL message( 'init_dvrp', 'PA0197', 1, 2, 0, 6, 0 )
    157152       ENDIF
    158153    ENDIF
     
    181176            mode_dvrp(m)(1:9)  /= 'pathlines' )  THEN
    182177
    183           IF ( myid == 0 )  THEN
    184              PRINT*, '+++ init_dvrp: mode_dvrp="', mode_dvrp, '" not allowed'
    185           ENDIF
     178          message_string = 'mode_dvrp="' // TRIM( mode_dvrp ) // '" not allowed'
     179          CALL message( 'init_dvrp', 'PA0198', 1, 2, 0, 6, 0 )
    186180          CALL local_stop
    187181
     
    693687#else
    694688       IF ( coupling_mode /= 'uncoupled' ) THEN
    695           IF ( myid == 0 )  THEN
    696              PRINT*, '+++ init_dvrp: split of communicator not realized with', &
     689          message_string = 'split of communicator not realized with' // &
    697690                          ' MPI1 coupling atmosphere-ocean'
    698           ENDIF
    699           CALL local_stop
     691          CALL message( 'init_dvrp_logging', 'PA0199', 1, 2, 0, 6, 0 )
     692 
    700693!          CALL DVRP_SPLIT( comm_inter, comm_palm )
    701694       ELSE
  • palm/trunk/SOURCE/init_grid.f90

    r240 r254  
    22
    33!------------------------------------------------------------------------------!
    4 ! Actual revisions:
     4! Current revisions:
    55! -----------------
     6! Output of messages replaced by message handling routine.
    67! new topography case 'single_street_canyon'
    78!
     
    7879!-- Compute height of u-levels from constant grid length and dz stretch factors
    7980    IF ( dz == -1.0 )  THEN
    80        IF ( myid == 0 )  PRINT*,'+++ init_grid:  missing dz'
    81        CALL local_stop
     81       message_string = 'missing dz'
     82       CALL message( 'init_grid', 'PA0200', 1, 2, 0, 6, 0 )
    8283    ELSEIF ( dz <= 0.0 )  THEN
    83        IF ( myid == 0 )  PRINT*,'+++ init_grid:  dz=',dz,' <= 0.0'
    84        CALL local_stop
     84       WRITE( message_string, * ) 'dz=',dz,' <= 0.0'
     85       CALL message( 'init_grid', 'PA0201', 1, 2, 0, 6, 0 )
    8586    ENDIF
    8687
     
    309310       IF ( l_grid(k) > 1.5 * dx * wall_adjustment_factor .OR.  &
    310311            l_grid(k) > 1.5 * dy * wall_adjustment_factor )  THEN
    311           IF ( myid == 0 )  THEN
    312              PRINT*, '+++ WARNING: grid anisotropy exceeds '// &
    313                            'threshold given by only local'
    314              PRINT*, '             horizontal reduction of near_wall '// &
    315                            'mixing length l_wall'
    316              PRINT*, '             starting from height level k = ', k, '.'
    317           ENDIF
     312          WRITE( message_string, * ) 'grid anisotropy exceeds ', &
     313                                     'threshold given by only local', &
     314                                     ' &horizontal reduction of near_wall ', &
     315                                     'mixing length l_wall', &
     316                                     ' &starting from height level k = ', k, '.'
     317          CALL message( 'init_grid', 'PA0202', 0, 1, 0, 6, 0 )
    318318          EXIT
    319319       ENDIF
     
    367367          IF ( ( bxl < 1 ) .OR. ( bxr > nx-1 ) .OR. ( bxr < bxl+3 ) .OR.  &
    368368               ( bys < 1 ) .OR. ( byn > ny-1 ) .OR. ( byn < bys+3 ) )  THEN
    369              IF ( myid == 0 )  THEN
    370                 PRINT*, '+++ init_grid: inconsistent building parameters:'
    371                 PRINT*, '               bxl=', bxl, 'bxr=', bxr, 'bys=', bys, &
    372                                       'byn=', byn, 'nx=', nx, 'ny=', ny
    373              ENDIF
    374              CALL local_stop
     369             WRITE( message_string, * ) 'inconsistent building parameters:', &
     370                                        '& bxl=', bxl, 'bxr=', bxr, 'bys=', bys, &
     371                                        'byn=', byn, 'nx=', nx, 'ny=', ny
     372             CALL message( 'init_grid', 'PA0203', 1, 2, 0, 6, 0 )
    375373          ENDIF
    376374
     
    405403
    406404          ELSE
    407              IF ( myid == 0 )  THEN
    408                 PRINT*, '+++ user_init_grid: no street canyon width given'
    409              ENDIF
    410              CALL local_stop
     405             
     406             message_string = 'no street canyon width given'
     407             CALL message( 'init_grid', 'PA0204', 1, 2, 0, 6, 0 )
     408 
    411409          ENDIF
    412410
     
    418416             IF ( ( cxl < 1 ) .OR. ( cxr > nx-1 ) .OR. ( cwx < 3 ) .OR.  &
    419417               ( ch < 3 ) )  THEN
    420                 IF ( myid == 0 )  THEN
    421                    PRINT*, '+++ user_init_grid: inconsistent canyon parameters:'
    422                    PRINT*, '                    cxl=', cxl, 'cxr=', cxr,  &
    423                                               'cwx=', cwx,  &
    424                                               'ch=', ch, 'nx=', nx, 'ny=', ny
    425                 ENDIF
    426                 CALL local_stop
     418                WRITE( message_string, * ) 'inconsistent canyon parameters:', &
     419                                           '&cxl=', cxl, 'cxr=', cxr,  &
     420                                           'cwx=', cwx,  &
     421                                           'ch=', ch, 'nx=', nx, 'ny=', ny
     422                CALL message( 'init_grid', 'PA0205', 1, 2, 0, 6, 0 )
    427423             ENDIF
    428424          ELSEIF ( canyon_width_y /= 9999999.9 )  THEN
    429425             IF ( ( cys < 1 ) .OR. ( cyn > ny-1 ) .OR. ( cwy < 3 ) .OR.  &
    430426               ( ch < 3 ) )  THEN
    431                 IF ( myid == 0 )  THEN
    432                    PRINT*, '+++ user_init_grid: inconsistent canyon parameters:'
    433                    PRINT*, '                    cys=', cys, 'cyn=', cyn,  &
    434                                               'cwy=', cwy,  &
    435                                               'ch=', ch, 'nx=', nx, 'ny=', ny
    436                 ENDIF
    437                 CALL local_stop
     427                WRITE( message_string, * ) 'inconsistent canyon parameters:', &
     428                                           '&cys=', cys, 'cyn=', cyn,  &
     429                                           'cwy=', cwy,  &
     430                                           'ch=', ch, 'nx=', nx, 'ny=', ny
     431                CALL message( 'init_grid', 'PA0206', 1, 2, 0, 6, 0 )
    438432             ENDIF
    439433          ENDIF
    440434          IF ( canyon_width_x /= 9999999.9 .AND. canyon_width_y /= 9999999.9 )  &
    441435               THEN
    442              IF ( myid == 0 )  THEN
    443                 PRINT*, '+++ user_init_grid: inconsistent canyon parameters:'
    444                 PRINT*, '                    street canyon can only be oriented'
    445                 PRINT*, '                    either in x- or in y-direction'
    446              ENDIF
    447              CALL local_stop
     436             message_string = 'inconsistent canyon parameters:' // &
     437                              '&street canyon can only be oriented' // &
     438                              '&either in x- or in y-direction'
     439             CALL message( 'init_grid', 'PA0207', 1, 2, 0, 6, 0 )
    448440          ENDIF
    449441
     
    480472     
    481473          GOTO 12
    482 
    483  10       IF ( myid == 0 )  THEN
    484              PRINT*, '+++ init_grid: file TOPOGRAPHY_DATA does not exist'
    485           ENDIF
    486           CALL local_stop
    487 
    488  11       IF ( myid == 0 )  THEN
    489              PRINT*, '+++ init_grid: errors in file TOPOGRAPHY_DATA'
    490           ENDIF
    491           CALL local_stop
     474         
     475 10       message_string = 'file TOPOGRAPHY_DATA does not exist'
     476          CALL message( 'init_grid', 'PA0208', 1, 2, 0, 6, 0 )
     477
     478 11       message_string = 'errors in file TOPOGRAPHY_DATA'
     479          CALL message( 'init_grid', 'PA0209', 1, 2, 0, 6, 0 )
    492480
    493481 12       CLOSE( 90 )
     
    519507!--    Consistency checks
    520508       IF ( MINVAL( nzb_local ) < 0  .OR.  MAXVAL( nzb_local ) > nz + 1 )  THEN
    521           IF ( myid == 0 )  THEN
    522              PRINT*, '+++ init_grid: nzb_local values are outside the', &
    523                           'model domain'
    524              PRINT*, '               MINVAL( nzb_local ) = ', MINVAL(nzb_local)
    525              PRINT*, '               MAXVAL( nzb_local ) = ', MAXVAL(nzb_local)
    526           ENDIF
    527           CALL local_stop
     509          WRITE( message_string, * ) 'nzb_local values are outside the', &
     510                                     'model domain', &
     511                                     '&MINVAL( nzb_local ) = ', MINVAL(nzb_local), &
     512                                     '&MAXVAL( nzb_local ) = ', MAXVAL(nzb_local)
     513          CALL message( 'init_grid', 'PA0210', 1, 2, 0, 6, 0 )
    528514       ENDIF
    529515
     
    531517          IF ( ANY( nzb_local(:,-1) /= nzb_local(:,nx)   )  .OR. &
    532518               ANY( nzb_local(:,0)  /= nzb_local(:,nx+1) ) )  THEN
    533              IF ( myid == 0 )  THEN
    534                 PRINT*, '+++ init_grid: nzb_local does not fulfill cyclic', &
    535                         '               boundary condition in x-direction'
    536              ENDIF
    537              CALL local_stop
     519             message_string = 'nzb_local does not fulfill cyclic' // &
     520                              ' boundary condition in x-direction'
     521             CALL message( 'init_grid', 'PA0211', 1, 2, 0, 6, 0 )
    538522          ENDIF
    539523       ENDIF
     
    541525          IF ( ANY( nzb_local(-1,:) /= nzb_local(ny,:)   )  .OR. &
    542526               ANY( nzb_local(0,:)  /= nzb_local(ny+1,:) ) )  THEN
    543              IF ( myid == 0 )  THEN
    544                 PRINT*, '+++ init_grid: nzb_local does not fulfill cyclic', &
    545                         '               boundary condition in y-direction'
    546              ENDIF
    547              CALL local_stop
     527             message_string = 'nzb_local does not fulfill cyclic' // &
     528                              ' boundary condition in y-direction'
     529             CALL message( 'init_grid', 'PA0212', 1, 2, 0, 6, 0 )
    548530          ENDIF
    549531       ENDIF
  • palm/trunk/SOURCE/init_particles.f90

    r229 r254  
    22
    33!------------------------------------------------------------------------------!
    4 ! Actual revisions:
     4! Current revisions:
    55! -----------------
     6! Output of messages replaced by message handling routine
    67! Bugfix: arrays for tails are allocated with a minimum size of 10 tails if
    78! there is no tail initially
     
    9798!-- Check the number of particle groups.
    9899    IF ( number_of_particle_groups > max_number_of_particle_groups )  THEN
    99        PRINT*, '+++ WARNING: init_particles: ', &
    100                     'max_number_of_particle_groups =', &
    101                max_number_of_particle_groups
    102        PRINT*, '+++          number_of_particle_groups reset to ', &
    103                max_number_of_particle_groups
     100       WRITE( message_string, * ) 'max_number_of_particle_groups =', &
     101                                  max_number_of_particle_groups , &
     102                                  '&number_of_particle_groups reset to ', &
     103                                  max_number_of_particle_groups
     104       CALL message( 'init_particles', 'PA0213', 0, 1, 0, 6, 0 )
    104105       number_of_particle_groups = max_number_of_particle_groups
    105106    ENDIF
     
    152153       particle_binary_version = '3.0'
    153154       IF ( TRIM( version_on_file ) /= TRIM( particle_binary_version ) )  THEN
    154           IF ( myid == 0 )  THEN
    155              PRINT*, '+++ init_particles: version mismatch concerning data ', &
    156                      'from prior run'
    157              PRINT*, '        version on file    = "', TRIM( version_on_file ),&
    158                      '"'
    159              PRINT*, '        version in program = "', &
    160                      TRIM( particle_binary_version ), '"'
    161           ENDIF
    162           CALL local_stop
     155          message_string = 'version mismatch concerning data from prior run' // &
     156                           '&version on file    = "' // TRIM( version_on_file ) // &
     157                           '&version in program = "' // &
     158                           TRIM( particle_binary_version ) // '"'
     159          CALL message( 'init_particles', 'PA0214', 1, 2, 0, 6, 0 )
    163160       ENDIF
    164161
     
    234231       DO  i = 1, number_of_particle_groups
    235232          IF ( density_ratio(i) /= 0.0  .AND.  radius(i) == 0 )  THEN
    236              IF ( myid == 0 )  THEN
    237                 PRINT*, '+++ init_particles: particle group #', i, 'has a', &
    238                         'density ratio /= 0 but radius = 0'
    239              ENDIF
    240              CALL local_stop
     233             WRITE( message_string, * ) 'particle group #', i, 'has a', &
     234                                        'density ratio /= 0 but radius = 0'
     235             CALL message( 'init_particles', 'PA0215', 1, 2, 0, 6, 0 )
    241236          ENDIF
    242237          particle_groups(i)%density_ratio = density_ratio(i)
     
    273268                            n = n + 1
    274269                            IF ( n > maximum_number_of_particles )  THEN
    275                                PRINT*,'+++ init_particles: number of initial', &
    276                                       ' particles (', n, ') exceeds'
    277                                PRINT*,'    maximum_number_of_particles (',     &
    278                                       maximum_number_of_particles, ') on PE ', &
    279                                       myid
    280 #if defined( __parallel )
    281                                CALL MPI_ABORT( comm2d, 9999, ierr )
    282 #else
    283                                CALL local_stop
    284 #endif
     270                               WRITE( message_string, * ) 'number of initial', &
     271                                             'particles (', n, ') exceeds', &
     272                                             '&maximum_number_of_particles (', &
     273                                             maximum_number_of_particles, ') on PE ', &
     274                                             myid
     275                               CALL message( 'init_particles', 'PA0216', 2, 2, 0, 6, 0 )
    285276                            ENDIF
    286277                            particles(n)%x             = pos_x
     
    519510         
    520511       CASE DEFAULT
    521           IF ( myid == 0 )  THEN
    522              PRINT*,'+++ init_particles: unknown boundary condition ',   &
    523                          'bc_par_b = "', TRIM( bc_par_b ), '"'
    524           ENDIF
    525           CALL local_stop
     512          WRITE( message_string, * )  'unknown boundary condition ',   &
     513                                       'bc_par_b = "', TRIM( bc_par_b ), '"'
     514          CALL message( 'init_particles', 'PA0217', 1, 2, 0, 6, 0 )
    526515         
    527516    END SELECT
     
    535524         
    536525       CASE DEFAULT
    537           IF ( myid == 0 )  THEN
    538              PRINT*,'+++ init_particles: unknown boundary condition ',   &
    539                          'bc_par_t = "', TRIM( bc_par_t ), '"'
    540           ENDIF
    541           CALL local_stop
     526          WRITE( message_string, * ) 'unknown boundary condition ',   &
     527                                     'bc_par_t = "', TRIM( bc_par_t ), '"'
     528          CALL message( 'init_particles', 'PA0218', 1, 2, 0, 6, 0 )
    542529         
    543530    END SELECT
     
    554541         
    555542       CASE DEFAULT
    556           IF ( myid == 0 )  THEN
    557              PRINT*,'+++ init_particles: unknown boundary condition ',   &
    558                          'bc_par_lr = "', TRIM( bc_par_lr ), '"'
    559           ENDIF
    560           CALL local_stop
     543          WRITE( message_string, * ) 'unknown boundary condition ',   &
     544                                     'bc_par_lr = "', TRIM( bc_par_lr ), '"'
     545          CALL message( 'init_particles', 'PA0219', 1, 2, 0, 6, 0 )
    561546         
    562547    END SELECT
     
    573558         
    574559       CASE DEFAULT
    575           IF ( myid == 0 )  THEN
    576              PRINT*,'+++ init_particles: unknown boundary condition ',   &
    577                          'bc_par_ns = "', TRIM( bc_par_ns ), '"'
    578           ENDIF
    579           CALL local_stop
     560          WRITE( message_string, * ) 'unknown boundary condition ',   &
     561                                     'bc_par_ns = "', TRIM( bc_par_ns ), '"'
     562          CALL message( 'init_particles', 'PA0220', 1, 2, 0, 6, 0 )
    580563         
    581564    END SELECT
  • palm/trunk/SOURCE/init_pegrid.f90

    r226 r254  
    22
    33!------------------------------------------------------------------------------!
    4 ! Actual revisions:
     4! Current revisions:
    55! -----------------
     6! Output of messages replaced by message handling routine.
    67! ATTENTION: nnz_x undefined problem still has to be solved!!!!!!!!
    78! TEST OUTPUT (TO BE REMOVED) logging mpi2 ierr values
     
    121122!--    must be equal to the number of PEs available to the job
    122123       IF ( ( npex * npey ) /= numprocs )  THEN
    123           PRINT*, '+++ init_pegrid:'
    124           PRINT*, '    number of PEs of the prescribed topology (', npex*npey, &
    125                       ') does not match the number of PEs available to the ',  &
    126                       'job (', numprocs, ')'
    127           CALL local_stop
     124          WRITE( message_string, * ) 'number of PEs of the prescribed topology (', &
     125                                     npex*npey,') does not match & the number of ',  &
     126                                     'PEs available to the job (', numprocs, ')'
     127          CALL message( 'init_pegrid', 'PA0221', 1, 2, 0, 6, 0 )
    128128       ENDIF
    129129       pdims(1) = npex
     
    134134!--    If the processor topology is prescribed by the user, the number of
    135135!--    PEs must be given in both directions
    136        PRINT*, '+++ init_pegrid:'
    137        PRINT*, '    if the processor topology is prescribed by the user, ',   &
    138                     'both values of "npex" and "npey" must be given in the ', &
    139                     'NAMELIST-parameter file'
    140        CALL local_stop
     136       message_string = 'if the processor topology is prescribed by the user, ' // &
     137                    '& both values of "npex" and "npey" must be given in the ' //    &
     138                    '&NAMELIST-parameter file'
     139       CALL message( 'init_pegrid', 'PA0222', 1, 2, 0, 6, 0 )
    141140
    142141    ENDIF
     
    145144!-- The hybrid solver can only be used in case of a 1d-decomposition along x
    146145    IF ( pdims(2) /= 1  .AND.  psolver == 'poisfft_hybrid' )  THEN
    147        IF ( myid == 0 )  THEN
    148           PRINT*, '*** init_pegrid: psolver = "poisfft_hybrid" can only be'
    149           PRINT*, '                 used in case of a 1d-decomposition along x'
    150        ENDIF
     146       message_string = 'psolver = "poisfft_hybrid" can only be' // &
     147                        '& used in case of a 1d-decomposition along x'
     148       CALL message( 'init_pegrid', 'PA0223', 1, 2, 0, 6, 0 )
    151149    ENDIF
    152150
     
    224222
    225223       IF ( .NOT. found )  THEN
    226           IF ( myid == 0 )  THEN
    227              PRINT*,'+++ init_pegrid: no matching grid for transpositions found'
    228           ENDIF
    229           CALL local_stop
     224          message_string = 'no matching grid for transpositions found'
     225          CALL message( 'init_pegrid', 'PA0224', 1, 2, 0, 6, 0 )
    230226       ENDIF
    231227
     
    239235
    240236    IF ( MOD( nxa+1 , pdims(1) ) /= 0 )  THEN
    241        IF ( myid == 0 )  THEN
    242           PRINT*,'+++ x-direction:  gridpoint number (',nx+1,') is not an'
    243           PRINT*,'                  integral divisor of the number of proces', &
    244                                    &'sors (', pdims(1),')'
    245        ENDIF
    246        CALL local_stop
     237       WRITE( message_string, * ) 'x-direction: gridpoint number (',nx+1,') is not an',&
     238                                  '& integral divisor of the number of proces', &
     239                                  'sors (', pdims(1),')'
     240       CALL message( 'init_pegrid', 'PA0225', 1, 2, 0, 6, 0 )
    247241    ELSE
    248242       nnx  = ( nxa + 1 ) / pdims(1)
    249243       IF ( nnx*pdims(1) - ( nx + 1) > nnx )  THEN
    250           IF ( myid == 0 )  THEN
    251              PRINT*,'+++ x-direction: nx does not match the requirements ', &
    252                          'given by the number of PEs'
    253              PRINT*,'                 used'
    254              PRINT*,'    please use nx = ', nx - ( pdims(1) - ( nnx*pdims(1) &
    255                          - ( nx + 1 ) ) ), ' instead of nx =', nx
    256           ENDIF
    257           CALL local_stop
     244          WRITE( message_string, * ) 'x-direction: nx does not match the', &
     245                                     'requirements given by the number of PEs', &
     246                                     '& used',&
     247                                     '& please use nx = ', nx - ( pdims(1) - ( nnx*pdims(1) &
     248                                       - ( nx + 1 ) ) ), ' instead of nx =', nx
     249          CALL message( 'init_pegrid', 'PA0226', 1, 2, 0, 6, 0 )
    258250       ENDIF
    259251    ENDIF   
     
    270262!-- Calculate array bounds in y-direction for every PE.
    271263    IF ( MOD( nya+1 , pdims(2) ) /= 0 )  THEN
    272        IF ( myid == 0 )  THEN
    273           PRINT*,'+++ y-direction:  gridpoint number (',ny+1,') is not an'
    274           PRINT*,'                  integral divisor of the number of proces', &
    275                                    &'sors (', pdims(2),')'
    276        ENDIF
    277        CALL local_stop
     264       WRITE( message_string, * ) 'y-direction: gridpoint number (',ny+1,') is not an', &
     265                                  '& integral divisor of the number of proces', &
     266                                  'sors (', pdims(2),')'
     267       CALL message( 'init_pegrid', 'PA0227', 1, 2, 0, 6, 0 )
    278268    ELSE
    279269       nny  = ( nya + 1 ) / pdims(2)
    280270       IF ( nny*pdims(2) - ( ny + 1) > nny )  THEN
    281           IF ( myid == 0 )  THEN
    282              PRINT*,'+++ x-direction: nx does not match the requirements ', &
    283                          'given by the number of PEs'
    284              PRINT*,'                 used'
    285              PRINT*,'    please use nx = ', nx - ( pdims(1) - ( nnx*pdims(1) &
    286                          - ( nx + 1 ) ) ), ' instead of nx =', nx
    287           ENDIF
    288           CALL local_stop
     271          WRITE( message_string, * ) 'y-direction: ny does not match the',&
     272                                     'requirements given by the number of PEs', &
     273                                     '& used', &
     274                                     '& please use ny = ', ny - ( pdims(2) - ( nnx*pdims(2) &
     275                                     - ( ny + 1 ) ) ), ' instead of ny =', ny
     276          CALL message( 'init_pegrid', 'PA0228', 1, 2, 0, 6, 0 )
    289277       ENDIF
    290278    ENDIF   
     
    326314       IF ( pdims(2) == 1  .AND. ( momentum_advec == 'ups-scheme'  .OR. &
    327315            scalar_advec == 'ups-scheme' ) )  THEN
    328           IF ( myid == 0 )  THEN
    329              PRINT*,'+++ WARNING: init_pegrid: 1d-decomposition along x ', &
    330                                 &'chosen but nz restrictions may occur'
    331              PRINT*,'             since ups-scheme is activated'
    332           ENDIF
     316          message_string = '1d-decomposition along x ' // &
     317                           'chosen but nz restrictions may occur' // &
     318                           '& since ups-scheme is activated'
     319          CALL message( 'init_pegrid', 'PA0229', 0, 1, 0, 6, 0 )
    333320       ENDIF
    334321       nys_x  = nys
     
    337324       nny_x  = nny
    338325       IF ( MOD( nza , pdims(1) ) /= 0 )  THEN
    339           IF ( myid == 0 )  THEN
    340              PRINT*,'+++ transposition z --> x:'
    341              PRINT*,'    nz=',nz,' is not an integral divisior of pdims(1)=', &
    342                     &pdims(1)
    343           ENDIF
    344           CALL local_stop
     326          WRITE( message_string, * ) 'transposition z --> x:', &
     327                                     '&nz=',nz,' is not an integral divisior of pdims(1)=', &
     328                                     pdims(1)
     329          CALL message( 'init_pegrid', 'PA0230', 1, 2, 0, 6, 0 )
    345330       ENDIF
    346331       nnz_x  = nza / pdims(1)
     
    371356    nzt_y  = nzt_x
    372357    IF ( MOD( nxa+1 , pdims(2) ) /= 0 )  THEN
    373        IF ( myid == 0 )  THEN
    374           PRINT*,'+++ transposition x --> y:'
    375           PRINT*,'    nx+1=',nx+1,' is not an integral divisor of ',&
    376                  &'pdims(2)=',pdims(2)
    377        ENDIF
    378        CALL local_stop
     358       WRITE( message_string, * ) 'transposition x --> y:', &
     359                                  '&nx+1=',nx+1,' is not an integral divisor of ',&
     360                                  'pdims(2)=',pdims(2)
     361       CALL message( 'init_pegrid', 'PA0231', 1, 2, 0, 6, 0 )
    379362    ENDIF
    380363    nnx_y = (nxa+1) / pdims(2)
     
    399382       nxr_z  = nxr_y
    400383       IF ( MOD( nya+1 , pdims(1) ) /= 0 )  THEN
    401           IF ( myid == 0 )  THEN
    402              PRINT*,'+++ Transposition y --> z:'
    403              PRINT*,'    ny+1=',ny+1,' is not an integral divisor of ',&
    404                     &'pdims(1)=',pdims(1)
    405           ENDIF
    406           CALL local_stop
     384          WRITE( message_string, * ) 'transposition y --> z:', &
     385                                     '& ny+1=',ny+1,' is not an integral divisor of ',&
     386                                     'pdims(1)=',pdims(1)
     387          CALL message( 'init_pegrid', 'PA0232', 1, 2, 0, 6, 0 )
    407388       ENDIF
    408389       nny_z  = (nya+1) / pdims(1)
     
    417398!--    x --> y. This condition must be fulfilled for a 1D-decomposition along x
    418399       IF ( MOD( nya+1 , pdims(1) ) /= 0 )  THEN
    419           IF ( myid == 0 )  THEN
    420              PRINT*,'+++ Transposition x --> y:'
    421              PRINT*,'    ny+1=',ny+1,' is not an integral divisor of ',&
    422                     &'pdims(1)=',pdims(1)
    423           ENDIF
    424           CALL local_stop
     400          WRITE( message_string, * ) 'transposition x --> y:', &
     401                                     '& ny+1=',ny+1,' is not an integral divisor of ',&
     402                                     'pdims(1)=',pdims(1)
     403          CALL message( 'init_pegrid', 'PA0233', 1, 2, 0, 6, 0 )
    425404       ENDIF
    426405
     
    431410    IF ( dt_dosp /= 9999999.9 )  THEN
    432411       IF ( MOD( nza, pdims(2) ) /= 0 )  THEN
    433           IF ( myid == 0 )  THEN
    434              PRINT*,'+++ Direct transposition z --> y (needed for spectra):'
    435              PRINT*,'    nz=',nz,' is not an integral divisor of ',&
    436                     &'pdims(2)=',pdims(2)
    437           ENDIF
    438           CALL local_stop
     412          WRITE( message_string, * ) 'direct transposition z --> y (needed for spectra):', &
     413                                     '& nz=',nz,' is not an integral divisor of ',&
     414                                     'pdims(2)=',pdims(2)
     415          CALL message( 'init_pegrid', 'PA0234', 1, 2, 0, 6, 0 )
    439416       ELSE
    440417          nxl_yd  = nxl
     
    609586    IF ( coupling_mode == 'atmosphere_to_ocean' )  THEN
    610587
    611        print*, '... before COMM_ACCEPT'
     588       PRINT*, '... before COMM_ACCEPT'
    612589       CALL MPI_COMM_ACCEPT( port_name, MPI_INFO_NULL, 0, MPI_COMM_WORLD, &
    613590                             comm_inter, ierr )
    614        print*, '--- ierr = ', ierr
    615        print*, '--- comm_inter atmosphere = ', comm_inter
     591       PRINT*, '--- ierr = ', ierr
     592       PRINT*, '--- comm_inter atmosphere = ', comm_inter
    616593
    617594       coupling_mode_remote = 'ocean_to_atmosphere'
     
    620597
    621598       IF ( myid == 0 )  PRINT*, '*** read: ', port_name, '  ierr = ', ierr
    622        print*, '... before COMM_CONNECT'
     599       PRINT*, '... before COMM_CONNECT'
    623600       CALL MPI_COMM_CONNECT( port_name, MPI_INFO_NULL, 0, MPI_COMM_WORLD, &
    624601                              comm_inter, ierr )
    625        print*, '--- ierr = ', ierr
    626        print*, '--- comm_inter ocean      = ', comm_inter
     602       PRINT*, '--- ierr = ', ierr
     603       PRINT*, '--- comm_inter ocean      = ', comm_inter
    627604
    628605       coupling_mode_remote = 'atmosphere_to_ocean'
     
    776753             IF ( mg_switch_to_pe0_level < mg_switch_to_pe0_level_l  .OR.  &
    777754                  mg_switch_to_pe0_level >= maximum_grid_level_l )  THEN
    778                 IF ( myid == 0 )  THEN
    779                    PRINT*, '+++ WARNING init_pegrid: mg_switch_to_pe0_level ', &
    780                                'out of range and reset to default (=0)'
    781                 ENDIF
     755                message_string = 'mg_switch_to_pe0_level ' // &
     756                                 'out of range and reset to default (=0)'
     757                CALL message( 'init_pegrid', 'PA0235', 0, 1, 0, 6, 0 )
    782758                mg_switch_to_pe0_level = 0
    783759             ELSE
     
    836812
    837813             IF ( gathered_size > subdomain_size )  THEN
    838                 IF ( myid == 0 )  THEN
    839                    PRINT*, '+++ init_pegrid: not enough memory for storing ', &
    840                                'gathered multigrid data on PE0'
    841                 ENDIF
    842                 CALL local_stop
     814                message_string = 'not enough memory for storing ' // &
     815                                 'gathered multigrid data on PE0'
     816                CALL message( 'init_pegrid', 'PA0236', 1, 2, 0, 6, 0 )
    843817             ENDIF
    844818#else
    845              PRINT*, '+++ init_pegrid: multigrid gather/scatter impossible ', &
     819             message_string = 'multigrid gather/scatter impossible ' // &
    846820                          'in non parallel mode'
    847              CALL local_stop
     821             CALL message( 'init_pegrid', 'PA0237', 1, 2, 0, 6, 0 )
    848822#endif
    849823          ENDIF
     
    10621036
    10631037              CASE DEFAULT
    1064                  IF ( myid == 0 )  PRINT*, '+++ init_pegrid: more than 10 ', &
    1065                                            ' multigrid levels'
    1066                  CALL local_stop
     1038                 message_string = 'more than 10 multigrid levels'
     1039                 CALL message( 'init_pegrid', 'PA0238', 1, 2, 0, 6, 0 )
    10671040
    10681041          END SELECT
Note: See TracChangeset for help on using the changeset viewer.