1 !WRF:MODEL_LAYER:PHYSICS
7 !------------------------------------------------------------------
8 SUBROUTINE HSRAD(RTHRATEN,p8w,p_phy,pi_phy,dz8w,t_phy, &
9 t8w, rho_phy, R_d,G,CP,dt,xlat,degrad, &
10 ids,ide, jds,jde, kds,kde, &
11 ims,ime, jms,jme, kms,kme, &
12 its,ite, jts,jte, kts,kte )
14 !------------------------------------------------------------------
16 !------------------------------------------------------------------
17 INTEGER, INTENT(IN ) :: ids,ide, jds,jde, kds,kde, &
18 ims,ime, jms,jme, kms,kme, &
19 its,ite, jts,jte, kts,kte
21 REAL, INTENT(IN ) :: DEGRAD
23 REAL, DIMENSION( ims:ime, kms:kme, jms:jme ), &
24 INTENT(INOUT) :: RTHRATEN
26 REAL, INTENT(IN ) :: R_d,CP,G,dt
28 REAL, DIMENSION( ims:ime, kms:kme, jms:jme ), &
29 INTENT(IN ) :: dz8w, &
36 REAL, DIMENSION( ims:ime, jms:jme ), &
40 real :: delty,delthez,p0,sec_p_d,sigb,kka,kks,kkf,rcp
41 real :: ttmp,teq,sig,sigterm,kkt,t_tend
43 !------------------------------------------------------------------
44 ! Newtonian relaxation scheme from Held and Suarez, Bull. Amer. Met.
45 ! Soc., Vol. 75, No. 10., p1825-1830, 1994. (box on page 1826)
46 ! CEN and MIR 31-JUL-04
53 kka = 1.0/40.0 ! units of per day
58 j_loop: DO J=jts,MIN(jte,jde-1)
59 k_loop: DO K=kts,MIN(kte,kde-1)
60 i_loop: DO I=its,MIN(ite,ide-1)
62 ttmp = 315.0 - delty*(sin(xlat(i,j)*degrad))**2.0- &
63 delthez*alog(p_phy(i,k,j)/p0)*(cos(xlat(i,j)*degrad))**2.0
65 teq=max(200.0,ttmp*(p_phy(i,k,j)/p0)**rcp)
67 sig=p_phy(i,k,j)/p8w(i,1,j)
68 sigterm=max(0.0,(sig-sigb)/(1.0-sigb))
70 kkt=kka+(kks-kka)*sigterm*(cos(xlat(i,j)*degrad))**4.0
72 t_tend=-kkt*(t_phy(i,k,j)-teq)/sec_p_d ! t_tend in kinetic K/s
74 RTHRATEN(I,K,J)=RTHRATEN(I,K,J)+t_tend/pi_phy(i,k,j)
82 !====================================================================
83 SUBROUTINE hsinit(RTHRATEN,restart, &
84 ids, ide, jds, jde, kds, kde, &
85 ims, ime, jms, jme, kms, kme, &
86 its, ite, jts, jte, kts, kte )
87 !--------------------------------------------------------------------
89 !--------------------------------------------------------------------
90 LOGICAL , INTENT(IN) :: restart
91 INTEGER , INTENT(IN) :: ids, ide, jds, jde, kds, kde, &
92 ims, ime, jms, jme, kms, kme, &
93 its, ite, jts, jte, kts, kte
95 REAL , DIMENSION( ims:ime , kms:kme , jms:jme ) , INTENT(INOUT) :: &
97 INTEGER :: i, j, k, itf, jtf, ktf
113 END SUBROUTINE hsinit
115 !====================================================================
117 END MODULE module_ra_hs