Meteo

The meteo module contains all functions related to meteorological variables. All meteorological functions can be calculated on a daily or instantaneous basis. Base functions are available also. The daily functions have a ‘daily’ extension, instantaneous functions have a ‘inst’ extension.

mean_temperature_kelvin_daytime(t_air_k_min, t_air_k_max)

Computes the mean temperature over the daily sunshine period.

Parameters:
  • t_air_k_min (float) – maximum air temperature \(T_{a,min}\) [K]

  • t_air_k_max (float) – maximum air temperature \(T_{a,max}\) [K]

Returns:

t_air_k_12 – daytime air temperature \(T_{a,12}\) [K]

Return type:

float

air_temperature_kelvin(t_air)

Converts air temperature from Celcius to Kelvin, where 0 degrees Celcius is equal to 273.15 degrees Kelvin.

Parameters:

t_air (float) – air temperature, \(T_a\) [C]

Returns:

t_air_k – air temperature, \(T_a\) [K]

Return type:

float

Examples

>>> from ETLook import meteo
>>> meteo.air_temperature_kelvin(12.5)
285.65
air_temperature_kelvin_daily(t_air_24)

Like air_temperature_kelvin() but as a daily average.

Parameters:

t_air_24 (float) – daily air temperature, \(T_{a,24}\) [C]

Returns:

t_air_k_24 – daily air temperature, \(T_{a,24}\) [K]

Return type:

float

air_temperature_kelvin_inst(t_air_i)

Like air_temperature_kelvin() but as an instantaneous value.

Parameters:

t_air_i (float) – instantaneous air temperature, \(T_{a,i}\) [C]

Returns:

t_air_k_i – instantaneous air temperature, \(T_{a,i}\) [K]

Return type:

float

wet_bulb_temperature_kelvin_inst(t_wet_i)

Converts wet bulb temperature from Celcius to Kelvin, where 0 degrees Celcius is equal to 273.15 degrees Kelvin.

Parameters:

t_wet_i (float) – instantaneous wet bulb temperature, \(T_{w,i}\) [C]

Returns:

t_wet_k_i – instantaneous wet bulb temperature, \(T_{w,i}\) [K]

Return type:

float

disaggregate_air_temperature(t_air_coarse, z, z_coarse, lapse=-0.006)

Disaggregates GEOS or MERRA or another coarse scale air temperature using two digital elevation models. One DEM for the target resolution, another DEM smoothed from the original air temperature resolution to the target resolution.

\[\begin{split}T_{a}=T_{a,c}+(z-z_{c}) \\cdot L_{T}-T_{K,0}\end{split}\]

where the following constant is used

  • \(T_{K,0}\) = 273.15 K is equal to 0 degrees Celsius

Parameters:
  • t_air_coarse (float) – air temperature at coarse resolution, \(T_{a,c}\) [K]

  • z (float) – elevation, \(z\) [m]

  • z_coarse (float) – elevation at coarse resolution, \(z_{c}\) [m]

  • lapse (float) – lapse rate, \(L_{T}\) [K m-1]

Returns:

t_air – air temperature, \(T_{a}\) [C]

Return type:

float

Notes

The input air temperature is specified in Kelvin. The output air temperature is specified in C.

Examples

>>> from ETLook import meteo
>>> meteo.disaggregate_air_temperature(24.5+273.15, 10, 5)
24.47
disaggregate_air_temperature_daily(t_air_24_coarse, z, z_coarse, lapse=-0.006)

Like disaggregate_air_temperature() but as a daily average.

Parameters:
  • t_air_24_coarse (float) – daily air temperature at coarse resolution, \(T_{a,24,c}\) [K]

  • z (float) – elevation, \(z\) [m]

  • z_coarse (float) – elevation at coarse resolution, \(z_{c}\) [m]

  • lapse (float) – lapse rate, \(L\) [K m-1]

Returns:

t_air_24 – daily air temperature, \(T_{a,24}\) [C]

