subroutine hc8dh1i(c, &,13
ids,ide, &
ims,ime, &
its,ite)
! Horizontal cyclic `8dh' scheme, for 1-dimensional array, active index i
use cpt_consts
implicit none
integer, intent(IN ) :: ids,ide
integer, intent(IN ) :: ims,ime
integer, intent(IN ) :: its,ite
real, dimension(ims:ime), &
intent(INOUT) :: c
real, dimension(1):: p
call hase1i
(c, 1, &
ids,ide, &
ims,ime, &
its,ite)
call sd1b1i
(c,b8qi, &
ids,ide, &
ims,ime, &
its,ite)
call hase1i
(c, 1, &
ids,ide, &
ims,ime, &
its,ite)
call ef1b1i
(c,k8q1, &
ids,ide, &
ims,ime, &
its,ite)
call haes1i
(c, 1, &
ids,ide, &
ims,ime, &
its,ite)
call ef1a1i
(c,k8q1, &
ids,ide, &
ims,ime, &
its,ite)
call ra2a1i
(c,p,l8q1,l8q2,fl8qs, &
ids,ide, &
ims,ime, &
its,ite)
call hasp1i
(c,p,2, &
ids,ide, &
ims,ime, &
its,ite)
call rf2a1i
(c, l8q1,l8q2, &
ids,ide, &
ims,ime, &
its,ite)
call ra2b1i
(c,p,l8q1,l8q2,fl8qs, &
ids,ide, &
ims,ime, &
its,ite)
call haep1i
(c,p,2, &
ids,ide, &
ims,ime, &
its,ite)
call rf2b1i
(c, l8q1,l8q2, &
ids,ide, &
ims,ime, &
its,ite)
end subroutine hc8dh1i
subroutine hc8dh2i(c, &,13
ids,ide, jds,jde, &
ims,ime, jms,jme, &
its,ite, jts,jte)
! Horizontal cyclic `8dh' scheme, for 2-dimensional array, active index i
use cpt_consts
implicit none
integer, intent(IN ) :: ids,ide, jds,jde
integer, intent(IN ) :: ims,ime, jms,jme
integer, intent(IN ) :: its,ite, jts,jte
real, dimension(ims:ime, jms:jme), &
intent(INOUT) :: c
real, dimension(1, jms:jme):: p
call hase2i
(c, 1, &
ids,ide, jds,jde, &
ims,ime, jms,jme, &
its,ite, jts,jte)
call sd1b2i
(c,b8qi, &
ids,ide, jds,jde, &
ims,ime, jms,jme, &
its,ite, jts,jte)
call hase2i
(c, 1, &
ids,ide, jds,jde, &
ims,ime, jms,jme, &
its,ite, jts,jte)
call ef1b2i
(c,k8q1, &
ids,ide, jds,jde, &
ims,ime, jms,jme, &
its,ite, jts,jte)
call haes2i
(c, 1, &
ids,ide, jds,jde, &
ims,ime, jms,jme, &
its,ite, jts,jte)
call ef1a2i
(c,k8q1, &
ids,ide, jds,jde, &
ims,ime, jms,jme, &
its,ite, jts,jte)
call ra2a2i
(c,p,l8q1,l8q2,fl8qs, &
ids,ide, jds,jde, &
ims,ime, jms,jme, &
its,ite, jts,jte)
call hasp2i
(c,p,2, &
ids,ide, jds,jde, &
ims,ime, jms,jme, &
its,ite, jts,jte)
call rf2a2i
(c, l8q1,l8q2, &
ids,ide, jds,jde, &
ims,ime, jms,jme, &
its,ite, jts,jte)
call ra2b2i
(c,p,l8q1,l8q2,fl8qs, &
ids,ide, jds,jde, &
ims,ime, jms,jme, &
its,ite, jts,jte)
call haep2i
(c,p,2, &
ids,ide, jds,jde, &
ims,ime, jms,jme, &
its,ite, jts,jte)
call rf2b2i
(c, l8q1,l8q2, &
ids,ide, jds,jde, &
ims,ime, jms,jme, &
its,ite, jts,jte)
end subroutine hc8dh2i
subroutine hc8dh2j(c, &,13
ids,ide, jds,jde, &
ims,ime, jms,jme, &
its,ite, jts,jte)
! Horizontal cyclic `8dh' scheme, for 2-dimensional array, active index j
use cpt_consts
implicit none
integer, intent(IN ) :: ids,ide, jds,jde
integer, intent(IN ) :: ims,ime, jms,jme
integer, intent(IN ) :: its,ite, jts,jte
real, dimension(ims:ime, jms:jme), &
intent(INOUT) :: c
real, dimension(ims:ime, 1):: p
call hase2j
(c, 1, &
ids,ide, jds,jde, &
ims,ime, jms,jme, &
its,ite, jts,jte)
call sd1b2j
(c,b8qi, &
ids,ide, jds,jde, &
ims,ime, jms,jme, &
its,ite, jts,jte)
call hase2j
(c, 1, &
ids,ide, jds,jde, &
ims,ime, jms,jme, &
its,ite, jts,jte)
call ef1b2j
(c,k8q1, &
ids,ide, jds,jde, &
ims,ime, jms,jme, &
its,ite, jts,jte)
call haes2j
(c, 1, &
ids,ide, jds,jde, &
ims,ime, jms,jme, &
its,ite, jts,jte)
call ef1a2j
(c,k8q1, &
ids,ide, jds,jde, &
ims,ime, jms,jme, &
its,ite, jts,jte)
call ra2a2j
(c,p,l8q1,l8q2,fl8qs, &
ids,ide, jds,jde, &
ims,ime, jms,jme, &
its,ite, jts,jte)
call hasp2j
(c,p,2, &
ids,ide, jds,jde, &
ims,ime, jms,jme, &
its,ite, jts,jte)
call rf2a2j
(c, l8q1,l8q2, &
ids,ide, jds,jde, &
ims,ime, jms,jme, &
its,ite, jts,jte)
call ra2b2j
(c,p,l8q1,l8q2,fl8qs, &
ids,ide, jds,jde, &
ims,ime, jms,jme, &
its,ite, jts,jte)
call haep2j
(c,p,2, &
ids,ide, jds,jde, &
ims,ime, jms,jme, &
its,ite, jts,jte)
call rf2b2j
(c, l8q1,l8q2, &
ids,ide, jds,jde, &
ims,ime, jms,jme, &
its,ite, jts,jte)
end subroutine hc8dh2j
subroutine hc8dh3i(c, &,13
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte)
! Horizontal cyclic `8dh' scheme, for 3-dimensional array, active index i
use cpt_consts
implicit none
integer, intent(IN ) :: ids,ide, jds,jde, kds,kde
integer, intent(IN ) :: ims,ime, jms,jme, kms,kme
integer, intent(IN ) :: its,ite, jts,jte, kts,kte
real, dimension(ims:ime, kms:kme, jms:jme), &
intent(INOUT) :: c
real, dimension(1, kms:kme, jms:jme):: p
call hase3i
(c, 1, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte)
call sd1b3i
(c,b8qi, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte)
call hase3i
(c, 1, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte)
call ef1b3i
(c,k8q1, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte)
call haes3i
(c, 1, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte)
call ef1a3i
(c,k8q1, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte)
call ra2a3i
(c,p,l8q1,l8q2,fl8qs, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte)
call hasp3i
(c,p,2, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte)
call rf2a3i
(c, l8q1,l8q2, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte)
call ra2b3i
(c,p,l8q1,l8q2,fl8qs, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte)
call haep3i
(c,p,2, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte)
call rf2b3i
(c, l8q1,l8q2, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte)
end subroutine hc8dh3i
subroutine hc8dh3j(c, &,13
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte)
! Horizontal cyclic `8dh' scheme, for 3-dimensional array, active index j
use cpt_consts
implicit none
integer, intent(IN ) :: ids,ide, jds,jde, kds,kde
integer, intent(IN ) :: ims,ime, jms,jme, kms,kme
integer, intent(IN ) :: its,ite, jts,jte, kts,kte
real, dimension(ims:ime, kms:kme, jms:jme), &
intent(INOUT) :: c
real, dimension(ims:ime, kms:kme, 1):: p
call hase3j
(c, 1, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte)
call sd1b3j
(c,b8qi, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte)
call hase3j
(c, 1, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte)
call ef1b3j
(c,k8q1, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte)
call haes3j
(c, 1, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte)
call ef1a3j
(c,k8q1, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte)
call ra2a3j
(c,p,l8q1,l8q2,fl8qs, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte)
call hasp3j
(c,p,2, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte)
call rf2a3j
(c, l8q1,l8q2, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte)
call ra2b3j
(c,p,l8q1,l8q2,fl8qs, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte)
call haep3j
(c,p,2, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte)
call rf2b3j
(c, l8q1,l8q2, &
ids,ide, jds,jde, kds,kde, &
ims,ime, jms,jme, kms,kme, &
its,ite, jts,jte, kts,kte)
end subroutine hc8dh3j