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/check_parameters.f90

    r1300 r1308  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! +netcdf_data_format_save
     23! Calculate fixed number of output time levels for parallel netcdf output.
     24! For masked data, parallel netcdf output is not tested so far, hence
     25! netcdf_data_format is switched back to non-paralell output.
    2326!
    2427! Former revisions:
     
    337340    CHARACTER (LEN=100) ::  action
    338341
    339     INTEGER ::  i, ilen, iremote = 0, j, k, kk, position, prec
     342    INTEGER ::  i, ilen, iremote = 0, j, k, kk, netcdf_data_format_save, &
     343                position, prec
    340344    LOGICAL ::  found, ldum
    341345    REAL    ::  gradient, remote = 0.0, simulation_time_since_reference
     
    32653269!
    32663270!--    Generate masks for masked data output
     3271!--    Parallel netcdf output is not tested so far for masked data, hence
     3272!--    netcdf_data_format is switched back to non-paralell output.
     3273       netcdf_data_format_save = netcdf_data_format
     3274       IF ( netcdf_data_format > 4 )  THEN
     3275          IF ( netcdf_data_format == 5 ) netcdf_data_format = 3
     3276          IF ( netcdf_data_format == 6 ) netcdf_data_format = 4
     3277          message_string = 'netCDF file formats '//                            &
     3278                           '5 (parallel netCDF 4) and ' //                     &
     3279                           '6 (parallel netCDF 4 Classic model) '//            &
     3280                           '&are currently not supported (not yet tested) ' // &
     3281                           'for masked data.&Using respective non-parallel' // & 
     3282                           ' output for masked data.'
     3283          CALL message( 'check_parameters', 'PA0383', 0, 0, 0, 6, 0 )
     3284       ENDIF
    32673285       CALL init_masks
     3286       netcdf_data_format = netcdf_data_format_save
    32683287    ENDIF
    32693288
     
    32943313    ENDIF
    32953314#endif
     3315
     3316!
     3317!-- Calculate fixed number of output time levels for parallel netcdf output.
     3318!-- The time dimension has to be limited for paralell output, otherwise the
     3319!-- performance drops significantly.
     3320    IF ( netcdf_output )  THEN
     3321       IF ( netcdf_data_format > 4 )  THEN
     3322          ntdim_3d(0) = INT( ( end_time - skip_time_do3d ) / dt_do3d )
     3323          IF ( do3d_at_begin ) ntdim_3d(0) = ntdim_3d(0) + 1
     3324          ntdim_3d(1) = INT( ( end_time - skip_time_data_output_av ) &
     3325                              / dt_data_output_av )
     3326          ntdim_2d_xy(0) = INT( ( end_time - skip_time_do2d_xy ) / dt_do2d_xy )
     3327          ntdim_2d_xz(0) = INT( ( end_time - skip_time_do2d_xz ) / dt_do2d_xz )
     3328          ntdim_2d_yz(0) = INT( ( end_time - skip_time_do2d_yz ) / dt_do2d_yz )
     3329          IF ( do2d_at_begin )  THEN
     3330             ntdim_2d_xy(0) = ntdim_2d_xy(0) + 1
     3331             ntdim_2d_xz(0) = ntdim_2d_xz(0) + 1
     3332             ntdim_2d_yz(0) = ntdim_2d_yz(0) + 1
     3333          ENDIF
     3334          ntdim_2d_xy(1) = ntdim_3d(1)
     3335          ntdim_2d_xz(1) = ntdim_3d(1)
     3336          ntdim_2d_yz(1) = ntdim_3d(1)
     3337       ENDIF
     3338    ENDIF
    32963339
    32973340#if ! defined( __check )
Note: See TracChangeset for help on using the changeset viewer.