6 |
|
|
7 |
SUBROUTINE CLOUDS_GNO(klon, ND, R, RS, QSUB, PTCONV, RATQSC, CLDF) |
SUBROUTINE CLOUDS_GNO(klon, ND, R, RS, QSUB, PTCONV, RATQSC, CLDF) |
8 |
|
|
9 |
! From LMDZ4/libf/phylmd/clouds_gno.F, version 1.2 2004/11/09 16:55:40 |
! From LMDZ4/libf/phylmd/clouds_gno.F, version 1.2, 2004/11/09 16:55:40 |
10 |
|
|
11 |
use numer_rec_95, only: nr_erf |
use numer_rec_95, only: nr_erf |
12 |
|
|
155 |
! erfv for v large: |
! erfv for v large: |
156 |
|
|
157 |
erfcu(i) = 1.0-NR_ERF(u(i)) |
erfcu(i) = 1.0-NR_ERF(u(i)) |
158 |
! !!! ATTENTION : rajout d'un seuil pour l'exponentiel |
! Attention : ajout d'un seuil pour l'exponentielle |
159 |
aux(i) = sqrtpi*erfcu(i)*EXP(min(v(i)*v(i), 100.)) |
aux(i) = sqrtpi*erfcu(i)*EXP(min(v(i)*v(i), 80.)) |
160 |
coeff(i) = 1.0 - 1./2./(v(i)**2.) + 3./4./(v(i)**4.) |
coeff(i) = 1.0 - 1./2./(v(i)**2.) + 3./4./(v(i)**4.) |
161 |
block(i) = coeff(i) * EXP(-v(i)*v(i)) / v(i) / sqrtpi |
block(i) = coeff(i) * EXP(-v(i)*v(i)) / v(i) / sqrtpi |
162 |
dist(i) = v(i) * aux(i) / coeff(i) - beta(i) |
dist(i) = v(i) * aux(i) / coeff(i) - beta(i) |