disdrodb.fall_velocity package

Contents

disdrodb.fall_velocity package#

Submodules#

disdrodb.fall_velocity.graupel module#

Theoretical models to estimate the graupel fall velocity based on particle maximum diameter in mm.

disdrodb.fall_velocity.graupel.available_graupel_fall_velocity_models()[source][source]#

Return a list of the available graupel fall velocity models.

disdrodb.fall_velocity.graupel.check_graupel_fall_velocity_model(model)[source][source]#

Check validity of the specified graupel fall velocity model.

disdrodb.fall_velocity.graupel.get_fall_velocity_heymsfield_2014(diameter)[source][source]#

Compute terminal velocity of graupel and small hail.

Use Heymsfield & Wright (2014) empirical formula.

Parameters:

diameter (array-like or float) – Particle maximum diameter in millimeters [mm].

Returns:

  • fall_velocity (numpy.ndarray or xarray.DataArray) – Terminal fall velocity [m s⁻¹].

  • Reference

  • ———

  • Heymsfield, A. J., and Wright, R., 2014.

  • Graupel and hail terminal velocities (Observations and theory.)

  • Journal of the Atmospheric Sciences , 71(1), 339-353.*

disdrodb.fall_velocity.graupel.get_fall_velocity_heymsfield_2018(diameter)[source][source]#

Get graupel fall velocity from Heymsfield et al., 2018.

Use the Heymsfield et al., 2018 parameterization.

Parameters:

diameter (array-like or float) – Particle maximum diameter in millimeters [mm].

Returns:

fall_velocity – Terminal fall velocity [m s⁻¹].

Return type:

xarray.DataArray or numpy.ndarray

References

Heymsfield, A., M. Szakáll, A. Jost, I. Giammanco, and R. Wright, 2018. A Comprehensive Observational Study of Graupel and Hail Terminal Velocity, Mass Flux, and Kinetic Energy. J. Atmos. Sci., 75, 3861-3885, https://doi.org/10.1175/JAS-D-18-0035.1.

Heymsfield, A., M. Szakáll, A. Jost, I. Giammanco, R. Wright, and J. Brimelow, 2020. CORRIGENDUM. J. Atmos. Sci., 77, 405-412, https://doi.org/10.1175/JAS-D-19-0185.1.

disdrodb.fall_velocity.graupel.get_fall_velocity_lee_2015(diameter)[source][source]#

Compute terminal fall velocity of lump graupel.

Use Lee et al., 2015 empirical formula.

Parameters:

diameter (array-like or float) – Particle maximum diameter in millimeters [mm].

Returns:

fall_velocity – Terminal fall velocity [m s⁻¹].

Return type:

numpy.ndarray or xarray.DataArray

disdrodb.fall_velocity.graupel.get_fall_velocity_locatelli_1974_conical(diameter)[source][source]#

Compute terminal fall velocity of cone-shaped graupel.

Use Locatelli and Hobbs 1974 empirical formula.

Parameters:

diameter (array-like or float) – Particle maximum diameter in millimeters [mm].

Returns:

  • fall_velocity (numpy.ndarray or xarray.DataArray) – Terminal fall velocity [m s⁻¹].

  • Reference

  • ———

  • Locatelli, J. D., and P. V. Hobbs (1974).

  • Fall speeds and masses of solid precipitation particles

  • J. Geophys. Res., 79(15), 2185-2197, doi (10.1029/JC079i015p02185.)

disdrodb.fall_velocity.graupel.get_fall_velocity_locatelli_1974_hexagonal(diameter)[source][source]#

Compute terminal fall velocity of hexagonal graupel.

Use Locatelli and Hobbs 1974 empirical formula.

Parameters:

diameter (array-like or float) – Particle maximum diameter in millimeters [mm].

Returns:

  • fall_velocity (numpy.ndarray or xarray.DataArray) – Terminal fall velocity [m s⁻¹].

  • Reference

  • ———

  • Locatelli, J. D., and P. V. Hobbs (1974).

  • Fall speeds and masses of solid precipitation particles

  • J. Geophys. Res., 79(15), 2185-2197, doi (10.1029/JC079i015p02185.)

disdrodb.fall_velocity.graupel.get_fall_velocity_locatelli_1974_lump(diameter)[source][source]#

Compute terminal fall velocity of lump graupel.

Use Locatelli and Hobbs 1974 empirical formula.

Parameters:

diameter (array-like or float) – Particle maximum diameter in millimeters [mm].

Returns:

  • fall_velocity (numpy.ndarray or xarray.DataArray) – Terminal fall velocity [m s⁻¹].

  • Reference

  • ———

  • Locatelli, J. D., and P. V. Hobbs (1974).

  • Fall speeds and masses of solid precipitation particles

  • J. Geophys. Res., 79(15), 2185-2197, doi (10.1029/JC079i015p02185.)

