AO3D uses random numbers to model the propagation of photons (or rays) of light in a system. The system is composed of sources, an environment, and observations. The properties of these three parts of the system being modeled are defined in a Matlab script called InitializeAO3DSystem.m. The spatial aspects of the system are defined in a mathematical Cartesian coordinate system, with x, y, and z axes in units of meters. The z-axis points upward, with z = 0 taken as sea level. The y-axis points true North, the x-axis true East. A photon’s direction is described by a zenith angle, measured from directly upward, and an azimuth angle measured clockwise from North (y-axis). These angles are measured in degrees.
The sources may consist of solar illumination and/or one or more laser beams, or any combination simulating a physical light source. Each run of the code is for a single source wavelength. (Broadband simulations require multiple runs at a set of wavelengths chosen by the user).
The environment grid can be set up totally independently of the sampling grid. The environment grid currently consists of a vertical stack of homogeneous horizontal layers, each with its own thickness and properties. The layers are of unlimited horizontal extent.
Layers with finite thickness are called “bulk layers”. They have a set of inherent optical properties (IOPs). These are:
1. The real part of the index of refraction
2. The volume scattering coefficient in inverse meters
3. The phase function in inverse meters inverse steradians
4. The volume absorption coefficient in inverse meters
Two bulk layers may be purely adjacent or separated by a layer of zero thickness, called a “surface layer”.
Surface layers have properties which describe specular and diffuse reflection and refraction, and any other behavior the details of which are “hidden” in the layer. Surface layers may also be assigned an absorption probability, which allows their use as boundaries beyond which photons are not tracked. The highest and lowest layers must be surface layers. The highest surface layer is normally taken as the edge of outer space, or the top of the atmosphere of interest, and it’s absorption is set to 1. The lowest layer is normally taken as the ocean floor, and is assigned absorptive and reflective properties as appropriate. Another example of a surface layer is the ocean surface itself, which can be described by a tilting specular surface, or a surface with diffuse reflection and transmission similar to sea foam, or a mixture of the two.
The properties of surface layers can be more various and complex than those for bulk layers, so there is no set list of properties.
Data Recording Arrangement:
Data recording arrangements in this context are places in space and time at which photons or rays are counted. These include detectors (usually with circular sensitive areas and FOVs), and radiance grids. (portions of the environment space subdivided into adjacent “cells” at which the numbers of photons are saved for each zenith and azimuth angle interval). The framework is unique in that it does not require fixed grid spacing. The grid itself spans a rectangular solid area bounded by x-, y-, and z-planes, which are specified by the variables xmin, xmax, ymin, ymax, zmin, and zmax. Photons passing through any portion of a grid cell are counted.