ATMOSPHERIC TRANSMISSION AND RADIANCE MODELS AD-MODTRAN: An Enhanced MODTRAN Version for Sensitivity and Uncertainty Analysis G. Scriven, N. Gat, J. Kriesel (OKSI) J. Barhen, D. Reister, Oak Ridge National Laboratory M. Fagan, Rice University 26 th ANNUAL REVIEW CONFERENCE ON ATMOSPHERIC TRANSMISSION AND RADIANCE MODELS 23 and 24 September 2003 The Museum of Our National Heritage Lexington, Massachusetts
Acknowledgements Missile Defense Agency (MDA): Lt. Col. Gary Barmore Col. Kevin Greaney Dr. Harry Heckathorn James Kiessling AFRL/PRSA: Dr. Robert Lyons Tom Smith
Outline What is Automatic Differentiation (AD)? Creation of user friendly interface (GUI) Demonstration of AD-MODTRAN Application of AD-enhanced codes Status of AD-MODTRAN Recommendations
What is Automatic Differentiation (AD)? Basic Enhancement Process Original code Adifor processor Derivative code User specified variables How it works AD computes analytic derivatives via symbolic differentiation Applies the chain rule to compute derivatives of outputs w.r.t. inputs Follows loops, conditional statements, subroutines, common blocks, etc. Can create the entire sensitivity matrix (Jacobian) in a single run of the code
Automatic Differentiation (AD) vs. Finite Differences (FD) Exact derivative y Finite Differences x AD Derivatives are analytic (exact) Independent of step size Complete Jacobian with single execution AD is computationally more efficient FD Derivatives are approximate Depends on step size Multiple runs (one variable at a time) FD is 15-30 times slower than AD Historically, AD-enhanced codes have been difficult to create
OKSI’s AD Implementation Process Original code any conflicts? AD tools Derivative code Create new user interface User specified variables no Setup files yes resolve yes Final product Any invalid results? User-friendly, validated AD-enhanced code Validate AD results Compile and link no Only the differentiation is automatic, other steps require significant developer efforts (yellow) OKSI created supplemental tools to further automate the process These tools include GUI’s to make the operation of the AD-enhanced code more intuitive
OKSI User Tools: Universal GUI Approach Applications Uncertainty Analysis Output GUI Wrapper Real-time Simulations Input GUI Inverse Problems AD-enhanced code Etc. Uncertainty GUI The 3 GUI programs are designed to work with all AD-enhanced codes Input GUI: handles case setup and independent variable (IV) selection Output GUI: handles output data selection for visualization/application Uncertainty GUI: handles bookkeeping of IV uncertainties GUIs have been tested on AD-MODTRAN and AD-SPURC
Demonstration of AD-MODTRAN
Sample AD Output Surface Plots X-Y Plots Sensitivity of target intensity (w/sr/mm) to atmospheric water vapor profile (g/m3) Sample AD Output X-Y Plots Surface Plots sensitivity 4 plot types available from Output GUI: pie/bar charts 3) surface plots (2D) X-Y plots (1D) 4) image cubes (3D)
Applications of AD-enhanced Output Sensitivity/Uncertainty Analysis Error Propagation Real-time, Physics-based Simulations (ex: turbulent fluctuations) Inverse Problem Solutions (ex: atmospheric retrieval) 20% Movie 10% 5%
Status of AD-MODTRAN Handles about 70% of ALL inputs and 90% of all outputs AD-MODTRAN should compile on any machine GUIs run only on Windows based platforms Minimal validation testing has been done Currently available as an alpha release Request form may obtained at: www.oksi.com; choose “projects”; then “AD-enhanced MODTRAN”
Recommendations Get user input! Address ALL inputs and outputs in AD-MODTRAN Create automated validation tools (using finite differences) Apply AD to latest version of MODTRAN Implement AD-MODTRAN in existing projects (atm. comp., simulations, …) Apply AD to SAMM2
Backup Slides
Parameters Currently Handled by AD-MODTRAN Code List of IVs List of DVs # of possible sensitivities = 1.66 x 1011 in a single AD-MODTRAN execution! This list accounts for about 60% of the IVs and 80% of the DVs
4. Physics-based Simulations Example: fluctuating plume temperatures due to turbulent mixing/chemistry A) Assume temperatures fluctuate randomly with a Gaussian distribution 2s Tmean B) Compute resulting pixel radiances using AD derivatives Li,j Steady-state (SPURC) Sensitivity (AD-SPURC)
AD vs. FD: computational accuracy Example case: IV – aspect angle (130°) DV – Total Intensity (178 kw/sr) Error = (AD-FD)/AD x 100% Increasing Truncation & round off error Increasing Nonlinearity error Ideal FD step size is not known apriori Multiple FD runs (per IV) required to determine appropriate step size Optimal step may still have residual error
AD vs. FD: computational efficiency AD is about 5 times faster than FD (when ideal step size is known apriori) In reality AD will be about 15 to 30 times faster (for unknown ideal step size)