disdrodb.fall_velocity.graupel.get_graupel_density(diameter)[source][source]#

Estimate the graupel particle density.

Use the Heymsfield & Wright (2014) parameterization.

At 5mm, graupel density only 140 kg/m3 …

Parameters:

diameter (array-like or float) – Particle maximum diameter in millimeters [mm].

Returns:

graupel_density – Graupel density [kg/m3].

Return type:

xarray.DataArray or numpy.ndarray

References

Heymsfield, A. J., and Wright, R., 2014. Graupel and Hail Terminal Velocities: Does a Supercritical Reynolds Number Apply? J. Atmos. Sci., 71, 3392-3403, https://doi.org/10.1175/JAS-D-14-0034.1.

disdrodb.fall_velocity.graupel.get_graupel_fall_velocity(diameter, model, ds_env=None, minimum_diameter=0.5, maximum_diameter=5)[source][source]#

Calculate the fall velocity of graupel based on their diameter.

Parameters:
  • diameter (array-like) – The diameter of the graupel in millimeters.

  • model (str) – The model to use for calculating the graupel fall velocity. Must be one of the following: ‘Lee2015’, ‘Locatelli1974Lump’, ‘Locatelli1974Conical’, ‘Locatelli1974Hexagonal’, ‘Heymsfield2014’, ‘Heymsfield2018’.

  • ds_env (xarray.Dataset, optional) –

    A dataset containing the following environmental variables:

    • ’altitude’ (m)

    • ’latitude’ (°)

    • ’temperature’ : Temperature in degrees Kelvin (K).

    • ’relative_humidity’ : Relative humidity. A value between 0 and 1.

    • ’sea_level_air_pressure’ : Sea level air pressure in Pascals (Pa).

    • ’lapse_rate’ : Lapse rate in degrees Celsius per meter (°C/m).

    If not specified, sensible default values are used.

Returns:

fall_velocity – The calculated graupel fall velocities per diameter.

Return type:

xarray.DataArray

Notes

The ‘Beard1976’ model requires additional environmental parameters. These parameters can be provided through the ds_env argument. If not provided, default values are be used.

For D < 0.12, Atlas1973 relationship results output V = 0 m/s ! For D < 0.05, VanDijk2002 relationship results output V = 0 m/s ! For D < 0.02, Brandes relationship results output V = 0 m/s !

disdrodb.fall_velocity.graupel.get_graupel_fall_velocity_model(model)[source][source]#

Return the specified graupel fall velocity model.

Parameters:

model (str) – The model to use for calculating the rain drop fall velocity. Available models are: ‘Lee2015’, ‘Locatelli1974Lump’, ‘Locatelli1974Conical’, ‘Locatelli1974Hexagonal’, ‘Heymsfield2014’, ‘Heymsfield2018’.

Returns:

A function which compute the graupel fall velocity model given the rain drop diameter in mm.

Return type:

callable

Notes

This function serves as a wrapper to various graupel fall velocity models. It returns the appropriate model based on the model parameter.

disdrodb.fall_velocity.graupel.get_graupel_heymsfield_2014_fall_velocity(diameter, graupel_density=500.0, air_density=1.225, air_dynamic_viscosity=1.81e-05, g=9.81)[source][source]#

Compute the terminal fall velocity of sleet, graupel and small hail particles.

Use the Heymsfield & Wright (2014) parameterization.

Parameters:
  • diameter (array-like or float) – Particle maximum diameter in millimeters [mm].

  • air_density (float, optional) – Air density [kg m⁻³]. Default is 1.225 (typical at sea level, 15°C).

  • graupel_density (float, optional) – Bulk density of the ice particle [kg m⁻³]. Defaults to 500 kg m⁻³ (typical for graupel; hail can be ~900).

  • air_dynamic_viscosity (float, optional) – Dynamic viscosity of air [kg m⁻¹ s⁻¹]. Default is 1.81e-5 (air at 15°C, 1 atm).

  • g (float, optional) – Acceleration due to gravity [m s⁻²]. Default is 9.81.

Returns:

fall_velocity – Terminal fall velocity [m s⁻¹].

Return type:

xarray.DataArray

Notes

The relationship is based on empirical fits to the Reynolds number (Re) as a function of a dimensionless variable X:

\[\begin{split}X = \\frac{4}{3} D^3 \\rho_b g \\frac{\\rho_a}{\\eta_a^2}\end{split}\]

Two regimes are used to compute the Reynolds number \(Re\) as a function of the dimensionless parameter \(X\):

