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