da_jo_airsr_tq.inc
References to this file elsewhere.
1 subroutine da_jo_airsr_tq(iv, re, jo_grad_y, jo)
2
3 !-----------------------------------------------------------------------
4 ! Purpose: TBD
5 !-----------------------------------------------------------------------
6
7 implicit none
8
9 type (ob_type), intent(in ) :: iv ! Innovation vector.
10 type (y_type), intent(in ) :: re ! Residual vector.
11 type (y_type), intent(inout) :: jo_grad_y ! Grad_y(Jo)
12 type (jo_type), intent(inout) :: jo ! Obs cost function.
13 ! Local declarations
14 integer :: n, k
15 do n=1, iv%num_airsr
16 if (iv%airsr(n)%loc%proc_domain) then
17 do k=1, iv%airsr(n)%info%levels
18 jo % airsr_t = jo % airsr_t - &
19 re%airsr(n)%t(k) * jo_grad_y%airsr(n)%t(k)
20 jo % airsr_q = jo % airsr_q - &
21 re%airsr(n)%q(k) * jo_grad_y%airsr(n)%q(k)
22 end do
23 end if
24 end do
25
26 end subroutine da_jo_airsr_tq
27
28