Enumerations and Constants

Defined in DisortTypes.hpp.

PhaseFunction

enum class PhaseFunction {
    Isotropic          = 1,
    Rayleigh           = 2,
    HenyeyGreenstein   = 3,
    HazeGarciaSiewert  = 4,
    CloudGarciaSiewert = 5
};

Selects the scattering phase function type used by the convenience methods setPhaseFunction(), setHenyeyGreenstein(), etc.

Value

Description

Isotropic

Isotropic scattering (all moments zero except the zeroth).

Rayleigh

Rayleigh scattering (moment 2 = 0.1).

HenyeyGreenstein

Henyey-Greenstein phase function with asymmetry parameter g. Moments follow \(\chi_k = g^k\).

HazeGarciaSiewert

Haze-L phase function from Garcia & Siewert (1985).

CloudGarciaSiewert

Cloud C.1 phase function from Garcia & Siewert (1985).

BoundaryConditionType

enum class BoundaryConditionType {
    General = 0,
    Special = 1
};

Value

Description

General

Standard boundary conditions with specified top/bottom illumination.

Special

Return only the medium’s albedo and transmissivity (no specific illumination).

IlluminationType

enum class IlluminationType {
    Top    = 1,
    Bottom = 2
};

Specifies the direction of external illumination.

BrdfType

enum class BrdfType {
    None    = 0,
    RPV     = 1,
    CoxMunk = 2,
    Ambrals = 3,
    Hapke   = 4
};

Selects the bidirectional reflectance distribution function (BRDF) model for the bottom boundary.

Value

Description

None

No BRDF; use Lambertian surface (surface_albedo).

RPV

Rahman-Pinty-Verstraete model.

CoxMunk

Cox & Munk ocean surface model.

Ambrals

Ambrals (Ross-Li) kernel-based model.

Hapke

Hapke opposition-effect model.

MessageType

enum class MessageType {
    Warning = 0,
    Error   = 1
};

Internal diagnostic message severity.

VerbosityLevel

enum class VerbosityLevel {
    Verbose = 0,
    Quiet   = 1
};

Controls solver diagnostic output.

Constants

constexpr double DEG  = M_PI / 180.0;   // degrees-to-radians conversion
constexpr int    NMUG = 200;             // quadrature points for BRDF integration