Ignore:
Timestamp:
Mar 2, 2021 4:39:14 PM (3 years ago)
Author:
raasch
Message:

revised output of surface data via MPI-IO for better performance

File:
1 edited

Legend:

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

    r4892 r4893  
    2525! -----------------
    2626! $Id$
     27! revised output of surface data via MPI-IO for better performance
     28!
     29! 4892 2021-03-02 11:53:58Z suehring
    2730! Remove outdated error message.
    2831!
     
    45784581
    45794582    INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE ::  end_index           !< end index of surface data at (j,i)
    4580     INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE ::  global_start_index  !< index array for surface data (MPI-IO)
     4583    INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE ::  global_end_index    !< end index array for surface data (MPI-IO)
     4584    INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE ::  global_start_index  !< start index array for surface data (MPI-IO)
    45814585    INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE ::  num_surf            !< number of surface data at (j,i)
    45824586    INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE ::  start_index         !< start index of surface data at (j,i)
     
    46004604    ALLOCATE( surf_in(1:surfaces%ns) )
    46014605
    4602     CALL rd_mpi_io_check_array( 'surfaces%start_index', found = array_found )
    4603     IF ( array_found )  CALL rrd_mpi_io( 'surfaces%start_index', start_index )
    4604 
    4605     CALL rd_mpi_io_check_array( 'surfaces%end_index', found = array_found )
    4606     IF ( array_found )  CALL rrd_mpi_io( 'surfaces%end_index', end_index )
    4607 
    46084606    CALL rd_mpi_io_check_array( 'surfaces%global_start_index', found = array_found )
    46094607    IF ( array_found )  CALL rrd_mpi_io( 'surfaces%global_start_index', global_start_index )
    46104608
    4611     CALL rd_mpi_io_surface_filetypes( start_index, end_index, ldum, global_start_index )
     4609    CALL rd_mpi_io_check_array( 'surfaces%global_end_index', found = array_found )
     4610    IF ( array_found )  CALL rrd_mpi_io( 'surfaces%global_end_index', global_end_index )
     4611
     4612    CALL rd_mpi_io_surface_filetypes( start_index, end_index, ldum, global_start_index,            &
     4613                                      global_end_index )
    46124614
    46134615    DO  nv = 1, dosurf_no(1)
     
    47284730
    47294731    INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE ::  end_index           !< end index of surface data at (j,i)
    4730     INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE ::  global_start_index  !< index array for surface data (MPI-IO)
     4732    INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE ::  global_end_index    !< end index array for surface data (MPI-IO)
     4733    INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE ::  global_start_index  !< start index array for surface data (MPI-IO)
    47314734    INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE ::  num_surf            !< number of surface data at (j,i)
    47324735    INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE ::  start_index         !< start index of surface data at (j,i)
     
    48114814
    48124815          CALL rd_mpi_io_surface_filetypes( start_index, end_index, surface_data_to_write,         &
    4813                                             global_start_index )
    4814           CALL wrd_mpi_io( 'surfaces%start_index',        start_index        )
    4815           CALL wrd_mpi_io( 'surfaces%end_index',          end_index          )
     4816                                            global_start_index, global_end_index )
     4817
    48164818          CALL wrd_mpi_io( 'surfaces%global_start_index', global_start_index )
     4819          CALL wrd_mpi_io( 'surfaces%global_end_index', global_end_index )
    48174820
    48184821          DO  nv = 1, dosurf_no(1)
Note: See TracChangeset for help on using the changeset viewer.