[MITgcm-support] Problem with OBCs (bug ?)

Nicolas Grisouard nicolas.grisouard at hmg.inpg.fr
Wed Jun 25 10:27:34 EDT 2008


David,

You are right, I got a little bit confused in my boundary conditions and 
the first case was kind of useless...

I'll use a different ramp, but have one more question : what does the 
exf package improve when added to the obcs package ? I never used it, 
but it looks like it is designed to apply a forcing at the surface, 
which is not what I want. Am I wrong ?

Thanks,
Nicolas

David Hebert wrote:
> Nicolas,
>
> In your second and third case, are the U and V at the boundary 
> non-zero? If so, it looks like a vertical velocity W is begin 
> generated from continuity, since you can not expressly specify W. This 
> happens because you have zero velocity fields but velocity on the 
> boundary, causing a velocity gradient. I have run into this issue is 
> some of my work.
>
> If you want to start with your U and V fields (and W) at zero, a 
> solution is to use the exf package and start the boundary U and V at 
> zero. Then "ramp" the boundaries to the desired values. Another 
> possibility is to specify U and V fields the same as the boundary 
> values. This will result in zero velocity gradients, and not generate 
> W from continuity.
>
>
> David
>
> Nicolas Grisouard wrote:
>> Hi  everyone,
>>
>> I am running experiments about internal waves forced through open 
>> boundary condition on the western boundary (a little bit like the 
>> internal_wave experiment, but with more complex forcings).
>>
>> I have been getting a weird behaviour for the past months but only 
>> noticed it a few days ago, since this problem now induces unphysical 
>> features. I think I isolated one problem and think it involves the 
>> OBCS package.
>>
>> About the first issue. I tried to implement two forcings that are 
>> about the same. Configuration #1 (C1), in obcs_calc.F :
>>
>>        DO K=1,Nr
>>          DO J=1-Oly,sNy+Oly
>>             OBWu(J,K,bi,bj)=0. _d 0
>>     &            +Uinflow*ramptime2
>>     &            * sin(2*PI*(float(k)/float(Nr)-5.D-1))
>>     &            * sin(2.0 _d 0*PI*futureTime/obTimeScale)
>>             OBWv(J,K,bi,bj)=0. _d 0
>>     &            +Uinflow
>>     &            *f0/(2.0 _d 0*PI/obTimeScale)
>>     &            *cos(2. _d 0*PI*futureTime/obTimeScale )
>>             OBWt(J,K,bi,bj)=tRef(K)
>> #ifdef ALLOW_NONHYDROSTATIC     ! I do allow nonhydrosatic effects
>>             OBWw(J,K,bi,bj)=0.
>> #endif
>>          ENDDO
>>        ENDDO
>>
>> That is, in human-friendly format :
>> u(z,t) = U.f(t) . sin[2.pi.(z/H - 1/2)] . sin(2.pi.t/T)
>> everything_else = 0 as f0 = 0 (nonrotating case)
>> f(t) = function that smoothes the activation of the forcing and equal 
>> to 1.8% at t= 0
>> H = height of the domain
>> kz = 2*pi/H
>> T = period of the forcing so that frequency < N
>>
>> So we have a "stationary" forcing. At time t = 0, the fields are like 
>> they should be : the stratification is as set in gendata and the 
>> velocities fields are = 0.
>>
>> If we now take the exact same configuration except for the forcing 
>> that is now "propagative" (C2) (the one I need) :
>>
>>        DO K=1,Nr
>>          DO J=1-Oly,sNy+Oly
>>             OBWu(J,K,bi,bj)=0.D0
>>     &            +Uinflow*ramptime2
>>     &            * sin(2.D0 *PI*(float(k)/float(Nr)-5. _d -1
>>     &            - futureTime/obTimeScale))
>>             OBWv(J,K,bi,bj)=0. _d 0
>>     &            +Uinflow
>>     &            *f0/(2.0 _d 0*PI/obTimeScale)
>>     &            *cos(2. _d 0*PI*futureTime/obTimeScale )
>>             OBWt(J,K,bi,bj)=tRef(K)
>> #ifdef ALLOW_NONHYDROSTATIC
>>             OBWw(J,K,bi,bj)=0.
>> #endif
>>          ENDDO
>>        ENDDO
>>
>> Again :
>> u(z,t) = U.f(t). sin[2.pi.(z/H - 1/2 - t/T)]
>>
>> Now at time t = 0, the U and T fields are like they should be, but 
>> the W field shows someting odd, as displayed in figure 
>> propagative.jpg. The vertical velocity is non-zero at the column that 
>> is next to the point i = 1. This induces parasite emission of waves 
>> in the best scenario and maybe the blowing of the computation in the 
>> worst scenario.
>>
>>
>> Third configuration (C3), to complete C2 :
>> u(z,t) = U.f(t). sin[2.pi.(z/H - t/T)]
>>
>> I get a W field as shown in propagative2.jpg : same as in 
>> propagative.jpg but opposite values of velocities. I would have 
>> expected a node in the middle...
>>
>>
>>
>> I have no idea how to fix this and am ready to give any additional 
>> information to who could help me of course.

-- 
Nicolas GRISOUARD
PhD Student - ERES division
Laboratoire des Ecoulements Geophysiques et Industriels
BP 53
38041 Grenoble cedex 9 France
tel : +33 (0)476 825 037 - fax : +33 (0)476 825 271




More information about the MITgcm-support mailing list