6 SUBROUTINE init_water_sbl(KLVL, PPA, PPS, PTA, PQA, PRHOA, PU, PV, PRAIN, PSNOW, &
7 psfth, psftq, pzref, puref, pts, pz0, pz, &
8 pt, pq, pwind, ptke, pp)
32 USE modd_csts, ONLY : xcpd, xrd, xp00, xtt, xg
39 USE yomhook
,ONLY : lhook, dr_hook
40 USE parkind1
,ONLY : jprb
46 INTEGER ,
INTENT(IN) :: klvl
47 REAL,
DIMENSION(:),
INTENT(IN) :: ppa
48 REAL,
DIMENSION(:),
INTENT(IN) :: pps
49 REAL,
DIMENSION(:),
INTENT(IN) :: pta
50 REAL,
DIMENSION(:),
INTENT(IN) :: pqa
51 REAL,
DIMENSION(:),
INTENT(IN) :: prhoa
52 REAL,
DIMENSION(:),
INTENT(IN) :: pu
53 REAL,
DIMENSION(:),
INTENT(IN) :: pv
54 REAL,
DIMENSION(:),
INTENT(IN) :: psnow
55 REAL,
DIMENSION(:),
INTENT(IN) :: prain
56 REAL,
DIMENSION(:),
INTENT(IN) :: pzref
57 REAL,
DIMENSION(:),
INTENT(IN) :: puref
58 REAL,
DIMENSION(:),
INTENT(IN) :: pts
59 REAL,
DIMENSION(:,:),
INTENT(IN):: pz
60 REAL,
DIMENSION(:),
INTENT(INOUT) :: pz0
61 REAL,
DIMENSION(:),
INTENT(OUT) :: psfth
62 REAL,
DIMENSION(:),
INTENT(OUT) :: psftq
64 REAL,
DIMENSION(:,:),
INTENT(OUT) :: pt
65 REAL,
DIMENSION(:,:),
INTENT(OUT) :: pq
66 REAL,
DIMENSION(:,:),
INTENT(OUT) :: pwind
67 REAL,
DIMENSION(:,:),
INTENT(OUT) :: ptke
68 REAL,
DIMENSION(:,:),
INTENT(OUT) :: pp
74 REAL,
DIMENSION(SIZE(PTA)) :: zwind
75 REAL,
DIMENSION(SIZE(PTA)) :: zexna
76 REAL,
DIMENSION(SIZE(PTA)) :: zqa
80 REAL,
DIMENSION(SIZE(PTA)) :: zustar
82 REAL,
DIMENSION(SIZE(PTA)) :: zexns
83 REAL,
DIMENSION(SIZE(PTA)) :: zqsat
84 REAL,
DIMENSION(SIZE(PTA)) :: zcd
85 REAL,
DIMENSION(SIZE(PTA)) :: zcdn
86 REAL,
DIMENSION(SIZE(PTA)) :: zch
87 REAL,
DIMENSION(SIZE(PTA)) :: zri
88 REAL,
DIMENSION(SIZE(PTA)) :: zresa_sea
89 REAL,
DIMENSION(SIZE(PTA)) :: zz0h
90 REAL,
DIMENSION(SIZE(PTA)) :: zcls_wind_zon
91 REAL,
DIMENSION(SIZE(PTA)) :: zcls_wind_mer
92 REAL,
DIMENSION(SIZE(PTA)) :: ztnm
93 REAL,
DIMENSION(SIZE(PTA)) :: zqnm
94 REAL,
DIMENSION(SIZE(PTA)) :: zhunm
95 REAL,
DIMENSION(SIZE(PTA)) :: zhu
98 LOGICAL :: ghandle_sic = .false.
99 REAL(KIND=JPRB) :: zhook_handle
105 IF (lhook) CALL dr_hook(
'INIT_WATER_SBL',0,zhook_handle)
107 zexna(:) = (ppa(:)/xp00)**(xrd/xcpd)
108 zexns(:) = (pps(:)/xp00)**(xrd/xcpd)
109 zqa(:) = pqa(:) / prhoa(:)
110 zwind(:) = sqrt(pu**2+pv**2)
116 pta, zexna, prhoa, pts, zexns, zqa, prain, &
117 psnow, xtt, zwind, pzref, puref, &
118 pps, ghandle_sic, zqsat, psfth, psftq, zustar, &
119 zcd, zcdn, zch, zri, zresa_sea, zz0h )
126 CALL
cls_tq(pta, zqa, ppa, pps, pzref, zcd, zch, zri, pts, zhu, zz0h, &
127 pz(:,jlayer), ztnm, zqnm, zhunm )
132 CALL
cls_wind(pu, pv, puref, zcd, zcdn, zri, pz(:,jlayer), &
133 zcls_wind_zon, zcls_wind_mer )
135 pwind(:,jlayer) = sqrt( zcls_wind_zon(:)**2 + zcls_wind_mer(:)**2 )
136 ptke(:,jlayer) = xalpsbl * zcd(:) * ( pu(:)**2 + pv(:)**2 )
137 pp(:,jlayer) = ppa(:) + xg * prhoa(:) * ( pz(:,klvl) - pz(:,jlayer) )
141 IF (lhook) CALL dr_hook(
'INIT_WATER_SBL',1,zhook_handle)
subroutine cls_wind(PZONA, PMERA, PHW, PCD, PCDN, PRI, PHV, PZON10M, PMER10M)
subroutine init_water_sbl(KLVL, PPA, PPS, PTA, PQA, PRHOA, PU, PV, PRAIN, PSNOW, PSFTH, PSFTQ, PZREF, PUREF, PTS, PZ0, PZ, PT, PQ, PWIND, PTKE, PP)
subroutine water_flux(PZ0SEA, PTA, PEXNA, PRHOA, PSST, PEXNS, PQA, PRR, PRS, PTT, PVMOD, PZREF, PUREF, PPS, OHANDLE_SIC, PQSAT, PSFTH, PSFTQ, PUSTAR, PCD, PCDN, PCH, PRI, PRESA, PZ0HSEA)
subroutine cls_tq(PTA, PQA, PPA, PPS, PHT, PCD, PCH, PRI, PTS, PHU, PZ0H, PH, PTNM, PQNM, PHUNM)