vSmartMOM Module Methods & Types

Defining Parameters for RT Simulation

Using the Parameters Object to Create a Model

vSmartMOM.CoreRT.model_from_parametersFunction

Take the parameters specified in the vSmartMOMParameters struct, and calculate derived attributes into a vSmartMOMModel

source

Take the parameters specified in the vSmartMOMParameters struct, and calculate derived attributes into a vSmartMOMModel

source

Performing the RT Simulation

vSmartMOM.CoreRT.rt_runFunction
rt_run(model::vSmartMOM_Model; i_band::Integer = 1)

Perform Radiative Transfer calculations using given parameters if no Raman is used

source
rt_run(S_type::AbstractRamanType,model::vSmartMOM_Model; i_band::Integer = 1)

Perform Radiative Transfer calculations using given parameters and AbstractRaman type

source

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

source

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

source

Surface Types

Quadrature Types

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)

source

Atmospheric Profile Type