15 subroutine cmp_tlev(nCol,nLev,minP,p_lay,t_lay,p_lev,tsfc,t_lev)
17 integer,
intent(in) :: &
19 real(kind_phys),
intent(in) :: &
21 real(kind_phys),
dimension(nCol),
intent(in) :: &
23 real(kind_phys),
dimension(nCol,nLev),
intent(in) :: &
25 real(kind_phys),
dimension(nCol,nLev+1),
intent(in) :: &
29 real(kind_phys),
dimension(nCol,nLev+1),
intent(out) :: &
33 integer :: iCol,iLay, iSFC, iTOA
35 real(kind_phys),
dimension(nCol,nLev) :: tem2da, tem2db
37 top_at_1 = (p_lev(1,1) .lt. p_lev(1, nlev))
47 tem2da(1:ncol,2:isfc) = log(p_lay(1:ncol,2:isfc))
48 tem2db(1:ncol,2:isfc) = log(p_lev(1:ncol,2:isfc))
50 tem2da(icol,1) = log(p_lay(icol,1) )
51 tem2db(icol,1) = log(max(minp, p_lev(icol,1)) )
52 tem2db(icol,isfc) = log(p_lev(icol,isfc) )
54 t_lev(1:ncol,1) = t_lay(1:ncol,itoa)
57 t_lev(icol,ilay) = t_lay(icol,ilay) + (t_lay(icol,ilay-1) - t_lay(icol,ilay))&
58 * (tem2db(icol,ilay) - tem2da(icol,ilay)) &
59 / (tem2da(icol,ilay-1) - tem2da(icol,ilay))
62 t_lev(1:ncol,isfc+1) = tsfc(1:ncol)
64 tem2da(1:ncol,2:itoa) = log(p_lay(1:ncol,2:itoa))
65 tem2db(1:ncol,2:itoa) = log(p_lev(1:ncol,2:itoa))
67 tem2da(icol,1) = log(p_lay(icol,1))
68 tem2db(icol,1) = log(p_lev(icol,1))
69 tem2db(icol,itoa) = log(max(minp, p_lev(icol,itoa)) )
72 t_lev(1:ncol,1) = tsfc(1:ncol)
75 t_lev(icol,ilay+1) = t_lay(icol,ilay) + (t_lay(icol,ilay+1) - t_lay(icol,ilay))&
76 * (tem2db(icol,ilay+1) - tem2da(icol,ilay)) &
77 / (tem2da(icol,ilay+1) - tem2da(icol,ilay))
80 t_lev(1:ncol,itoa+1) = t_lay(1:ncol,itoa)