Ignore:
Timestamp:
Feb 5, 2016 1:06:51 PM (8 years ago)
Author:
gronemeier
Message:

Bugfix:calculation of time levels for parallel NetCDF output

File:
1 edited

Legend:

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

    r1692 r1745  
    1919! Current revisions:
    2020! ------------------
    21 !
     21! Bugfix: test if time axis limit exceeds moved to point after call of check_open
    2222!
    2323! Former revisions:
     
    176176!-- Return, if nothing to output
    177177    IF ( do3d_no(av) == 0 )  RETURN
    178 !
    179 !-- For parallel netcdf output the time axis must be limited. Return, if this
    180 !-- limit is exceeded. This could be the case, if the simulated time exceeds
    181 !-- the given end time by the length of the given output interval.
    182     IF ( netcdf_data_format > 4 )  THEN
    183        IF ( do3d_time_count(av) + 1 > ntdim_3d(av) )  THEN
    184           WRITE ( message_string, * ) 'Output of 3d data is not given at t=',  &
    185                                       simulated_time, '&because the maximum ', &
    186                                       'number of output time levels is ',      &
    187                                       'exceeded.'
    188           CALL message( 'data_output_3d', 'PA0387', 0, 1, 0, 6, 0 )         
    189           RETURN
    190        ENDIF
    191     ENDIF
    192178
    193179    CALL cpu_log (log_point(14),'data_output_3d','start')
     
    209195       CALL check_open( 106+av*10 )
    210196    ENDIF
     197
     198!
     199!-- For parallel netcdf output the time axis must be limited. Return, if this
     200!-- limit is exceeded. This could be the case, if the simulated time exceeds
     201!-- the given end time by the length of the given output interval.
     202    IF ( netcdf_data_format > 4 )  THEN
     203       IF ( do3d_time_count(av) + 1 > ntdim_3d(av) )  THEN
     204          WRITE ( message_string, * ) 'Output of 3d data is not given at t=',  &
     205                                      simulated_time, '&because the maximum ', &
     206                                      'number of output time levels is ',      &
     207                                      'exceeded.'
     208          CALL message( 'data_output_3d', 'PA0387', 0, 1, 0, 6, 0 )
     209          CALL cpu_log( log_point(14), 'data_output_3d', 'stop' )
     210          RETURN
     211       ENDIF
     212    ENDIF
     213    WRITE(9,*) '___hier4'
     214    CALL local_flush(9)
    211215
    212216!
Note: See TracChangeset for help on using the changeset viewer.