updated top-level README and version_decl for V4.5 (#1847)
[WRF.git] / var / da / da_vtox_transforms / da_add_flow_dependence_vp.inc
blobc44636462cfdf9e56b86cd13693040637c2853ba
1 subroutine da_add_flow_dependence_vp (ne, ep, vp, &
2                                       its,ite, jts,jte, kts,kte)
4    !-----------------------------------------------------------------------
5    ! Purpose: Add flow-dependent increments in control variable space (vp).
6    !-----------------------------------------------------------------------
7                                       
8    implicit none
9    
10    integer, intent(in)                  :: ne  ! Ensemble size.
11    type (ep_type), intent(in)           :: ep  ! Ensemble perturbations.
12    type (vp_type), intent(inout)        :: vp  ! CV on grid structure.
13    integer, intent(in)                  :: its, ite, jts, jte, kts, kte
14    
15    integer                              :: n, k! Loop counters.
17    do n = 1, ne
18       do k = kts, kte
20          ! psi:
21          vp % v1(its:ite,jts:jte,k) = vp % v1(its:ite,jts:jte,k) + &
22                                       vp % alpha(its:ite,jts:jte,k,n) * &
23                                       ep % v1(its:ite,jts:jte,k,n)
24          ! chi_u:
25          vp % v2(its:ite,jts:jte,k) = vp % v2(its:ite,jts:jte,k) + &
26                                       vp % alpha(its:ite,jts:jte,k,n) * &
27                                       ep % v2(its:ite,jts:jte,k,n)
28          ! t_u:
29          vp % v3(its:ite,jts:jte,k) = vp % v3(its:ite,jts:jte,k) + &
30                                       vp % alpha(its:ite,jts:jte,k,n) * &
31                                       ep % v3(its:ite,jts:jte,k,n)
32          ! rh:
33          vp % v4(its:ite,jts:jte,k) = vp % v4(its:ite,jts:jte,k) + &
34                                       vp % alpha(its:ite,jts:jte,k,n) * &
35                                       ep % v4(its:ite,jts:jte,k,n)
36         ! ps_u
37         vp % v5(its:ite,jts:jte,k) = vp % v5(its:ite,jts:jte,k) + &
38                                      vp % alpha(its:ite,jts:jte,k,n) * &
39                                      ep % v5(its:ite,jts:jte,k,n)
40       end do
41    end do
43    if (trace_use) call da_trace_exit("da_add_flow_dependence_vp")
45 end subroutine da_add_flow_dependence_vp