To summarize I have been having a major issue relating to assimilating SSHs into my model;
• Model blows up on initialization of final nonlinear run (after the inner loops) after time step 0.
My observation data is AVISO SSH data, obtained using the matlab script d_ssh_obs.m (located in the matlab trunk of subversion). This script actually required a few simple adjustments for current use (as of 2015) such as datum changes and the conversion to meters which is now not needed. I have performed the spatial and temporal offset so the observations and ICs numbers wise are not far off. Note I have yet to remove the steric signal since these were simply testing the system.
Now for my assimilation here are my observations (top) and ICs (below);
Now these I am aware that the initial conditions (obtained from hycom climatology) are quite different (especially in the north of my domain) to the observations. Again I have assumed this shouldn’t affect the assimilation process too much since the numbers are still in the same order at least.
I am running the test assimilation with 5 inner loops for speed but at 30 seconds time step to keep the max bara courent number down to around ~0.2 (when assimilating SSTs I found the model kept blowing up with a 60 second timestep, ~0.4 max bara courent number).
However upon the end of the final loop and the forward analysis run; the model blows up after one timestep…. And upon investing the rst file seems to blow up at one point in V at the bottom of the domain… note that none of my observations are rejected.
Here the position of where v (red) has blown up is shown with the observation points superimposed (light orange);
I did this plot since I originally thought maybe a specific observation could be causing it and wanted to get a reference to whether the blow-up and individual observation overlap; however to test this theory anyways I did also try shrinking my observations to a small square in the domain away from the site of blow up and it still blows up in the same place…
Note there is no island at this area and my rxo and rx1 values are good (see log error file), so I’m quite sure it’s not a bathymetry issue. I have also have checked normalization coefficients and they seem good, although I have kept the same correlation length scales for my 3km model as my 5km model, perhaps this could be an issue?
Interestingly this is the same place my model was blowing up when I assimilating SSTs with a 60 second time step, so I thought perhaps it may be the adjoint model requires an even smaller time step? So I tired 20 seconds, max bara courent number ~0.15 and it still blows up. I am sure that a courent number of 0.15 is low enough for the model right?
I have also tried different ICs, with a different month (so different norm coeffs and std dev files) but I still get the same result.
Interesting since I also have a 5km model of the same domain, I tested the SSH assimilation and it worked!
![Shocked :shock:](./images/smilies/icon_eek.gif)
Ok so to sum up this is a brief list of everything I have tried;
1. Made my observations cover a smaller area in my domain;
2. Tried several different ICs, spanning over different months;
3. Changed the timestep from 30 seconds to 20 seconds;
4. Tried to assimilate the observation with my lower resolution 5km model and it worked!
As previously mentioned I am starting to run out of ideas now
![Sad :(](./images/smilies/icon_sad.gif)
although what I havn't tried is;
1.Changing the correlation length scales;
2.Changing ndtfast as well as timestep to even smaller, say 10 seconds;
Since the model blows up with SSTs, with a 60 second timestep in the same area as it is blowing now assimilating SSH with a 30 second timestep, I can only guess that’s it’s a stability issue within my model
![Confused :?](./images/smilies/icon_confused.gif)
I have been running with a 30.000 timestep size (s) for 3-D equations and 15 ndtfast split, is this an unstable setup, but works for assimilating SSTs?
Why the 5km model can assimilate and the 3km model cannot is strange? The CCP setting in both models are the same so perhaps the change in resolution is too much for assimilation process?
Anyways I’ve attached my .h file, .in, and log error file.
Any suggestions would be greatly appreciated!