\[\begin{split}Re = \\begin{cases} 0.106\\, X^{0.693}, & \\text{for } X < 6.77 \\times 10^{4} \\\\ 0.55\\, X^{0.545}, & \\text{for } X \\ge 6.77 \\times 10^{4} \\end{cases}\end{split}\]

The terminal fall velocity \(v_t\) is then obtained as:

\[\begin{split}v_t = \\frac{Re\\, \\eta_a}{\\rho_a\\, D}\end{split}\]

where:

  • \(Re\) — Reynolds number (dimensionless)

  • \(\\eta_a\) — dynamic viscosity of air [kg m⁻¹ s⁻¹]

  • \(\\rho_a\) — air density [kg m⁻³]

  • \(D\) — particle diameter [m]

  • \(\\rho_b\) — bulk density of the particle [kg m⁻³]

  • \(g\) — gravitational acceleration [m s⁻²]

References

Heymsfield, A. J., and Wright, R., 2014. Graupel and Hail Terminal Velocities: Does a Supercritical Reynolds Number Apply? J. Atmos. Sci., 71, 3392-3403, https://doi.org/10.1175/JAS-D-14-0034.1.

disdrodb.fall_velocity.graupel.retrieve_graupel_heymsfield2014_fall_velocity(diameter, ds_env, graupel_density=500.0)[source][source]#

Compute the terminal fall velocity of sleet, graupel and small hail particles.

Use the Heymsfield & Wright (2014) parameterization.

Parameters:
  • diameter (array-like) – Diameter of the graupel particles in millimeters.

  • ds_env (xarray.Dataset) –

    A dataset containing the following environmental variables:

    • ’altitude’ : Altitude in meters (m).

    • ’latitude’ : Latitude in degrees.

    • ’temperature’ : Temperature in degrees Kelvin (K).

    • ’relative_humidity’ : Relative humidity between 0 and 1.

    • ’sea_level_air_pressure’ : Standard atmospheric pressure at sea level in Pascals (Pa). The default is 101_325 Pa.

    • ’air_pressure’: Air pressure in Pascals (Pa). If None, air_pressure at altitude is inferred.

    • ’lapse_rate’ : Atmospheric lapse rate in degrees Celsius or Kelvin per meter (°C/m). The default is 0.0065 K/m.

    • ’gas_constant_dry_air’: Gas constant for dry air in J/(kg*K). The default is 287.04 is J/(kg*K).

  • graupel_density (float, optional) – Bulk density of the ice particle [kg m⁻³]. Defaults to 500 kg m⁻³ (typical for graupel; hail can be ~900).

Returns:

fall_velocity – Terminal fall velocity for the graupel particles.

Return type:

array-like

disdrodb.fall_velocity.hail module#

Theoretical models to estimate hailstones fall velocity based on particle maximum diameter in mm.

disdrodb.fall_velocity.hail.available_hail_fall_velocity_models()[source][source]#

Return a list of the available hail fall velocity models.

disdrodb.fall_velocity.hail.check_hail_fall_velocity_model(model)[source][source]#

Check validity of the specified hail fall velocity model.

disdrodb.fall_velocity.hail.get_fall_velocity_fehlmann_2020(diameter)[source][source]#

Get hailstones fall velocity from Fehlmann et al., 2020.

disdrodb.fall_velocity.hail.get_fall_velocity_heymsfield_2014(diameter)[source][source]#

Get hail fall velocity from Heymsfield et al., 2014.

Use the Heymsfield et al., 2014 parameterization.

Parameters:

diameter (array-like or float) – Maximum Particle maximum diameter in millimeters [mm].

Returns:

fall_velocity – Terminal fall velocity [m s⁻¹].

Return type:

xarray.DataArray or numpy.ndarray

References

Heymsfield, A. J., I. M. Giammanco, and R. Wright (2014). Terminal velocities and kinetic energies of natural hailstones. Geophys. Res. Lett., 41, 8666-8672, https://doi.org/10.1002/2014GL062324

disdrodb.fall_velocity.hail.get_fall_velocity_heymsfield_2018(diameter)[source][source]#

Get hailstones fall velocity from Heymsfield et al., 2018.

Parameters:

diameter (array-like or float) – Particle maximum diameter in millimeters [mm].

Returns:

fall_velocity – Terminal fall velocity [m s⁻¹].

Return type:

array-like or float

References

Heymsfield, A., M. Szakáll, A. Jost, I. Giammanco, and R. Wright, 2018. A Comprehensive Observational Study of Graupel and Hail Terminal Velocity, Mass Flux, and Kinetic Energy. J. Atmos. Sci., 75, 3861-3885, https://doi.org/10.1175/JAS-D-18-0035.1.