Return type:

float

Notes

The input air temperature is specified in Kelvin. The output air temperature is specified in C.

disaggregate_air_temperature_inst(t_air_i_coarse, z, z_coarse, lapse=-0.006)

Like disaggregate_air_temperature() but as a instantaneous value.

Parameters:
  • t_air_i_coarse (float) – instantaneous air temperature at coarse resolution, \(T_{a,i,c}\) [K]

  • z (float) – elevation, \(z\) [m]

  • z_coarse (float) – elevation at coarse resolution, \(z_{c}\) [m]

  • lapse (float) – lapse rate, \(L\) [K m-1]

Returns:

t_air_i – instantaneous air temperature, \(T_{a,i}\) [C]

Return type:

float

Notes

The input air temperature is specified in Kelvin. The output air temperature is specified in C.

disaggregate_dew_point_temperature_inst(t_dew_coarse_i, z, z_coarse, lapse_dew=-0.002)

Disaggregates geos dew point temperature using lapse rate and difference between smoothed coarse scale DEM and fine scale DEM.

Parameters:
  • t_dew_coarse_i (float) – coarse instantaneous dew point temperature, \(T_{dew,coarse}\) [C]

  • z (float) – elevation, \(z\) [m]

  • z_coarse (float) – smoothed elevation at coarse resolution, \(z\) [m]

  • lapse_dew (float) – lapse rate, \(L\) [K m-1]

Returns:

t_dew_i – instantaneous dew point temperature, \(T_{dew,i}\) [C]

Return type:

float

vapour_pressure_from_specific_humidity(qv, p_air)

Computes the vapour pressure \(e_a\) in [mbar] using specific humidity and surface pressure.

\[\begin{split}e_{a}=\frac{q_{v} \\cdot P}{\varepsilon}\end{split}\]

where the following constant is used

  • \(\varepsilon\) = ratio of molecular weight of water to dry air = 0.622 [-]

Parameters:
  • qv (float) – specific humidity, \(q_{v}\) [kg/kg]

  • p_air (float) – air pressure, \(P\) [mbar]

Returns:

vp – vapour pressure, \(e_{a}\) [mbar]

Return type:

float

specific_humidity_from_vapour_pressure(vp, p_air)

Computes specific humidity using te vapour pressure \(e_a\) in [mbar] and surface pressure.

\[\begin{split}e_{a}=\frac{q_{v} \\cdot P}{\varepsilon}\end{split}\]

where the following constant is used

  • \(\varepsilon\) = ratio of molecular weight of water to dry air = 0.622 [-]

Parameters:
  • vp (float) – vapour pressure, \(e_{a}\) [mbar]

  • p_air (float) – air pressure, \(P\) [mbar]

Returns:

qv – specific humidity, \(q_{v}\) [kg/kg]

Return type:

float

vapour_pressure_from_specific_humidity_daily(qv_24, p_air_24)

Like vapour_pressure_from_specific_humidity() but as a daily average.

Parameters:
  • qv_24 (float) – daily specific humidity, \(q_{v,24}\) [kg/kg]

  • p_air_24 (float) – daily air pressure, \(P_{24}\) [mbar]

Returns:

vp_24 – daily vapour pressure, \(e_{a,24}\) [mbar]

Return type:

float

vapour_pressure_from_dewpoint(t_dew)
\[\begin{split}e_{a}=6.108\exp\\left[\frac{17.27T_{d}}{T_{d}+237.3}\right]\end{split}\]
Parameters:

t_dew (float) – dewpoint temperature, \(T_d\) [°C]

Returns:

vp – vapour pressure, \(e_a\) [mbar]

Return type:

float

Examples

>>> from ETLook import meteo
>>> meteo.vapour_pressure_from_dewpoint(20)
23.382812709274457
vapour_pressure_from_dewpoint_daily(t_dew_24)
\[\begin{split}e_{a}=6.108\exp\\left[\frac{17.27T_{d,24}}{T_{d,24}+237.3}\right]\end{split}\]
Parameters:

