Wavelength and Bottom Reflectance Input (lambbot.inp)
This document describes the format for the lambbot.inp file. This file is crucial for defining the simulation’s wavebands and the reflective properties of the bottom boundary (and an optional target).
File Format
The structure of the lambbot.inp file depends on whether a bottom target is enabled via parameter 16) Bottom target: NO[0],YES[1] in the amc.inp file.
The data is read in free-format (list-directed), meaning numerical values should be separated by spaces or commas.
1. Without a Bottom Target (targbot = 0)
If no target is specified, the file has the following structure:
- First Line: An integer representing the total number of wavebands. This must match parameter
18) Number of wavebandsinamc.inp. - Subsequent Lines: One line for each waveband, containing 3 values:
Wavelength: The actual wavelength value (e.g., in nanometers).Bottom Reflectance: The fraction of photons that are reflected by the bottom boundary (a value from 0.0 to 1.0).Bottom Specular Fraction: The fraction of the reflected photons that are reflected specularly (mirror-like). A value of 1.0 is purely specular, 0.0 is purely diffuse (Lambertian).
2. With a Bottom Target (targbot = 1)
If a target is specified, the file requires additional information:
- First Line: An integer representing the total number of wavebands (must match
amc.inp). - Subsequent Lines: One line for each waveband, containing 5 values:
Wavelength: The actual wavelength value.Bottom Reflectance: Reflectance of the general bottom area (outside the target).Bottom Specular Fraction: Specular fraction for the general bottom.Target Reflectance: Reflectance of the target area.Target Specular Fraction: Specular fraction for the target.
Specular vs. Diffuse Reflection Logic
When a photon strikes the bottom boundary, the model determines its fate using the parameters from this file in a two-step process:
Reflection vs. Absorption: A random number (from 0 to 1) is generated. If this number is less than or equal to the surface’s
Reflectancevalue (e.g.,Bottom Reflectance), the photon is reflected. Otherwise, it is absorbed.Specular vs. Diffuse: If the photon is reflected, a second random number is generated.
- If this second random number is less than or equal to the surface’s
Specular Fractionvalue (e.g.,Bottom Specular Fraction), the reflection is specular (mirror-like), and the photon’s angle of incidence is perfectly inverted. - If the random number is greater than the
Specular Fraction, the reflection is diffuse (Lambertian), and the photon is scattered in a new, random upward direction.
- If this second random number is less than or equal to the surface’s
Examples
Example 1: No Target (targbot = 0)
Here is a sample lambbot.inp for 4 wavebands without a bottom target.
4
400.0 0.10 0.5
500.0 0.15 0.4
600.0 0.20 0.3
700.0 0.25 0.2
--- NOTES ---
This section is not read by the model.
Format: [Wavelength] [Bottom Reflectance] [Bottom Specular Fraction]
Example 2: With Target (targbot = 1)
Here is a sample lambbot.inp for 4 wavebands with a bottom target enabled.
4
400.0 0.10 0.5 0.8 1.0
500.0 0.15 0.4 0.7 0.9
600.0 0.20 0.3 0.6 0.8
700.0 0.25 0.2 0.5 0.7
--- NOTES ---
This section is not read by the model.
Format: [Wavelength] [Bottom Reflectance] [Bottom Specular] [Target Reflectance] [Target Specular]