ROMS tidal forcing with water elevation ONLY
ROMS tidal forcing with water elevation ONLY
I think there is a general agreement that the optimal way to do tidal forcing in ROMS is via the ChapmanFlather BC combination for the water elevations and barotropic velocities respectively. I have tried the ClampedFlather BC combination and it too seems to work. Now the problem with using these BCs is that we need the following forcing data (at each of the open BC grid points):
(1) water elevation harmonics or timeseries and,
(2) Ubar barotropic velocity harmonics or timeseries and,
(3) Vbar barotropic velocity harmonics or timeseries.
For physically realistic applications, it is relatively easy to find (1); however, (2) and (3) are almost impossible to find and hence they need to be extracted from say the ADCIRC database which is modeled data and which could depart from reality. Futhermore, if (1) is taken from observations/measurements and (2)(3) from ADCIRC there could be some incompatibility between them.
One solution to the above problem is to use the ROMS reduced boundary condition options (FSOBC_REDUCED and XXXX_M2REDUCED where XXXX=WEST/EAST/SOUTH/NORTH). I have found that these boundary conditions frequently yield numerically unstable computations where blowups occur in the vicinity of open ocean boundaries.
Does anybody know how to do ROMS tidal forcing using only water elevation harmonics/timeseries in a numerically stable fashion?
(1) water elevation harmonics or timeseries and,
(2) Ubar barotropic velocity harmonics or timeseries and,
(3) Vbar barotropic velocity harmonics or timeseries.
For physically realistic applications, it is relatively easy to find (1); however, (2) and (3) are almost impossible to find and hence they need to be extracted from say the ADCIRC database which is modeled data and which could depart from reality. Futhermore, if (1) is taken from observations/measurements and (2)(3) from ADCIRC there could be some incompatibility between them.
One solution to the above problem is to use the ROMS reduced boundary condition options (FSOBC_REDUCED and XXXX_M2REDUCED where XXXX=WEST/EAST/SOUTH/NORTH). I have found that these boundary conditions frequently yield numerically unstable computations where blowups occur in the vicinity of open ocean boundaries.
Does anybody know how to do ROMS tidal forcing using only water elevation harmonics/timeseries in a numerically stable fashion?
 m.hadfield
 Posts: 521
 Joined: Tue Jul 01, 2003 4:12 am
 Location: NIWA
