vSmartMOM Module Methods & Types

Defining Parameters for RT Simulation

Using the Parameters Object to Create a Model

Performing the RT Simulation

vSmartMOM.CoreRT.rt_runFunction
rt_run(pol_type, obs_geom::ObsGeometry, τ_rayl, τ_aer, quad_points::QuadPoints, max_m, aerosol_optics, greek_rayleigh, τ_abs, brdf, architecture::AbstractArchitecture)

Perform Radiative Transfer calculations using given parameters

rt_run(model::vSmartMOM_Model, i_band::Integer = -1)

Perform Radiative Transfer calculations using parameters passed in through the vSmartMOM_Model struct

Types

Parameters Type

vSmartMOM.CoreRT.vSmartMOM_ParametersType
struct vSmartMOM_Parameters

A struct which holds all initial model parameters (before any computations)

Fields

  • spec_bands

    Spectral bands (nBand)

  • brdf

    Surface (Bidirectional Reflectance Distribution Function)

  • quadrature_type

    Quadrature type for RT streams (RadauQuad/GaussQuadHemisphere/GaussQuadFullSphere)

  • polarization_type

    Type of polarization (I/IQ/IQU/IQUV)

  • max_m

    Hard cutoff for maximum number of Fourier moments to loop over

  • Δ_angle

    Exclusion angle for forward peak [deg]

  • l_trunc

    Truncation length for legendre terms (scalar for now, can do nBand later)

  • depol

    Depolarization factor

  • float_type

    Float type to use in the RT (Float64/Float32)

  • architecture

    Architecture to use for calculations (CPU/GPU)

  • sza

    Solar zenith angle [deg]

  • vza

    Viewing zenith angles [deg]

  • vaz

    Viewing azimuthal angles [deg]

  • obs_alt

    Altitude of observer [Pa]

  • T

    Temperature Profile [K]

  • p

    Pressure Profile [hPa]

  • q

    Specific humidity profile

  • profile_reduction_n

    Length of profile reduction

  • absorption_params

    Optional struct that holds all absorption-related parameters

  • scattering_params

    Optional struct that holds all aerosol scattering-related parameters

Model Type

vSmartMOM.CoreRT.vSmartMOM_ModelType
struct vSmartMOM_Model

A struct which holds all derived model parameters (including any computations)

Fields

  • params

    Struct with all individual parameters

  • aerosol_optics

    Truncated aerosol optics

  • greek_rayleigh

    Greek coefs in Rayleigh calculations

  • quad_points

    Quadrature points/weights, etc

  • τ_abs

    Array to hold cross-sections over entire atmospheric profile

  • τ_rayl

    Rayleigh optical thickness

  • τ_aer

    Aerosol optical thickness

  • obs_geom

    Observational Geometry (includes sza, vza, vaz)

  • profile

    Atmospheric profile to use

Surface Types

Quadrature Types

vSmartMOM.CoreRT.RadauQuadType
struct RadauQuad

Use Gauss Radau quadrature scheme, which includes the SZA as point (see Sanghavi vSmartMOM)

vSmartMOM.CoreRT.GaussQuadFullSphereType
struct GaussQuadFullSphere

Use Gauss quadrature scheme, define interval [-1,1] for full sphere (180⁰), take half of it (less points near horizon compared to GaussQuadHemisphere)

Atmospheric Profile Type