da_add_flow_dependence_vp_adj.inc

References to this file elsewhere.
1 subroutine da_add_flow_dependence_vp_adj (ne, ep, vp)
2 
3    !-----------------------------------------------------------------------
4    ! Purpose: Add flow-dependent increments in control variable space (vp).
5    !-----------------------------------------------------------------------
6                                       
7    implicit none
8    
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.
12    
13    integer                              :: n, k! Loop counters.
14 
15    vp % alpha(:,:,:) = 0.0
16 
17    do n = ne, 1, -1
18       do k = kte, kts, -1
19 
20          vp % alpha(its:ite,jts:jte,n) = vp % alpha(its:ite,jts:jte,n) + &
21                                          ep % v5(its:ite,jts:jte,k,n) * &
22                                          vp % v5(its:ite,jts:jte,k)
23 
24          ! rh:
25          vp % alpha(its:ite,jts:jte,n) = vp % alpha(its:ite,jts:jte,n) + &
26                                          ep % v4(its:ite,jts:jte,k,n) * &
27                                          vp % v4(its:ite,jts:jte,k)
28 
29          ! t_u:
30          vp % alpha(its:ite,jts:jte,n) = vp % alpha(its:ite,jts:jte,n) + &
31                                          ep % v3(its:ite,jts:jte,k,n) * &
32                                          vp % v3(its:ite,jts:jte,k)
33 
34          ! chi_u:
35          vp % alpha(its:ite,jts:jte,n) = vp % alpha(its:ite,jts:jte,n) + &
36                                          ep % v2(its:ite,jts:jte,k,n) * &
37                                          vp % v2(its:ite,jts:jte,k)
38 
39          ! psi:
40          vp % alpha(its:ite,jts:jte,n) = vp % alpha(its:ite,jts:jte,n) + &
41                                          ep % v1(its:ite,jts:jte,k,n) * &
42                                          vp % v1(its:ite,jts:jte,k)
43 
44       end do
45    end do
46 
47    if (trace_use) call da_trace_exit("da_add_flow_dependence_vp_adj")
48 
49 end subroutine da_add_flow_dependence_vp_adj
50 
51