ymo_convective Subroutine

private subroutine ymo_convective()

Uses

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

Arguments

None

Called by

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

Source Code

   subroutine ymo_convective
     use modglobal,      only : je, dyi, rk3step, dt
     use modfields,      only : u0, um, v0, vm, w0, wm, e120, e12m, vouttot
     use modsubgriddata, only : loneeqn

     real rk3coef

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

     ! change to vouttot
     u0(:, je + 1, :) = u0(:, je + 1, :) - (u0(:, je + 1, :) - u0(:, je, :))*dyi*rk3coef*vouttot
     um(:, je + 1, :) = um(:, je + 1, :) - (um(:, je + 1, :) - um(:, je, :))*dyi*rk3coef*vouttot
     w0(:, je + 1, :) = w0(:, je + 1, :) - (w0(:, je + 1, :) - w0(:, je, :))*dyi*rk3coef*vouttot
     wm(:, je + 1, :) = wm(:, je + 1, :) - (wm(:, je + 1, :) - wm(:, je, :))*dyi*rk3coef*vouttot

     if (loneeqn) then
       e120(:, je + 1, :) = e120(:, je + 1, :) - (e120(:, je + 1, :) - e120(:, je, :))*dyi*rk3coef*vouttot
       e12m(:, je + 1, :) = e12m(:, je + 1, :) - (e12m(:, je + 1, :) - e12m(:, je, :))*dyi*rk3coef*vouttot
     end if

   end subroutine ymo_convective