[MITgcm-support] Re: MITgcm-support Digest, Vol 74, Issue 10
Martin Losch
Martin.Losch at awi.de
Tue Aug 11 02:46:33 EDT 2009
Hi Marcello,
sorry for the incomplete documentation of obcs (I just checked, there
is actually something useful thanks to Patrick. It used to be much
worse).
On Aug 10, 2009, at 7:23 PM, Marcello Gatimu Magaldi wrote:
> I went through the code. Please correct me if I am wrong (very
> likely) but it
> seems to me that:
> 1) obcs for the ssh are only defined if NONLIN_FRSURF is defined
No, OB?eta are always defined, but for the linear free surface they
are always zero.
> 2) even if NONLIN_FRSURF is defined OBEeta and similars are:
> a) put to zero if neither orlanski nor obcs_prescribe are defined
> b) not even assigned to a value if orlanski or obcs_prescribe are
> defined
>
I guess, originally obcs_calc.F was meant to be a template for
specific code for specific experiments; that's why all OB* variable
are assigned these weird values, so if you believe that OB?eta should
be different from zero in your case, you can define this value in
obcs_calc. When we included the useOBCSprescribe option (apply values
read from a file), we did not care about the non-linear free surface,
so this part of the code is missing (and no warning about that either,
that should be added). If you are interested in extending the existing
code (and even share this contribution) to do that we would be more
than happy. It shouldn't be hard to do.
if you try to run obcs with a non-linear free surface and Orlanski
you'll find that the model stops with an error saying that this
combination is not implemented, so that case it dealt with (although
not in a satifactory way). Again if you would like to improve the code
here, that would be great, but that's probably a bit more complicated.
Than adding eta to the "obcs_prescribe_read" code.
I have even more incomplete code stubs for obcs: Stevens (1990)
boundary conditions (used e.g. in MOM3 and higher), which are a mix of
radiation and prescribed boundary conditions. If you are interested in
that, I can check it in although it's not yet complete (only east and
west boundaries and NO special nonlinear free surface treatment, may
actually not be necessary), and you can help finishing it.
> Now I was wondering if this is done on purpose. Don't we always need
> boundary
> conditions for eta? I am confused since the MITgcm remains different
> from
> the models cited above because it always solves an elliptic equation
> for
> ssh. The other models employ the time-splitting technique and they
> always
> are in need of obcs for ssh and for BAROTROPIC vertically-averaged
> velocities.
> In these cases, ob conditions reflecting the hyperbolicity of the
> equations
> solved such as characteristic method or flather conditions can be
> employed.
> Cannot we do the same for MITgcm?
As far as I understand, the elliptic pressure solver (you'll find it
in solve_for_pressure) for the LINEAR free surface does not use eta on
the open boundaries, because it sets cg2d_b/x=0 on open boundaries in
the same way as on closed boundaries. I am not sure but this implies
no flow across the boundary by surface elevation. This makes sense for
closed boundaries; for open bcs it only means that there is no flow
across or along boundaries due to surface elevation. The non-linear
contribution is treated as a correction to the linear free surface and
is applied separately in the correction step of the "pressure
correction method" that is used in the MITgcm.
Martin
More information about the MITgcm-support
mailing list