xmo_convective Subroutine

private subroutine xmo_convective()

Uses

  • proc~~xmo_convective~~UsesGraph proc~xmo_convective xmo_convective module~modfields modfields proc~xmo_convective->module~modfields module~modglobal modglobal proc~xmo_convective->module~modglobal module~modsubgriddata modsubgriddata proc~xmo_convective->module~modsubgriddata decomp_2d decomp_2d module~modfields->decomp_2d

Arguments

None

Called by

proc~~xmo_convective~~CalledByGraph proc~xmo_convective xmo_convective proc~boundary boundary proc~boundary->proc~xmo_convective program~dalesurban DALESURBAN program~dalesurban->proc~boundary

Source Code

   subroutine xmo_convective
     use modglobal,      only : ie, dxi, rk3step, dt
     use modfields,      only : u0, um, v0, vm, w0, wm, e120, e12m, uouttot
     use modsubgriddata, only : loneeqn
     real rk3coef

     rk3coef = dt/(4.-dble(rk3step))

     v0(ie + 1, :, :) = v0(ie+1, :, :) - (v0(ie+1, :, :) - v0(ie, :, :))*dxi*rk3coef*uouttot
     w0(ie + 1, :, :) = w0(ie+1, :, :) - (w0(ie+1, :, :) - w0(ie, :, :))*dxi*rk3coef*uouttot
     vm(ie + 1, :, :) = vm(ie+1, :, :) - (vm(ie+1, :, :) - vm(ie, :, :))*dxi*rk3coef*uouttot
     wm(ie + 1, :, :) = wm(ie+1, :, :) - (wm(ie+1, :, :) - wm(ie, :, :))*dxi*rk3coef*uouttot

     if (loneeqn) then
       e120(ie + 1, :, :) = e120(ie, :, :) - (e120(ie + 1, :, :) - e120(ie, :, :))*dxi*rk3coef*uouttot
       e12m(ie + 1, :, :) = e12m(ie, :, :) - (e12m(ie + 1, :, :) - e12m(ie, :, :))*dxi*rk3coef*uouttot
     end if

   end subroutine xmo_convective