Line data Source code
1 : module mo_phtadj
2 : private
3 : public :: phtadj
4 : contains
5 21888 : subroutine phtadj( p_rate, inv, m, ncol, nlev )
6 : use chem_mods, only : nfs, phtcnt
7 : use shr_kind_mod, only : r8 => shr_kind_r8
8 : implicit none
9 : !--------------------------------------------------------------------
10 : ! ... dummy arguments
11 : !--------------------------------------------------------------------
12 : integer, intent(in) :: ncol, nlev
13 : real(r8), intent(in) :: inv(ncol,nlev,max(1,nfs))
14 : real(r8), intent(in) :: m(ncol,nlev)
15 : real(r8), intent(inout) :: p_rate(ncol,nlev,max(1,phtcnt))
16 : !--------------------------------------------------------------------
17 : ! ... local variables
18 : !--------------------------------------------------------------------
19 : integer :: k
20 43776 : real(r8) :: im(ncol,nlev)
21 2867328 : do k = 1,nlev
22 36990720 : im(:ncol,k) = 1._r8 / m(:ncol,k)
23 36990720 : p_rate(:,k, 67) = p_rate(:,k, 67) * inv(:,k, 2) * im(:,k)
24 36990720 : p_rate(:,k, 68) = p_rate(:,k, 68) * inv(:,k, 2) * im(:,k)
25 36990720 : p_rate(:,k, 69) = p_rate(:,k, 69) * inv(:,k, 2) * im(:,k)
26 36990720 : p_rate(:,k, 70) = p_rate(:,k, 70) * inv(:,k, 2) * im(:,k)
27 36990720 : p_rate(:,k, 71) = p_rate(:,k, 71) * inv(:,k, 2) * im(:,k)
28 36990720 : p_rate(:,k, 72) = p_rate(:,k, 72) * inv(:,k, 2) * im(:,k)
29 36990720 : p_rate(:,k, 73) = p_rate(:,k, 73) * inv(:,k, 2) * im(:,k)
30 37012608 : p_rate(:,k, 74) = p_rate(:,k, 74) * inv(:,k, 2) * im(:,k)
31 : end do
32 21888 : end subroutine phtadj
33 : end module mo_phtadj
|