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_dull) 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_dull) call da_trace_exit("da_copy_tile_dims")
48
49 end subroutine da_copy_tile_dims
50
51