<HTML> <BODY BGCOLOR=#ccccdd LINK=#0000aa VLINK=#0000ff ALINK=#ff0000 ><BASE TARGET="bottom_target"><PRE>
<A NAME='DA_COPY_DIMS'><A href='../../html_code/par_util/da_copy_dims.inc.html#DA_COPY_DIMS' TARGET='top_target'><IMG SRC="../../gif/bar_red.gif" border=0></A>
subroutine da_copy_dims(grid) 1,2
!---------------------------------------------------------------------------
! Purpose: Copy dimensioning information from grid structure.
!---------------------------------------------------------------------------
implicit none
type(domain), intent(inout) :: grid
if (trace_use_dull) call da_trace_entry
("da_copy_dims")
! De-reference dimension information stored in the grid data structure.
ids = grid%sd31
ide = grid%ed31 - 1
jds = grid%sd32
jde = grid%ed32 - 1
kds = grid%sd33
kde = grid%ed33 - 1
ims = grid%sm31
ime = grid%em31
jms = grid%sm32
jme = grid%em32
kms = grid%sm33
kme = grid%em33
ips = grid%sp31
ipe = grid%ep31
jps = grid%sp32
jpe = grid%ep32
kps = grid%sp33
kpe = grid%ep33
! Indices for yz decomposition
grid%xp%idsx = grid%sd31
grid%xp%idex = grid%ed31 - 1
grid%xp%jdsx = grid%sd32
grid%xp%jdex = grid%ed32 - 1
grid%xp%kdsx = grid%sd33
grid%xp%kdex = grid%ed33 - 1
grid%xp%imsx = grid%sm31x
grid%xp%imex = grid%em31x
grid%xp%jmsx = grid%sm32x
grid%xp%jmex = grid%em32x
grid%xp%kmsx = grid%sm33x
grid%xp%kmex = grid%em33x
grid%xp%itsx = grid%sp31x
grid%xp%itex = grid%ep31x
grid%xp%jtsx = grid%sp32x
grid%xp%jtex = grid%ep32x
grid%xp%ktsx = grid%sp33x
grid%xp%ktex = grid%ep33x
grid%xp%ipsx = grid%sp31x
grid%xp%ipex = grid%ep31x
grid%xp%jpsx = grid%sp32x
grid%xp%jpex = grid%ep32x
grid%xp%kpsx = grid%sp33x
grid%xp%kpex = grid%ep33x
! Indices for xz decomposition
grid%xp%idsy = grid%sd31
grid%xp%idey = grid%ed31 - 1
grid%xp%jdsy = grid%sd32
grid%xp%jdey = grid%ed32 - 1
grid%xp%kdsy = grid%sd33
grid%xp%kdey = grid%ed33 - 1
grid%xp%imsy = grid%sm31y
grid%xp%imey = grid%em31y
grid%xp%jmsy = grid%sm32y
grid%xp%jmey = grid%em32y
grid%xp%kmsy = grid%sm33y
grid%xp%kmey = grid%em33y
grid%xp%itsy = grid%sp31y
grid%xp%itey = grid%ep31y
grid%xp%jtsy = grid%sp32y
grid%xp%jtey = grid%ep32y
grid%xp%ktsy = grid%sp33y
grid%xp%ktey = grid%ep33y
grid%xp%ipsy = grid%sp31y
grid%xp%ipey = grid%ep31y
grid%xp%jpsy = grid%sp32y
grid%xp%jpey = grid%ep32y
grid%xp%kpsy = grid%sp33y
grid%xp%kpey = grid%ep33y
if (ipe > ide) ipe = ide
if (jpe > jde) jpe = jde
if (kpe > kde) kpe = kde
! Indices for yz decomposition
if (grid%xp%itex > ide) grid%xp%itex = ide
if (grid%xp%jtex > jde) grid%xp%jtex = jde
if (grid%xp%ktex > kde) grid%xp%ktex = kde
if (grid%xp%ipex > ide) grid%xp%ipex = ide
if (grid%xp%jpex > jde) grid%xp%jpex = jde
if (grid%xp%kpex > kde) grid%xp%kpex = kde
! Indices for xz decomposition
if (grid%xp%itey > ide) grid%xp%itey = ide
if (grid%xp%jtey > jde) grid%xp%jtey = jde
if (grid%xp%ktey > kde) grid%xp%ktey = kde
if (grid%xp%ipey > ide) grid%xp%ipey = ide
if (grid%xp%jpey > jde) grid%xp%jpey = jde
if (grid%xp%kpey > kde) grid%xp%kpey = kde
! Copy grid%xpose dimensions from grid structure to grid%xp structure.
! Indices for xy decomposition
grid%xp%ids = ids
grid%xp%ide = ide
grid%xp%jds = jds
grid%xp%jde = jde
grid%xp%kds = kds
grid%xp%kde = kde
grid%xp%ims = ims
grid%xp%ime = ime
grid%xp%jms = jms
grid%xp%jme = jme
grid%xp%kms = kms
grid%xp%kme = kme
grid%xp%ips = ips
grid%xp%ipe = ipe
grid%xp%jps = jps
grid%xp%jpe = jpe
grid%xp%kps = kps
grid%xp%kpe = kpe
if (print_detail_parallel) then
write(unit=stdout, fmt='(2(a, i4, 5x))') &
'grid%xp%ids =', grid%xp%ids , 'grid%xp%ide =', grid%xp%ide , &
'grid%xp%jds =', grid%xp%jds , 'grid%xp%jde =', grid%xp%jde , &
'grid%xp%kds =', grid%xp%kds , 'grid%xp%kde =', grid%xp%kde
write(unit=stdout, fmt='(//)')
write(unit=stdout, fmt='(2(a, i4, 5x))') &
'grid%xp%ims =', grid%xp%ims , 'grid%xp%ime =', grid%xp%ime , &
'grid%xp%jms =', grid%xp%jms , 'grid%xp%jme =', grid%xp%jme , &
'grid%xp%kms =', grid%xp%kms , 'grid%xp%kme =', grid%xp%kme
write(unit=stdout, fmt='(//)')
write(unit=stdout, fmt='(2(a, i4, 5x))') &
'grid%xp%ips =', grid%xp%ips , 'grid%xp%ipe =', grid%xp%ipe , &
'grid%xp%jps =', grid%xp%jps , 'grid%xp%jpe =', grid%xp%jpe , &
'grid%xp%kps =', grid%xp%kps , 'grid%xp%kpe =', grid%xp%kpe
write(unit=stdout, fmt='(//)')
write(unit=stdout, fmt='(2(a, i4, 5x))') &
'grid%xp%imsx =', grid%xp%imsx, 'grid%xp%imex=', grid%xp%imex, &
'grid%xp%jmsx =', grid%xp%jmsx, 'grid%xp%jmex=', grid%xp%jmex, &
'grid%xp%kmsx =', grid%xp%kmsx, 'grid%xp%kmex=', grid%xp%kmex
write(unit=stdout, fmt='(//)')
write(unit=stdout, fmt='(2(a, i4, 5x))') &
'grid%xp%ipsx =', grid%xp%ipsx, 'grid%xp%ipex=', grid%xp%ipex, &
'grid%xp%jpsx =', grid%xp%jpsx, 'grid%xp%jpex=', grid%xp%jpex, &
'grid%xp%kpsx =', grid%xp%kpsx, 'grid%xp%kpex=', grid%xp%kpex
write(unit=stdout, fmt='(//)')
write(unit=stdout, fmt='(2(a, i4, 5x))') &
'grid%xp%imsy =', grid%xp%imsy, 'grid%xp%imey=', grid%xp%imey, &
'grid%xp%jmsy =', grid%xp%jmsy, 'grid%xp%jmey=', grid%xp%jmey, &
'grid%xp%kmsy =', grid%xp%kmsy, 'grid%xp%kmey=', grid%xp%kmey
write(unit=stdout, fmt='(//)')
write(unit=stdout, fmt='(2(a, i4, 5x))') &
'grid%xp%ipsy =', grid%xp%ipsy, 'grid%xp%ipey=', grid%xp%ipey, &
'grid%xp%jpsy =', grid%xp%jpsy, 'grid%xp%jpey=', grid%xp%jpey, &
'grid%xp%kpsy =', grid%xp%kpsy, 'grid%xp%kpey=', grid%xp%kpey
end if
if (trace_use_dull) call da_trace_exit
("da_copy_dims")
end subroutine da_copy_dims