t_dew_24 (float) – dewpoint temperature, \(T_d\) [°C]

Returns:

vp_24 – vapour pressure, \(e_{a,24}\) [mbar]

Return type:

float

Examples

>>> from ETLook import meteo
>>> meteo.vapour_pressure_from_dewpoint_daily(20)
23.382812709274457
vapour_pressure_from_dewpoint_inst(t_dew_i)
\[\begin{split}e_{a,i}=6.108\exp\\left[\frac{17.27T_{d,i}}{T_{d,i}+237.3}\right]\end{split}\]
Parameters:

t_dew_i (float) – instantaneous dew point temperature, \(T_{dew,i}\) [°C]

Returns:

vp_i – vapour pressure, \(e_{a,i}\) [mbar]

Return type:

float

Examples

>>> from ETLook import meteo
>>> meteo.vapour_pressure_from_dewpoint_inst(20)
23.382812709274457
saturated_vapour_pressure_minimum(t_air_min_coarse)

Like saturated_vapour_pressure() but based on daily minimum air temperature. This is only relevant for reference ET calculations.

Parameters:

t_air_min_coarse (float) – daily minimum air temperature, \(T_{a,min}\) [C]

Returns:

svp_24_min – daily saturated vapour pressure based on minimum air temperature, \(e_{s,min}\) [mbar]

Return type:

float

saturated_vapour_pressure_maximum(t_air_max_coarse)

Like saturated_vapour_pressure() but based on daily maximum air temperature. This is only relevant for reference ET calculations.

Parameters:

t_air_max_coarse (float) – daily maximum air temperature, \(T_{a,max}\) [C]

Returns:

svp_24_max – daily saturated vapour pressure based on maximum air temperature, \(e_{s,max}\) [mbar]

Return type:

float

saturated_vapour_pressure_average(svp_24_max, svp_24_min)

Average saturated vapour pressure based on two saturated vapour pressure values calculated using minimum and maximum air temperature respectively. This is preferable to calculating saturated vapour pressure using the average air temperature, because of the strong non-linear relationship between saturated vapour pressure and air temperature.

\[\begin{split}e_{s}=\frac{e^{0}\\left(T_{max}\right)+e^{0}\\left(T_{min}\right)}{2}\end{split}\]
Parameters:
  • svp_24_max (float) – daily saturated vapour pressure based on maximum air temperature, \(e_{s,max}\) [mbar]

  • svp_24_min (float) – daily saturated vapour pressure based on minimum air temperature, \(e_{s,min}\) [mbar]

Returns:

svp_24 – daily saturated vapour pressure, \(e_{s,24}\) [mbar]

Return type:

float

vapour_pressure_from_specific_humidity_inst(qv_i, p_air_i)

Like vapour_pressure_from_specific_humidity() but as an instantaneous value.

Parameters:
  • qv_i (float) – instantaneous specific humidity, \(q_{v,i}\) [kg/kg]

  • p_air_i (float) – instantaneous air pressure, \(P_{i}\) [mbar]

Returns:

vp_i – instantaneous vapour pressure, \(e_{a,i}\) [mbar]

Return type:

float

saturated_vapour_pressure(t_air)

Computes saturated vapour pressure \(e_s\) [mbar], it provides the vapour pressure when the air is fully saturated with water. It is related to air temperature \(T_a\) [C] as:

\[\begin{split}e_{s}=6.108 \\cdot \exp\\left[\frac{17.27 \\cdot T_{a}}{T_{a}+237.3}\right]\end{split}\]
Parameters:

t_air (float) – air temperature, \(T_a\) [C]

Returns:

svp – saturated vapour pressure, \(e_s\) [mbar]

Return type:

float

Examples

>>> from ETLook import meteo
>>> meteo.saturated_vapour_pressure(20)
23.382812709274457
saturated_vapour_pressure_daily(t_air_24)

