Dear all,
Hi! I recently read some articles about tidal dissipation. The total tidal dissipation = bottom friction dissipation + internal tidal dissipation. The latter one is also known as barotropic-baroclinic tidal conversion (the last term in equation below). See "A Primer on Global Internal Tide and Internal Gravity Wave Continuum Modeling in HYCOM and MITgcm" for more details. Some models, such as HYCOM, ADCIRC, FIO-COM32, etc. have added internal wave drag (topographic wave drag) in the models for internal tidal dissipation parameterization, and the developers of SCHISM also mentioned the importance of it. Also, some researchers have added this drag in FVCOM.
Now I am wondering if this drag can be added in ROMS to improve the accuracy of tides and storm surges in costal regions? Because our tidal simulation results in East China Sea are not good enough compared
with observations of tide-gauge stations. I have some problems adding that because ROMS uses bottom stress rather than dissipation in the calculation, so, I don't know how to add a term in the momentum equation.
Can you give me some advice? I am looking forward to your reply!
If you have intersted in this drag or internal tidal dissipation, I willed be honored to discuss with you!
Best regards!
Zilu
Tidal dissipation and topographic wave drag in ROMS
Tidal dissipation and topographic wave drag in ROMS
- Attachments
-
- 微信图片_20240102212824.png (18.34 KiB) Viewed 22083 times
Re: Tidal dissipation and topographic wave drag in ROMS
This could be added as a body force, or it could be the same way we added vegetation drag throughout the water column.
What is the T?
What is the T?
Re: Tidal dissipation and topographic wave drag in ROMS
Thank you for your reply. T is just a coefficient like Cd, and it can be a tensor or scalar.
Re: Tidal dissipation and topographic wave drag in ROMS
ok. So does this term need to be added throughout the water column, or just as an extra term that could be added to the bottom stress?
Re: Tidal dissipation and topographic wave drag in ROMS
This term can be applied in depth-integrated water (simply 2D), or Arbic et al., they applied it to the waters 500 m over the bottom.
Now, I want to add it to 2D first.
Now, I want to add it to 2D first.
Re: Tidal dissipation and topographic wave drag in ROMS
ok. here is some 'no responsibility' guidance.
Look in ROMS/Nonliear/set_vbc.F and there is a section for the bottom stress near line 637 or so:
# elif defined UV_QDRAG
!
! Set quadratic bottom stress.
!
DO j=Jstr,Jend
DO i=IstrU,Iend
cff1=0.25_r8*(v(i ,j ,1,nrhs)+ &
& v(i ,j+1,1,nrhs)+ &
& v(i-1,j ,1,nrhs)+ &
& v(i-1,j+1,1,nrhs))
cff2=SQRT(u(i,j,1,nrhs)*u(i,j,1,nrhs)+cff1*cff1)
bustr(i,j)=0.5_r8*(rdrag2(i-1,j)+rdrag2(i,j))* &
& u(i,j,1,nrhs)*cff2
can you just add the new term here?
bustr is in m2/s2 here.
#ifdef WAVE_DRAG
bustr(i,j)=bustr(i,j)+0.5_r8*(Tbar(i-1,j)+Tbar(i,j))* &
& u(i,j,1,nrhs)*cff2
#endif
same for bvstr.
i feel like Kate or someone had something like this once.
-j
Look in ROMS/Nonliear/set_vbc.F and there is a section for the bottom stress near line 637 or so:
# elif defined UV_QDRAG
!
! Set quadratic bottom stress.
!
DO j=Jstr,Jend
DO i=IstrU,Iend
cff1=0.25_r8*(v(i ,j ,1,nrhs)+ &
& v(i ,j+1,1,nrhs)+ &
& v(i-1,j ,1,nrhs)+ &
& v(i-1,j+1,1,nrhs))
cff2=SQRT(u(i,j,1,nrhs)*u(i,j,1,nrhs)+cff1*cff1)
bustr(i,j)=0.5_r8*(rdrag2(i-1,j)+rdrag2(i,j))* &
& u(i,j,1,nrhs)*cff2
can you just add the new term here?
bustr is in m2/s2 here.
#ifdef WAVE_DRAG
bustr(i,j)=bustr(i,j)+0.5_r8*(Tbar(i-1,j)+Tbar(i,j))* &
& u(i,j,1,nrhs)*cff2
#endif
same for bvstr.
i feel like Kate or someone had something like this once.
-j
Re: Tidal dissipation and topographic wave drag in ROMS
Thanks a lot for your guidance, I will try it~
Re: Tidal dissipation and topographic wave drag in ROMS
Hi, dear Warner and all:
I've found an option in get_grid.f,and it looks like a cpp option called "UV_WAVEDRAG". But I can't find codes or other things related to it in ROMS source codes.
I'm wondering is this the option I need for topographic wave drag? Maybe it's the work Kate has done. Or what's the meaning of it?
Here is the code in get_grid.f line 124-126 (more lines in get_grid.f)
I've found an option in get_grid.f,and it looks like a cpp option called "UV_WAVEDRAG". But I can't find codes or other things related to it in ROMS source codes.
I'm wondering is this the option I need for topographic wave drag? Maybe it's the work Kate has done. Or what's the meaning of it?
Here is the code in get_grid.f line 124-126 (more lines in get_grid.f)
Code: Select all
#if defined UV_WAVEDRAG
integer :: varid_dragW
#endif