[MITgcm-support] Problem with OBCS prescribe and Orlanski

Martin Losch mlosch at awi-bremerhaven.de
Tue Nov 23 20:11:27 EST 2004


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





More information about the MITgcm-support mailing list