da_tprh_to_q_lin.inc

References to this file elsewhere.
1 subroutine da_tprh_to_q_lin(grid)
2 
3    !---------------------------------------------------------------------------
4    ! Purpose: Convert T/pressure/rh to specific humidity increments.
5    !
6    ! Method: q~ = q (rh~/rh + qs~/qs)
7    !---------------------------------------------------------------------------
8 
9    implicit none
10    
11    type (domain), intent(inout) :: grid
12    
13    real :: qs_prime_over_qs(its:ite,jts:jte,kts:kte) ! qs~/qs.
14 
15    if (trace_use) call da_trace_entry("da_tprh_to_q_lin")
16 
17    !---------------------------------------------------------------------------
18    ! [1.0] Calculate saturation specific humidity ratio qs~/qs:
19    !---------------------------------------------------------------------------
20 
21    call da_tp_to_qs_lin( grid, qs_prime_over_qs )
22    
23    !---------------------------------------------------------------------------
24    ! [2.0] Calculate specific humidity increment:
25    !---------------------------------------------------------------------------
26 
27    grid%xa % q(its:ite,jts:jte,kts:kte) = grid%xb % q(its:ite,jts:jte,kts:kte) * &
28                                ( grid%xa % rh(its:ite,jts:jte,kts:kte) / &
29                                  grid%xb % rh(its:ite,jts:jte,kts:kte) + &
30                                  qs_prime_over_qs(its:ite,jts:jte,kts:kte) )
31 
32    if (trace_use) call da_trace_exit("da_tprh_to_q_lin")
33 
34 end subroutine da_tprh_to_q_lin
35 
36