1 |
|
|
module fv_m |
2 |
|
|
|
3 |
|
|
implicit none |
4 |
|
|
|
5 |
|
|
contains |
6 |
|
|
|
7 |
|
|
elemental real function fV(z, rain) |
8 |
|
|
|
9 |
|
|
! H. Bellenger 2016 |
10 |
|
|
|
11 |
|
|
real, intent(in):: z ! profondeur en m (z < 0) |
12 |
|
|
real, intent(in):: rain ! rain mass flux, in kg m-2 s-1 |
13 |
|
|
|
14 |
|
|
! Local: |
15 |
|
|
|
16 |
|
|
real dfV |
17 |
|
|
! fraction of rain volume entering the ocean and deposited within depth "z" |
18 |
|
|
|
19 |
|
|
real rc, lbd, f0 |
20 |
|
|
real z_mm |
21 |
|
|
|
22 |
|
|
! Schlussel et al. 1997, Table 1: |
23 |
|
|
real, parameter:: zeta(14) = [0.0026091, 0.0022743, 0.0015406, 0.0012281, & |
24 |
|
|
0.0008795, 0.00077123, 0.00057451, 0.000438, 6.7228e-5, 6.4955e-5, & |
25 |
|
|
4.4234e-5, 3.3906e-5, 2.7433e-6, 4.0283e-7] |
26 |
|
|
real, parameter:: psi(14) = [0.60107, 0.29968, 0.5563, 1.80858, 0.2175, & |
27 |
|
|
0.33961, 0.96368, 0.65081, 0.5967, 2.7661, 2.2812, 2.7674, 2.6095, & |
28 |
|
|
6.5308] |
29 |
|
|
|
30 |
|
|
!--------------------------------------------------------------------- |
31 |
|
|
|
32 |
|
|
if (rain > 0.) then |
33 |
|
|
rc = 0.4 ! mm |
34 |
|
|
z_mm = z * 1000. ! mm and <0 |
35 |
|
|
lbd = 4.1 * (rain * 3600.)**(- 0.21) ! mm-1 |
36 |
|
|
f0 = (1. + 2. * lbd * rc + 0.5 * (2. * lbd * rc)**2 & |
37 |
|
|
+ 1. / 6. * (2. * lbd * rc)**3) * exp(- 1. * 2. * lbd * rc) |
38 |
|
|
dfv = sum(zeta * exp(- psi * lbd * abs(z_mm) / 100.)) |
39 |
|
|
fV = - dfV * abs(z_mm) + f0 |
40 |
|
|
else |
41 |
|
|
fV = 0. |
42 |
|
|
endif |
43 |
|
|
|
44 |
|
|
end function fV |
45 |
|
|
|
46 |
|
|
end module fv_m |