[MITgcm-support] periodic but "closed" channel flow

David Ferreira dfer at MIT.EDU
Mon Mar 10 19:15:17 EDT 2008


Hi all,
Not sure I fully understand but isn't your problem
equivalent to look at the flow field in a frame moving
at the mean zonal speed?
At equilibirum, because of conservation, the mean zonal flow
(your Tr_T correction) should be constant longitudinally, it
looks like a change of frame.
What I am suggesting is that there is no correction to
apply and no code to modify (or obsc package to use), but
just to diagnose Tr_T a posteriori and remove it from your
zonal speed outputs.
Dumb ?
david


Quoting Patrick Rosendahl <Patrick.Rosendahl at zmaw.de>:

> Martin,
>
> I forgot to mention that I closed the N+S boundary. Yes, I am 
> expecting a static stationary solution.
> The E+W boundaries are open, and windstresss will generate some 
> profile into the wind direction, causing a netflow in that direction.
> This patch will act as if there was a constant pressure pushing as 
> much water back until the netflow over the boundary is zero (in this 
> case 5 pixels left of the E boundary), e.g. the channel is "closed".
>
> I dont expect this to work with time-varying solutions. In this case 
> you should average over 1 waveperiod, if that length can be 
> determined at all.
>
> Thank you for the answer, and yes, it helps. So I will apply the 
> correction in the momentum-correction-step routine only (also the 
> obcs_apply_uv is called from there in line 104).
>
> Patrick
>
> Martin Losch wrote:
>> Patrick,
>> what are you trying to do? a zonally periodic channel that still has 
>>  open boundaries in the zonal direction? Why?
>> On average, a zonal channel, unless you have a localized unbalanced  
>> mass sources somewhere (e.g. freshwater flux at the surface), should 
>>  have no zonal netflow anywhere. However, if you have a time varying 
>>  solution, there will be fluctuations in the mass flux (with zero  
>> mean). Removing these mass fluxes as you seem to have done will  
>> introduce shocks to the system at every timestep. Also I don't know  
>> if obcs is the best place to do that. If you have to change the  
>> entire flow field, I would really try to do it in the correction 
>> step  (momentum_correction_step.F), all you need to do is include 
>> GRID.h  into that file and then you can do what you want to do.
>>
>> Does that help?
>>
>> Martin
>>
>> On 5 Mar 2008, at 14:53, Patrick Rosendahl wrote:
>>
>>> Hello all,
>>>
>>> this is code I use for simulating a infinite channel (periodic  
>>> domain in EW-direction) with return flow (netflow in any section is 
>>>  0).
>>>
>>> It is currently hooked up in obcs_apply_uv.F via
>>>
>>>         CALL OBCS_MODIFY( bi, bj, uFld, vFld, myThid )
>>>
>>> and implemented like this in obcs_calc.F inside the IF- 
>>> useOBCSbalance-THEN switch
>>>
>>> C
>>> C calculate the mass transfer across some section
>>> C
>>>         Tr_T = 0. _d 0
>>>         Ar_T = 0. _d 0
>>>         DO K=1,Nr
>>>           DO J=1-Oly,sNy+Oly
>>>              I_obc = sNx-5
>>>              IF (I_obc.ne.0) THEN
>>>               Ar = drF(k)*hFacC(I_obc,j,k,bi,bj)*dyG(I_obc,j,bi,bj) 
>>>  * _maskW(I_obc,J,K,bi,bj)
>>>               Ar_T = Ar_T + Ar
>>>               Tr_T = Tr_T + Ar * uVel(I_obc,J,K,bi,bj)
>>>             ENDIF
>>>           ENDDO
>>>         ENDDO
>>>         _GLOBAL_SUM_R8( Ar_T , myThid )
>>>         _GLOBAL_SUM_R8( Tr_T , myThid )
>>>         Tr_T = (0. - Tr_T)/Ar_T
>>> C
>>> C correct the entire u-field
>>> C
>>>         DO K=1,Nr
>>>           DO J=1-Oly,sNy+Oly
>>>             DO I=1-Olx,sNx+Olx
>>>               uVel(I,J,K,bi,bj) = uVel(I,J,K,bi,bj) + Tr_T * _maskW 
>>> (I_obc,J,K,bi,bj)
>>>             ENDDO
>>>           ENDDO
>>>         ENDDO
>>>
>>>
>>>
>>>
>>> I first tried the Orlanski-type BC, but it does not work very well. 
>>>  Probably there is a proper way to hook the code.
>>>
>>> Patrick
>>> _______________________________________________
>>> MITgcm-support mailing list
>>> MITgcm-support at mitgcm.org
>>> http://mitgcm.org/mailman/listinfo/mitgcm-support
>>
>>
>> _______________________________________________
>> MITgcm-support mailing list
>> MITgcm-support at mitgcm.org
>> http://mitgcm.org/mailman/listinfo/mitgcm-support
>
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support
>





More information about the MITgcm-support mailing list