API Reference#

This page describes the pyRT_DISORT API, where the API is grouped by functionality. Many docstrings contain practical example code.

Columns#

Perhaps the most important set of DISORT inputs is the optical depth, single scattering albedo, and phase function in each layer of the model. You can create these on a per-aerosol basis and store them in a Column object. These can easily help you create the optical properties of the composite atmospheric model.

Column(optical_depth, ...)

A data class to hold column information and interact with other column objects.

Equation of state#

These describe utilities for working with equation of state variables.

column_density(pressure, temperature, altitude)

Create the column density from a given grid of equation of state variables, assuming each grid point can be hydrostatically approximated.

scale_height(temperature, mass, gravity)

Compute the scale height of each model layer.

Forward scattering#

These describe utilities for working with forward scattering properties.

extinction_ratio(extinction_cross_section, ...)

Make a grid of extinction cross-section ratios.

optical_depth(q_profile, column_density, ...)

Make the optical depth in each model layer.

regrid(array, particle_size_grid, ...)

Regrid the input array onto a new particle size and wavelength grid using nearest-neighbor interpolation.

Phase function#

These describe utilities for working with phase functions.

decompose(phase_function, scattering_angles, ...)

Decompose a phase function into Legendre coefficients.

fit_asymmetry_parameter(phase_function, ...)

Fit an asymmetry parameter to a phase function.

set_negative_coefficients_to_0(coefficients)

Set all Legendre coefficients to 0 after the first negative coefficient.

construct_henyey_greenstein(...)

Construct a Henyey-Greenstein phase function.

henyey_greenstein_legendre_coefficients(...)

Get the Legendre coefficients of a Henyey-Greenstein phase function.

Rayleigh scattering#

These describe utilities for working with Rayleigh scattering.

rayleigh_legendre(n_layers, n_wavelengths)

Make the generic Legendre decomposition of the Rayleigh scattering phase function.

rayleigh_co2(column_density, wavelength)

Compute the Rayleigh CO 2 Column.

Vertical profiles#

These describe utilties for working with vertical profiles.

conrath(altitude, q0, scale_height, nu)

Construct a Conrath profile.

Angles#

These describe utilities for working with angles.

azimuth(incidence_angles, emission_angles, ...)

Construct azimuth angles from a set of incidence, emission, and phase angles.

Wavelengths#

These describe utilities for working with wavelengths.

wavenumber(wavelengths)

Convert wavelengths to wavenumbers.

Output arrays#

These describe utilities for constructing output arrays.

empty_albedo_medium(n_polar)

Make empty albedo of the medium array.

empty_diffuse_up_flux(n_user_levels)

Make empty diffuse up flux array.

empty_diffuse_down_flux(n_user_levels)

Make empty diffuse downward flux array.

empty_direct_beam_flux(n_user_levels)

Make empty direct beam flux array.

empty_flux_divergence(n_user_levels)

Make empty flux divergence array.

empty_intensity(n_polar, n_user_levels, ...)

Make empty intensity array.

empty_mean_intensity(n_user_levels)

Make empty mean intensity array.

empty_transmissivity_medium(n_polar)

Make empty transmissivity of the medium array.

Surface arrays#

These describe utilities for constructing arrays of the surface.

make_hapke_surface(user_angles, only_fluxes, ...)

Make a basic Hapke surface.

make_hapkeHG2_surface(user_angles, ...)

Make a 2-lobed Henyey-Greenstein Hapke surface.

make_hapkeHG2roughness_surface(user_angles, ...)

Make a 2-lobed Henyey-Greenstein Hapke surface with roughness parameter.