Heymsfield, A., M. Szakáll, A. Jost, I. Giammanco, R. Wright, and J. Brimelow, 2020. CORRIGENDUM. J. Atmos. Sci., 77, 405-412, https://doi.org/10.1175/JAS-D-19-0185.1.

disdrodb.fall_velocity.hail.get_fall_velocity_knight_1983_high_density(diameter)[source][source]#

Get low-density hailstones fall velocity based on Knight et al. 1983.

The parametrization is reported in Figure 6 of Knight et al. 1983. It’s valid for hail stone density around 0.82 g cm-3.

Parameters:

diameter (array-like or float) – Particle maximum diameter in millimeters [mm].

Returns:

fall_velocity – Terminal fall velocity [m s⁻¹].

Return type:

array-like or float

References

Knight, N. C., and A. J. Heymsfield, 1983. Measurement and Interpretation of Hailstone Density and Terminal Velocity. J. Atmos. Sci., 40, 1510-1516. https://doi.org/10.1175/1520-0469(1983)040<1510:MAIOHD>2.0.CO;2.

disdrodb.fall_velocity.hail.get_fall_velocity_knight_1983_low_density(diameter)[source][source]#

Get low-density hailstones fall velocity based on Knight et al. 1983.

The parametrization is reported in Figure 3 of Knight et al. 1983. It’s valid for hail stone density between 0.31 and 0.61 g cm-3.

Parameters:

diameter (array-like or float) – Particle maximum diameter in millimeters [mm].

Returns:

fall_velocity – Terminal fall velocity [m s⁻¹].

Return type:

array-like or float

References

Knight, N. C., and A. J. Heymsfield, 1983. Measurement and Interpretation of Hailstone Density and Terminal Velocity. J. Atmos. Sci., 40, 1510-1516. https://doi.org/10.1175/1520-0469(1983)040<1510:MAIOHD>2.0.CO;2.

disdrodb.fall_velocity.hail.get_fall_velocity_laurie_1960(diameter)[source][source]#

Get hailstones fall velocity based on Laurie 1960 data.

The parametrizazion is reported in Table 3 of Heymsfield et al., 2018.

Parameters:

diameter (array-like or float) – Particle maximum diameter in millimeters [mm].

Returns:

fall_velocity – Terminal fall velocity [m s⁻¹].

Return type:

array-like or float

References

Heymsfield, A., M. Szakáll, A. Jost, I. Giammanco, and R. Wright, 2018. A Comprehensive Observational Study of Graupel and Hail Terminal Velocity, Mass Flux, and Kinetic Energy. J. Atmos. Sci., 75, 3861-3885, https://doi.org/10.1175/JAS-D-18-0035.1.

disdrodb.fall_velocity.hail.get_hail_fall_velocity(diameter, model, ds_env=None, minimum_diameter=4)[source][source]#

Calculate the fall velocity of hails based on their diameter.

Parameters:
  • diameter (array-like) – The diameter of the hails in millimeters.

  • model (str) – The model to use for calculating the hail fall velocity. Must be one of the following: ‘Laurie1960’, ‘Knight1983LD’, ‘Knight1983HD’, ‘Heymsfield2014’, ‘Heymsfield2018’, ‘Fehlmann2020’.

  • ds_env (xarray.Dataset, optional) –

    A dataset containing the following environmental variables:

    • ’altitude’ (m)

    • ’latitude’ (°)

    • ’temperature’ : Temperature in degrees Kelvin (K).

    • ’relative_humidity’ : Relative humidity. A value between 0 and 1.

    • ’sea_level_air_pressure’ : Sea level air pressure in Pascals (Pa).

    • ’lapse_rate’ : Lapse rate in degrees Celsius per meter (°C/m).

    If not specified, sensible default values are used.

Returns:

fall_velocity – The calculated hail fall velocities per diameter.

Return type:

xarray.DataArray

disdrodb.fall_velocity.hail.get_hail_fall_velocity_model(model)[source][source]#

Return the specified hail fall velocity model.

Parameters:

model (str) – The model to use for calculating the rain drop fall velocity. Available models are: ‘Laurie1960’, ‘Knight1983LD’, ‘Knight1983HD’, ‘Heymsfield2014’, ‘Heymsfield2018’, ‘Fehlmann2020’.

Returns:

A function which compute the hail fall velocity model given the rain drop diameter in mm.

Return type:

callable

Notes

This function serves as a wrapper to various hail fall velocity models. It returns the appropriate model based on the model parameter.

disdrodb.fall_velocity.rain module#

Theoretical models to estimate the raindrop fall velocity based on drop diameter in mm.

disdrodb.fall_velocity.rain.available_rain_fall_velocity_models()[source][source]#

