Flather condition at single boundary causes model blowup

General scientific issues regarding ROMS

Moderators: arango, robertson

Post Reply
Message
Author
JDTilley
Posts: 63
Joined: Tue May 31, 2011 3:31 pm
Location: University of Southern Mississippi

Flather condition at single boundary causes model blowup

#1 Unread post by JDTilley »

I am working on a circulation model, that runs fine until I apply a Flather condition for 2D momentum to one of my boundaries. A Flather condition works fine for all my other boundaries. For example, in my .in file, the following works:

Code: Select all

   
!                   W       S       E       N
!                   e       o       a       o
!                   s       u       s       r
!                   t       t       t       t
!                           h               h
!
!                   1       2       3       4
   LBC(isFsur) ==   Fla     Fla     Fla     Clo         ! free-surface
   LBC(isUbar) ==   Fla     Clo     Fla     Clo         ! 2D U-momentum
   LBC(isVbar) ==   Fla     Clo     Fla     Clo         ! 2D V-momentum
   LBC(isUvel) ==   Rad     Rad     Rad     Clo         ! 3D U-momentum
   LBC(isVvel) ==   Rad     Rad     Rad     Clo         ! 3D V-momentum
   LBC(isMtke) ==   Per     Per     Per     Per         ! mixing TKE

   LBC(isTvar) ==   RadNud  RadNud  RadNud  Clo \       ! temperature
                    RadNud  RadNud  RadNud  Clo         ! salinity
but this doesn't:

Code: Select all

   LBC(isFsur) ==   Fla     Fla     Fla     Clo         ! free-surface
   LBC(isUbar) ==   Fla     Fla     Fla     Clo         ! 2D U-momentum
   LBC(isVbar) ==   Fla     Fla     Fla     Clo         ! 2D V-momentum
   LBC(isUvel) ==   Rad     Rad     Rad     Clo         ! 3D U-momentum
   LBC(isVvel) ==   Rad     Rad     Rad     Clo         ! 3D V-momentum
   LBC(isMtke) ==   Per     Per     Per     Per         ! mixing TKE

   LBC(isTvar) ==   RadNud  RadNud  RadNud  Clo \       ! temperature
                    RadNud  RadNud  RadNud  Clo         ! salinity
It blows up on the first iteration, which makes me think I have something else misspecified. The lines of my header file most relevant to the boundaries is:

Code: Select all

#define SOUTH_FSFLATHER /* Southern edge, free-surface, Flather condition */
#define WEST_FSFLATHER /* Western edge, free-surface, Flather condition */
#define EAST_FSFLATHER /* Eastern edge, free-surface, Flather condition */
#define SOUTH_M2FLATHER /* Southern edge, 2D momentum, Flather condition */
#define WEST_M2FLATHER /* Western edge, 2D momentum, Flather condition */
#define EAST_M2FLATHER /* Eastern edge, 2D momentum, Flather condition */

#define SOUTH_M3RADIATION /* Southern edge, 3D momentum, radiation condition */
#define SOUTH_M3CLM_NUDGING /* Southern edge, 3D momentum, passive/active term */
#define SOUTH_TCLM_NUDGING /* Define for nudging to tracer climatology */
#define WEST_M3RADIATION /* Western edge, 3D momentum, radiation condition */
#define WEST_M3CLM_NUDGING /* Western edge, 3D momentum, passive/active term */
#define WEST_TCLM_NUDGING /* Define for nudging to tracer climatology */
#define EAST_M3RADIATION /* Eastern edge, 3D momentum, radiation condition */
#define EAST_M3CLM_NUDGING /* Eastern edge, 3D momentum, passive/active term */
#define EAST_TCLM_NUDGING /* Define for nudging to tracer climatology */
Does anyone know what I am doing wrong? Thanks.
Attachments
upwelling.h
(4.1 KiB) Downloaded 211 times
ocean_upwelling.in
(117.38 KiB) Downloaded 228 times

User avatar
kate
Posts: 4091
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: Flather condition at single boundary causes model blowup

#2 Unread post by kate »

I use these options now:

Code: Select all

   LBC(isFsur) ==   Che     Che     Che     Che         ! free-surface
   LBC(isUbar) ==   Shc     Shc     Shc     Shc         ! 2D U-momentum
   LBC(isVbar) ==   Shc     Shc     Shc     Shc         ! 2D V-momentum
There is no Flather option for the free surface. Shc is an update to Flather, but I haven't found it to make a big difference - it's not the difference between running and blowing up. You should instead look to see what boundary values you are providing to ROMS.

Those cppdefs you list should be ignored by ROMS if ROMS is new enough to read LBC. If they aren't being reported in the cppdefs output report, they aren't being read and you might as well delete them to avoid confusion.

Oh, and your cppdefs might be implying this instead:

Code: Select all

   LBC(isUvel) ==   RadNud  RadNud  RadNud  RadNud      ! 3D U-momentum
   LBC(isVvel) ==   RadNud  RadNud  RadNud  RadNud      ! 3D V-momentum

JDTilley
Posts: 63
Joined: Tue May 31, 2011 3:31 pm
Location: University of Southern Mississippi

Re: Flather condition at single boundary causes model blowup

#3 Unread post by JDTilley »

Thanks for all the great information. I didn't realize those cppdefs were unnecessary. I will try to figure out what's going on with my boundary file and hopefully will have an update soon.

JDTilley
Posts: 63
Joined: Tue May 31, 2011 3:31 pm
Location: University of Southern Mississippi

Re: Flather condition at single boundary causes model blowup

#4 Unread post by JDTilley »

You were right on. I see that my boundary file has bad data that originates from my climatology file. Looks like I'll have to sort through that to get my model working properly.

JDTilley
Posts: 63
Joined: Tue May 31, 2011 3:31 pm
Location: University of Southern Mississippi

Re: Flather condition at single boundary causes model blowup

#5 Unread post by JDTilley »

So I believe I have addressed my climatology and boundary problems. However, I'm still blowing up at iteration 4225 of 8640. I already pushed DT down to 150 s. Should I decrease this or would I be covering up some bigger issue? Also, I am curious about closed boundary conditions. In your example above, all four of your boundaries are open. The northernmost boundary of my grid is land and completely masked. Should I set all LBCs to closed in this case? Would this improve model stability? Thanks.

User avatar
kate
Posts: 4091
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: Flather condition at single boundary causes model blowup

#6 Unread post by kate »

The dt you need depends on many things, not all of which I fully understand. Before knowing the appropriate response, you should find out where your model is blowing up. Is it at the boundary?

I cut and pasted my response from a domain with four open boundaries. I also have domains with just two open boundaries. Open your open ones or else they behave like walls.

JDTilley
Posts: 63
Joined: Tue May 31, 2011 3:31 pm
Location: University of Southern Mississippi

Re: Flather condition at single boundary causes model blowup

#7 Unread post by JDTilley »

Great. Thanks. I might take a few days to test again. Right now I am redoing my climatology from the ground up. Making good progress. Only have 3D u and v left to do at this point.

Post Reply