how to improve vertical profile velocity
- corvianawatie
- Posts: 25
- Joined: Thu May 14, 2015 4:50 pm
- Location: Indonesia
- Contact:
how to improve vertical profile velocity
Dear all,
I have a problem on my vertical profile of velocity in almost all area in my model domain. The vertical profile of meridional velocity has a counter current below the thermocline layer. I can sure the initial condition of T and S is quietly good. In the initial simulation, the velocity profile is good enough. But longer the simulation, the counter current is developed. It is really different to the annual mean of observation data at the same area. I attached the example of figure below in my attachment.
I need some suggestion, anything might induce this counter current flow. Thank you so much.
I have a problem on my vertical profile of velocity in almost all area in my model domain. The vertical profile of meridional velocity has a counter current below the thermocline layer. I can sure the initial condition of T and S is quietly good. In the initial simulation, the velocity profile is good enough. But longer the simulation, the counter current is developed. It is really different to the annual mean of observation data at the same area. I attached the example of figure below in my attachment.
I need some suggestion, anything might induce this counter current flow. Thank you so much.
-
- Posts: 14
- Joined: Thu Oct 03, 2013 6:44 pm
- Location: Personal
Re: how to improve vertical profile velocity
I faced a similar issue in my application. The problem occurred only in the slope region where the bathymetry was steeper.
My suspicious at the time was that a strong Ekman layer was being formed, inducing a change in velocity direction. So I gradually reduced the bottom drag (if using UV_QDRAG, reduce RDRG2 parameter in ocean.in), in order to overcome this issue.
Another possibility is that your initial thermohaline gradients are being smoothed along the simulation due to excess of numerical diffusion. Maybe switching to a less diffusive tracer advection scheme, such as Akima 4th order (TS_A4HADVECTION, TS_A4VADVECTION) or the 3rd-order upstream split advection (TS_U3ADV_SPLIT along with UV_U3ADV_SPLIT) with a corresponding adjustment of explicit diffusion coefficients and time step, could help.
Check this presentation https://www.myroms.org/Workshops/ROMS20 ... Arango.ppt.
One last approach is to nudge your TS fields to a climatology. You can set a variable nudging time scale along the vertical to impose stronger coefficients below a certain depth. This can be easily achieved by creating the variables temp_NudgeCoef(s_rho, eta_rho, xi_rho) and salt_NudgeCoef(s_rho, eta_rho, xi_rho) on yout netCDF grid file.
Check this track ticket https://www.myroms.org/projects/src/ticket/627 for details.
My suspicious at the time was that a strong Ekman layer was being formed, inducing a change in velocity direction. So I gradually reduced the bottom drag (if using UV_QDRAG, reduce RDRG2 parameter in ocean.in), in order to overcome this issue.
Another possibility is that your initial thermohaline gradients are being smoothed along the simulation due to excess of numerical diffusion. Maybe switching to a less diffusive tracer advection scheme, such as Akima 4th order (TS_A4HADVECTION, TS_A4VADVECTION) or the 3rd-order upstream split advection (TS_U3ADV_SPLIT along with UV_U3ADV_SPLIT) with a corresponding adjustment of explicit diffusion coefficients and time step, could help.
Check this presentation https://www.myroms.org/Workshops/ROMS20 ... Arango.ppt.
One last approach is to nudge your TS fields to a climatology. You can set a variable nudging time scale along the vertical to impose stronger coefficients below a certain depth. This can be easily achieved by creating the variables temp_NudgeCoef(s_rho, eta_rho, xi_rho) and salt_NudgeCoef(s_rho, eta_rho, xi_rho) on yout netCDF grid file.
Check this track ticket https://www.myroms.org/projects/src/ticket/627 for details.
- corvianawatie
- Posts: 25
- Joined: Thu May 14, 2015 4:50 pm
- Location: Indonesia
- Contact:
Re: how to improve vertical profile velocity
Thank you so much for your suggestion. I'll try reduce bottom drag and change the tracer/momentum advection scheme before nudging to climatology. Thanks a lot.
thiago.pdpaula wrote:I faced a similar issue in my application. The problem occurred only in the slope region where the bathymetry was steeper.
My suspicious at the time was that a strong Ekman layer was being formed, inducing a change in velocity direction. So I gradually reduced the bottom drag (if using UV_QDRAG, reduce RDRG2 parameter in ocean.in), in order to overcome this issue.
Another possibility is that your initial thermohaline gradients are being smoothed along the simulation due to excess of numerical diffusion. Maybe switching to a less diffusive tracer advection scheme, such as Akima 4th order (TS_A4HADVECTION, TS_A4VADVECTION) or the 3rd-order upstream split advection (TS_U3ADV_SPLIT along with UV_U3ADV_SPLIT) with a corresponding adjustment of explicit diffusion coefficients and time step, could help.
Check this presentation https://www.myroms.org/Workshops/ROMS20 ... Arango.ppt.
One last approach is to nudge your TS fields to a climatology. You can set a variable nudging time scale along the vertical to impose stronger coefficients below a certain depth. This can be easily achieved by creating the variables temp_NudgeCoef(s_rho, eta_rho, xi_rho) and salt_NudgeCoef(s_rho, eta_rho, xi_rho) on yout netCDF grid file.
Check this track ticket https://www.myroms.org/projects/src/ticket/627 for details.
Re: how to improve vertical profile velocity
One last approach is to nudge your TS fields to a climatology. You can set a variable nudging time scale along the vertical to impose stronger coefficients below a certain depth. This can be easily achieved by creating the variables temp_NudgeCoef(s_rho, eta_rho, xi_rho) and salt_NudgeCoef(s_rho, eta_rho, xi_rho) on yout netCDF grid file.
Check this track ticket https://www.myroms.org/projects/src/ticket/627 for details.
[Question] Are the above nudging coefficients simultaneously being applied to both the "ordinary" time-dependent OBC forcing and the climatology forcing, or only to the climatology forcing? Is there a way to differentiate the two? Thanks!
Check this track ticket https://www.myroms.org/projects/src/ticket/627 for details.
[Question] Are the above nudging coefficients simultaneously being applied to both the "ordinary" time-dependent OBC forcing and the climatology forcing, or only to the climatology forcing? Is there a way to differentiate the two? Thanks!
Re: how to improve vertical profile velocity
If you turn on climatology nudging, it will change the OBC time scales. If you don't want that, change the open boundary code to do what you want it to do - that's what I did in my branch.
Re: how to improve vertical profile velocity
Very helpful! Thank you very much, Kate!
kate wrote:If you turn on climatology nudging, it will change the OBC time scales. If you don't want that, change the open boundary code to do what you want it to do - that's what I did in my branch.
- corvianawatie
- Posts: 25
- Joined: Thu May 14, 2015 4:50 pm
- Location: Indonesia
- Contact:
Re: how to improve vertical profile velocity
thiago.pdpaula wrote:I faced a similar issue in my application. The problem occurred only in the slope region where the bathymetry was steeper.
My suspicious at the time was that a strong Ekman layer was being formed, inducing a change in velocity direction. So I gradually reduced the bottom drag (if using UV_QDRAG, reduce RDRG2 parameter in ocean.in), in order to overcome this issue.
Another possibility is that your initial thermohaline gradients are being smoothed along the simulation due to excess of numerical diffusion. Maybe switching to a less diffusive tracer advection scheme, such as Akima 4th order (TS_A4HADVECTION, TS_A4VADVECTION) or the 3rd-order upstream split advection (TS_U3ADV_SPLIT along with UV_U3ADV_SPLIT) with a corresponding adjustment of explicit diffusion coefficients and time step, could help.
Check this presentation https://www.myroms.org/Workshops/ROMS20 ... Arango.ppt.
One last approach is to nudge your TS fields to a climatology. You can set a variable nudging time scale along the vertical to impose stronger coefficients below a certain depth. This can be easily achieved by creating the variables temp_NudgeCoef(s_rho, eta_rho, xi_rho) and salt_NudgeCoef(s_rho, eta_rho, xi_rho) on yout netCDF grid file.
Check this track ticket https://www.myroms.org/projects/src/ticket/627 for details.
I used this CPP and somehow there is some improvement on the vertical structure of velocity. However, it still needs more improvement. I will try to reduce the bottom drag coefficient in future simulation.
I did try to use TS_A4HADVECTION, TS_A4VADVECTION with UV_ADV and UV_C4ADVECTION but it leads on blowing up within several months of simulations due to a discontinuity on Temperature and Salinity. Is it need a smaller timestep to use Akima horizontal and vertical advection? Or any other things should be considered?
Code: Select all
/* CPP FOR MOMENTUM EQUATIONS */
#define UV_ADV
#define UV_C4ADVECTION
#define UV_COR
#define UV_VIS2
#define UV_QDRAG
#define SPLINES_VVISC
/* CPP FOR BOTTOM STRESS */
#define LIMIT_BSTRESS
/* CPP FOR TRACER EQUATIONS */
#define TS_U3HADVECTION
#define TS_C4VADVECTION
#define TS_DIF2
#define NONLIN_EOS
#define SALINITY
#define SPLINES_VDIFF
/* CPP FOR PRESSURE GRADIENT */
#define DJ_GRADPS
/* CPP FOR SURFACE FLUXES USING ATMOSPHERIC BOUNDARY LAYER */
#define BULK_FLUXES
#define EMINUSP
/* CPP FOR MODEL CONFIGURATIONS */
#define SOLVE3D
#define CURVGRID
#define MASKING
#define BODYFORCE
#define AVERAGES
/* CPP FOR ANALYTICAL EXPRESSION */
#define ANA_BSFLUX
#define ANA_BTFLUX
/* CPP FOR MIXING OF MOMENTUM AND TRACERS */
#define VISC_GRID
#define MIX_GEO_UV
#define DIFF_GRID
#define MIX_GEO_TS
/* CPP FOR VERTICAL TURBULENT MIXING */
#undef BVF_MIXING
#undef GLS_MIXING
#undef MY25_MIXING
#define LMD_MIXING
#ifdef LMD_MIXING
#undef LMD_BKPP
#define LMD_CONVEC
#undef LMD_DDMIX
#define LMD_NONLOCAL
#define LMD_RIMIX
#undef LMD_SAPHIRO
#define LMD_SKPP
#define RI_SPLINES
#endif
#define LIMIT_VDIFF
#define LIMIT_VVISC
- Attachments
-
- new.PNG (28.83 KiB) Viewed 5814 times
-
- Posts: 14
- Joined: Thu Oct 03, 2013 6:44 pm
- Location: Personal
Re: how to improve vertical profile velocity
I would try first to adjust horizontal diffusion. In my case, no time step reduction was necessary; an increase in nl_tnu2 did the job.I did try to use TS_A4HADVECTION, TS_A4VADVECTION with UV_ADV and UV_C4ADVECTION but it leads on blowing up within several months of simulations due to a discontinuity on Temperature and Salinity. Is it need a smaller timestep to use Akima horizontal and vertical advection? Or any other things should be considered?
- corvianawatie
- Posts: 25
- Joined: Thu May 14, 2015 4:50 pm
- Location: Indonesia
- Contact:
Re: how to improve vertical profile velocity
Thank you. I will try to adjust the horizontal diffusion.thiago.pdpaula wrote:I would try first to adjust horizontal diffusion. In my case, no time step reduction was necessary; an increase in nl_tnu2 did the job.I did try to use TS_A4HADVECTION, TS_A4VADVECTION with UV_ADV and UV_C4ADVECTION but it leads on blowing up within several months of simulations due to a discontinuity on Temperature and Salinity. Is it need a smaller timestep to use Akima horizontal and vertical advection? Or any other things should be considered?
Last edited by corvianawatie on Wed Oct 09, 2019 3:13 am, edited 1 time in total.
- corvianawatie
- Posts: 25
- Joined: Thu May 14, 2015 4:50 pm
- Location: Indonesia
- Contact:
Re: how to improve vertical profile velocity
Dear Kate, I read this from https://www.myroms.org/projects/src/ticket/627. I want to ask:kate wrote:If you turn on climatology nudging, it will change the OBC time scales. If you don't want that, change the open boundary code to do what you want it to do - that's what I did in my branch.
1. How to set the depth dependency for nudging to climatology (as it said in the website)? Or we should create the nudg_coef by ourselves using Matlab?
2. If I want to relaxing the surface temperature and salinity to climatology data, how can I do it? I confused because the nudg_coef is based on the s-coordinate. And it's mean that the surface layer has a different depth for every single grid cell.
Re: how to improve vertical profile velocity
1. Probably easiest in Matlab or something with similar capabilities, something that knows the vertical coordinate system.
2. If you only want to nudge to surface T/S, there is separate code for that as part of the surface boundary condition. Check out for instance SCORRECTION and SRELAXATION, using Tnudg(isalt,ng) which does not vary in space.
2. If you only want to nudge to surface T/S, there is separate code for that as part of the surface boundary condition. Check out for instance SCORRECTION and SRELAXATION, using Tnudg(isalt,ng) which does not vary in space.