The ALG's software package consists on a Graphical User Interface (GUI) that allows users to configure the software and atmospheric Radiative Transfer Models (RTMs) in order to generate LUTs of atmospheric transfer functions. Accordingly, the software architecture was structured as shown in the following block diagram:
The software is therefore divided into two main modules:
In addition to these two modules, the software data files are structured in the following folders:
The main goal of ALG is to facilitate the use and operation of atmospheric RTMs and to generate Look-Up Tables (LUTs) of atmospheric transfer functions. However, the definition of these atmospheric transfer functions might slightly differ for different atmospheric RTM.
In the case of MODTRAN, the atmospheric transfer functions consist on:
Accordingly, the user can construct top-of-atmosphere (TOA) radiance (L) for a Lambertian surface of reflectance ρ with the following equation:
$$L = L_0 + {(E_{dir}\cosθ_{il}+E_{dif})·(T_{dir}+T_{dif})·ρ}/{π(1-Sρ)}$$where θil is the solar zenith angle.
In the case of 6SV, the atmospheric transfer functions consist on:
As for MODTRAN, the user can construct top-of-atmosphere (TOA) radiance (L) for a Lambertian surface of reflectance ρ with the following equation:
$$L = L_0 + {T_{gas}·E_{tot}·T_{tot}·ρ}/{π(1-Sρ)}$$ALG combines these atmospheric transfer functions in a LUT of dimensions (n·l)×p, where n is the number of atmospheric transfer functions, l is the number of wavelengths and p is the total number of combinations of the input variables. This LUT is stored in a Hierarchical Data Format HDF5 file (.h5) in the dataset named "/LUTdata".
In addition, the LUT input variables, constant parameters and configuration parameters are stored within the same HDF5 file. It contains the following information:
The content of the LUT HDF5 file is further described in the tables below:
Dimension name | Description |
---|---|
n_wvl |
Number of wavelengths at which the output atmospheric transfer functions are calculated. |
n_funcs |
Number of atmospheric transfer functions contained in the LUT (depends on the selected RTM). |
n_ comb |
Number of combinations of input variables at which the output atmospheric transfer functions are calculated. |
n_param |
Dimensionality of the input variable space (i.e., number of variables used as input in the RTM). |
Name | Description | Format |
---|---|---|
LUT output data |
Stored LUT output data, consisting of atmospheric transfer functions as obtained by the executed RTM. |
name="LUTdata"
|
Solar Irradiance |
Extraterrestrial solar irradiance used in the simulation. Notice that I0 is the same for all the nodes in the LUT. |
name="I0"
|
LUT header |
Matrix containing the values of the input variables at each combination in the LUT. Given the different units of the input variables, the attribute "units" consists on a string of comma-separated units (e.g., 'unit1,unit2,...'). An additional attribute "paramtype" defines whether each input variable is continuous or discrete, in a string of comma-separated types (e.g., 'continuous,discrete,discrete...'). |
name="LUTheader"
|
SZA |
Values of the Solar Zenith Angle for each of node in the LUT. |
name="SZA"
|
Wavelengths |
Values values at which the output atmospheric transfer functions are calculated. |
name="wvl"
|
Static parameters |
Values of the fixed/static parameters input in the LUT. Each parameter is stored in a subset with the corresponding variable name varname (e.g., 'static/IHAZE'). |
name="static/varname"
|