Return a list of the available raindrop fall velocity models.

disdrodb.fall_velocity.rain.check_rain_fall_velocity_model(model)[source][source]#

Check validity of the specified raindrop fall velocity model.

disdrodb.fall_velocity.rain.get_drag_coefficient(diameter, air_density, water_density, fall_velocity, g=9.81)[source][source]#

Computes the drag coefficient for a raindrop.

Parameters:
  • diameter (float) – Diameter of the raindrop in meters.

  • air_density (float) – Density of air in kg/m^3.

  • water_density (float) – Density of water in kg/m^3.

  • fall_velocity (float) – Terminal fall velocity of the raindrop in m/s.

  • g (float) – Gravitational acceleration in m/s^2.

Returns:

Drag coefficient of the raindrop.

Return type:

float

disdrodb.fall_velocity.rain.get_fall_velocity_atlas_1973(diameter)[source][source]#

Compute the fall velocity of raindrops using the Atlas et al. (1973) relationship.

Parameters:

diameter (array-like) – Diameter of the raindrops in millimeters.

Returns:

fall_velocity – Fall velocities corresponding to the input diameters, in meters per second.

Return type:

array-like

References

Atlas, D., Srivastava, R. C., & Sekhon, R. S. (1973). Doppler radar characteristics of precipitation at vertical incidence. Reviews of Geophysics, 11(1), 1-35. https://doi.org/10.1029/RG011i001p00001

Gunn, R., & Kinzer, G. D. (1949). The terminal velocity of fall for water droplets in stagnant air. Journal of Meteorology, 6(4), 243-248. https://doi.org/10.1175/1520-0469(1949)006<0243:TTVOFF>2.0.CO;2

disdrodb.fall_velocity.rain.get_fall_velocity_brandes_2002(diameter)[source][source]#

Compute the fall velocity of raindrops using the Brandes et al. (2002) relationship.

Parameters:

diameter (array-like) – Diameter of the raindrops in millimeters.

Returns:

fall_velocity – Fall velocities in meters per second.

Return type:

array-like

References

Brandes, E. A., Zhang, G., & Vivekanandan, J. (2002). Experiments in rainfall estimation with a polarimetric radar in a subtropical environment. Journal of Applied Meteorology, 41(6), 674-685. https://doi.org/10.1175/1520-0450(2002)041<0674:EIREWA>2.0.CO;2

disdrodb.fall_velocity.rain.get_fall_velocity_lhermitte1988(diameter)[source][source]#

Compute the fall velocity of raindrops using the Lhermitte et al. (1988) relationship.

Parameters:

diameter (array-like) – Diameter of the raindrops in millimeters.

Returns:

fall_velocity – Fall velocities corresponding to the input diameters, in meters per second.

Return type:

array-like

References

Roger M. Lhermitte, 1988. Observation of rain at vertical incidence with a 94 GHz Doppler radar: An insight on Mie scattering. Geophysical Research Letter, 15(10), 1125-1128. https://doi.org/10.1029/GL015i010p01125

disdrodb.fall_velocity.rain.get_fall_velocity_uplinger_1981(diameter)[source][source]#

Compute the fall velocity of raindrops using Uplinger (1981) relationship.

Parameters:

diameter (array-like) – Diameter of the raindrops in millimeters. Valid for diameters between 0.1 mm and 7 mm.

Returns:

fall_velocity – Fall velocities in meters per second.

Return type:

array-like

References

Uplinger, C. W. (1981). A new formula for raindrop terminal velocity. In Proceedings of the 20th Conference on Radar Meteorology (pp. 389-391). AMS.

disdrodb.fall_velocity.rain.get_fall_velocity_van_dijk_2002(diameter)[source][source]#

Compute the fall velocity of raindrops using van Dijk et al. (2002) relationship.

Parameters:

diameter (array-like) – Diameter of the raindrops in millimeters.

Returns:

fall_velocity – Fall velocities in meters per second.

Return type:

array-like

References

van Dijk, A. I. J. M., Bruijnzeel, L. A., & Rosewell, C. J. (2002). Rainfall intensity-kinetic energy relationships: a critical literature appraisal. Journal of Hydrology, 261(1-4), 1-23. https://doi.org/10.1016/S0022-1694(02)00020-3

disdrodb.fall_velocity.rain.get_rain_fall_velocity(diameter, model, ds_env=None)[source][source]#

Calculate the fall velocity of raindrops based on their diameter.

