da_add_flow_dependence_vp.inc
References to this file elsewhere.
1 subroutine da_add_flow_dependence_vp (ne, ep, vp, &
2 its,ite, jts,jte, kts,kte)
3
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.
16
17 do n = 1, ne
18 do k = kts, kte
19
20 ! psi:
21 vp % v1(its:ite,jts:jte,k) = vp % v1(its:ite,jts:jte,k) + &
22 vp % alpha(its:ite,jts:jte,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,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,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,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,n) * &
39 ep % v5(its:ite,jts:jte,k,n)
40 end do
41 end do
42
43 if (trace_use) call da_trace_exit("da_add_flow_dependence_vp")
44
45 end subroutine da_add_flow_dependence_vp
46
47