da_prho_to_t_lin.inc
References to this file elsewhere.
1 subroutine da_prho_to_t_lin(xb, xp, xa)
2
3 !---------------------------------------------------------------------------
4 ! Purpose: Calculates temperature increments from pressure/density increments
5 !
6 ! Method: Linearised ideal gas law: T~ = T (p"/p - rho"/rho)
7 !
8 ! Assumptions: 1) Model level stored top down.
9 !---------------------------------------------------------------------------
10
11 implicit none
12
13 type (xb_type), intent(in) :: xb ! First guess structure.
14 type (xpose_type), intent(in) :: xp ! Dimensions and xpose buffers.
15 type (x_type), intent(inout) :: xa ! increment structure.
16
17 integer :: is, ie ! 1st dim. end points.
18 integer :: js, je ! 2nd dim. end points.
19 integer :: ks, ke ! 3rd dim. end points.
20
21 !---------------------------------------------------------------------------
22 ! [1.0] initialise:
23 !---------------------------------------------------------------------------
24
25 is = xp%its
26 ie = xp%ite
27 js = xp%jts
28 je = xp%jte
29 ks = xp%kts
30 ke = xp%kte
31
32 !---------------------------------------------------------------------------
33 ! [2.0] Calculate temperature increments:
34 !---------------------------------------------------------------------------
35
36 xa % t(is:ie,js:je,ks:ke) = xb % t(is:ie,js:je,ks:ke) * &
37 (xa % p(is:ie,js:je,ks:ke) / &
38 xb % p(is:ie,js:je,ks:ke) - &
39 xa % rho(is:ie,js:je,ks:ke) / &
40 xb % rho(is:ie,js:je,ks:ke))
41
42 end subroutine da_prho_to_t_lin
43
44