Test of open boundary conditions
Test of open boundary conditions
Hello,
I have done some tests to investigate the performance of various open boundary conditions available in ROMS. The setup of my simulation is pretty simple, which starts with a Gaussian-shaped mound that collapses at t0, which generates outward-propagating surface waves. There is no stratification, and a constant Coriolis coefficient at 46-degree N is used. The goal of this test is to investigate the ability of an open boundary condition to let outward propagation of wave-like disturbances through the boundary with minimal reflection.
I have tested five different boundary conditions, which are: closed (clo), zero gradient (clo), zero gradient plus nudging layer (gra_nudclima), radiation (rad), and radiation plus nudging layer (rad_nudclima). In this idealized case, there is no external solution so the nudging layer simply forces the internal solution to approach zero towards the boundary. For the radiation condition, I turned on the 'radiation_2d' cpp flag so that the phase velocity has a tangential component.
For an ideal boundary that is 100% 'transparent' to the interior, one should expect to see zero reflection of those outward propagating waves. As you can see, among the five boundary conditions, closed and zero-gradient lead to full reflection. In comparison, the radiation boundary condition alone has much reduced reflection. Adding the nudging layer further absorbs the reflected waves and the radiation plus nudging condition generates the least amount of reflection.
In summary, the combination of radiation condition and nudging layers seems to work the best for letting perturbations through a boundary while minimizing the reflection. I am thus wondering if this is what is most commonly used when forcing a regional simulation with external climatology at open boundaries.
I have done some tests to investigate the performance of various open boundary conditions available in ROMS. The setup of my simulation is pretty simple, which starts with a Gaussian-shaped mound that collapses at t0, which generates outward-propagating surface waves. There is no stratification, and a constant Coriolis coefficient at 46-degree N is used. The goal of this test is to investigate the ability of an open boundary condition to let outward propagation of wave-like disturbances through the boundary with minimal reflection.
I have tested five different boundary conditions, which are: closed (clo), zero gradient (clo), zero gradient plus nudging layer (gra_nudclima), radiation (rad), and radiation plus nudging layer (rad_nudclima). In this idealized case, there is no external solution so the nudging layer simply forces the internal solution to approach zero towards the boundary. For the radiation condition, I turned on the 'radiation_2d' cpp flag so that the phase velocity has a tangential component.
For an ideal boundary that is 100% 'transparent' to the interior, one should expect to see zero reflection of those outward propagating waves. As you can see, among the five boundary conditions, closed and zero-gradient lead to full reflection. In comparison, the radiation boundary condition alone has much reduced reflection. Adding the nudging layer further absorbs the reflected waves and the radiation plus nudging condition generates the least amount of reflection.
In summary, the combination of radiation condition and nudging layers seems to work the best for letting perturbations through a boundary while minimizing the reflection. I am thus wondering if this is what is most commonly used when forcing a regional simulation with external climatology at open boundaries.
- Attachments
-
- eta_rad_nudclima.gif (985.49 KiB) Viewed 11841 times
-
- eta_rad.gif (960.21 KiB) Viewed 11841 times
-
- eta_gra_nudclima.gif (1.09 MiB) Viewed 11841 times
-
- eta_gra.gif (1.55 MiB) Viewed 11841 times
-
- eta_clo.gif (1.61 MiB) Viewed 11841 times
Re: Test of open boundary conditions
these look really cool! there has been a good bit of work on roms open BC's. i have not looked into the details in a while. here are some thoughts:
-if you go here:
https://www.myroms.org/wiki/Boundary_Conditions
you can get a good paper :
Marchesiello, P., J. C. McWilliams, A. F. Shchepetkin, 2001: Open boundary conditions for long-term integration of regional ocean models, Ocean Modelling, 3, 1-20. (PDF)
-how about doing test with no coriolis.
-if this is just ubar/vbar/zeta, what about Flather?
-what do you set for the 3D bc's? they might have an effect even for just a barotropic wave propagation.
- when the center of the mound reaches zero, it looks like it overshoots in the middle and create a pressure gradient back into the domain? will this draw a flow into the domain?
-if you go here:
https://www.myroms.org/wiki/Boundary_Conditions
you can get a good paper :
Marchesiello, P., J. C. McWilliams, A. F. Shchepetkin, 2001: Open boundary conditions for long-term integration of regional ocean models, Ocean Modelling, 3, 1-20. (PDF)
-how about doing test with no coriolis.
-if this is just ubar/vbar/zeta, what about Flather?
-what do you set for the 3D bc's? they might have an effect even for just a barotropic wave propagation.
- when the center of the mound reaches zero, it looks like it overshoots in the middle and create a pressure gradient back into the domain? will this draw a flow into the domain?
Re: Test of open boundary conditions
Because you don't have stratification, you are mostly testing the barotropic OBCs. You should try both the Chapman/Flather combo and the Sch option (described in a Mason et al., 2010 paper).
Flather is known to work pretty well for the barotropic mode. What's more challenging are the baroclinic signals.
Flather is known to work pretty well for the barotropic mode. What's more challenging are the baroclinic signals.
Re: Test of open boundary conditions
Thanks a lot for both of your replies. My simulation is essentially barotropic but the setup is in 3D with the cpp flag 'SOLVE3D' on. I did that because the 2D mode did not work due to a bug in the source code, which has been fixed by the developer. I will try the other conditions that you recommended and see how it works. I will post the new results once they are ready.
Re: Test of open boundary conditions
Hello,
I have done a couple of more tests. As Kate said, the Chapman+Flather and Chapman+Shc combos both work better than the radiation boundary condition+nudging. I have attached the new animations that show almost zero reflection from the boundaries. My nest step to add stratification and do some 3D tests. So should I keep Chapman+Flather or Chapman+Shc for 2D variables and use radiation+nudging for 3D u,v, t, and s?
Cheers!
I have done a couple of more tests. As Kate said, the Chapman+Flather and Chapman+Shc combos both work better than the radiation boundary condition+nudging. I have attached the new animations that show almost zero reflection from the boundaries. My nest step to add stratification and do some 3D tests. So should I keep Chapman+Flather or Chapman+Shc for 2D variables and use radiation+nudging for 3D u,v, t, and s?
Cheers!
- Attachments
-
- Chapman+Shc
- eta_cha_shc.gif (1.08 MiB) Viewed 11734 times
-
- Chapman+Flather
- eta_cha_fla.gif (1.08 MiB) Viewed 11734 times
Re: Test of open boundary conditions
Yes, exactly.So should I keep Chapman+Flather or Chapman+Shc for 2D variables and use radiation+nudging for 3D u,v, t, and s?
Re: Test of open boundary conditions
Hi Kate and All,
I am working on setting up a new simulation to test the ability of the various open boundary conditions to let external information enter the domain. My test case features a geostrophic surface eddy that moves into the domain from one open boundary and leaves at another. For the starter, I will run the simulation in the barotropic mode with no stratification. My plan is to first run a simulation of a surface eddy moving across a large domain. I will then crop and interpolate the outputs onto a smaller domain that lies inside the large domain in the path of the eddy. If the open boundaries of the small domain is 100% transparent, then the eddy should be able to enter and leave the domain with no distortion. Regarding the open boundary conditions, my understanding is that the Chapman+Flather combo will not work in this case because it has no mechanism for introducing external information into a domain. I am thus wondering if I should use Radiation+Nudging in this case. Also, I notice that ROMS cautions against nudging the free surface directly, saying that doing so will violate volume conservation. I am curious to know if an outside surface feature such as an eddy can still be introduced into a domain through an open boundary without direct nudging of the free surface.
Thanks!
I am working on setting up a new simulation to test the ability of the various open boundary conditions to let external information enter the domain. My test case features a geostrophic surface eddy that moves into the domain from one open boundary and leaves at another. For the starter, I will run the simulation in the barotropic mode with no stratification. My plan is to first run a simulation of a surface eddy moving across a large domain. I will then crop and interpolate the outputs onto a smaller domain that lies inside the large domain in the path of the eddy. If the open boundaries of the small domain is 100% transparent, then the eddy should be able to enter and leave the domain with no distortion. Regarding the open boundary conditions, my understanding is that the Chapman+Flather combo will not work in this case because it has no mechanism for introducing external information into a domain. I am thus wondering if I should use Radiation+Nudging in this case. Also, I notice that ROMS cautions against nudging the free surface directly, saying that doing so will violate volume conservation. I am curious to know if an outside surface feature such as an eddy can still be introduced into a domain through an open boundary without direct nudging of the free surface.
Thanks!
Re: Test of open boundary conditions
Flather does allow introduction of outside information.
- jivica
- Posts: 172
- Joined: Mon May 05, 2003 2:41 pm
- Location: The University of Western Australia, Perth, Australia
- Contact:
Re: Test of open boundary conditions
I've done similar test with nesting and eddy propagating through the domain (in addition to sea-mount). Have a look at the:
Janekovic, I., Powell, B. 2012, 'Analysis of imposing tidal dynamics to nested numerical models', Continental Shelf Research, 34, pp. 30-40.
Cheers
Ivica
Janekovic, I., Powell, B. 2012, 'Analysis of imposing tidal dynamics to nested numerical models', Continental Shelf Research, 34, pp. 30-40.
Cheers
Ivica
Re: Test of open boundary conditions
Great work. It is always interesting to watch results from idealized experiments.
Here in Norway we have implemented the so called Flow Relaxation Scheme (FRS) in ROMS, which includes the possibility of one way nesting. As an OBC it works more or less like a sponge. We have also tested the Mason et al. (2010) method with some success. Likewise we have recently implemented the two way nesting advocated by Debreu and Blayo (OM, 58, 2008) into ROMS for an application covering the Skagerrak (North Sea) with a high resolution Oslofjord model embedded which appears to work well (see attached gif file showing salinity and png file showing the two model domains).
If of interest an overview of various OBCs including one-way and two-way nesting techniques may be found in my recent textbook (Chapter 7, Pages 159-182) referenced below.
Røed, L. P., (2019) Atmosphere and Oceans on Computers, https://doi.org/10.1007/978-3-319-93864-6
Here in Norway we have implemented the so called Flow Relaxation Scheme (FRS) in ROMS, which includes the possibility of one way nesting. As an OBC it works more or less like a sponge. We have also tested the Mason et al. (2010) method with some success. Likewise we have recently implemented the two way nesting advocated by Debreu and Blayo (OM, 58, 2008) into ROMS for an application covering the Skagerrak (North Sea) with a high resolution Oslofjord model embedded which appears to work well (see attached gif file showing salinity and png file showing the two model domains).
If of interest an overview of various OBCs including one-way and two-way nesting techniques may be found in my recent textbook (Chapter 7, Pages 159-182) referenced below.
Røed, L. P., (2019) Atmosphere and Oceans on Computers, https://doi.org/10.1007/978-3-319-93864-6
Re: Test of open boundary conditions
Thanks to all of you for your replies and sharing your exiting results. I will go read the references you recommended.
Lars, I am curious to know if the two-way nesting method you implemented available in the latest public version of ROMS? Or is it a custom build that needs modified source code?
Lars, I am curious to know if the two-way nesting method you implemented available in the latest public version of ROMS? Or is it a custom build that needs modified source code?
Re: Test of open boundary conditions
earlier you had said
"My [new] test case features a geostrophic surface eddy that moves into the domain from one open boundary and leaves at another."
This is reminiscent of the soliton test case, distributed. we also modified it at some point for a nesting test case, to show that you need 2-way to make sure the soliton exits the child and is 'in step' with the parent.
but the distributed soliton case should work.
"My [new] test case features a geostrophic surface eddy that moves into the domain from one open boundary and leaves at another."
This is reminiscent of the soliton test case, distributed. we also modified it at some point for a nesting test case, to show that you need 2-way to make sure the soliton exits the child and is 'in step' with the parent.
but the distributed soliton case should work.
Re: Test of open boundary conditions
Thanks for the useful tip, John. I will look into the distributed soliton case.