subroutine scalSIRANE
use modglobal, only : ib,ie,jb,je,ih,jh,kb,ke,kh,nsv,dt,lscalrec,lmoistinout,ltempinout,rk3step,dxhi,ltempeq,&
ihc, jhc, khc, lSIRANEinout, dy
use modfields, only:sv0, svm, svprof
use modinletdata, only:ubulk
use modmpi, only:myid, nprocs
real rk3coef
integer k, n, m
if (nsv > 0) then
!rk3coef = dt / (4. - dble(rk3step))
do n = 1, nsv
do m = 1, ihc
do k = kb, ke + 1
sv0(ib - m, :, k, n) = 2*svprof(k, n) - sv0(ib - m + 1, :, k, n) !scalars have two ghost cells...???
svm(ib - m, :, k, n) = 2*svprof(k, n) - svm(ib - m + 1, :, k, n)
end do
! sv0(ie+m,:,:,n)= sv0(ie+m-1,:,:,n) - (sv0(ie+m,:,:,n)-sv0(ie+m-1,:,:,n))*dxhi(ie+m)*rk3coef*ubulk
! svm(ie+m,:,:,n)= svm(ie+m-1,:,:,n) - (svm(ie+m,:,:,n)-svm(ie+m-1,:,:,n))*dxhi(ie+m)*rk3coef*ubulk !changed from uouttot to ubulk here !tg3315 08/11/2017
! sv0(ie+m,:,:,n)= sv0(ie+m-1,:,:,n) - (sv0(ie+m,:,:,n)-sv0(ie+m-1,:,:,n))*dxhi(ie+m)*rk3coef*u0(ie+m,:,:)
! svm(ie+m,:,:,n)= svm(ie+m-1,:,:,n) - (svm(ie+m,:,:,n)-svm(ie+m-1,:,:,n))*dxhi(ie+m)*rk3coef*um(ie+m,:,:) !changed from uouttot to ubulk here !tg3315 08/11/2017
svm(ie + m, :, :, n) = svm(ie + m - 1, :, :, n)
sv0(ie + m, :, :, n) = sv0(ie + m - 1, :, :, n)
end do !m, ihc
end do !n, nsv
do m = 1, jhc
do n = 1, nsv
if (myid == 0) then
do k = kb, ke + 1
sv0(:, jb - m, k, n) = 2*svprof(k, n) - sv0(:, jb - m + 1, k, n)
svm(:, jb - m, k, n) = 2*svprof(k, n) - svm(:, jb - m + 1, k, n)
end do
end if
if (myid == nprocs - 1) then
!sv0(:,je+m,:,n)= sv0(:,je+m-1,:,n) - (sv0(:,je+m,:,n)-sv0(:,je+m-1,:,n))*dy*rk3coef*ubulk
!svm(:,je+m,:,n)= svm(:,je+m-1,:,n) - (svm(:,je+m,:,n)-svm(:,je+m-1,:,n))*dy*rk3coef*ubulk !changed from uouttot to ubulk here !tg3315 08/11/2017
! sv0(:,je+m,:,n)= sv0(:,je+m-1,:,n) - (sv0(:,je+m,:,n)-sv0(:,je+m-1,:,n))*dy*rk3coef*v0(:,je+m,:)
! svm(:,je+m,:,n)= svm(:,je+m-1,:,n) - (svm(:,je+m,:,n)-svm(:,je+m-1,:,n))*dy*rk3coef*vm(:,je+m,:) !changed from uouttot to ubulk here !tg3315 08/11/2017
svm(:, je + m, :, n) = svm(:, je + m - 1, :, n)
sv0(:, je + m, :, n) = sv0(:, je + m - 1, :, n)
end if
end do !n, nsv
end do !m, jhc
end if !nsv>0
return
end subroutine scalSIRANE