da_copy_tile_dims.inc

References to this file elsewhere.
1 subroutine da_copy_tile_dims(grid)
2 
3    !---------------------------------------------------------------------------
4    ! Purpose: Copy tile dimensions from grid structure.
5    !---------------------------------------------------------------------------
6 
7    implicit none
8 
9    type(domain), intent(inout)         :: grid
10 
11    integer                  :: ij   ! Loop counter
12 
13    if (trace_use) call da_trace_entry("da_copy_tile_dims")
14 
15    ! De-reference tile indices stored in the grid data structure.
16 
17    do ij = 1 , grid%num_tiles
18       its = grid%i_start(ij)
19       ite = grid%i_end(ij)
20       jts = grid%j_start(ij)
21       jte = grid%j_end(ij)
22       kts = grid%xp%kds
23       kte = grid%xp%kde
24 
25       grid%xp%its = its
26       grid%xp%ite = ite
27       grid%xp%jts = jts
28       grid%xp%jte = jte
29       grid%xp%kts = kts
30       grid%xp%kte = kte
31 
32       if (grid%xp%ite > grid%xp%ide) grid%xp%ite = grid%xp%ide
33       if (grid%xp%jte > grid%xp%jde) grid%xp%jte = grid%xp%jde
34       if (grid%xp%kte > grid%xp%kde) grid%xp%kte = grid%xp%kde
35 
36       if (ite > grid%xp%ide) ite = grid%xp%ide
37       if (jte > grid%xp%jde) jte = grid%xp%jde
38       if (kte > grid%xp%kde) kte = grid%xp%kde
39 
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
46 
47    if (trace_use) call da_trace_exit("da_copy_tile_dims")
48 
49 end subroutine da_copy_tile_dims
50 
51