AOMC Illustration (Created by N.A.G.)

What is the AOMC model?

The Aquatic Optics Monte Carlo (AOMC) model is an open-source tool designed to simulate the propagation of light in an optically shallow, vertically heterogeneous aquatic medium. It was originally developed in 2003 using strict FORTRAN 90 standards to ensure broad compatibility across different computing platforms.

For more on the project’s history, author, and citation guidelines, please see the About page.


AOMC GitHub Repository

What will the model simulate?

The model simulates radiometric quantities (as measured by radiometers) such as:

  • Upwelling and downwelling scalar and planar irradiances (Euo, Edo, Eu and Ed)
  • Radiance
  • Mean cosines
  • Shape factors (as used in the two-flow or two-stream model)
  • Surface Albedo

A detailed description of the underlying radiative transfer theory can be found in the Model Theory document and the Model Implementation document.

How do I compile the code?

Compilation instructions can be found on the Compilation page.

Running the model

To run the aomc model, execute the compiled aomc executable from within a project folder that contains all the necessary input files. It is crucial to note that the input file names (e.g., amc.inp, abs.inp) are hard-coded into the model’s source code. Therefore, these files must be present in the directory from which the model is executed.

Careful attention must be paid to the format and content of these input files. Incorrect formatting or missing data will lead to errors. It is highly recommended to thoroughly read the Input File Documentation to ensure proper setup.

Input File Documentation

The AOMC model is configured through a series of plain text input files. Detailed documentation for the format of each file can be found below:

  • amc.inp: Main model configuration.
  • abs.inp: Specific absorption coefficients.
  • scat.inp: Specific scattering coefficients.
  • conc.inp: Constituent concentrations by layer.
  • spf.inp: Scattering phase function definitions.
  • lambbot.inp: Wavelength and bottom reflectance properties.
  • difcol.inp: Direct vs. diffuse light fractions (used when lsource=0).
  • skydist.inp: Tabulated sky radiance data (used when lsource=1).