Re: ROMS tidal forcing with water elevation ONLY
I have also found that. See the post I just added on another threadlanerolle wrote:One solution to the above problem is to use the ROMS reduced boundary condition options (FSOBC_REDUCED and XXXX_M2REDUCED where XXXX=WEST/EAST/SOUTH/NORTH). I have found that these boundary conditions frequently yield numerically unstable computations where blowups occur in the vicinity of open ocean boundaries.
viewtopic.php?t=1812
Re: ROMS tidal forcing with water elevation ONLY
It would be nice if we could specify all we need in a regional model on the basis of tide elevation alone, but is just isn't so. You really do need to know both elevation and velocity to specify tidal boundary conditions completely.
Consider the case of tidal cooscillation in a bay. If the bay is particularly long and/or dissipative  enough to eliminate any reflection from the head of the bay  then the tide at the mouth looks like a progressive wave. If on the other hand the bay perfectly reflects the incoming tide, then the tide response is a standing wave. In either case, the sea level is simple harmonic at a single frequency, but the phase of the velocity is quite different. Specifying sea level harmonics only is an incomplete description of the physics  it just is
It's a case of "there's no such thing as a free lunch" here. If the relative phase of sea level and velocity at the model perimeter is important to your application then that's something you need to actually know  ROMS can't make up information out of nothing. The reduced physics boundary conditions make an assumption about the dynamics  if those assumptions are good for your situation you're OK. If you know for sure they are not, then that means there is added information you have
On the US East Coast our experience is that both ADCIRC and TPX0 tide models work quite well as regional model boundary conditions. Or if you're keen, you can consider using a data assimilative approach to tuning the tide boundary conditions to better fit data in the model interior. See for example (shameless pitch for my own work): He, R. and J. L. Wilkin, (2006), Barotropic tides on the southeast New England shelf: A view from a hybrid data assimilative modeling approach. Journal of Geophysical Research, 111, C08002, doi:10.1029/2005JC003254.
Consider the case of tidal cooscillation in a bay. If the bay is particularly long and/or dissipative  enough to eliminate any reflection from the head of the bay  then the tide at the mouth looks like a progressive wave. If on the other hand the bay perfectly reflects the incoming tide, then the tide response is a standing wave. In either case, the sea level is simple harmonic at a single frequency, but the phase of the velocity is quite different. Specifying sea level harmonics only is an incomplete description of the physics  it just is
It's a case of "there's no such thing as a free lunch" here. If the relative phase of sea level and velocity at the model perimeter is important to your application then that's something you need to actually know  ROMS can't make up information out of nothing. The reduced physics boundary conditions make an assumption about the dynamics  if those assumptions are good for your situation you're OK. If you know for sure they are not, then that means there is added information you have
On the US East Coast our experience is that both ADCIRC and TPX0 tide models work quite well as regional model boundary conditions. Or if you're keen, you can consider using a data assimilative approach to tuning the tide boundary conditions to better fit data in the model interior. See for example (shameless pitch for my own work): He, R. and J. L. Wilkin, (2006), Barotropic tides on the southeast New England shelf: A view from a hybrid data assimilative modeling approach. Journal of Geophysical Research, 111, C08002, doi:10.1029/2005JC003254.
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 089018521, USA. ph: 6096300559 jwilkin@rutgers.edu
71 Dudley Rd, New Brunswick, NJ 089018521, USA. ph: 6096300559 jwilkin@rutgers.edu
 m.hadfield
 Posts: 521
 Joined: Tue Jul 01, 2003 4:12 am
 Location: NIWA
Re: ROMS tidal forcing with water elevation ONLY
Indeed, but the smallscale coastal modellers seem to be perfectly happy to drive their models with a sealevel time series at one point. A question of scale and geometry I suppose.wilkin wrote:Specifying sea level harmonics only is an incomplete description of the physics  it just is
Thanks for the reference to your paper.

 Posts: 2
 Joined: Mon Feb 25, 2008 4:53 pm
 Location: National Kaohsiung University of Science and Technology
