Merge remote-tracking branch 'origin/release-v4.5.2'
[WRF.git] / var / da / da_par_util / da_copy_tile_dims.inc
blob6e778d2778548d5873969b4dcd3bac3d58734029
1 subroutine da_copy_tile_dims(grid)
3    !---------------------------------------------------------------------------
4    ! Purpose: Copy tile dimensions from grid structure.
5    !---------------------------------------------------------------------------
7    implicit none
9    type(domain), intent(inout)         :: grid
11    integer                  :: ij   ! Loop counter
13    if (trace_use_dull) call da_trace_entry("da_copy_tile_dims")
15    ! De-reference tile indices stored in the grid data structure.
17    its = MINVAL( grid%i_start(1:grid%num_tiles) )
18    ite = MAXVAL( grid%i_end(1:grid%num_tiles) )
19    jts = MINVAL( grid%j_start(1:grid%num_tiles) )
20    jte = MAXVAL( grid%j_end(1:grid%num_tiles) )
21    kts = grid%xp%kds
22    kte = grid%xp%kde
24    grid%xp%its = its
25    grid%xp%ite = ite
26    grid%xp%jts = jts
27    grid%xp%jte = jte
28    grid%xp%kts = kts
29    grid%xp%kte = kte
31    if (grid%xp%ite > grid%xp%ide) grid%xp%ite = grid%xp%ide
32    if (grid%xp%jte > grid%xp%jde) grid%xp%jte = grid%xp%jde
33    if (grid%xp%kte > grid%xp%kde) grid%xp%kte = grid%xp%kde
35    if (ite > grid%xp%ide) ite = grid%xp%ide
36    if (jte > grid%xp%jde) jte = grid%xp%jde
37    if (kte > grid%xp%kde) kte = grid%xp%kde
39    do ij = 1 , grid%num_tiles
40       if (print_detail_parallel) then
41          write(unit=stdout, fmt='(/)')
42          write(unit=stdout, fmt='(A,i3,A,5x,3(i3,A,i3,5x))') 'Tile ',ij, &
43                  ' size:', its,':',ite, jts,':',jte, kts,':',kte
44       end if
45    end do
47    if (trace_use_dull) call da_trace_exit("da_copy_tile_dims")
49 end subroutine da_copy_tile_dims