Parameters:
  • diameter (array-like) – The diameter of the raindrops in millimeters.

  • model (str) – The model to use for calculating the raindrop fall velocity. Must be one of the following: ‘Atlas1973’, ‘Beard1976’, ‘Brandes2002’, ‘Uplinger1981’, ‘VanDijk2002’.

  • ds_env (xarray.Dataset, optional) –

    Only required if model is ‘Beard1976’. A dataset containing the following environmental variables:

    • ’altitude’ (m)

    • ’latitude’ (°)

    • ’temperature’ : Temperature in degrees Kelvin (K).

    • ’relative_humidity’ : Relative humidity. A value between 0 and 1.

    • ’sea_level_air_pressure’ : Sea level air pressure in Pascals (Pa).

    • ’lapse_rate’ : Lapse rate in degrees Celsius per meter (°C/m).

    If not specified, sensible default values are used.

Returns:

fall_velocity – The calculated raindrop fall velocities per diameter.

Return type:

xarray.DataArray

Notes

The ‘Beard1976’ model requires additional environmental parameters. These parameters can be provided through the ds_env argument. If not provided, default values are be used.

For D < 0.12, Atlas1973 relationship results output V = 0 m/s ! For D < 0.05, VanDijk2002 relationship results output V = 0 m/s ! For D < 0.02, Brandes relationship results output V = 0 m/s !

disdrodb.fall_velocity.rain.get_rain_fall_velocity_from_ds(ds, ds_env=None, model='Beard1976', diameter='diameter_bin_center')[source][source]#

Compute the raindrop fall velocity.

Parameters:
  • ds (xarray.Dataset) – DISDRODB dataset with the 'diameter_bin_center' coordinate. The 'altitude' and 'latitude' coordinates are used if model='Beard1976'.

  • model (str, optional) – Model to compute rain drop fall velocity. The default model is "Beard1976".

  • ds_env (xarray.Dataset, optional) –

    Only required if model is ‘Beard1976’. A dataset containing the following environmental variables:

    • ’temperature’ : Temperature in degrees Kelvin (K).

    • ’relative_humidity’ : Relative humidity. A value between 0 and 1.

    • ’sea_level_air_pressure’ : Sea level air pressure in Pascals (Pa). The default is 101_325 Pa.

    • ’lapse_rate’ : Lapse rate in degrees Celsius per meter (°C/m). The default is 0.0065 K/m.

    If not specified, sensible default values are used.

Returns:

Rain drop fall velocity DataArray.

Return type:

xarray.DataArray

Notes

The ‘Beard1976’ model requires additional environmental parameters. These parameters can be provided through the ds_env argument. If not provided, default values are be used.

For D < 0.12, Atlas1973 relationship results output V = 0 m/s For D < 0.05, VanDijk2002 relationship results output V = 0 m/s For D < 0.02, Brandes relationship results output V = 0 m/s

disdrodb.fall_velocity.rain.get_rain_fall_velocity_model(model)[source][source]#

Return the specified raindrop fall velocity model.

Parameters:

model (str) – The model to use for calculating the rain drop fall velocity. Available models are: ‘Atlas1973’, ‘Beard1976’, ‘Brandes2002’, ‘Uplinger1981’, ‘VanDijk2002’.

Returns:

A function which compute the raindrop fall velocity model given the rain drop diameter in mm.

Return type:

callable

Notes

This function serves as a wrapper to various raindrop fall velocity models. It returns the appropriate model based on the model parameter.

disdrodb.fall_velocity.rain.get_raindrop_beard1976_fall_velocity(diameter, temperature, air_density, water_density, g)[source][source]#

Computes the terminal fall velocity of a raindrop in still air.

Reference: Beard 1976; Pruppacher & Klett 1978

Parameters:
  • diameter (float) – Diameter of the raindrop in millimeters.

  • temperature (float) – Temperature in Kelvin.

  • air_density (float) – Density of air in kg/m^3.

  • water_density (float) – Density of water in kg/m^3.

  • g (float) – Gravitational acceleration in m/s^2.

Returns:

Terminal fall velocity of the raindrop in m/s.

Return type:

float

disdrodb.fall_velocity.rain.get_raindrop_reynolds_number(diameter, temperature, air_density, water_density, g)[source][source]#

Compute raindrop Reynolds number.

It quantifies the relative strength of the convective inertia and linear viscous forces acting on the drop at terminal velocity.

Estimates Reynolds number for drops with diameter between 19 um and 7 mm. Coefficients are taken from Table 1 of Beard 1976.

Reference: Beard 1976; Pruppacher & Klett 1978 See also Table A1 in Rahman et al., 2020.

Parameters:
  • diameter (float) – Diameter of the raindrop in meters.

  • temperature (float) – Temperature in Kelvin.

  • air_density (float) – Density of air in kg/m^3.

  • water_density (float) – Density of water in kg/m^3.

  • g (float) – Gravitational acceleration in m/s^2.

Returns:

Reynolds number for the raindrop.

