7 ki,klvl,pz,psso_stdev,pu,pforc_u,pdforc_udu)
34 USE yomhook
,ONLY : lhook, dr_hook
35 USE parkind1
,ONLY : jprb
44 INTEGER,
INTENT(IN) :: ki
45 INTEGER,
INTENT(IN) :: klvl
46 REAL,
DIMENSION(KI,KLVL),
INTENT(IN) :: pz
47 REAL,
DIMENSION(KI),
INTENT(IN) :: psso_stdev
49 REAL,
DIMENSION(KI,KLVL),
INTENT(IN) :: pu
51 REAL,
DIMENSION(KI,KLVL),
INTENT(INOUT) :: pforc_u
52 REAL,
DIMENSION(KI,KLVL),
INTENT(INOUT) :: pdforc_udu
60 REAL,
PARAMETER :: c_alpha = 12.
61 REAL,
PARAMETER :: c_beta = 1.
62 REAL,
PARAMETER :: c_cmd = 0.005
63 REAL,
PARAMETER :: c_cor = 0.6
64 REAL,
PARAMETER :: c_ih = 0.00102
65 REAL,
PARAMETER :: c_kflt = 0.00035
66 REAL,
PARAMETER :: c_k1 = 0.003
67 REAL,
PARAMETER :: c_n1 = -1.9
68 REAL,
PARAMETER :: c_n2 = -2.8
73 REAL,
DIMENSION(KI,KLVL) :: zsso_drag
74 REAL(KIND=JPRB) :: zhook_handle
78 IF (lhook) CALL dr_hook(
'SSO_BELJAARS04',0,zhook_handle)
83 c_avar = c_k1**(c_n1-c_n2) / (c_ih * c_kflt**c_n1)
93 zsso_drag(:,jl) = uss%XCOEFBE * c_alpha * c_beta * c_cor * c_cmd * 2.109 * exp( -(pz(:,jl)/1500.)**1.5) &
94 * c_avar * psso_stdev(:)**2 * pz(:,jl)**(-1.2)
103 pforc_u(:,:) = pforc_u(:,:) - zsso_drag(:,:) * pu(:,:)**2
105 pdforc_udu(:,:) = pdforc_udu(:,:) - 2. * zsso_drag(:,:) * pu(:,:)
107 IF (lhook) CALL dr_hook(
'SSO_BELJAARS04',1,zhook_handle)
subroutine sso_beljaars04(USS, KI, KLVL, PZ, PSSO_STDEV, PU, PFORC_U, PDFORC_UDU)