MODTRAN4 was enhanced using the ADIFOR tool for automatic differentiation (AD) of Fortran codes. In addition to all the common outputs, the enhanced version of MODTRAN can now provide the full sensitivity (Jacobian) matrix of the output with respect to all selected inputs. The derivative statements are added to the code based on symbolic analysis of the Fortran statements, and the chain rule is used to propagate the derivative calculations across the entire code including conditional statements, common blocks, subroutines, functions, etc. The key capabilities for the user are:
1) The complete Jacobian is computed in a single run of the enhanced MODTRAN code; therefore, there is no need to run MODTRAN repeatedly, while perturbing one variable at the time.
2) The derivatives are exact (based on analytical expressions), and therefore do not depend on the step size, as is the case for finite differences sensitivity
The adMODTRAN code is designed to run in two modes. First as a standalone code with its own GUI for use in sensitivity and uncertainty analyses . Second, as a callable function (without the GUI) from other programs when iterative solutions are required (as in inverse atmospheric propagation problems).
A comprehensive suite of graphical user interfaces was developed to intuitively handle the new [sensitivity related] user inputs and outputs. First, an input GUI allows the user to load the specific scenario to be solved, select the desired dependent and independent parameters for the sensitivity analysis, and launch the code. Second, an output GUI is automatically launched by the input GUI and allows the user to select logical subsets of the very large Jacobian matrix for visualization in various commercial tools (Excel, Tecplot, ENVI, etc.). Finally, an uncertainty analysis GUI allows the user to manage input parameter uncertainty databases, and compute MODTRAN output uncertainties based on the computed Jacobian and the input parameter uncertainties. The whole package is designed to allow any user of MODTRAN to intuitively operate adMODTRAN. adMODTRAN is available to qualified users who already signed a non disclosure agreement with the US Government. Click here to download the Supplemental Non Disclosure Agreement.