[MITgcm-support] setting up with RBCS package

Yangxin He y67he at uwaterloo.ca
Wed Apr 4 15:33:51 EDT 2018

Hi Martin,

So when I set M_rbc=1 and tauRelaxT to be O(deltaT), the simulation quickly generates NaN. Is this forcing considered too strong or I probably did something wrong?

I tried other values of tauRelaxT, if the values are much larger, say deltaT=23 and tauRelaxT=230, I have waves generated but with a much smaller amplitude, which is probably expected since the forcing is pretty weak.

>From what I have seen so far, it seems like if I want to generate waves at xx=500pt, I should probably start forcing the waves at xx=400pt and slowly ramp up the forcing?

I would appreciate some insights in this.



From: MITgcm-support <mitgcm-support-bounces at mitgcm.org> on behalf of Martin Losch <Martin.Losch at awi.de>
Sent: Wednesday, April 4, 2018 5:24:27 AM
To: MITgcm Support
Subject: Re: [MITgcm-support] setting up with RBCS package


OBCS and RBCS are fundamentally different. OBCS is an explicit package for open boundary conditions. It has some restoring options for a sponge layer. The R in RBCS is for “restoring” or “relaxation". RBCS can be used to do 3D restoring in the entire domain, or according to a mask that you have to specify. I think S/R rbcs_add_tendency is the file to look at to understand how it works. For your problem you may want to use a restoring time scale O(deltaT) and a mask that is nonzero only at xx=500. More answers below,


> On 3. Apr 2018, at 20:21, Yangxin He <y67he at uwaterloo.ca> wrote:
> Hello there,
> Here is the model I want to set up:
> Assume I have nx=3000 pt, ny=50 pt, nz=50 pt. From xx=1 to 409 pt, I want to set up a layer of stretch grid to damp out any reflections coming from the right. From xx=2501 to 3000 pt, I will also set up a layer of stretch grid. I have rigid lid at the top and no slip at the bottom. The domain where all the physics comes from is in xx=500 to 2500 pt. These can be done by initializing the grid at the start and it is not a problem.
> Now I want to force a mode-one internal wave at xx=500 pt so that the waves propagate to the right into the domain. Since the forcing is not at the boundary, OBCS does not seem to be the right tool so I took a look at the RBCS package, which got me quite confused.
> Here are my questions:
> 1) I checked the exp4 in the MITgcm verification folder and also a sample code from Jody. It seems that as long as RBCS is used, OBCS is also used. Do they have to go together or is this an coincidence? Why?
They can be used independently.
> 2) In my head, I thought setting my routine using RBCS would be similar to use OBCS prescribe except telling the model which location I want the force to turn on. But after reading the MITgcm documentation, the RBCS package seems much more complicated. From my understanding,
> 2.1) M_rbc / \tau_T acts like a ramp up function? Any specific rules to pick these numbers or just something slow and smooth will do?
Not sure what you are refering to. I only see a ramp down flag (rbcsVanishingTime). This probably applies to specific cases, but is not generally required.
> 2.2) T/U/V_rbc is the T/U/V I want to force at the location? So T_rbc is a function of (x,y,z,t), which means the relaxTFile is a matrix of (:,:,:,:)?
> 3) If anyone has any simple codes/files set up similar to my case and are willing to share with me, I would really appreciate it!
> Thanks
> Yangxin
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support

MITgcm-support mailing list
MITgcm-support at mitgcm.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.mitgcm.org/pipermail/mitgcm-support/attachments/20180404/8f497c00/attachment.html>

More information about the MITgcm-support mailing list