Like saturated_vapour_pressure() but as a daily average.

Parameters:

t_air_24 (float) – daily air temperature, \(T_{a,24}\) [C]

Returns:

svp_24 – daily saturated vapour pressure, \(e_{s,24}\) [mbar]

Return type:

float

saturated_vapour_pressure_inst(t_air_i)

Like saturated_vapour_pressure() but as an instantaneous value.

Parameters:

t_air_i (float) – instantaneous air temperature, \(T_{a,i}\) [C]

Returns:

svp_i – instantaneous saturated vapour pressure, \(e_{s,i}\) [mbar]

Return type:

float

vapour_pressure(svp, rh)

Computes the vapour pressure \(e_a\) in [mbar].

\[\begin{split}e_{a}=\frac{\phi}{100} \\cdot e_{s}\end{split}\]
Parameters:
  • svp (float) – saturated vapour pressure, \(e_s\) [mbar]

  • rh (float) – relative humidity, \(\phi\) [%]

Returns:

vp – vapour pressure, \(e_{a}\) [mbar]

Return type:

float

Examples

>>> from ETLook import meteo
>>> meteo.vapour_pressure(rh=75, svp=meteo.saturated_vapour_pressure(20))
17.537109531955842
slope_saturated_vapour_pressure(t_air)

Computes the rate of change of vapour pressure \(\\Delta\) in [mbar K-1] for a given air temperature \(T_a\). It is a function of the air temperature \(T_a\) and the saturated vapour pressure \(e_s\) [mbar] which in itself is a function of \(T_a\).

\[\begin{split}\\Delta=\frac{4098 \\cdot e_{s}}{\\left(237.3+T_{a}\right)^{2}}\end{split}\]

for \(e_s\) see saturated_vapour_pressure()

Parameters:

t_air (float) – air temperature \(T_a\) [C]

Returns:

ssvp – slope of saturated vapour pressure curve \(\\Delta\) [mbar K-1]

Return type:

float

Examples

>>> from ETLook import meteo
>>> meteo.slope_saturated_vapour_pressure(20)
1.447401881124136
slope_saturated_vapour_pressure_daily(t_air_24)

Like slope_saturated_vapour_pressure() but as a daily average.

Parameters:

t_air_24 (float) – daily air temperature \(T_{a,24}\) [C]

Returns:

ssvp_24 – daily slope of saturated vapour pressure curve \(\Delta_{24}\) [mbar K-1]

Return type:

float

slope_saturated_vapour_pressure_inst(t_air_i)

Like slope_saturated_vapour_pressure() but as an instantaneous. value

Parameters:

t_air_i (float) – instantaneous air temperature, \(T_{a,i}\) [C]

Returns:

ssvp_i – instantaneous slope of saturated vapour pressure curve, \(e_{s,i}\) [mbar]

Return type:

float

vapour_pressure_deficit(svp, vp)

Computes the vapour pressure deficit \(\\Delta_e\) in [mbar].

\[\begin{split}\\Delta_e=e_s-e_a\end{split}\]
Parameters:
  • svp (float) – saturated vapour pressure, \(e_s\) [mbar]

  • vp (float) – actual vapour pressure, \(e_a\) [mbar]

Returns:

vpd – vapour pressure deficit \(\\Delta_e\) [mbar]

Return type:

float

Examples

>>> from ETLook import meteo
>>> meteo.vapour_pressure_deficit(12.5, 5.4)
7.1
>>> meteo.vapour_pressure_deficit(vp=5.4, svp=12.3)
6.9
vapour_pressure_deficit_daily(svp_24, vp_24)

Like vapour_pressure_deficit() but as a daily average.

Parameters:
  • svp_24 (float) – daily saturated vapour pressure, \(e_{s,24}\) [mbar]

  • vp_24 (float) – daily actual vapour pressure, \(e_{a,24}\) [mbar]

