1 |
module clcdrag_m |
module cdrag_m |
2 |
|
|
3 |
IMPLICIT NONE |
IMPLICIT NONE |
4 |
|
|
5 |
contains |
contains |
6 |
|
|
7 |
SUBROUTINE clcdrag(nsrf, speed, t, q, zgeop, psol, ts, qsurf, rugos, pcfm, & |
SUBROUTINE cdrag(nsrf, speed, t, q, zgeop, psol, ts, qsurf, rugos, pcfm, & |
8 |
pcfh, pref) |
pcfh, pref) |
9 |
|
|
10 |
! From LMDZ4/libf/phylmd/clcdrag.F90, version 1.1.1.1, 2004/05/19 12:53:07 |
! From LMDZ4/libf/phylmd/clcdrag.F90 and |
11 |
|
! LMDZ4/libf/phylmd/coefcdrag.F90, version 1.1.1.1, 2004/05/19 |
12 |
|
! 12:53:07 |
13 |
|
|
14 |
! Objet : calcul des drag coefficients au sol pour le moment et |
! Objet : calcul des drag coefficients au sol pour le moment et |
15 |
! les flux de chaleur sensible et latente et calcul de la pression |
! les flux de chaleur sensible et latente et calcul de la pression |
62 |
|
|
63 |
knon = assert_eq([size(speed), size(t), size(q), size(zgeop), size(ts), & |
knon = assert_eq([size(speed), size(t), size(q), size(zgeop), size(ts), & |
64 |
size(qsurf), size(rugos), size(pcfm), size(pcfh), size(pcfm)], & |
size(qsurf), size(rugos), size(pcfm), size(pcfh), size(pcfm)], & |
65 |
"clcdrag knon") |
"cdrag knon") |
66 |
|
|
67 |
DO i = 1, knon |
DO i = 1, knon |
68 |
zdu2 = max(cepdu2, speed(i)**2) |
zdu2 = max(cepdu2, speed(i)**2) |
102 |
if (present(pref)) & |
if (present(pref)) & |
103 |
pref = exp(log(psol) - zgeop / (RD * t * (1. + RETV * max(q, 0.)))) |
pref = exp(log(psol) - zgeop / (RD * t * (1. + RETV * max(q, 0.)))) |
104 |
|
|
105 |
END SUBROUTINE clcdrag |
END SUBROUTINE cdrag |
106 |
|
|
107 |
end module clcdrag_m |
end module cdrag_m |