updated top-level README and version_decl for V4.5 (#1847)
[WRF.git] / var / da / da_update_bc / da_couple_uv.inc
blob57e66120d966fb376bb29b3b372a1b3a59ae6c05
1 subroutine da_couple_uv (u,  v,  mu, mub,  msfu, msfv, c1, c2, ids, ide, jds, jde, kds, kde)
3    implicit none
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(:,:)
17    ! update_bc
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)
31    deallocate(muu)
32    deallocate(muv)
34    ! if (trace_use) call da_trace_exit("da_couple_uv")  
36 end subroutine da_couple_uv