Returns:

vpd_24 – daily vapour pressure deficit \(\Delta_{e,24}\) [mbar]

Return type:

float

air_pressure(z, p_air_0=1013.25)

Computes air pressure \(P\) at a certain elevation derived from the air pressure at sea level \(P_0\). Air pressure decreases with increasing elevation.

\[\begin{split}P=P_{0} \\cdot \\left(\frac{T_{ref,0,K}-\alpha_{1} \\cdot \\left(z-z_{0}\right)} {T_{ref,0,K}}\right)^{\frac{g}{-\alpha_{1}\\cdot R }}\end{split}\]

where the following constants are used

  • \(P_0\) = air pressure [mbar] at sea level \(z_0\) = 1013.25 mbar

  • \(T_{ref,0,K}\) = reference temperature [K] at sea level \(z_0\) = 293.15 K

  • \(g\) = gravitational acceleration = 9.807 [m/s2]

  • \(R\) = specific gas constant = 287.0 [J kg-1 K-1]

  • \(\alpha_{1}\) = constant lapse rate for moist air = 0.0065 [K m-1]

Parameters:
  • z (float) – elevation, \(z\) [m]

  • p_air_0 (float) – air pressure at sea level, \(P_0\) [mbar]

Returns:

p_air – air pressure, \(P\) [mbar]

Return type:

float

Examples

>>> from ETLook import meteo
>>> meteo.air_pressure(z=1000)
900.5832172948869
air_pressure_daily(z, p_air_0_24=1013.25)

Like air_pressure() but as a daily average.

Parameters:
  • z (float) – elevation, \(z\) [m]

  • p_air_0_24 (float) – daily air pressure at sea level, \(P_{0,24}\) [mbar]

Returns:

p_air_24 – daily air pressure, \(P_{24}\) [mbar]

Return type:

float

dry_air_density(p_air, vp, t_air_k)

Computes dry air density \(\rho_{d}\) in [kg m-3].

\[\begin{split}\rho_{d}=\frac{P-e_{a}}{\Re \\cdot T_{a,K}}\end{split}\]

where the following constants are used

  • \(\Re\) = gas constant for dry air = 2.87 mbar K-1 m3 kg-1

Parameters:
  • p_air (float) – air pressure, \(P\) [mbar]

  • vp (float) – vapour pressure, \(e_{a}\) [mbar]

  • t_air_k (float) – daily air temperature, \(T_{a}\) [K]

Returns:

ad_dry – dry air density, \(\rho_{d}\) [kg m-3]

Return type:

float

Examples

>>> from ETLook import meteo
>>> meteo.dry_air_density(p_air=900, vp=17.5, t_air_k=293.15)
1.0489213344656534
dry_air_density_daily(p_air_24, vp_24, t_air_k_24)

Like dry_air_density() but as a daily average.

Parameters:
  • p_air_24 (float) – daily air pressure, \(P_{24}\) [mbar]

  • vp_24 (float) – daily vapour pressure, \(e_{a,24}\) [mbar]

  • t_air_k_24 (float) – daily air temperature, \(T_{a,24}\) [K]

Returns:

ad_dry_24 – daily dry air density, \(\rho_{d,24}\) [kg m-3]

Return type:

float

dry_air_density_inst(p_air_i, vp_i, t_air_k_i)

Like dry_air_density() but as an instantaneous value.

Parameters:
  • p_air_i (float) – instantaneous air pressure, \(P_{i}\) [mbar]

  • vp_i (float) – instantaneous vapour pressure, \(e_{a,i}\) [mbar]

  • t_air_k_i (float) – instantaneous air temperature, \(T_{a,i}\) [K]

Returns:

ad_dry_i – instantaneous dry air density, \(\rho_{d,i}\) [kg m-3]

Return type:

float

moist_air_density(vp, t_air_k)

Computes moist air density \(\rho_{s}\) in [kg m-3].

