540 likes | 753 Views
Introduction to Adjoint Methods in Meteorology. Rolf Langland Data Assimilation Section Naval Research Laboratory Monterey, CA langland@nrlmry.navy.mil Including Material Provided by Dr. Ronald M. Errico (NASA-UMBC). JCSDA Summer Colloquium on Data Assimilation.
E N D
Introduction to Adjoint Methods in Meteorology Rolf Langland Data Assimilation Section Naval Research Laboratory Monterey, CA langland@nrlmry.navy.mil Including Material Provided by Dr. Ronald M. Errico (NASA-UMBC) JCSDA Summer Colloquium on Data Assimilation Santa Fe, N.M., 31 July 2012
Adjoint Methods Introduction • What is an adjoint model • Examples of adjoint equations • Interpretation of adjoint sensitivity • Development / testing of adjoint code • Misunderstandings about adjoint methods Please ask questions during presentation if something is not clear!
What is an Adjoint Model? [NWP context] • The transpose of a tangent linear version of a forecast model • It can be used to estimate the sensitivity of a forecast aspect (J) with respect to model initial conditions and parameters • Sensitivity information is useful for short-range forecasts (72 hr or less), subject to tangent-linear approximations
Why use adjoint models ? • Require information about sensitivity to initial conditions, but cannot construct the inverse of a numerical forecast model … • An adjoint model can provide good estimates of initial condition sensitivity, consistent with actual dynamics of nonlinear forecast model (group velocity, etc.) • Difficult or impossible to obtain this information by other methods
Adjoint Applications • Sensitivity of Forecast to Initial Conditions and Boundary Conditions – Key analysis errors • Observation Impact Information • Targeted Observing Guidance • Variational Data Assimilation – 4D-Var • Generation of Perturbations for Ensemble Forecasting • Optimal Perturbations and Singular Vectors
Adjoint models exist for: • Global weather prediction models • Regional models • Ocean models • Data assimilation procedures • Observation operators Adjoint codes are used in one form or another at every operational NWP forecast center
Forecast and Analysis Procedure Observation (y) Data Assimilation System Analysis (xa) Forecast Model Forecast (xf) Background (xb) Adjoint of Forecast and Analysis Procedure Observation Sensitivity (J/ y) Adjoint of the Data Assimilation System Adjoint of the Forecast Model Tangent Propagator Analysis Sensitivity (J/ xa) Gradient of Cost Function J: (J/ xf) Background Sensitivity (J/ xb) Observation Impact <y-H(xb)> (J/ y) What is the impact of the observations on measures of forecast error (J) ?
Data Assimilation Equation with K in observation space BACKGROUND (6h) FORECAST K ANALYSIS Post-multiplier Solver (self-adjoint) OBSERVATIONS Temperature Winds Pressure The analysis, Xa can be changed by perturbations of the observations (δy) or the background (δXb) An adjoint can be used to quantify this sensitivity
Adjoint of Data Assimilation Equation Sensitivity to Observations: Adjoint of forecast model produces sensitivity to Sensitivity to Background: see Baker and Daley 2000, QJRMS
Adjoint Operator - Linear algebra 101 The inner (dot) product of two vectors = a scalar If Lis an m x n matrix, then L* = LT Note: transpose is not the same as inverse !
TLM and Adjoint Equations The linear operator L propagates a perturbation vector forward in time TLM L is a tangent linear version of a nonlinear model, M final time initial time perturbations of state variables The adjoint operator LT propagates a sensitivity gradient vector backward in time – sensitivity of J to all elements of X at initial time Adjoint initial time final time sensitivity gradients LT is the transpose of L
Forecast Response Function (J) J can be any differentiable function of the model state variables that comprise Xf • Examples: • Surface pressure • Temperature, wind component, specific humidity • Vorticity, divergence, enthalpy • Kinetic energy • Forecast error (f –a) or (f-a)2 • Energy-weighted forecast error norm Not valid: J=Anomaly Correlation Coefficient undefined
Estimating δJ using TLM and Adjoint TLM Adjoint Equivalent to a 1st-order Taylor Series δx0 = can be any real or hypothetical perturbation 13
Obtain sensitivity to initial conditions using an adjoint model • The trajectory (analysis and forecast values of state variables) of the nonlinear forecast model are saved (at every time step if possible) from t=0 to t=f • The adjoint cost function (J) is defined • J J/T, J/u, J/v, J/psat t=f • The adjoint model is integrated backwards in time to obtain: • J/T, J/u, J/v, J/psat t=0
Adjoint sensitivity example Navy COAMPS model J = kinetic energy in lower troposphere Animation is at 700hPa, from 36hr to 0 hr
Forward (conventional) vs. adjoint sensitivity procedure In a forward-in-time sensitivity procedure, we change the initial conditions (or observations) and evaluate the effect on the forecast (OSE) In an adjoint sensitivity procedure we select the forecast aspect (J) and evaluate the sensitivity to the initial conditions (or observations)
Adjoint Sensitivity Analysis Impacts vs. Sensitivities A single impact study yields exact response measures (J) for all forecast aspects with respect to the particular perturbation investigated. A single adjoint-derived sensitivity yields linearized estimates of the particular measure (J) investigated with respect to all possible perturbations.
The forecast error norm A useful way to combine errors of wind, temperature, humidity and surface pressure into a costfunction are weighting functions that transform the errors of winds, temperature, humidity and pressure into units of energy [J kg-1], accounting for grid volume size/mass … The adjoint model starting condition is then …for example = , at all grid points (i,j,k), units = Jkg-1m-1s Energy norm ref: Rabier et al. 1996, QJRMS
Sensitivity summary field Then, to display of initial condition sensitivity, we can transform the gradients back into units of energy and combine the winds, temperature and pressure sensitivities -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 are inverses of the weighting functions, that transform the sensitivity gradients of winds, temperature, humidity and pressure into units of energy [J kg-1], accounting for grid volume size/mass
Sensitivity of NOGAPS 72-h forecast error to the initial T,u,v,ps fields00 UTC 10 February 2002 S0 J kg-1
-1 λ units are: -1 -1 etc.
Optimal correction of initial 500mb temperature based on adjoint sensitivity gradient to improve 72-hr forecast of east coast storm
Optimal correction of initial 300mb u-wind based on adjoint sensitivity gradient to improve 72-hr forecast of east coast storm
300mb u-wind – Comparison of initial conditions - Original IC – this produces large forecast error “Corrected IC” – this produces small forecast error
NOGAPS Sea-Level Pressure Forecasts and Analyses 72-hr forecast from 12Z 22 Jan 2000 Forecast with Adjoint-based IC Correction (+72hr) Operational Forecast (+72hr) L L L L
Plots of sensitivity gradient magnitude and grid resolution Gradient of error energy with respect to Tv24-hours earlier Units: Jkg-1K-1 0.5 x 0.0625 degree lat-lon grid 1 x 1.25 degree lat-lon grid Sensitivity magnitude on this grid is larger because a perturbation of initial conditions at any grid point represents a larger area / volume The same sensitivity gradient has smaller magnitude on this grid because of finer resolution – The sum of sensitivity for equal areas is independent of grid resolution Provided by R. Todling
Singular Vectors in 72-hr East Coast Storm Forecast Initial Time Total Energy 12Z 22 Jan 2000 Final Time Sfc Pressure 12Z 25 Jan 2000 SV 1 SV 2 SV 3
Example of TLM and Adjoint Derivation Nonlinear Equations 1st order Linearization
Example of TLM and Adjoint Derivation Tangent Linear Equations Adjoint Equations (LT)
Nonlinear model and tangent linear model trajectories The trajectory of the TLM is an approximation of the nonlinear trajectory TLM NLM The nonlinear forecast trajectory is saved at specified time intervals and used in the TLM The TLM is tangent to the nonlinear trajectory at every time step where an update is provided – it is not a purely linear calculation Time
Development of TLM and Adjoint Model Code OPTIONS: Develop TLM code directly from nonlinear model code, then develop adjoint code Develop TLM versions of nonlinear model original equations, then develop TLM and adjoint code Option 1 is the best method ….
Why develop the TLM from the nonlinear model code? • Eventually a TLM and adjoint code will be necessary anyway • The code itself is the most accurate description of the model algorithm • If the model algorithm creates different dynamics than the original equations being modeled, for most applications it is the former that are desirable and only the former that can be validated
Automatic Differentiation Software Input: Nonlinear code Output: TLM and adjoint code TAMC Ralf Giering (superceded by TAF) TAF FastOpt.com ADIFOR Rice University TAPENADE INRIA, Nice OPENAD Argonne Others www.autodiff.org
Considerations in development of TLM and Adjoint code • TLM and Adjoint models are straight-forward (although tedious) to derive from NLM code, and actually simpler to develop • Intelligent approximations can be made to improve efficiency • TLM and adjoint codes are simple to test rigorously • 4. Some outstanding errors and problems in the NLM are typically • revealed when the TLM and Adjoint are developed • 5. Some approximations to the NLM physics are generally necessary
TLM validation Comparison to nonlinear model Does the TLM or Adjoint model tell us anything about the behavior of perturbation growth in the nonlinear model that may be of interest?
Linear vs. Nonlinear results with moist physics, 24-hr forecasts TLM NLM Non-Convective Precip. ci=0.5mm Non-Convective Precip. ci=0.5mm NLM TLM Convective Precip. ci=0.2mm Convective Precip. ci=0.2mm
Adjoint model verification Gradient check Adjoint model starting condition and IC sensitivity gradient Evolved TLM perturbation and TLM starting condition Note that thedot product in the above equation is computed for all i,j,k in the model domain. This is a fundamental test to determine if the TLM and adjoint are coded correctly
Adjoint method accuracy • Quantitative accuracy best for small perturbations and short forecasts • Often, qualitatively useful information can be obtained for large perturbations in forecasts as long as 3-5 days…for example, when applied to mid-latitude winter storms – synoptic-scales • Accuracy is less for highly non-linear flows and smaller-scales • Adjoint accuracy is equivalent to that of the TLM
Tangent Linear vs. Nonlinear Results • In general, agreement between TLM and NLM results • will depend on: • Amplitude of perturbations • Stability properties of the reference state • Structure of perturbations • Physics involved • Time period over which perturbation evolves • Metric used for comparison
Issues with physics in TLM and adjoint • Parts of the NLM code may be non-differentiable, requiring approximations in the TLM and adjoint • 2. Numerical instabilities may occur in the TLM as a result of physics linearization • 3. Some physical parameterizations are much more suitable than others for linearization • 4. Development of the TLM and adjoint may uncover problems with the nonlinear model physics
Example of a transient instability in a TLM solution TLM NLM Errico and Raeder 1999 QJRMS
Adjoint models as paradigm changers Some results discovered using adjoint models 1. Atmospheric flows are very sensitive to low-level T perturbations 2. Evolution of a barotropic flow can be very sensitive to perturbations having small vertical scale 3. Error structures can propagate and amplify rapidly 4. Forecast barotropicvorticity can be sensitive to initial water vapor 5. Relatively few perturbation structures are initially growing ones 6. Sensitivities to observations differ from sensitivities to analyses
Misunderstanding # 1 False: Adjoint models are difficult to understand True: Understanding how to use and interpret adjoints of numerical models primarily uses concepts taught in early college mathematics
Misunderstanding # 2 False: Adjoint models are difficult to develop True: Adjoint models of dynamical cores are simpler to develop than their parent models, and almost trivial to check, but adjoints of model physics can pose difficult problems
Misunderstanding # 3 False: Automatic adjoint generators easily generate perfect and useful adjoint models True: Problems can be encountered with automatically generated adjoint codes that are inherent in the parent model. Do these problems also have a bad effect in the parent model?
Misunderstanding # 4 False: An adjoint model is demonstrated useful and correct if it reproduces nonlinear results for ranges of very small perturbations True: To be truly useful, adjoint results must yield good approximations to sensitivities with respect to meaningfully large perturbations. This must be part of the validation process
Misunderstanding # 5 False: Adjoints are not needed because the EnKF is better than 4DVAR and adjoint results disagree with our notions of atmospheric behavior True: Adjoint models have uses beyond 4DVAR. Their results can be surprising, but have been confirmed. It is rare that we have a tool that can answer such important questions so directly! It has not been demonstrated that EnKF is superior to TLM/adjoint for either data assimilation or sensitivity calculations.
Challenges • Develop new adjoint models • Include more physics in adjoint models • Develop parameterization schemes suitable • for linearized applications • Always validate adjoint results (linearity) • Many applications (sensitivity analysis, model tuning, predictability research, etc.) for adjoint models are not being fully examined at the present time
Adjoint Workshops 1992 – Pacific Grove, CA 1995 – Visegrad, Hungary 1998 – Lennoxville, Quebec 2000 – Moliets-et-Maa, France 2002 – Mount Bethel, PA 2004 – Aquafredda di Maratea,Italy 2006 – Tirol, Austria 2009 – Tannersville, PA 2011 - Cefalu,Sicily 2013? Contact Dr. Ron Errico rerrico@gmao.gsfc.nasa.gov to be put on mailing list