da_couple_uv.inc
References to this file elsewhere.
1 subroutine da_couple_uv (u, v, mu, mub, msfu, msfv, ids, ide, jds, jde, kds, kde)
2
3 implicit none
4
5 integer, intent(in) :: ids, ide, jds, jde, kds, kde
6 real, intent(inout) :: u(ids:ide+1,jds:jde,kds:kde)
7 real, intent(inout) :: v(ids:ide,jds:jde+1,kds:kde)
8 real, intent(in) :: msfu(ids:ide+1,jds:jde)
9 real, intent(in) :: msfv(ids:ide,jds:jde+1)
10 real, intent(in) :: mu(ids:ide,jds:jde)
11 real, intent(in) :: mub(ids:ide,jds:jde)
12
13 real, allocatable :: muu(:,:), muv(:,:)
14
15 ! update_bc
16 ! if (trace_use) call da_trace_entry("da_couple_uv")
17
18 allocate(muu(ids:ide+1, jds:jde ))
19 allocate(muv(ids:ide , jds:jde+1))
20
21 ! couple variables u, v
22
23 call da_calc_mu_uv (mu, mub, muu, muv, ids, ide, jds, jde)
24
25 call da_couple (muu, u, msfu, ids, ide+1, jds, jde, kds, kde)
26
27 call da_couple (muv, v, msfv, ids, ide, jds, jde+1, kds, kde)
28
29 deallocate(muu)
30 deallocate(muv)
31
32 ! if (trace_use) call da_trace_exit("da_couple_uv")
33
34 end subroutine da_couple_uv
35
36