\[\begin{split}\rho_{s}=\frac{e_{a}}{R_{v} \\cdot T_{a,K}}\end{split}\]

where:

  • \(R_v\) = gas constant for moist air = 4.61 mbar K-1 m3 kg-1

Parameters:
  • vp (float) – vapour pressure, \(e_{a}\) [mbar]

  • t_air_k (float) – air temperature, \(T_{a,K}\) [K]

Returns:

ad_moist – moist air density, \(\rho_{s}\) [kg m-3]

Return type:

float

Examples

>>> from ETLook import meteo
>>> meteo.moist_air_density(vp=17.5, t_air_k = 293.15)
0.012949327800393881
moist_air_density_daily(vp_24, t_air_k_24)

Like moist_air_density() but as a daily average.

Parameters:
  • vp_24 (float) – daily vapour pressure, \(e_{a,24}\) [mbar]

  • t_air_k_24 (float) – daily air temperature, \(T_{a,K,24}\) [K]

Returns:

ad_moist_24 – daily moist air density, \(\rho_{s,24}\) [kg m-3]

Return type:

float

moist_air_density_inst(vp_i, t_air_k_i)

Like moist_air_density() but as an instantaneous value.

Parameters:
  • vp_i (float) – instantaneous vapour pressure, \(e_{a,i}\) [mbar]

  • t_air_k_i (float) – instantaneous air temperature, \(T_{a,K,i}\) [K]

Returns:

ad_moist_i – instantaneous moist air density, \(\rho_{s,i}\) [kg m-3]

Return type:

float

air_density(ad_dry, ad_moist)

Computes air density \(\rho\) in [kg m-3].

\[\rho=\rho_{s}+\rho_{d}\]
Parameters:
  • ad_dry (float) – dry air density, \(\rho_{d}\) [kg m-3]

  • ad_moist (float) – moist air density, \(\rho_{s}\) [kg m-3]

Returns:

ad – air density, \(\rho\) [kg m-3]

Return type:

float

Examples

>>> from ETLook import meteo
>>> ad_moist = meteo.moist_air_density(vp=17.5, t_air_k = 293.15)
>>> ad_dry = meteo.dry_air_density(p_air=900, vp=17.5, t_air_k=293.15)
>>> meteo.air_density(ad_dry=ad_dry, ad_moist=ad_moist)
1.0618706622660472
air_density_daily(ad_dry_24, ad_moist_24)

Like air_density() but as a daily average.

Parameters:
  • ad_dry_24 (float) – daily dry air density, \(\rho_{d,24}\) [kg m-3]

  • ad_moist_24 (float) – daily moist air density, \(\rho_{s,24}\) [kg m-3]

Returns:

ad_24 – daily air density, \(\rho_{24}\) [kg m-3]

Return type:

float

air_density_inst(ad_dry_i, ad_moist_i)

Like air_density() but as a instantaneous value.

Parameters:
  • ad_dry_i (float) – instantaneous dry air density, \(\rho_{d,i}\) [kg m-3]

  • ad_moist_i (float) – instantaneous moist air density, \(\rho_{s,i}\) [kg m-3]

Returns:

ad_i – instantaneous air density, \(\rho_{i}\) [kg m-3]

Return type:

float

latent_heat(t_air)

Computes latent heat of evaporation \(\\lambda\) [J kg-1], describing the amount of energy needed to evaporate one kg of water at constant pressure and temperature. At higher temperatures less energy will be required than at lower temperatures.

\[\begin{split}\\lambda=\\lambda_0 + \\Delta_\\lambda \\cdot T_{a}\end{split}\]

where the following constants are used

  • \(\\lambda_0\) = latent heat of evaporation at 0 C = 2501000 [J kg-1]

  • \(\\Delta_\\lambda\) = rate of change of latent heat with respect to temperature = -2361 [J Kg-1 C-1]

Parameters:

t_air (float) – air temperature, \(T_a\) [C]

Returns:

