trans_corner2center Subroutine

public subroutine trans_corner2center(tab_in, tab_out, long, larg)

Generic subroutine for real or complex arrays that shift the corners to the center

Arguments

Type IntentOptional Attributes Name
class(*), intent(in), dimension(1:long, 1:larg) :: tab_in

2D array to transform

class(*), intent(out), dimension(1:long, 1:larg) :: tab_out

transformed 2D array

integer(kind=I4), intent(in) :: long

2D array length

integer(kind=I4), intent(in) :: larg

2D array width


Calls

proc~~trans_corner2center~~CallsGraph proc~trans_corner2center trans_corner2center proc~trans_corner2center_cmpl trans_corner2center_cmpl proc~trans_corner2center->proc~trans_corner2center_cmpl proc~trans_corner2center_real trans_corner2center_real proc~trans_corner2center->proc~trans_corner2center_real

Called by

proc~~trans_corner2center~~CalledByGraph proc~trans_corner2center trans_corner2center program~test_data_arch test_data_arch program~test_data_arch->proc~trans_corner2center

Source Code

   subroutine trans_corner2center(tab_in, tab_out, long, larg)
   !! Generic subroutine for real or complex arrays that shift the corners to the center
   implicit none
   integer(kind=I4), intent(in )                    :: long     !! *2D array length*
   integer(kind=I4), intent(in )                    :: larg     !! *2D array width*
   class(*), intent(in ), dimension(1:long, 1:larg) :: tab_in   !! *2D array to transform*
   class(*), intent(out), dimension(1:long, 1:larg) :: tab_out  !! *transformed 2D array*

      select type(tab_in)

         type is( real(kind=R8) )
            select type(tab_out)
               type is( real(kind=R8) )
                  call trans_corner2center_real(tab_in(1:long, 1:larg), tab_out(1:long, 1:larg), long = long, larg = larg)
            endselect

         type is( complex(kind=R8) )
            select type(tab_out)
               type is( complex(kind=R8) )
                  call trans_corner2center_cmpl(tab_in(1:long, 1:larg), tab_out(1:long, 1:larg), long = long, larg = larg)
            endselect

      endselect

   return
   endsubroutine trans_corner2center