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