lh – latent heat of evaporation, \(\\lambda\) [J/kg]

Return type:

float

Examples

>>> from ETLook import meteo
>>> meteo.latent_heat(20)
2453780.0
latent_heat_daily(t_air_24)

Like latent_heat() but as a daily average.

Parameters:

t_air_24 (float) – daily air temperature, \(T_{a,24}\) [C]

Returns:

lh_24 – daily latent heat of evaporation, \(\lambda_{24}\) [J/kg]

Return type:

float

psychrometric_constant(p_air, lh)

Computes the psychrometric constant \(\\gamma\) [mbar K-1] which relates the partial pressure of water in air to the air temperature.

\[\begin{split}\\gamma=\frac{P \\cdot c_{p}}{\varepsilon \\cdot \\lambda}\end{split}\]

where the following constants are used

  • \(c_{p}\) = specific heat for dry air = 1004 [J Kg-1 K-1]

  • \(\varepsilon\) = ratio of molecular weight of water to dry air = 0.622 [-]

Parameters:
  • p_air (float) – air pressure, \(P\) [mbar]

  • lh (float) – latent heat of evaporation, \(\\lambda\) [J/kg]

Returns:

psy – psychrometric constant, \(\\gamma\) [mbar K-1]

Return type:

float

Examples

>>> from ETLook import meteo
>>> meteo.psychrometric_constant(p_air = 1003.0, lh = 2500000.0)
0.6475961414790997
>>> meteo.psychrometric_constant(1003.0, 2500000.0)
0.6475961414790997
psychrometric_constant_daily(p_air_24, lh_24)

Like psychrometric_constant() but as a daily average.

Parameters:
  • p_air_24 (float) – daily air pressure, \(P_{24}\) [mbar]

  • lh_24 (float) – daily latent heat of evaporation, \(\lambda_{24}\) [J/kg]

Returns:

psy_24 – daily psychrometric constant, \(\gamma_{24}\) [mbar K-1]

Return type:

float

wind_speed_blending_height(u, z_obs=2, z_b=100)

Computes the wind speed at blending height \(u_{b}\) [m/s] using the logarithmic wind profile.

\[\begin{split}u_{b}=\frac{u_{obs} \\cdot \\ln\\left(\frac{z_{b}}{z_{0,m}}\right)} {\\ln\\left(\frac{z_{obs}}{z_{0,m}}\right)}\end{split}\]
Parameters:
  • u (float) – wind speed at observation height, \(u_{obs}\) [m/s]

  • z_obs (float) – observation height of wind speed, \(z_{obs}\) [m]

  • z_b (float) – blending height, \(z_{b}\) [m]

Returns:

u_b – wind speed at blending height, \(u_{b}\) [m/s]

Return type:

float

Examples

>>> from ETLook import meteo
>>> meteo.wind_speed_blending_height(u=3.0, z_obs=2, z_b=100)
5.4646162953650572
wind_speed_blending_height_daily(u_24, z_obs=2, z_b=100)

Like wind_speed_blending_height() but as a daily average.

Parameters:
  • u_24 (float) – daily wind speed at observation height, \(u_{obs,24}\) [m/s]

  • z_obs (float) – observation height of wind speed, \(z_{obs}\) [m]

  • z_b (float) – blending height, \(z_{b}\) [m]

Returns:

u_b_24 – daily wind speed at blending height, \(u_{b, 24}\) [m/s]

Return type:

float

wind_speed(u, v)

Calculate wind speed vector from two components.

Parameters:
  • u (float) – Eastward wind speed.

  • v (float) – Northward wind speed.

Returns:

Wind speed.

Return type:

u_24

air_pressure_kpa2mbar(p_air_kpa)

Like p_air().

Parameters:

p_air_kpa (float) – air pressure, \(Pair_{a}\) [kpa]

Returns:

p_air_mbar – air pressure, \(Pair_{a}\) [mbar]

Return type:

float