RT Parameters Guide
radiative_transfer group
spec_bands: List of spectral bands to be included in the computation, written in the form, ν_start:ν_step:ν_end. Units in cm⁻¹. 
surface: Type of reflectance surface at the bottom of the atmosphere. Supported: LambertianSurfaceScalar(albedo), LambertianSurfaceSpectrum([...]), LambertianSurfaceLegendre([...]), rpvSurfaceScalar(ρ₀, ρ_c, k, Θ), RossLiSurfaceScalar(fvol, fgeo, fiso). One string per band.
quadrature_type: Quadrature type for RT streams. Should be one among [RadauQuad, GaussQuadHemisphere, GaussQuadFullSphere].
polarization_type: Level of polarization to simulate. Should be one among [Stokes_I(), Stokes_IQ(), Stokes_IQU(), Stokes_IQUV()].
max_m: Hard cutoff for maximum number of Fourier moments to loop over. Should be a positive integer.
Δ_angle: Exclusion angle for forward peak in phase truncation. Units in degrees. 
l_trunc: Truncation length for legendre terms. Should be a positive integer.
depol: Depolarization factor to use in Rayleigh calculations (unitless).
float_type: Float type to use in the RT simulations. Should be one of [Float64, Float32]. 
architecture: Hardware architecture to use for calculations. Should be one among [CPU, GPU].
geometry group
sza: Solar zenith angle, units in degrees. 
vza: List of viewing zenith angles, units in degrees. 
vaz: List of viewing azimuthal angles, units in degrees. Should be same length as vza. 
obs_alt: Altitude of observer, in Pascal. Note: Currently not used. Only Top Of Atmosphere (TOA/satellite) observations are supported at the moment.
atmospheric_profile group
T: Temperature at each layer midpoint, as list from TOA to BOA, in Kelvin. 
p: Pressure at each layer boundary, as list from TOA to BOA, in hPa. Should be one element greater in length than T. 
q (optional): Specific humidity at each layer midpoint. Units in g/Kg. 
profile_reduction: Length of profile reduction to be performed internally. Must be positive integer less than length of T, or -1 for no reduction.
absorption group (optional)
molecules: Which molecules should be used for absorption calculations in each band. Should be a list of lists of molecule names (outer list over number of bands, inner list to hold molecules). Use vSmartMOM.Absorption.show_molecules() to see a list of valid molecules. 
vmr: A dictionary of volume-mixing ratios that match every individual molecule listed in molecules to a vmr. A vmr can be either a single number, or an array to interpolate from TOA to BOA, according to the number of layers specified by the p/T grids.
broadening_function: Type of broadening function to use in absorption calculations. Should be one of [Voigt(), Lorentz(), Doppler()]. Please note the parentheses. 
CEF: Complex error function for Voigt calculations. Default should generally be used, HumlicekWeidemann32SDErrorFunction(). Please see Absorption/complexerrorfunctions.jl for details. 
wing_cutoff: Wing cutoff to use in the line-by-line absorption calculations. Should be a positive number in units, cm⁻¹. 
scattering group (optional)
aerosols: A list of scattering aerosols and their properties. Each aerosol should be a dictionary of key-value pairs for the following keys:
- τ_ref: Reference τ, in 
µm - μ: Log mean radius, in 
µm - σ: Log stddev of radius, in 
µm - nᵣ: Real part of refractive index (unitless)
 - nᵢ: Imaginary part of refractive index (unitless)
 - p₀: Pressure peak, in 
Pa - σp: Pressure peak width, in 
Pa 
r_max: Maximum aerosol particle radius for quadrature points/weights. Units in µm. 
nquad_radius: Number of quadrature points for aerosol radius. Should be a positive integer.
λ_ref: Reference wavelength. Units in µm. 
decomp_type: Fourier decomposition method to use. Should be one of [NAI2(), PCW()]. NAI2 should be used for most cases. Please note the parentheses.