1 |
module coefcdrag_m |
module coefcdrag_m |
2 |
|
|
3 |
IMPLICIT none |
IMPLICIT NONE |
4 |
|
|
5 |
contains |
contains |
6 |
|
|
7 |
SUBROUTINE coefcdrag (knon, nsrf, speed, t, q, zgeop, psol, ts, qsurf, & |
SUBROUTINE coefcdrag (nsrf, speed, t, q, zgeop, psol, ts, qsurf, rugos, & |
8 |
rugos, cdram, cdrah, cdran, zri1, pref) |
cdram, cdrah, cdran, zri1, pref) |
9 |
|
|
10 |
! From LMDZ4/libf/phylmd/coefcdrag.F90, version 1.1.1.1, 2004/05/19 12:53:07 |
! From LMDZ4/libf/phylmd/coefcdrag.F90, version 1.1.1.1, 2004/05/19 12:53:07 |
11 |
|
|
20 |
use SUPHEC_M, only: rd, retv, rg, rkappa |
use SUPHEC_M, only: rd, retv, rg, rkappa |
21 |
use dimphy, only: klon |
use dimphy, only: klon |
22 |
|
|
23 |
INTEGER, intent(in) :: knon, nsrf |
INTEGER, intent(in) :: nsrf |
|
! knon----input-I- nombre de points pour un type de surface |
|
24 |
! nsrf----input-I- indice pour le type de surface; voir indicesol.inc |
! nsrf----input-I- indice pour le type de surface; voir indicesol.inc |
25 |
REAL, intent(in) :: speed(:), t(:), q(:), zgeop(:), psol(:) ! (knon) |
REAL, intent(in) :: speed(:), t(:), q(:), zgeop(:), psol(:) ! (knon) |
26 |
! speed---input-R- module du vent au 1er niveau du modele |
! speed---input-R- module du vent au 1er niveau du modele |
51 |
|
|
52 |
!------------------------------------------------------------------------- |
!------------------------------------------------------------------------- |
53 |
|
|
54 |
DO i = 1, knon |
DO i = 1, size(speed) |
55 |
zdphi(i) = zgeop(i) |
zdphi(i) = zgeop(i) |
56 |
zdu2(i) = speed(i)**2 |
zdu2(i) = speed(i)**2 |
57 |
pref(i) = exp(log(psol(i)) - zdphi(i)/(RD*t(i)* & |
pref(i) = exp(log(psol(i)) - zdphi(i)/(RD*t(i)* & |
94 |
ENDIF |
ENDIF |
95 |
END DO |
END DO |
96 |
|
|
|
contains |
|
|
|
|
|
REAL function fsta(x) |
|
|
real x |
|
|
fsta = 1.0 / (1.0+10.0*x*(1+8.0*x)) |
|
|
end function fsta |
|
|
|
|
|
REAL function fins(x) |
|
|
real x |
|
|
fins = SQRT(1.0-18.0*x) |
|
|
end function fins |
|
|
|
|
97 |
END SUBROUTINE coefcdrag |
END SUBROUTINE coefcdrag |
98 |
|
|
99 |
end module coefcdrag_m |
end module coefcdrag_m |