fv_m.f90 Source File


Contents

Source Code


Source Code

module fv_m

  implicit none

contains

  elemental real function fV(z, rain)

    ! H. Bellenger 2016

    real, intent(in):: z ! profondeur en m (z < 0)
    real, intent(in):: rain ! rain mass flux, in kg m-2 s-1

    ! Local:

    real dfV
    ! fraction of rain volume entering the ocean and deposited within depth "z"

    real rc, lbd, f0
    real z_mm

    ! Schlussel et al. 1997, Table 1:
    real, parameter:: zeta(14) = [0.0026091, 0.0022743, 0.0015406, 0.0012281, &
         0.0008795, 0.00077123, 0.00057451, 0.000438, 6.7228e-5, 6.4955e-5, &
         4.4234e-5, 3.3906e-5, 2.7433e-6, 4.0283e-7]
    real, parameter:: psi(14) = [0.60107, 0.29968, 0.5563, 1.80858, 0.2175, &
         0.33961, 0.96368, 0.65081, 0.5967, 2.7661, 2.2812, 2.7674, 2.6095, &
         6.5308]

    !---------------------------------------------------------------------

    if (rain > 0.) then
       rc = 0.4 ! mm
       z_mm = z * 1000. ! mm and <0
       lbd = 4.1 * (rain * 3600.)**(- 0.21) ! mm-1
       f0 = (1. + 2. * lbd * rc + 0.5 * (2. * lbd * rc)**2 &
            + 1. / 6. * (2. * lbd * rc)**3) * exp(- 1. * 2. * lbd * rc)
       dfv = sum(zeta * exp(- psi * lbd * abs(z_mm) / 100.))
       fV = - dfV * abs(z_mm) + f0
    else
       fV = 0.
    endif

  end function fV

end module fv_m