[MITgcm-devel] OBCS_SPONGE vs RBCS

Menemenlis, Dimitris (3248) Dimitris.Menemenlis at jpl.nasa.gov
Wed Nov 17 09:48:30 EST 2010


Jean-Michel, I agree that it would be cleaner to incorporate in RBCS capability for U & V and to remove OBCS_SPONGE.
I was actually going to email you about problems that Michael had with OBCS_SPONGE since modif before last
in his PIG setup but you preceded us by checking in a fix.  But OBCS_SPONGE is still problematic because of bathymetry
and corners as you describe.  So I definitely vote for moving OBCS_SPONGE to RBCS.

On a separate but related topic, I want to implement RBCS for pkg/seaice.
Should the code live in pkg/seaice or in pkg/rbcs?

Dimitris

Dimitris Menemenlis <menemenlis at jpl.nasa.gov>
Jet Propulsion Laboratory, California Institute of Technology
MS 300-323, 4800 Oak Grove Dr, Pasadena CA 91109-8099, USA
tel: 818-354-1656;  cell: 818-625-6498;  fax: 818-393-6720

On Nov 17, 2010, at 6:37 AM, Jean-Michel Campin wrote:

> Hi,
> 
> I started to look at OBCS_SPONGE code (see list of comments
> below), and would like to propose to drop OBCS_SPONGE
> and to add RBCS capability for U & V.
> The main reason is that point 1 & 2 (and 6 ?) are inherent
> to our obcs-sponge code, and RBCS would solve both in a clean
> and reliable way.
> What is your opinion on this subject ?
> 
> Cheers,
> Jean-Michel
> 
> ---------------------------------
> There are several reasons that make the OBCS_SPONGE code
> difficult to use and to maintain:
> 
> 1) relaxation towards OB value is tricky when the bathymetry
> is not flat in all the sponge layer region + OB section.
> In the current Sponge layer, on a wet point, we relax
> towards the OB values which might be in land.
> 
> 2) when 2 OB (e.g., North and West) are close enough to
> each other, the 2 sponge layers have an overlap.
> And it's become tricky (for a numerical point of view)
> to handle correctly 2 relaxation terms towards
> different values.
> 
> 3) there are few run-time parameters that are missing:
> - a set of "useSpongeNorth/South/East/West" (can help with point 2).
> - a set of "useSpongeT,S,U,V" (This is a problem when
>  someone wants to use RBCS for T,S and Sponge for U,V).
> And it would be a good thing to have the option to specify
> different relaxation time scales for U,V and T,S.
> 
> 4) OBCS-sponge is not tested (partly because of point 3) .
> 
> 5) The code and documentation need improvements:
> - the U and V in UrelaxObcsBound/Inner and VrelaxObcsBound/Inner
>  are not related to U/V velocity (as described in OBCS.h) but
>  related to East/West and North/South OB.
> - the thickness of the sponge layer, more precisely, the number of
>  points where relaxation is applied is not "spongeThickness"
>  but "spongeThickness - 1".
> - the 2 extreme values for relaxation time scale, XrelaxObcsInner
>  and XrelaxObcsBound are never reached; Instead, the relaxation
>  time scale is always an interpolated value between those 2
>  extremes.
> - in obcs_sponge.F, lot of single precision computations (results
>  will change with compiler "-r8" option); not efficient (all relaxation
>  time-scale calculations could be done once); not very robust
>  (testing for zero value of Temp & Salt OB values).
> 
> 6) I don't know if the OBCS_SPONGE code is right when using
>  CS-grid with OBC that run over on several faces (with switch
>  between N/S and E/W). I did not check, but the fact that we
>  need to EXCH (gU,gV) is not a good sign.
> 
> That's all for now.
> ---------------------------------
> 
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel




More information about the MITgcm-devel mailing list