da_tprh_to_q_adj1.inc

References to this file elsewhere.
1 subroutine da_tprh_to_q_adj1( t, p, es, q, rh, &
2                               t_prime, p_prime, rh_prime, q_prime )
3 
4    !---------------------------------------------------------------------------
5    !  Purpose: Adjoint of da_tprh_to_q_adj.
6    !---------------------------------------------------------------------------
7 
8    implicit none
9 
10    real, intent(in)              :: t        ! Temperature.
11    real, intent(in)              :: es       ! Saturation vapour pressure.
12    real, intent(in)              :: p        ! Pressure.
13    real, intent(in)              :: q        ! Specific humidity.
14    real, intent(in)              :: rh       ! Relative Humidity.
15    real, intent(inout)           :: t_prime  ! Temperature increment.
16    real, intent(inout)           :: p_prime  ! Pressure increment.
17    real, intent(inout)           :: rh_prime ! Pressure increment.
18    real, intent(in)              :: q_prime  ! Pressure increment.
19    
20    real                          :: temp     ! Temporary storage.
21    real                          :: qs_prime_over_qs ! qs~/qs.
22 
23    temp = q * q_prime
24 
25    !---------------------------------------------------------------------------
26    ! [2.0] Calculate relative humidity increment:
27    !---------------------------------------------------------------------------
28 
29    rh_prime = rh_prime + temp / rh
30    qs_prime_over_qs = temp
31 
32    !---------------------------------------------------------------------------
33    ! [1.0] Calculate saturation specific humidity ratio qs~/qs:
34    !---------------------------------------------------------------------------
35 
36    call da_tp_to_qs_adj1( t, p, es, t_prime, p_prime, qs_prime_over_qs )
37 
38 end subroutine da_tprh_to_q_adj1
39 
40