Re: ROMS tidal forcing with water elevation ONLY
I think for just tidal forcing, there is a possible way to work out just using elevation with harmonic excitation (like sine and cosine functions).
First, assume the open boundaies are far away from the interested field or in some way such that linearity is acceptible. In other words, they are kind of "linear" behavior on the boundaries in terms of the governing equations. If this is not true, perhaps try making it feasible. Accordingly, referred to pp 201, Ocean Modelling 18 (2007), the velocities are indeed proportional to the water elevation in some senses. And the Flather conditions appeared to be the most accurate boundary approach numerically.
Secondly, in order to work out having the initial velocity field, perhaps one way is to use, for example, the M2 tidal forcing. And then "ajust" the phase and amplitude to be as closer as the real state, for instance, corrected with some measurement.
Thirdly, it then loads the harmonic excitation of water evelation on the boundaries. In this case it also excites the velocities field (proportional to the change of water evevation).
I have run some cases and shown good results compared with the measured buoy data in terms of water elevation, but the comparison of velocity field with the measured data is still undertaken.
The key thing is how to have the fairly good forcing deviation of water elevation (= the measured  the predicted) to load on the open boundary in time series in order to predict the correct ongoing tidal flow field.
First, assume the open boundaies are far away from the interested field or in some way such that linearity is acceptible. In other words, they are kind of "linear" behavior on the boundaries in terms of the governing equations. If this is not true, perhaps try making it feasible. Accordingly, referred to pp 201, Ocean Modelling 18 (2007), the velocities are indeed proportional to the water elevation in some senses. And the Flather conditions appeared to be the most accurate boundary approach numerically.
Secondly, in order to work out having the initial velocity field, perhaps one way is to use, for example, the M2 tidal forcing. And then "ajust" the phase and amplitude to be as closer as the real state, for instance, corrected with some measurement.
Thirdly, it then loads the harmonic excitation of water evelation on the boundaries. In this case it also excites the velocities field (proportional to the change of water evevation).
I have run some cases and shown good results compared with the measured buoy data in terms of water elevation, but the comparison of velocity field with the measured data is still undertaken.
The key thing is how to have the fairly good forcing deviation of water elevation (= the measured  the predicted) to load on the open boundary in time series in order to predict the correct ongoing tidal flow field.
Re: ROMS tidal forcing with water elevation ONLY
The Ocean Modelling paper that HoShuenn Huang mentions is:
Carter, G.S.; Merrifield, M.A., Open boundary conditions for regional tidal simulations
Ocean Modelling, Volume 18, Issue 34, January 2007, Pages 194209, and it is well worth the read (despite having used POM )
Sections 2.2 and 2.5 describe the two cases of a propagating wave and a partially standing tide. They emphasize that the relationships between zeta and ubar differ in these cases. One could contrive two examples where zeta is exactly the same, but velocity is not. If the only information you have is zeta you can't unambiguously recover velocity. The velocity information is required to full pose the boundary problem.
To answer Mark Hadfield's remark that coastal modelers have been content to use zetaonly boundary conditions for many years I might cynically suggest that modelers have been happy to accept a lot of things that aren't necessarily particularly good or in any way optimal.
Carter, G.S.; Merrifield, M.A., Open boundary conditions for regional tidal simulations
Ocean Modelling, Volume 18, Issue 34, January 2007, Pages 194209, and it is well worth the read (despite having used POM )
Sections 2.2 and 2.5 describe the two cases of a propagating wave and a partially standing tide. They emphasize that the relationships between zeta and ubar differ in these cases. One could contrive two examples where zeta is exactly the same, but velocity is not. If the only information you have is zeta you can't unambiguously recover velocity. The velocity information is required to full pose the boundary problem.
To answer Mark Hadfield's remark that coastal modelers have been content to use zetaonly boundary conditions for many years I might cynically suggest that modelers have been happy to accept a lot of things that aren't necessarily particularly good or in any way optimal.
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 089018521, USA. ph: 6096300559 jwilkin@rutgers.edu
71 Dudley Rd, New Brunswick, NJ 089018521, USA. ph: 6096300559 jwilkin@rutgers.edu
Re: ROMS tidal forcing with water elevation ONLY
Hello,
I am working on a similar case, such that the real bathymetry is forced by tides only. I can get tidal constituents from ADCIRC and TPXO. I have activated
#define SSH_TIDES
#define UV_TIDES
#define ANA_M2OBC
#define ANA_FSOBC
#define RAMP_TIDES
I use ROMS and let the model run for 32 days. But the results compared with historical records of currents from NOAA do not look very good, especially for the phase difference. I was thinking if I could optimize the open boundary condition, this could be solved... That is when I found this webpage! I read the provided citation: He, R. and J. L. Wilkin, (2006), Barotropic tides on the southeast New England shelf: A view from a hybrid data assimilative modeling approach. Journal of Geophysical Research, 111, C08002, doi:10.1029/2005JC003254.
This could be a solution to solve the phase mismatch problem. But I have no idea about the TRUXTON model. Is this a commercial or open source software that I can download from somewhere? Where can I find a good document that introduces the model setup and how it works?
Best,
Amy
I am working on a similar case, such that the real bathymetry is forced by tides only. I can get tidal constituents from ADCIRC and TPXO. I have activated
#define SSH_TIDES
#define UV_TIDES
#define ANA_M2OBC
#define ANA_FSOBC
#define RAMP_TIDES
I use ROMS and let the model run for 32 days. But the results compared with historical records of currents from NOAA do not look very good, especially for the phase difference. I was thinking if I could optimize the open boundary condition, this could be solved... That is when I found this webpage! I read the provided citation: He, R. and J. L. Wilkin, (2006), Barotropic tides on the southeast New England shelf: A view from a hybrid data assimilative modeling approach. Journal of Geophysical Research, 111, C08002, doi:10.1029/2005JC003254.
This could be a solution to solve the phase mismatch problem. But I have no idea about the TRUXTON model. Is this a commercial or open source software that I can download from somewhere? Where can I find a good document that introduces the model setup and how it works?
Best,
Amy
 m.hadfield
 Posts: 521
 Joined: Tue Jul 01, 2003 4:12 am
 Location: NIWA
