I am trying to set up a new domain which is larger than ones I've run recently with some challenging bathymetry. I'm having a bit of trouble getting it to run, but the trouble is:
* relatively insensitive to timestep
* completely insensitive to NDTFAST
* happens in different places for PGI vs. gofortran, but at almost the same time
* insensitive to SPLINES
* happens more quickly with UV_SADVECTION
* insensitive to LMD_MIXING vs. GLS_MIXING (k-omega)
* happens for both my branch and the trunk code
* happens at mid-depth at one isolated point in u or v
I'm going to attach some images, showing trouble in the vertical advection of u, taken when restarting just before the trouble. Has anyone ever seen anything like it? Have any advice? Is it time to smooth the heck out of the bathymetry? I've seen this sort of trouble on and off over the years and it has been hard to sneak up on because in other domains it would go away on restart, even with PERFECT_RESTART.
Instability in vertical advection
- arango
- Site Admin
- Posts: 1367
- Joined: Wed Feb 26, 2003 4:41 pm
- Location: DMCS, Rutgers University
- Contact:
Re: Instability in vertical advection
How is the profile of temperature, salinity, or density looks at that point? It will be also useful to plot the velocity shear, N^2, and Richardson number at that point. Obviously, something is wrong in the vertical parametrization. The vertical viscosity coefficients is kind of high at the point. You just need to investigate who is doing it. The best thing in these case is to look at the profile of velocity shear and N^2. Obviously, the model is blowing up with that high velocity.
Re: Instability in vertical advection
Kate,
I'd be very interested to know what solutions you come up with if you manage to pin it down, because I've grappled unsuccessfully with the same problem (I consider the extent to which I had to smooth my bathymetry/reduce my timestep to make it go away an unsuccessful fix). I had an especially rough time with Akima behaving this way, but I've seen it with M-Y as well.
Do your instabilities tend to happen near boundaries? Mine do, and yet not quite at the steepest bathymetric slopes... a little further offshore than that, and mostly to the extreme north and south of my (west coast) domain. I don't think it's actually a boundary condition issue (reflections accumulating to produce instabilities, or something?) because I tried switching them through various options, and the problem was insensitive to that, as well.
-Liz
I'd be very interested to know what solutions you come up with if you manage to pin it down, because I've grappled unsuccessfully with the same problem (I consider the extent to which I had to smooth my bathymetry/reduce my timestep to make it go away an unsuccessful fix). I had an especially rough time with Akima behaving this way, but I've seen it with M-Y as well.
Do your instabilities tend to happen near boundaries? Mine do, and yet not quite at the steepest bathymetric slopes... a little further offshore than that, and mostly to the extreme north and south of my (west coast) domain. I don't think it's actually a boundary condition issue (reflections accumulating to produce instabilities, or something?) because I tried switching them through various options, and the problem was insensitive to that, as well.
-Liz
Re: Instability in vertical advection
I've managed to convince myself that it is vertical advection causing the trouble. Every other field looks fine until well after v goes bad. I saved a restart file before the v-velocity looks visibly bad, then did diagnostics on it every timestep. Here are the different V components (v_hvisc was too small for ncview to plot at that point).
You ask if it goes bad near the boundaries. The point shown is at j=7 (6 in ncview coordinates), but it is closer to an island than the boundary. Its other favorite place to go bad is also quite close to an island. My next attempt will involve more bathymetry smoothing.
You ask if it goes bad near the boundaries. The point shown is at j=7 (6 in ncview coordinates), but it is closer to an island than the boundary. Its other favorite place to go bad is also quite close to an island. My next attempt will involve more bathymetry smoothing.
- Attachments
-
- V at station
- sta_v.png (8.97 KiB) Viewed 5451 times
-
- v_vadv (ignore the blue line)
- v_vadv.png (10.95 KiB) Viewed 5451 times
-
- v_prsgrd
- v_prsgrd.png (6.29 KiB) Viewed 5451 times
-
- v_hadv
- v_hadv.png (6.93 KiB) Viewed 5451 times
-
- v_cor
- v_cor.png (8.06 KiB) Viewed 5451 times
-
- v_vvisc
- v_vvisc.png (8.15 KiB) Viewed 5451 times
-
- v_accel
- v_accel.png (10.88 KiB) Viewed 5451 times
-
- Posts: 81
- Joined: Thu Dec 07, 2006 3:14 pm
- Location: USGS
- Contact:
Re: Instability in vertical advection
Hi Kate,
I think I sometimes encounter a similar problem while working on my model. I would be happy to hear more about your problem and how you solve it.
1. Are you using constant tracers, if not does the salinity look just before the blow up?
2. How does the h+zeta change in time over the problem area? Does it get close to DCRIT at any point?
Thanks
Zafer
I think I sometimes encounter a similar problem while working on my model. I would be happy to hear more about your problem and how you solve it.
1. Are you using constant tracers, if not does the salinity look just before the blow up?
2. How does the h+zeta change in time over the problem area? Does it get close to DCRIT at any point?
Thanks
Zafer
Re: Instability in vertical advection
Hi Zafer,
It's been a year and I don't remember what I did in this case. It has happened since and I simply restart the model with a shorter timestep. Then on the next restart I go back to my original timestep.
1. I don't have constant tracers, but it's the velocity going bad, not the tracers.
2. It is much deeper than DCRIT.
Since you mention DCRIT, if you are having tracer troubles with WET_DRY in shallow water, I have been facing some of them too. My ROMS branch has the latest WET_DRY code from John Warner plus a hack I put in to prevent tracer diffusion between wet and dry cells. Otherwise, a high, dry cell can go unstable in the rotated mixing tensor and infect nearby waters without ever becoming wet. My Cook Inlet domain can now run for a year with this hack (and masking out many of those high, dry cells).
It's been a year and I don't remember what I did in this case. It has happened since and I simply restart the model with a shorter timestep. Then on the next restart I go back to my original timestep.
1. I don't have constant tracers, but it's the velocity going bad, not the tracers.
2. It is much deeper than DCRIT.
Since you mention DCRIT, if you are having tracer troubles with WET_DRY in shallow water, I have been facing some of them too. My ROMS branch has the latest WET_DRY code from John Warner plus a hack I put in to prevent tracer diffusion between wet and dry cells. Otherwise, a high, dry cell can go unstable in the rotated mixing tensor and infect nearby waters without ever becoming wet. My Cook Inlet domain can now run for a year with this hack (and masking out many of those high, dry cells).