1 subroutine da_add_flow_dependence_vp_adj (ne, ep, vp)
3 !-----------------------------------------------------------------------
4 ! Purpose: Add flow-dependent increments in control variable space (vp).
5 !-----------------------------------------------------------------------
9 integer, intent(in) :: ne ! Ensemble size.
10 type (ep_type), intent(in) :: ep ! Ensemble perturbations.
11 type (vp_type), intent(inout) :: vp ! CV on grid structure.
13 integer :: n, k! Loop counters.
15 vp % alpha(:,:,:,:) = 0.0
20 vp % alpha(its:ite,jts:jte,k,n) = vp % alpha(its:ite,jts:jte,k,n) + &
21 ep % v5(its:ite,jts:jte,k,n) * &
22 vp % v5(its:ite,jts:jte,k)
25 vp % alpha(its:ite,jts:jte,k,n) = vp % alpha(its:ite,jts:jte,k,n) + &
26 ep % v4(its:ite,jts:jte,k,n) * &
27 vp % v4(its:ite,jts:jte,k)
30 vp % alpha(its:ite,jts:jte,k,n) = vp % alpha(its:ite,jts:jte,k,n) + &
31 ep % v3(its:ite,jts:jte,k,n) * &
32 vp % v3(its:ite,jts:jte,k)
35 vp % alpha(its:ite,jts:jte,k,n) = vp % alpha(its:ite,jts:jte,k,n) + &
36 ep % v2(its:ite,jts:jte,k,n) * &
37 vp % v2(its:ite,jts:jte,k)
40 vp % alpha(its:ite,jts:jte,k,n) = vp % alpha(its:ite,jts:jte,k,n) + &
41 ep % v1(its:ite,jts:jte,k,n) * &
42 vp % v1(its:ite,jts:jte,k)
47 if (trace_use) call da_trace_exit("da_add_flow_dependence_vp_adj")
49 end subroutine da_add_flow_dependence_vp_adj