Hi,
In the diagnostic output of the adjoint run I get negative total kinetic energy. I looked at
ad_diag.F and found that ad_Hz(i,j,k) is negative in my runs.
Do you know where this comes from, or what I should do about this?
I just saw it this afternoon and tried to debug, but grepping for ad_Hz yields so many results I don't know where to start.
Thanks for your help!
negative ad_Hz in ad_diag.F yields negative total kinetic energy?
Re: negative ad_Hz in ad_diag.F yields negative total kinetic energy?
Regarding the negative ad_Hz, I now don't think it's an error. It just arises from the adjoint model in the incremental method. Is this right? If yes, the diagnostic energy outputs are just relevant in terms of magnitude, e.g. to detect blowups. Is this correct?
- arango
- Site Admin
- Posts: 1367
- Joined: Wed Feb 26, 2003 4:41 pm
- Location: DMCS, Rutgers University
- Contact:
Re: negative ad_Hz in ad_diag.F yields negative total kinetic energy?
The tangent linear and adjoint time-evolving fields are perturbations and can be positive or negative. For example, check salinity, a positive definite quantity in the ocean (nonlinear model physical space), represents the dissolved matter content in seawater. A negatively valued salinity is a physical absurdity. However, the salinity can be negative in the tangent linear and adjoint kernels. The adjoint model is forced by HT(x) operators at the observation locations. It is like a delta function scaled and spread by the background error covariance at the observation location. We use the dual formulation, which operates on the minimization space span by the observations in 4D-Var. As such, the tangent linear and adjoint state vectors and associated quantities (like time-evolving geometry metrics) do not have any physical meaning from the fluid dynamics point of view. I have noticed that many users struggle with this mathematical concept. After all, the adjoint can be considered as a gradient operator.
Yes, the diagnostics are computed to check if the tangent linear and the adjoint have some exponential growth, which may imply many things, such as violating the linearization assumption, error model hypothesis, wrong observations, observation quality control, or simple numerical CFL infringements.
Yes, the diagnostics are computed to check if the tangent linear and the adjoint have some exponential growth, which may imply many things, such as violating the linearization assumption, error model hypothesis, wrong observations, observation quality control, or simple numerical CFL infringements.
Re: negative ad_Hz in ad_diag.F yields negative total kinetic energy?
Fascinating, thanks!
Also, I saw the Tutorial 11 pdf explains how to derive an adjoint operator, and I also should read the Giering-Kaminski paper.
Also, I saw the Tutorial 11 pdf explains how to derive an adjoint operator, and I also should read the Giering-Kaminski paper.
Re: negative ad_Hz in ad_diag.F yields negative total kinetic energy?
Yes! Thanks, I would probably never have found those! Unfortunatly I can't play the flash movies, but the .ppt file looks fine in LibreOffice.
Re: negative ad_Hz in ad_diag.F yields negative total kinetic energy?
The links in viewtopic.php?t=268 should now work. I converted them to mp4 files.
Re: negative ad_Hz in ad_diag.F yields negative total kinetic energy?
Yes, now I can see them! Thanks for converting!