Appropriate open boundary conditions for tidal forcing
Appropriate open boundary conditions for tidal forcing
Hello,
I have a few general questions about adding tidal forcing in a realistic simulation. The attached diagrams show the flow velocities at 1500 m depth near Axial Seamount in the Northeast Pacific from two simulations: one without tidal forcing and one with it. The open boundary conditions used are Chapman for free surface, Shc for 2D momentum, and RadNud for 3D variables (e.g., u, v, T, and S). As you can see, the model flow field looks okay without tidal forcing. However, after adding tides, strong artificial ‘rim currents’ appear along the lateral boundaries. I have attached the header and dot in files used for the with-tide simulation.
First, I would like to know the appropriate open boundary conditions for 3D velocities when there is tidal forcing. My understanding is, with the add_fsobc and add_m2obc cpp options, tidal elevation and currents are added to the sea-surface and 2D velocities in the open boundary conditions. This seems to suggest similar adjustment needs to be made to 3D velocities to make them consistent with the 2D velocities. If so, I suppose I need to manually add tidal currents to the 3D u and v in my open boundary file. Is this right?
Second, my domain includes a sponge layer to absorb the waves originating from the interior. I am wondering if this is no longer advisable when there is tidal forcing since the presence of a sponge layer may distort the phase and amplitude of the tides.
Lastly, my cpp options also include the ones for conserving volume at all four boundaries (e.g., EAST_VOLCONS). I am wondering if I should turn them off when there is tidal forcing.
Thanks!
Guangyu
I have a few general questions about adding tidal forcing in a realistic simulation. The attached diagrams show the flow velocities at 1500 m depth near Axial Seamount in the Northeast Pacific from two simulations: one without tidal forcing and one with it. The open boundary conditions used are Chapman for free surface, Shc for 2D momentum, and RadNud for 3D variables (e.g., u, v, T, and S). As you can see, the model flow field looks okay without tidal forcing. However, after adding tides, strong artificial ‘rim currents’ appear along the lateral boundaries. I have attached the header and dot in files used for the with-tide simulation.
First, I would like to know the appropriate open boundary conditions for 3D velocities when there is tidal forcing. My understanding is, with the add_fsobc and add_m2obc cpp options, tidal elevation and currents are added to the sea-surface and 2D velocities in the open boundary conditions. This seems to suggest similar adjustment needs to be made to 3D velocities to make them consistent with the 2D velocities. If so, I suppose I need to manually add tidal currents to the 3D u and v in my open boundary file. Is this right?
Second, my domain includes a sponge layer to absorb the waves originating from the interior. I am wondering if this is no longer advisable when there is tidal forcing since the presence of a sponge layer may distort the phase and amplitude of the tides.
Lastly, my cpp options also include the ones for conserving volume at all four boundaries (e.g., EAST_VOLCONS). I am wondering if I should turn them off when there is tidal forcing.
Thanks!
Guangyu
- Attachments
-
roms_axial.in
- (140.66 KiB) Downloaded 265 times
-
axial.h
- (1.3 KiB) Downloaded 294 times
-
- Posts: 12
- Joined: Mon Jan 30, 2012 8:02 pm
- Location: University of Texas at Dallas
Re: Appropriate open boundary conditions for tidal forcing
Hi Guangyu,
You might find this paper useful: https://doi.org/10.1016/j.joes.2019.12.002
There are two different approaches to force the tides: 1) through the boundaries by downscaling from a tide-resolving model (for which you turn on add_fsobc and add_m2obc) and 2)from a tide model by specifying the tide harmonics (turning on CCP defs ssh_tides/uv_tides). Both ways can be used to force realistic simulations, the performance will depend on the model you are downscaling from, boundary conditions and the dynamics from the area being modeled. I would recommend experimenting with the open boundaries, such as not using the sponge layer, specifying the nudging coefficients and using Flather for 2D momentum.
Regarding your last question I believe the use of the **_VOLCONS CPPs is deprecated and is specified in the input file, and should be turned off for tide forcing.
Hope this helps,
-Miguel
You might find this paper useful: https://doi.org/10.1016/j.joes.2019.12.002
There are two different approaches to force the tides: 1) through the boundaries by downscaling from a tide-resolving model (for which you turn on add_fsobc and add_m2obc) and 2)from a tide model by specifying the tide harmonics (turning on CCP defs ssh_tides/uv_tides). Both ways can be used to force realistic simulations, the performance will depend on the model you are downscaling from, boundary conditions and the dynamics from the area being modeled. I would recommend experimenting with the open boundaries, such as not using the sponge layer, specifying the nudging coefficients and using Flather for 2D momentum.
Regarding your last question I believe the use of the **_VOLCONS CPPs is deprecated and is specified in the input file, and should be turned off for tide forcing.
Hope this helps,
-Miguel
Re: Appropriate open boundary conditions for tidal forcing
You definitely should not use VOLCONS. Your 300 km wide domain is much smaller than the wavelength of the barotropic M2 tide (about 7000 km in 2500 m water) so the sea level should be heaving up and down almost in unison across your domain and constantly changing volume.
It's fine to use 3-D radiation in conjunction with Chapman/Shchepetkin and tides for 2-D. ROMS will adjust the 2-D part of the 3-D velocity to be consistent, so the 3-D radiation is mostly impacting only the vertical shear. If you try to get too clever imposing some other 3-D velocity it will be very hard to keep dynamics consistent, in which case your boundary becomes a reflector.
The sponge layer is also likely going to cause trouble because it won't discriminate between waves coming in from your tide boundary condition and waves going out, and will damp both. Though not perfect, the Flather condition is designed to admit outward passage of internally generated waves as is the 3-D radiation. So the sponge should not be essential.
It's fine to use 3-D radiation in conjunction with Chapman/Shchepetkin and tides for 2-D. ROMS will adjust the 2-D part of the 3-D velocity to be consistent, so the 3-D radiation is mostly impacting only the vertical shear. If you try to get too clever imposing some other 3-D velocity it will be very hard to keep dynamics consistent, in which case your boundary becomes a reflector.
The sponge layer is also likely going to cause trouble because it won't discriminate between waves coming in from your tide boundary condition and waves going out, and will damp both. Though not perfect, the Flather condition is designed to admit outward passage of internally generated waves as is the 3-D radiation. So the sponge should not be essential.
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu
Re: Appropriate open boundary conditions for tidal forcing
Many thanks to your replies, Miguel and John. I did a little bit more fiddling and found that the a lot of the rim currents were caused by forcing volume conservation at the four boundaries as John pointed out. I now see that conserving volume no longer makes sense for a regional simulation when there is tidal forcing. I have attached the flow field from a simulation where the volume conservation flags are turned off in the dot-in file (Miguel, you are right that the CPP options are obsolete). As you can see, there are still hints of the rim currents but the overall flow field has improved significantly.
John, just to make sure I understand you correctly, there is no need to manually add tides to the 3D velocities in the boundary conditions because ROMS will automatically adjust the 3D velocities at the boundaries based on the 2D velocities that include tides after turning on the add_fsobc and add_m2obc CPP options. Please let me know if this is correct.
Cheers!
Guangyu
John, just to make sure I understand you correctly, there is no need to manually add tides to the 3D velocities in the boundary conditions because ROMS will automatically adjust the 3D velocities at the boundaries based on the 2D velocities that include tides after turning on the add_fsobc and add_m2obc CPP options. Please let me know if this is correct.
Cheers!
Guangyu
Re: Appropriate open boundary conditions for tidal forcing
#define ADD_FSOBC is typically used to introduce slowly varying non-tidal sea level (e.g. from a larger domain model, or climatology) at the boundary. The TIDES are added separately.
It's probably helpful to look at the code. It's easy to find that ADD_FSOBC is only active in one subroutine, set_tides.F
There are quite a few comments in the code to explain the steps, but don't interpret "climatology" literally - that's just the array that is holding the information.
Provided you have #define SSH_TIDES and #define UV_TIDES you'll get tide variability because of the "else" above. But since you have a realistic application I assume you also have some knowledge of the background sea level and velocity and can impose those also with ADD_FSOBC and ADD_M2OBC.
And yes, 3-D velocity will largely take care of itself with radiation.
It's probably helpful to look at the code. It's easy to find that ADD_FSOBC is only active in one subroutine, set_tides.F
So look in there and see what it does:kiwi:myroms wilkin$ grep -r ADD_FSOBC .
./Include/cppdefs.h:** ADD_FSOBC to add tidal elevation to processed OBC data **
./Utility/checkdefs.F:#if defined ADD_FSOBC && defined SSH_TIDES
./Utility/checkdefs.F: IF (Master) WRITE (stdout,20) 'ADD_FSOBC', &
./Utility/checkdefs.F: Coptions(is:is+11)=' ADD_FSOBC,'
./Nonlinear/set_tides.F:# ifdef ADD_FSOBC
./Nonlinear/set_tides.F:# ifdef ADD_FSOBC
./Nonlinear/set_tides.F:# ifdef ADD_FSOBC
./Nonlinear/set_tides.F:# ifdef ADD_FSOBC
./Nonlinear/set_tides.F:# ifdef ADD_FSOBC
Code: Select all
# ifdef ADD_FSOBC
BOUNDARY(ng)%zeta_west(j)=BOUNDARY(ng)%zeta_west(j)+ &
& 0.5_r8*(Etide(Istr-1,j)+ &
& Etide(Istr ,j))
# else
BOUNDARY(ng)%zeta_west(j)=0.5_r8*(Etide(Istr-1,j)+ &
& Etide(Istr ,j))
# endif
Provided you have #define SSH_TIDES and #define UV_TIDES you'll get tide variability because of the "else" above. But since you have a realistic application I assume you also have some knowledge of the background sea level and velocity and can impose those also with ADD_FSOBC and ADD_M2OBC.
And yes, 3-D velocity will largely take care of itself with radiation.
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu
Re: Appropriate open boundary conditions for tidal forcing
Thanks again, John. In my ROMS simulation, the non-tidal variations in sea level and velocities (both 2D and 3D) are introduced from the daily reanalysis product of the global ocean model NEMO. I created the boundary condition file by interpolating the NEMO outputs onto the ROMS grid points on the four lateral boundaries.
Based on your last reply, I understand that turning on the ADD_FSOC and ADD_M2OBC flags will add tides to NEMO's sea-level and 2D velocities at the lateral boundaries. Regarding the 3D velocities in the boundary conditions, I am still wondering if I need to manually add tides to NEMO's non-tidal 3D velocities. You mentioned that the radiation boundary condition will take care of that. However, my understanding is that when the RadNud condition is used, radiation is only applied to outflows. For inflows, ROMS will nudge the interior velocities to match the boundary conditions. Because the 3D velocities in the boundary conditions are from NEMO and do not have tides, I am concerned that nudging in this case will backfire because of the inconsistency between the interior 3D velocities that have tides and the corresponding boundary conditions that do not.
Regardless of the potential inconsistency, the model velocities look reasonable to me. The attached diagrams show the comparison between the simulated and measured velocities at roughly 500 m above the seamount in the middle of my domain. As you can see, the match between the model and observation is reasonable. Furthermore, the phases of tidal oscillations also appear to be approximately consistent, which is encouraging.
Based on your last reply, I understand that turning on the ADD_FSOC and ADD_M2OBC flags will add tides to NEMO's sea-level and 2D velocities at the lateral boundaries. Regarding the 3D velocities in the boundary conditions, I am still wondering if I need to manually add tides to NEMO's non-tidal 3D velocities. You mentioned that the radiation boundary condition will take care of that. However, my understanding is that when the RadNud condition is used, radiation is only applied to outflows. For inflows, ROMS will nudge the interior velocities to match the boundary conditions. Because the 3D velocities in the boundary conditions are from NEMO and do not have tides, I am concerned that nudging in this case will backfire because of the inconsistency between the interior 3D velocities that have tides and the corresponding boundary conditions that do not.
Regardless of the potential inconsistency, the model velocities look reasonable to me. The attached diagrams show the comparison between the simulated and measured velocities at roughly 500 m above the seamount in the middle of my domain. As you can see, the match between the model and observation is reasonable. Furthermore, the phases of tidal oscillations also appear to be approximately consistent, which is encouraging.
Re: Appropriate open boundary conditions for tidal forcing
A fair point. So try "Rad" and "RadNud" and see if it makes any difference. Report back to this thread.For inflows, ROMS will nudge the interior velocities to match the boundary conditions. Because the 3D velocities in the boundary conditions are from NEMO and do not have tides, I am concerned that nudging in this case will backfire because of the inconsistency between the interior 3D velocities that have tides and the corresponding boundary conditions that do not.
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu
Re: Appropriate open boundary conditions for tidal forcing
Hi Guangyu,
If you have the time to run a test from an idealized initial condition, it might illustrate the performance of the boundary conditions. If you designed an idealized initial condition (and matching open boundary conditions) with, say, a large eddy centered on the midpoint of one boundary, it would provide a single inflow/outflow transition on that boundary, plus changes in inflow/outflow at the opposite corners of the domain. Then we might be able to see the extent to which the baroclinic tides generated in the domain are radiated through the boundary. In a relatively small domain like this, which is not much bigger than two wavelengths of internal mode-1 M2, it may be difficult to see boundary artifacts clearly in comparison with eddies and complex topographically-generated flows.
-Ed
If you have the time to run a test from an idealized initial condition, it might illustrate the performance of the boundary conditions. If you designed an idealized initial condition (and matching open boundary conditions) with, say, a large eddy centered on the midpoint of one boundary, it would provide a single inflow/outflow transition on that boundary, plus changes in inflow/outflow at the opposite corners of the domain. Then we might be able to see the extent to which the baroclinic tides generated in the domain are radiated through the boundary. In a relatively small domain like this, which is not much bigger than two wavelengths of internal mode-1 M2, it may be difficult to see boundary artifacts clearly in comparison with eddies and complex topographically-generated flows.
-Ed
Re: Appropriate open boundary conditions for tidal forcing
I did the test John suggested. It turns out that changing the boundary conditions for 3D variables from 'RadNud' to 'Rad' has backfired in a big way. As shown in the attached diagram. The simulated flow field is completely overwhelmed by the rim currents. This sharp contrast with the previous results seems to suggest that it is important to nudge the inflow to match the boundary conditions and radiation alone is not enough. I intend to do another test in which I will add tides to 3D velocities in the boundary conditions and see if the results improve because of that.
Re: Appropriate open boundary conditions for tidal forcing
Hello John and All,
After some more digging, here is my latest understanding of open boundary conditions of 3D velocities in the presence of tidal forcing. It appears to me that there is no need to add tides to the 3D non-tidal velocities used as boundary conditions even when nudging is on. This is probably because ROMS replaces the barotropic component of 3D velocity with the result from the 2D barotropic computations. Therefore, as long as tides are added appropriately to the 2D velocities and sea-surface, the same barotropic tides will be added to the 3D velocities automatically with or without nudging.
If I am right, there still seems to be some inconsistency when it comes to the baroclinic tides that tend to originate from the interaction of barotropic tides with seafloor topography (such as a seamount). Those baroclinic tides are present in the interior 3D velocities but not in the corresponding non-tidal boundary conditions. Nudging the interior velocities to match the boundary conditions will eliminate part of those baroclinic tides but there will probably still be some residual that can cause discontinuity at the open boundaries. I am thinking maybe nudging not only at the open boundaries but also across a layer (maybe a few grid cells wide) along each boundary to climatology data will further eliminate the discontinuity at the open boundaries. I am curious to know if nudging to climatology is a routine practice in such realistic simulations.
Thanks!
After some more digging, here is my latest understanding of open boundary conditions of 3D velocities in the presence of tidal forcing. It appears to me that there is no need to add tides to the 3D non-tidal velocities used as boundary conditions even when nudging is on. This is probably because ROMS replaces the barotropic component of 3D velocity with the result from the 2D barotropic computations. Therefore, as long as tides are added appropriately to the 2D velocities and sea-surface, the same barotropic tides will be added to the 3D velocities automatically with or without nudging.
If I am right, there still seems to be some inconsistency when it comes to the baroclinic tides that tend to originate from the interaction of barotropic tides with seafloor topography (such as a seamount). Those baroclinic tides are present in the interior 3D velocities but not in the corresponding non-tidal boundary conditions. Nudging the interior velocities to match the boundary conditions will eliminate part of those baroclinic tides but there will probably still be some residual that can cause discontinuity at the open boundaries. I am thinking maybe nudging not only at the open boundaries but also across a layer (maybe a few grid cells wide) along each boundary to climatology data will further eliminate the discontinuity at the open boundaries. I am curious to know if nudging to climatology is a routine practice in such realistic simulations.
Thanks!
Re: Appropriate open boundary conditions for tidal forcing
Guangyu,
Nudging to "climatological" (some external information about the ocean) tracers (temp/salt) is common practise to control both components of thermal wind near the boundary (and suppress wave modes that might travel along the boundary). But nudging to 3-D velocity is less common, for the reason you were concerned about regarding damping the barotropic fast waves (tides). But many of us have done this nonetheless without calamity. But I'm not sure where you would get 3-D baroclinic internal tidal velocity information to do this, or if I would trust them. But if it works for your purposes, then great.
Remember, there are no perfect open boundary conditions. You are fundamentally stuck with having a boundary where you don't know what the ocean is doing outside it and you cannot make that fully consistent with the dynamics inside the domain. One can burn up a lot of time tinkering in pursuit of a more perfect boundary condition, but really there isn't one.
If you are really concerned about the model solution at that location, don't put the boundary there.
John.
Nudging to "climatological" (some external information about the ocean) tracers (temp/salt) is common practise to control both components of thermal wind near the boundary (and suppress wave modes that might travel along the boundary). But nudging to 3-D velocity is less common, for the reason you were concerned about regarding damping the barotropic fast waves (tides). But many of us have done this nonetheless without calamity. But I'm not sure where you would get 3-D baroclinic internal tidal velocity information to do this, or if I would trust them. But if it works for your purposes, then great.
Remember, there are no perfect open boundary conditions. You are fundamentally stuck with having a boundary where you don't know what the ocean is doing outside it and you cannot make that fully consistent with the dynamics inside the domain. One can burn up a lot of time tinkering in pursuit of a more perfect boundary condition, but really there isn't one.
If you are really concerned about the model solution at that location, don't put the boundary there.
John.
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu
Re: Appropriate open boundary conditions for tidal forcing
Many thanks for all your explanations, John. I now have a much better understanding of the use of tidal forcing and associated boundary conditions. My idea of nudging to climatology for 3D velocities is that I am hoping such nudging can dampen the waves (e.g., baroclinic tides) not present in the open boundary conditions/climatology to prevent those waves from reflecting off the boundaries back into the interior of the domain. Normally, I should probably use sponge to do so. However, given that the sponge can potentially distort tidal waves, maybe nudging to climatology is a better option in this case. Anyways, I agree with you that there is no perfect open boundary condition.