subroutine SLTTConstInit
use gridset , only : jmax
use mpi_wrapper, only : nprocs, myrank
use constants0 , only : PI
!
! local variables
!
! 実行文 ; Executable statement
!
if ( sltt_const_inited ) return
PIx2 = PI + PI
PIH = PI / 2.0_DP
!!$ if( jew > jmax/2 ) then
!!$ write( 6, * ) "SLTT ERROR : MYRANK = ", myrank, &
!!$ " JEW = ", jew, " JMAX/2 = ", jmax/2
!!$ write( 6, * ) "SLTT ERROR : JEW MUST BE LESS THAN JMAX."
!!$ stop
!!$ end if
if( nprocs > 1 ) then
if( jmax/2 < dtjw ) then
!!$ if( jmax/2 < jew ) then
write( 6, * ) "SLTT ERROR : MYRANK = ", myrank, " JMAX/2 = ", jmax/2, " TRANSFERED J WIDTH = ", dtjw
write( 6, * ) "SLTT ERROR : JMAX MUST BE GREATER THAN TRANSFERED J WIDTH."
stop
end if
end if
! Set minimum and maximu indices for south-north separate extended arrays
iexmin = -2 ! width of halo region of dtjw
iexmax = imax-1+1+2 ! 1 for 360 longitude and width of halo region of dtjw
if ( myrank == (nprocs-1) ) then
jexmins = -dtjw ! minimum j of southern array
jexmaxs = jmax/2+dtjw ! maximum j of southern array
jexminn = -dtjw+1 ! maximum j of northern array
jexmaxn = jmax/2+1+dtjw ! maximum j of northern array
else
jexmins = -dtjw+1 ! minimum j of southern array
jexmaxs = jmax/2+dtjw ! maximum j of southern array
jexminn = -dtjw+1 ! maximum j of northern array
jexmaxn = jmax/2+dtjw ! maximum j of northern array
end if
sltt_const_inited = .true.
end subroutine SLTTConstInit