Strange artifacts in model output
Strange artifacts in model output
I have been working on developing a circulation model for my area. I've managed to get the model running, but I'm getting strange strip artifacts in my model output. In addition, I'm not sure if my boundaries are behaving properly either. You can see as it spins up that there are not the strange line artifacts, but once it gets going they appear. Some are vertical and some are horizontal. Here is the first few days of the model run, note that the color bar temperature range is only 4 ºC as it is summer:
At the advice of a fellow ROMS modeler I tried using the default centered advection of momentum setting, but the problem still remains. Has anyone seen what is going on here?
At the advice of a fellow ROMS modeler I tried using the default centered advection of momentum setting, but the problem still remains. Has anyone seen what is going on here?
Re: Strange artifacts in model output
Did you switch from U3 advection to C4 advection of tracers without adding any diffusion? The U3 advection has implicit diffusion - you'll need either that or some explicit diffusion. As for the OBCs, are your boundary values warmer than your initial conditions? If so, I'd expect what you are seeing. Is this surface temperature?
Re: Strange artifacts in model output
Great. Thanks for the help. I did not explicitly add diffusion after removing U3 advection. I will try that. As this is late spring, it is sensible that the offshore waters would be warmer, so it is good to know that the boundaries might be behaving properly. This is a map of surface temperature. I will try to add in diffusion and see if that helps. Thanks.
Re: Strange artifacts in model output
I appreciate the suggestion, but so far I have not had any success. I tried using MIX_GEO_TS along with TS_DIF4. It might help if I show you what seem to the relevant macros in the header file. Its probably some glaring novice mistake.
Code: Select all
/* Define to compute the momentum advection terms */
#define UV_ADV
/* Define to compute the Coriolis term */
#define UV_COR
/* Define for linear bottom friction */
#define UV_LDRAG
/* Define to compute the horizontal Laplacian viscosity */
#define UV_VIS2
/* Define for viscosity along constant z (geopotential) surfaces */
#define MIX_GEO_UV
/* Define for conservative, parabolic spline reconstruction of vertical diffusion */
#define SPLINES_VDIFF
/* Define for conservative, parabolic spline reconstruction of vertical viscosity */
#define SPLINES_VVISC
/* Define for 3rd-order centered advection of momentum */
#define UV_C3ADVECTION
/* Define for 4th-order centered horizontal advection of tracers */
#define TS_C4HADVECTION
/* Define for 4th-order centered vertical advection of tracers */
#define TS_C4VADVECTION
/* Define for splines density Jacobian */
#define DJ_GRADPS
/* Define to compute horizontal biharmonic diffusion */
#define TS_DIF4
/* Define for diffusion along constant z (geopotential) surfaces */
#define MIX_GEO_TS
/* Define to activate Mellor/Yamada Level-2.5 closure */
#define MY25_MIXING
Re: Strange artifacts in model output
I would start with TS_DIF2. What is your diffusivity?
Re: Strange artifacts in model output
hmm... is this the location of the parameter?
It appears zero!! Harmonic/biharmonic horizontal diffusion of tracer for nonlinear model
! and adjoint-based algorithms: [1:NAT+NPT,Ngrids].
TNU2 == 0.0d0 0.0d0 ! m2/s
TNU4 == 2*0.0d0 ! m4/s
ad_TNU2 == 0.0d0 0.0d0 ! m2/s
ad_TNU4 == 0.0d0 0.0d0 ! m4/s
! Harmonic/biharmonic, horizontal viscosity coefficient for nonlinear model
! and adjoint-based algorithms: [Ngrids].
VISC2 == 5.0d0 ! m2/s
VISC4 == 0.0d0 ! m4/s
ad_VISC2 == 0.0d0 ! m2/s
ad_VISC4 == 0.0d0 ! m4/s
Re: Strange artifacts in model output
So it seems there are several approaches to honing the diffusivity value, and I might end up having to break out my calculus textbook. However, I see from another page that a decent "rule-of-thumb" approximation is:
visc2 ~ (delta_x / pi)**2 / timescale
and that TNU2 can often be set to 10% of this. My model grid has a resolution of 0.5 minutes (~ 800 m in my area) and I have a timestep of 150 s. I assume the above equation is in km for delta_x. What about the timescale. It seems to be days, but I'm not 100% certain. If that's the case, that might give my model a viscosity of 37 and diffusion of 3.7 as starting points. Does this seem reasonable?
visc2 ~ (delta_x / pi)**2 / timescale
and that TNU2 can often be set to 10% of this. My model grid has a resolution of 0.5 minutes (~ 800 m in my area) and I have a timestep of 150 s. I assume the above equation is in km for delta_x. What about the timescale. It seems to be days, but I'm not 100% certain. If that's the case, that might give my model a viscosity of 37 and diffusion of 3.7 as starting points. Does this seem reasonable?
Re: Strange artifacts in model output
Actually, ROMS is in MKS throughout as you can see from the comments. The length scale you know to be 2 dx of the grid because that's what you want to get rid of. The timescale is the damping timescale which you want to be similar to the timescale of them being generated, perhaps a hair faster.
Re: Strange artifacts in model output
Oops. OK. So my equation for viscosity would be
visc2 = (800*2/pi)**2/150 ?
visc2 = (800*2/pi)**2/150 ?
Re: Strange artifacts in model output
Oh! I hope that's right. So much better! Can't wait to do a longer run. You are always so helpful. I can't thank you enough.