Re: ROMS tidal forcing with water elevation ONLY
No argument from me!wilkin wrote:To answer Mark Hadfield's remark that coastal modelers have been content to use zetaonly boundary conditions for many years I might cynically suggest that modelers have been happy to accept a lot of things that aren't necessarily particularly good or in any way optimal.
Re: ROMS tidal forcing with water elevation ONLY
Dear all,
we saw also this behaviour of blowingups when only using tidal boundary conditions and reduced 2d momentum conditions.
Usually, I use a dirty trick to reduce the instabilities. It is a kind of damping, which was also introduced into FVCOM to stabilize the model at open boundaries.
It is a short and simple modification in the two files: v2dbc_im.F,u2dbc_im.F
There are modifications of the form:
And further down in the code several modifications of the form:
I attached our versions of the two files.
You will find the modifications when searching the flag: NEW_SPONGE_REDUCED
The strength of the sponge is controlled by c_sponge which is hardcoded at the moment.
As this is a nonlinear damping, it is most active for large velocities.
Small velocities are nearly not influenced by the damping.
One drawback. So far, the damping is symmetric about a zero velocity. If you have a mean current, this might be biased somehow.
I made good experience with this damping, but sometimes it does not work, as the instabilities are to strong.
This damping is not physically based, I know!
But it was a simple trick, only to use tidal elevation as forcing and getting the model stable.
Best, Karsten
we saw also this behaviour of blowingups when only using tidal boundary conditions and reduced 2d momentum conditions.
Usually, I use a dirty trick to reduce the instabilities. It is a kind of damping, which was also introduced into FVCOM to stabilize the model at open boundaries.
It is a short and simple modification in the two files: v2dbc_im.F,u2dbc_im.F
There are modifications of the form:
Code: Select all
#ifdef NEW_SPONGE_REDUCED
!  new: Karsten Lettmann March 2014 
! Parameter for new Sponge type boundary condition:
! Velocities are reduced in the form:
! vel_sponge = vel / (1 + (c_sponge * vel)^2)
! The larger c_sponge, the stronger the damping.
! Reasonable values of c_sponge: 0.05  0.5
real(r8), parameter :: c_sponge = 0.1_r8
real(r8) :: vel
!  end new 
#endif
Code: Select all
#ifdef MASKING
vbar(i,Jstr,kout)=vbar(i,Jstr,kout)* &
& GRID(ng)%vmask(i,Jstr)
#endif
#ifdef NEW_SPONGE_REDUCED
!  new: Karsten Lettmann March 2014 
! Parameter for new Sponge type boundary condition:
! Velocities are reduced in the form:
! vel_sponge = vel / (1 + (c_sponge * vel)^2)
vel = vbar(i,Jstr,kout)
vel = vel / ( 1.0_r8 + (c_sponge * vel)**2.0_r8 )
vbar(i,Jstr,kout) = vel
!  end new 
#endif
END IF
END DO
!
! Southern edge, closed boundary condition.
I attached our versions of the two files.
You will find the modifications when searching the flag: NEW_SPONGE_REDUCED
The strength of the sponge is controlled by c_sponge which is hardcoded at the moment.
As this is a nonlinear damping, it is most active for large velocities.
Small velocities are nearly not influenced by the damping.
One drawback. So far, the damping is symmetric about a zero velocity. If you have a mean current, this might be biased somehow.
I made good experience with this damping, but sometimes it does not work, as the instabilities are to strong.
This damping is not physically based, I know!
But it was a simple trick, only to use tidal elevation as forcing and getting the model stable.
Best, Karsten
 Attachments

 v2dbc_im.F
 (50.68 KiB) Downloaded 71 times

 u2dbc_im.F
 (50.64 KiB) Downloaded 68 times