dmit.calc.vanulden module
Module for the Van Ulden and Holtslag 1983 paper: A. A. M. Holtslag and A. P. Van Ulden, “A Simple Scheme for Daytime Estimates of the Surface Fluxes from Routine Weather Data”, Journal of climate and applied meteorology, 1983, Vol. 22, No. 4.
This code was used in Hintz, et. al. (2020).
- dmit.calc.vanulden.deg_to_rad(deg)[source]
Convert degrees to radians.
- Parameters
deg (float, list) – Degrees
- Returns
rad – radians
- Return type
float, numpy.array
- dmit.calc.vanulden.gamma_s_table(T)[source]
Table 5 from Holtslag and Van Ulden (1983)
- Parameters
T (float) – Temperature in Celcius
- Returns
gamma_s – Temperature dependent variable
- Return type
float
- dmit.calc.vanulden.incoming_solar_radiation(phi, cloudcover)[source]
- Parameters
phi (float) – Solar elevation in radians
cloudcover (float) – Total cloudcover in percentage (0-1)
- Returns
K – Incoming solar radiation in W/m^2
- Return type
float
- dmit.calc.vanulden.momemtum_flux_and_obukhov_length(U, z, z0, T, H)[source]
- Parameters
U (float) – Wind speed at height z
z (float) – Height above surface of measured wind speed
z0 (float) – Roughness length
T (float) – Temperature in Kelvin
H (float) – Sensible heat flux in W/m^2
- Returns
u_star (float) – Friction velocity (Momentum flux)
L (float) – Obukhov Length (Stability parameter)
Notes
u_star and L is solved in an iterative process
- dmit.calc.vanulden.net_radiation(K, cloudcover, T, albedo=0.23)[source]
Computes the net radiation based on incoming solar radiation, cloud cover and the temperature.
- Parameters
K (float) – Incoming solar radiation in W/m^2
cloudcover (float) – In percent (0-1)
T (float) – Temperature in Kelvin
albedo (float (optional)) – Albedo of the surface
L_plus (float (internal)) – Incoming longwave
L_minus (float (internal)) – Outgoing longwave
- Returns
Q – Net radiation in W/m^2
- Return type
float
- dmit.calc.vanulden.rad_to_deg(rad)[source]
Convert radians to degrees.
- Parameters
rad (float, list) – Radians
- Returns
deg – Degrees
- Return type
float, numpy.array
- dmit.calc.vanulden.solar_elevation(M, D, H, lon, lat)[source]
Compute the solar elevation
- Parameters
M (integer) – Month of Year (1-12)
D (integer) – Day of month (1-31)
H (integer) – Hour of day in UTC
lon (float) – Longitude
lat (float) – Latitude
- Returns
phi – Solar elevation in radians
- Return type
float
- dmit.calc.vanulden.surface_energy_budget(Q, T)[source]
Computes the Sensible, Latent and Soil heat flux
- Parameters
Q (float) – Net Radiation
T (float) – Temperature in Kelvin
- Returns
H (float) – Sensible Heat Flux
E (float) – Latent Heat Flux
G (float) – Soil Heat Flux
- dmit.calc.vanulden.vanulden_stability(dl, lat, lon, cloudcover, temperature, wspd, z, z0)[source]
Main function to collect and return and the Van Ulden and Holtslag functions to compute momentum flux and Obukhov length.
- Parameters
dl (datetime.datetime object) – Time in utc (e.g. datetime.datetime.utcnow())
lat (float) – Latitude in degress
lon (float) – Longitude in degrees
cloudcover (float) – Cloudcover in percentage (0-1)
temperature (float) – Temperature in Kelvin
wspd (float) – Wind speed reference Observation in m/s
z (float) – Elevation of wind measurement in m
z0 (float) – Roughness length
- Returns
u_star (float) – Friction velocity
L (float) – Obukhov length