Return type:

float

disdrodb.fall_velocity.rain.retrieve_raindrop_beard_fall_velocity(diameter, ds_env)[source][source]#

Computes the terminal fall velocity for liquid raindrops using the Beard (1976) model.

Parameters:
  • diameter (array-like) – Diameter of the raindrops in millimeters.

  • ds_env (xarray.Dataset) –

    A dataset containing the following environmental variables:

    • ’altitude’ : Altitude in meters (m).

    • ’latitude’ : Latitude in degrees.

    • ’temperature’ : Temperature in degrees Kelvin (K).

    • ’relative_humidity’ : Relative humidity between 0 and 1.

    • ’sea_level_air_pressure’ : Standard atmospheric pressure at sea level in Pascals (Pa). The default is 101_325 Pa.

    • ’air_pressure’: Air pressure in Pascals (Pa). If None, air_pressure at altitude is inferred.

    • ’lapse_rate’ : Atmospheric lapse rate in degrees Celsius or Kelvin per meter (°C/m). The default is 0.0065 K/m.

    • ’gas_constant_dry_air’: Gas constant for dry air in J/(kg*K). The default is 287.04 is J/(kg*K).

Returns:

fall_velocity – Terminal fall velocity for liquid raindrops.

Return type:

array-like

Module contents#

DISDRODB fall velocity module.

disdrodb.fall_velocity.available_graupel_fall_velocity_models()[source][source]#

Return a list of the available graupel fall velocity models.

disdrodb.fall_velocity.available_hail_fall_velocity_models()[source][source]#

Return a list of the available hail fall velocity models.

disdrodb.fall_velocity.available_rain_fall_velocity_models()[source][source]#

Return a list of the available raindrop fall velocity models.

disdrodb.fall_velocity.get_graupel_fall_velocity(diameter, model, ds_env=None, minimum_diameter=0.5, maximum_diameter=5)[source][source]#

Calculate the fall velocity of graupel based on their diameter.

Parameters:
  • diameter (array-like) – The diameter of the graupel in millimeters.

  • model (str) – The model to use for calculating the graupel fall velocity. Must be one of the following: ‘Lee2015’, ‘Locatelli1974Lump’, ‘Locatelli1974Conical’, ‘Locatelli1974Hexagonal’, ‘Heymsfield2014’, ‘Heymsfield2018’.

  • ds_env (xarray.Dataset, optional) –

    A dataset containing the following environmental variables:

    • ’altitude’ (m)

    • ’latitude’ (°)

    • ’temperature’ : Temperature in degrees Kelvin (K).

    • ’relative_humidity’ : Relative humidity. A value between 0 and 1.

    • ’sea_level_air_pressure’ : Sea level air pressure in Pascals (Pa).

    • ’lapse_rate’ : Lapse rate in degrees Celsius per meter (°C/m).

    If not specified, sensible default values are used.

Returns:

fall_velocity – The calculated graupel fall velocities per diameter.

Return type:

xarray.DataArray

Notes

The ‘Beard1976’ model requires additional environmental parameters. These parameters can be provided through the ds_env argument. If not provided, default values are be used.

For D < 0.12, Atlas1973 relationship results output V = 0 m/s ! For D < 0.05, VanDijk2002 relationship results output V = 0 m/s ! For D < 0.02, Brandes relationship results output V = 0 m/s !

disdrodb.fall_velocity.get_graupel_fall_velocity_model(model)[source][source]#

Return the specified graupel fall velocity model.

Parameters:

model (str) – The model to use for calculating the rain drop fall velocity. Available models are: ‘Lee2015’, ‘Locatelli1974Lump’, ‘Locatelli1974Conical’, ‘Locatelli1974Hexagonal’, ‘Heymsfield2014’, ‘Heymsfield2018’.

Returns:

A function which compute the graupel fall velocity model given the rain drop diameter in mm.

Return type:

callable

Notes

This function serves as a wrapper to various graupel fall velocity models. It returns the appropriate model based on the model parameter.

disdrodb.fall_velocity.get_hail_fall_velocity(diameter, model, ds_env=None, minimum_diameter=4)[source][source]#

Calculate the fall velocity of hails based on their diameter.

Parameters:
  • diameter (array-like) – The diameter of the hails in millimeters.

  • model (str) – The model to use for calculating the hail fall velocity. Must be one of the following: ‘Laurie1960’, ‘Knight1983LD’, ‘Knight1983HD’, ‘Heymsfield2014’, ‘Heymsfield2018’, ‘Fehlmann2020’.

  • ds_env (xarray.Dataset, optional) –

    A dataset containing the following environmental variables:

    • ’altitude’ (m)

    • ’latitude’ (°)

    • ’temperature’ : Temperature in degrees Kelvin (K).

    • ’relative_humidity’ : Relative humidity. A value between 0 and 1.

    • ’sea_level_air_pressure’ : Sea level air pressure in Pascals (Pa).

    • ’lapse_rate’ : Lapse rate in degrees Celsius per meter (°C/m).

    If not specified, sensible default values are used.

