[MITgcm-support] Problem with OBCS prescribe and Orlanski

Martin Losch mlosch at awi-bremerhaven.de
Wed Nov 24 09:58:53 EST 2004


Andrea,

there is another option that I have overlooked (Patrick Heimbach  
pointed it out to me): Instead of setting u/v/t/s to zero on the "open"  
boundary above k=21, you could modify the masks  
_maskW/S/C(OB_le(J,bi,bj),J,K,bi,bj) to have closed boundary everywhere  
(mask=0) except for K=21. The routine that computes the masks is in  
model/src/ini_masks_etc.F.
At line 124 hFacC is fixed, but it is probably best to change  
hFacC(OB_le(J,bi,bj),J,K,bi,bj) for k.ne.21 after the reference surface  
positions have been computed so after line 180. (Or you could modify  
the code in order to read the hFacC that you have somehow computed  
offline.)

Martin

On Nov 23, 2004, at 8:11 PM, Martin Losch wrote:

> Hi Andrea,
>
> sorry for the delay. There are a few things about the OBCS-package  
> that your should be aware of:
> 1. So far it does not work with passive tracers (ptracers). I am in  
> the process of include some rudimentary code for that but I cannot  
> promise that this will happen this year.
> 2. wild w-value ON the open boundary will not affect the solution in  
> the interior because they don't (or at least should not) reflect onto  
> u/v, as they are prescribed ON the boundary. But you have done  
> something to the way u/v are prescribed, see below.
> 3. It is not clear to me (and I don't know to whom, Alistair, Samar?)  
> how well the Orlanski part of the package works and where you have to  
> do the modifications that are required.
> But, more specifically, the code you send looks reasonable, except for  
> the obcs_apply_uv.F part:
> you only apply the OBCSu/v/t/s at k=21, but what happens above and  
> below? If you want a closed boundary above and below k=21, you'll have  
> to prescribe it somehow, for example by setting uFld(OB_le,:) and  
> uFld(OB_le+1,:) to zero. The masks don't do that, because if they  
> where 0 on the boundary you'll have a closed boundary and not an open  
> one. So the quick fix may be setting uFld=0 (as well as the other  
> fields) on the "open boundary" above and below k=21.
>
> Let us know if it worked.
>
> Martin
>
> On Nov 18, 2004, at 6:00 AM, cimatori at libero.it wrote:
>
>> Hi, we are trying to set up a model for the diffusion of sewage from  
>> a deep pipe in a gulf; for that
>> reason we are using ptracers, obcs and exf.
>> We have an open western boundary with Orlanski, and an eastern open  
>> boundary with OBCS
>> prescribe.
>> To make this work, we changed obcs_calc.F, as you could not use  
>> Orlanski and prescribe together
>> before, and we split exf_get_obcs in west, south, for the same reason  
>> (see the attachments). We
>> also changed the obcs_apply*.F as we want only a deep source on the  
>> east:
>>
>> obcs_apply_uv.F
>> ...
>> C     Set model variables to OB values on East/West Boundaries
>> #ifdef ALLOW_OBCS_EAST
>> CA-----------------------------------
>>        if (K.EQ.21) then
>> CA-----------------------------------
>>       DO J=1-Oly,sNy+Oly
>> C Eastern boundary
>>        IF (OB_Ie(J,bi,bj).NE.0) THEN
>>         uFld(OB_Ie(J,bi,bj),J,K,bi,bj)=OBEu(J,K,bi,bj)
>>      &                              *_maskW(OB_Ie(J,bi,bj),J,K,bi,bj)
>>         vFld(OB_Ie(J,bi,bj),J,K,bi,bj)=OBEv(J,K,bi,bj)
>>      &                              *_maskS(OB_Ie(J,bi,bj),J,K,bi,bj)
>>         uFld(OB_Ie(J,bi,bj)+1,J,K,bi,bj)=OBEu(J,K,bi,bj)
>>      &                              *_maskW(OB_Ie(J,bi,bj),J,K,bi,bj)
>>        ENDIF
>>       ENDDO
>> CA-------------------------
>>        endif
>> CA-------------------------
>> #endif
>>
>> Now we get negative w velocities at the top of the columns interested  
>> by the eastern OBCS, and
>> this has no physical reason (there's no heavy water above, and no  
>> negative w around). After
>> 24hours or so, model starts to put out NaNs.
>> Any idea?
>> Thanks,
>> Andrea Cimatoribus
>>
>>
>>
>> ____________________________________________________________
>> Libero ADSL: navighi gratis a 1.2 Mega, senza canone e costi di  
>> attivazione.
>> Abbonati subito su http://www.libero.it
>> <exf_getobcs_west.F><obcs_calc.F>_____________________________________ 
>> __________
>> MITgcm-support mailing list
>> MITgcm-support at mitgcm.org
>> http://dev.mitgcm.org/mailman/listinfo/mitgcm-support
>>
> Martin Losch // mailto:mlosch at awi-bremerhaven.de
> Alfred-Wegener-Institut für Polar- und Meeresforschung
> Postfach 120161, 27515 Bremerhaven, Germany
> Tel./Fax: ++49(471)4831-1872/1797
> http://www.awi-bremerhaven.de/People/show?mlosch
>
>
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://dev.mitgcm.org/mailman/listinfo/mitgcm-support





More information about the MITgcm-support mailing list