calc¶
This module contains a variety of meteorological calculations.
Dry Thermodynamics¶
add_height_to_pressure(pressure, height) | 
Calculate the pressure at a certain height above another pressure level. | 
add_pressure_to_height(height, pressure) | 
Calculate the height at a certain pressure above another height. | 
density(pressure, temperature, mixing[, …]) | 
Calculate density. | 
dry_lapse(pressure, temperature) | 
Calculate the temperature at a level assuming only dry processes. | 
dry_static_energy(heights, temperature) | 
Calculate the dry static energy of parcels. | 
geopotential_to_height(geopot) | 
Compute height from a given geopotential. | 
height_to_geopotential(height) | 
Compute geopotential for a given height. | 
height_to_pressure_std(height) | 
Convert height data to pressures using the U.S. | 
mean_pressure_weighted(pressure, *args, **kwargs) | 
Calculate pressure-weighted mean of an arbitrary variable through a layer. | 
potential_temperature(pressure, temperature) | 
Calculate the potential temperature. | 
pressure_to_height_std(pressure) | 
Convert pressure data to heights using the U.S. | 
sigma_to_pressure(sigma, psfc, ptop) | 
Calculate pressure from sigma values. | 
static_stability(pressure, temperature[, axis]) | 
Calculate the static stability within a vertical profile. | 
temperature_from_potential_temperature(…) | 
Calculate the temperature from a given potential temperature. | 
thickness_hydrostatic(pressure, temperature, …) | 
Calculate the thickness of a layer via the hypsometric equation. | 
Moist Thermodynamics¶
dewpoint(e) | 
Calculate the ambient dewpoint given the vapor pressure. | 
dewpoint_from_specific_humidity(…) | 
Calculate the dewpoint from specific humidity, temperature, and pressure. | 
dewpoint_rh(temperature, rh) | 
Calculate the ambient dewpoint given air temperature and relative humidity. | 
equivalent_potential_temperature(pressure, …) | 
Calculate equivalent potential temperature. | 
mixing_ratio(part_press, tot_press[, …]) | 
Calculate the mixing ratio of a gas. | 
mixing_ratio_from_relative_humidity(…) | 
Calculate the mixing ratio from relative humidity, temperature, and pressure. | 
mixing_ratio_from_specific_humidity(…) | 
Calculate the mixing ratio from specific humidity. | 
moist_lapse(pressure, temperature) | 
Calculate the temperature at a level assuming liquid saturation processes. | 
moist_static_energy(heights, temperature, …) | 
Calculate the moist static energy of parcels. | 
precipitable_water(dewpt, pressure[, …]) | 
Calculate precipitable water through the depth of a sounding. | 
psychrometric_vapor_pressure_wet(…[, …]) | 
Calculate the vapor pressure with wet bulb and dry bulb temperatures. | 
relative_humidity_from_dewpoint(temperature, …) | 
Calculate the relative humidity. | 
relative_humidity_from_mixing_ratio(…) | 
Calculate the relative humidity from mixing ratio, temperature, and pressure. | 
relative_humidity_from_specific_humidity(…) | 
Calculate the relative humidity from specific humidity, temperature, and pressure. | 
relative_humidity_wet_psychrometric(…) | 
Calculate the relative humidity with wet bulb and dry bulb temperatures. | 
saturation_equivalent_potential_temperature(…) | 
Calculate saturation equivalent potential temperature. | 
saturation_mixing_ratio(tot_press, temperature) | 
Calculate the saturation mixing ratio of water vapor. | 
saturation_vapor_pressure(temperature) | 
Calculate the saturation water vapor (partial) pressure. | 
specific_humidity_from_mixing_ratio(mixing_ratio) | 
Calculate the specific humidity from the mixing ratio. | 
thickness_hydrostatic_from_relative_humidity(…) | 
Calculate the thickness of a layer given pressure, temperature and relative humidity. | 
vapor_pressure(pressure, mixing) | 
Calculate water vapor (partial) pressure. | 
vertical_velocity(omega, pressure, temperature) | 
Calculate w from omega assuming hydrostatic conditions. | 
vertical_velocity_pressure(w, pressure, …) | 
Calculate omega from w assuming hydrostatic conditions. | 
virtual_potential_temperature(pressure, …) | 
Calculate virtual potential temperature. | 
virtual_temperature(temperature, mixing[, …]) | 
Calculate virtual temperature. | 
wet_bulb_temperature(pressure, temperature, …) | 
Calculate the wet-bulb temperature using Normand’s rule. | 
Soundings¶
bulk_shear(pressure, u, v[, heights, …]) | 
Calculate bulk shear through a layer. | 
bunkers_storm_motion(pressure, u, v, heights) | 
Calculate the Bunkers right-mover and left-mover storm motions and sfc-6km mean flow. | 
cape_cin(pressure, temperature, dewpt, …) | 
Calculate CAPE and CIN. | 
critical_angle(pressure, u, v, heights, …) | 
Calculate the critical angle. | 
el(pressure, temperature, dewpt[, …]) | 
Calculate the equilibrium level. | 
lcl(pressure, temperature, dewpt[, …]) | 
Calculate the lifted condensation level (LCL) using from the starting point. | 
lfc(pressure, temperature, dewpt[, …]) | 
Calculate the level of free convection (LFC). | 
mixed_layer(p, *args, **kwargs) | 
Mix variable(s) over a layer, yielding a mass-weighted average. | 
mixed_parcel(p, temperature, dewpt[, …]) | 
Calculate the properties of a parcel mixed from a layer. | 
most_unstable_cape_cin(pressure, …) | 
Calculate most unstable CAPE/CIN. | 
most_unstable_parcel(pressure, temperature, …) | 
Determine the most unstable parcel in a layer. | 
parcel_profile(pressure, temperature, dewpt) | 
Calculate the profile a parcel takes through the atmosphere. | 
parcel_profile_with_lcl(pressure, …) | 
Calculate the profile a parcel takes through the atmosphere. | 
significant_tornado(sbcape, …) | 
Calculate the significant tornado parameter (fixed layer). | 
storm_relative_helicity(u, v, heights, depth) | 
Calculate storm relative helicity. | 
supercell_composite(mucape, …) | 
Calculate the supercell composite parameter. | 
surface_based_cape_cin(pressure, …) | 
Calculate surface-based CAPE and CIN. | 
Dynamic/Kinematic¶
absolute_momentum(u_wind, v_wind[, index]) | 
Calculate cross-sectional absolute momentum (also called pseudoangular momentum). | 
absolute_vorticity(u, v, dx, dy, lats[, …]) | 
Calculate the absolute vorticity of the horizontal wind. | 
advection(scalar, wind, deltas) | 
Calculate the advection of a scalar field by the wind. | 
ageostrophic_wind(heights, f, dx, dy, u, v) | 
Calculate the ageostrophic wind given from the heights or geopotential. | 
coriolis_parameter(latitude) | 
Calculate the coriolis parameter at each point. | 
divergence(u, v, dx, dy) | 
Calculate the horizontal divergence of the horizontal wind. | 
exner_function(pressure[, reference_pressure]) | 
Calculate the Exner function. | 
frontogenesis(thta, u, v, dx, dy[, dim_order]) | 
Calculate the 2D kinematic frontogenesis of a temperature field. | 
geostrophic_wind(heights, f, dx, dy) | 
Calculate the geostrophic wind given from the heights or geopotential. | 
inertial_advective_wind(u, v, u_geostrophic, …) | 
Calculate the inertial advective wind. | 
kinematic_flux(vel, b[, perturbation, axis]) | 
Compute the kinematic flux from two time series. | 
montgomery_streamfunction(height, temperature) | 
Compute the Montgomery Streamfunction on isentropic surfaces. | 
potential_vorticity_baroclinic(…[, axis, …]) | 
Calculate the baroclinic potential vorticity. | 
potential_vorticity_barotropic(heights, u, …) | 
Calculate the barotropic (Rossby) potential vorticity. | 
q_vector(u, v, temperature, pressure, dx, dy) | 
Calculate Q-vector at a given pressure level using the u, v winds and temperature. | 
shearing_deformation(u, v, dx, dy) | 
Calculate the shearing deformation of the horizontal wind. | 
stretching_deformation(u, v, dx, dy) | 
Calculate the stretching deformation of the horizontal wind. | 
total_deformation(u, v, dx, dy) | 
Calculate the horizontal total deformation of the horizontal wind. | 
vorticity(u, v, dx, dy) | 
Calculate the vertical vorticity of the horizontal wind. | 
wind_components(speed, wdir) | 
Calculate the U, V wind vector components from the speed and direction. | 
wind_direction(u, v) | 
Compute the wind direction from u and v-components. | 
wind_speed(u, v) | 
Compute the wind speed from u and v-components. | 
Boundary Layer/Turbulence¶
brunt_vaisala_frequency(heights, …[, axis]) | 
Calculate the Brunt-Vaisala frequency. | 
brunt_vaisala_frequency_squared(heights, …) | 
Calculate the square of the Brunt-Vaisala frequency. | 
brunt_vaisala_period(heights, …[, axis]) | 
Calculate the Brunt-Vaisala period. | 
friction_velocity(u, w[, v, perturbation, axis]) | 
Compute the friction velocity from the time series of velocity components. | 
tke(u, v, w[, perturbation, axis]) | 
Compute turbulence kinetic energy. | 
Mathematical Functions¶
cross_section_components(data_x, data_y[, index]) | 
Obtain the tangential and normal components of a cross-section of a vector field. | 
first_derivative(f, **kwargs) | 
Calculate the first derivative of a grid of values. | 
gradient(f, **kwargs) | 
Calculate the gradient of a grid of values. | 
grid_deltas_from_dataarray(f) | 
Calculate the horizontal deltas between grid points of a DataArray. | 
laplacian(f, **kwargs) | 
Calculate the laplacian of a grid of values. | 
lat_lon_grid_deltas(longitude, latitude, …) | 
Calculate the delta between grid points that are in a latitude/longitude format. | 
normal_component(data_x, data_y[, index]) | 
Obtain the normal component of a cross-section of a vector field. | 
second_derivative(f, **kwargs) | 
Calculate the second derivative of a grid of values. | 
tangential_component(data_x, data_y[, index]) | 
Obtain the tangential component of a cross-section of a vector field. | 
unit_vectors_from_cross_section(cross[, index]) | 
Calculate the unit tanget and unit normal vectors from a cross-section. | 
Apparent Temperature¶
apparent_temperature(temperature, rh, speed) | 
Calculate the current apparent temperature. | 
heat_index(temperature, rh[, mask_undefined]) | 
Calculate the Heat Index from the current temperature and relative humidity. | 
windchill(temperature, speed[, …]) | 
Calculate the Wind Chill Temperature Index (WCTI). | 
Other¶
find_bounding_indices(arr, values, axis[, …]) | 
Find the indices surrounding the values within arr along axis. | 
find_intersections(x, a, b[, direction]) | 
Calculate the best estimate of intersection. | 
get_layer(pressure, *args, **kwargs) | 
Return an atmospheric layer from upper air data with the requested bottom and depth. | 
get_layer_heights(heights, depth, *args, …) | 
Return an atmospheric layer from upper air data with the requested bottom and depth. | 
get_perturbation(ts[, axis]) | 
Compute the perturbation from the mean of a time series. | 
isentropic_interpolation(theta_levels, …) | 
Interpolate data in isobaric coordinates to isentropic coordinates. | 
nearest_intersection_idx(a, b) | 
Determine the index of the point just before two lines with common x values. | 
parse_angle(input_dir) | 
Calculate the meteorological angle from directional text. | 
reduce_point_density(points, radius[, priority]) | 
Return a mask to reduce the density of points in irregularly-spaced data. | 
resample_nn_1d(a, centers) | 
Return one-dimensional nearest-neighbor indexes based on user-specified centers. | 
smooth_gaussian(scalar_grid, n) | 
Filter with normal distribution of weights. | 
Deprecated¶
Do not use these functions in new code, please see their documentation for their replacements.
get_wind_components(u, v) | 
Calculate the U, V wind vector components from the speed and direction. | 
get_wind_dir(u, v) | 
Compute the wind direction from u and v-components. | 
get_wind_speed(u, v) | 
Compute the wind speed from u and v-components. | 
interp(x, xp, *args, **kwargs) | 
Interpolates data with any shape over a specified axis. | 
interpolate_nans(x, y[, kind]) | 
Interpolate NaN values in y. | 
lat_lon_grid_spacing(longitude, latitude, …) | 
Calculate the distance between grid points that are in a latitude/longitude format. | 
log_interp(x, xp, *args, **kwargs) | 
Interpolates data with logarithmic x-scale over a specified axis. |