Ignore:
Timestamp:
Mar 13, 2014 2:58:42 PM (10 years ago)
Author:
fricke
Message:

Adjustments for parallel NetCDF output for lccrayh/lccrayb (Cray XC30 systems)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/data_output_3d.f90

    r1245 r1308  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! Check, if the limit of the time dimension is exceeded for parallel output
     23! To increase the performance for parallel output, the following is done:
     24! - Update of time axis is only done by PE0
    2325!
    2426! Former revisions:
     
    144146!-- Return, if nothing to output
    145147    IF ( do3d_no(av) == 0 )  RETURN
     148!
     149!-- For parallel netcdf output the time axis must be limited. Return, if this
     150!-- limit is exceeded. This could be the case, if the simulated time exceeds
     151!-- the given end time by the length of the given output interval.
     152    IF ( netcdf_data_format > 4 )  THEN
     153       IF ( do3d_time_count(av) + 1 > ntdim_3d(av) )  THEN
     154          WRITE ( message_string, * ) 'Output of 3d data is not given at t=',  &
     155                                      simulated_time, '&because the maximum ', &
     156                                      'number of output time levels is ',      &
     157                                      'exceeded.'
     158          CALL message( 'data_output_3d', 'PA0387', 0, 1, 0, 6, 0 )         
     159          RETURN
     160       ENDIF
     161    ENDIF
    146162
    147163    CALL cpu_log (log_point(14),'data_output_3d','start')
     
    174190!
    175191!-- Update the netCDF time axis
     192!-- In case of parallel output, this is only done by PE0 to increase the
     193!-- performance.
    176194#if defined( __netcdf )
    177     IF ( myid == 0  .OR.  netcdf_data_format > 4 )  THEN
    178        do3d_time_count(av) = do3d_time_count(av) + 1
     195    do3d_time_count(av) = do3d_time_count(av) + 1
     196    IF ( myid == 0 )  THEN
    179197       IF ( netcdf_output )  THEN
    180198          nc_stat = NF90_PUT_VAR( id_set_3d(av), id_var_time_3d(av), &
Note: See TracChangeset for help on using the changeset viewer.