1 subroutine da_couple_uv (u, v, mu, mub, msfu, msfv, c1, c2, ids, ide, jds, jde, kds, kde)
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 real, intent(in) :: c1(kds:kde)
13 real, intent(in) :: c2(kds:kde)
15 real, allocatable :: muu(:,:), muv(:,:)
18 ! if (trace_use) call da_trace_entry("da_couple_uv")
20 allocate(muu(ids:ide+1, jds:jde ))
21 allocate(muv(ids:ide , jds:jde+1))
23 ! couple variables u, v
25 call da_calc_mu_uv (mu, mub, muu, muv, ids, ide, jds, jde)
27 call da_couple (muu, u, msfu, c1, c2, ids, ide+1, jds, jde, kds, kde)
29 call da_couple (muv, v, msfv, c1, c2, ids, ide, jds, jde+1, kds, kde)
34 ! if (trace_use) call da_trace_exit("da_couple_uv")
36 end subroutine da_couple_uv