da_add_flow_dependence_xa.inc

References to this file elsewhere.
1 subroutine da_add_flow_dependence_xa (grid, ne, ep, vp)
2 
3    !-----------------------------------------------------------------------
4    ! Purpose: Add flow-dependent increments in model space (grid%xa).
5    !-----------------------------------------------------------------------
6                                       
7    implicit none
8    
9    type (domain), intent(inout)         :: grid
10    integer, intent(in)                  :: ne  ! Ensemble size.
11    type (ep_type), intent(in)           :: ep  ! Ensemble perturbations.
12    type (vp_type), intent(in)           :: vp  ! CV on grid structure.
13    
14    integer                              :: n, k! Loop counters.
15 
16    do n = 1, ne
17       do k = kts, kte
18 
19          ! u:
20          grid%xa % u(its:ite,jts:jte,k) = grid%xa % u(its:ite,jts:jte,k) + &
21                                      vp % alpha(its:ite,jts:jte,n) * &
22                                      ep % v1(its:ite,jts:jte,k,n) ! v1 = u
23          ! v:
24          grid%xa % v(its:ite,jts:jte,k) = grid%xa % v(its:ite,jts:jte,k) + &
25                                      vp % alpha(its:ite,jts:jte,n) * &
26                                      ep % v2(its:ite,jts:jte,k,n) ! v2 = v
27          ! t:
28          grid%xa % t(its:ite,jts:jte,k) = grid%xa % t(its:ite,jts:jte,k) + &
29                                      vp % alpha(its:ite,jts:jte,n) * &
30                                      ep % v3(its:ite,jts:jte,k,n) ! v3 = t
31          ! q:
32          grid%xa % q(its:ite,jts:jte,k) = grid%xa % q(its:ite,jts:jte,k) + &
33                                      vp % alpha(its:ite,jts:jte,n) * &
34                                      ep % v4(its:ite,jts:jte,k,n) ! v4 = q
35       end do
36 
37       ! ps:
38       grid%xa % psfc(its:ite,jts:jte) = grid%xa % psfc(its:ite,jts:jte) + &
39                                   vp % alpha(its:ite,jts:jte,n) * &
40                                   ep % v5(its:ite,jts:jte,1,n) ! v5 = ps
41    end do
42 
43    if (trace_use) call da_trace_exit("da_add_flow_dependence_xa")
44 
45 end subroutine da_add_flow_dependence_xa
46 
47