Returns:

fall_velocity – The calculated hail fall velocities per diameter.

Return type:

xarray.DataArray

disdrodb.fall_velocity.get_hail_fall_velocity_model(model)[source][source]#

Return the specified hail fall velocity model.

Parameters:

model (str) – The model to use for calculating the rain drop fall velocity. Available models are: ‘Laurie1960’, ‘Knight1983LD’, ‘Knight1983HD’, ‘Heymsfield2014’, ‘Heymsfield2018’, ‘Fehlmann2020’.

Returns:

A function which compute the hail fall velocity model given the rain drop diameter in mm.

Return type:

callable

Notes

This function serves as a wrapper to various hail fall velocity models. It returns the appropriate model based on the model parameter.

disdrodb.fall_velocity.get_rain_fall_velocity(diameter, model, ds_env=None)[source][source]#

Calculate the fall velocity of raindrops based on their diameter.

Parameters:
  • diameter (array-like) – The diameter of the raindrops in millimeters.

  • model (str) – The model to use for calculating the raindrop fall velocity. Must be one of the following: ‘Atlas1973’, ‘Beard1976’, ‘Brandes2002’, ‘Uplinger1981’, ‘VanDijk2002’.

  • ds_env (xarray.Dataset, optional) –

    Only required if model is ‘Beard1976’. A dataset containing the following environmental variables:

    • ’altitude’ (m)

    • ’latitude’ (°)

    • ’temperature’ : Temperature in degrees Kelvin (K).

    • ’relative_humidity’ : Relative humidity. A value between 0 and 1.

    • ’sea_level_air_pressure’ : Sea level air pressure in Pascals (Pa).

    • ’lapse_rate’ : Lapse rate in degrees Celsius per meter (°C/m).

    If not specified, sensible default values are used.

Returns:

fall_velocity – The calculated raindrop fall velocities per diameter.

Return type:

xarray.DataArray

Notes

The ‘Beard1976’ model requires additional environmental parameters. These parameters can be provided through the ds_env argument. If not provided, default values are be used.

For D < 0.12, Atlas1973 relationship results output V = 0 m/s ! For D < 0.05, VanDijk2002 relationship results output V = 0 m/s ! For D < 0.02, Brandes relationship results output V = 0 m/s !

disdrodb.fall_velocity.get_rain_fall_velocity_from_ds(ds, ds_env=None, model='Beard1976', diameter='diameter_bin_center')[source][source]#

Compute the raindrop fall velocity.

Parameters:
  • ds (xarray.Dataset) – DISDRODB dataset with the 'diameter_bin_center' coordinate. The 'altitude' and 'latitude' coordinates are used if model='Beard1976'.

  • model (str, optional) – Model to compute rain drop fall velocity. The default model is "Beard1976".

  • ds_env (xarray.Dataset, optional) –

    Only required if model is ‘Beard1976’. A dataset containing the following environmental variables:

    • ’temperature’ : Temperature in degrees Kelvin (K).

    • ’relative_humidity’ : Relative humidity. A value between 0 and 1.

    • ’sea_level_air_pressure’ : Sea level air pressure in Pascals (Pa). The default is 101_325 Pa.

    • ’lapse_rate’ : Lapse rate in degrees Celsius per meter (°C/m). The default is 0.0065 K/m.

    If not specified, sensible default values are used.

Returns:

Rain drop fall velocity DataArray.

Return type:

xarray.DataArray

Notes

The ‘Beard1976’ model requires additional environmental parameters. These parameters can be provided through the ds_env argument. If not provided, default values are be used.

For D < 0.12, Atlas1973 relationship results output V = 0 m/s For D < 0.05, VanDijk2002 relationship results output V = 0 m/s For D < 0.02, Brandes relationship results output V = 0 m/s

disdrodb.fall_velocity.get_rain_fall_velocity_model(model)[source][source]#

Return the specified raindrop fall velocity model.

Parameters:

model (str) – The model to use for calculating the rain drop fall velocity. Available models are: ‘Atlas1973’, ‘Beard1976’, ‘Brandes2002’, ‘Uplinger1981’, ‘VanDijk2002’.

Returns:

A function which compute the raindrop fall velocity model given the rain drop diameter in mm.

Return type:

callable

Notes

This function serves as a wrapper to various raindrop fall velocity models. It returns the appropriate model based on the model parameter.