wrf svn trunk commit r4103
[wrffire.git] / wrfv2_fire / var / da / da_vtox_transforms / da_add_flow_dependence_vp_adj.inc
blobb4eb0029bdabb6b45f29f3e9f3cfd31cf82c6045
1 subroutine da_add_flow_dependence_vp_adj (ne, ep, vp)
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.
15    vp % alpha(:,:,:,:) = 0.0
17    do n = ne, 1, -1
18       do k = kte, kts, -1
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)
24          ! rh:
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)
29          ! t_u:
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)
34          ! chi_u:
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)
39          ! psi:
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)
44       end do
45    end do
47    if (trace_use) call da_trace_exit("da_add_flow_dependence_vp_adj")
49 end subroutine da_add_flow_dependence_vp_adj