iosi Subroutine

private subroutine iosi()

Uses

  • proc~~iosi~~UsesGraph proc~iosi modboundary::iosi module~modfields modfields proc~iosi->module~modfields module~modglobal modglobal proc~iosi->module~modglobal module~modinletdata modinletdata proc~iosi->module~modinletdata

Arguments

None

Called by

proc~~iosi~~CalledByGraph proc~iosi modboundary::iosi proc~boundary modboundary::boundary proc~boundary->proc~iosi proc~readinitfiles modstartup::readinitfiles proc~readinitfiles->proc~boundary program~dalesurban DALESURBAN program~dalesurban->proc~boundary proc~startup modstartup::startup program~dalesurban->proc~startup proc~startup->proc~readinitfiles

Contents

Source Code


Source Code

   subroutine iosi
      use modglobal, only:ib, ie, jb, je, ih, jh, kb, ke, kh, nsv, dt, rk3step, dxhi, ltempeq, &
         ihc, jhc, khc, dy
      use modfields, only:sv0, svm, svprof, uouttot
      use modinletdata, only:ubulk
      real rk3coef
      integer k, n, m

      rk3coef = dt/(4.-dble(rk3step))
      do n = 1, nsv
         do k = kb, ke + 1
            sv0(ib - 1, :, k, n) = 2*svprof(k, n) - sv0(ib, :, k, n)
            svm(ib - 1, :, k, n) = 2*svprof(k, n) - svm(ib, :, k, n)
         end do
         sv0(ie + 1, :, :, n) = sv0(ie, :, :, n) - (sv0(ie + 1, :, :, n) - sv0(ie, :, :, n))*dxhi(ie + 1)*rk3coef*uouttot  ! tg3315 should be uouttot and will have to change depending on forcing
         svm(ie + 1, :, :, n) = svm(ie, :, :, n) - (svm(ie + 1, :, :, n) - svm(ie, :, :, n))*dxhi(ie + 1)*rk3coef*uouttot
      enddo

      return
   end subroutine iosi