[MITgcm-support] Ferrari et al. 2010 BVP method for GM

Jean-Michel Campin jmc at ocean.mit.edu
Thu Feb 10 16:38:17 EST 2011


Hi Christopher,

Thanks for your answer.

I have checked in your code into the main repository (pkg/gmredi).
I made few changes, mainly in gmredi_calc_psi_bvp.F:
 - added a GM_Small_Number lower limit to N^2 (as suggested in Raff's 
   paper) in the diagonal coeff of the matrix.
 - fix BC for non trivial bathymetry (no changes in case of flat bottom
   with Nr levels).
 - various fixes for multi-tiles (+ few for multi-threaded)

I am planning to add some partial cell factor in the tridiagonal matrix
and a very simple test experiment (derived from front_relax) to 
test it.

Thanks,
Jean-Michel

On Fri, Feb 04, 2011 at 11:55:48AM -0800, Christopher L. Wolfe wrote:
> 
> Hi Jean-Michel,
> 
> No, I didn't try the second method. I can't think of why it wouldn't work as well. I think I only did it the way I did it because it was similar to the way it's done in the GFDL model.
> 
> Christopher
> 
> On Feb 4, 2011, at 7:12 AM, Jean-Michel Campin wrote:
> 
> > Hi Christopher,
> > 
> > Thanks for sending this.
> > And sorry for not getting back to you earlier.
> > 
> > I had a look at the modified and new source code you sent.
> > I have a question regading the speed "c" computation:
> > You coded 2 evaluations, corresponding to the 2 locations
> > at U and V point. I would have tried to do the vertical
> > integral only once, at the center, and then do a horizontal
> > average to put it at the U and V point. 
> > Did you try this 2nd method (and decided for the 1rst one based
> > on some numerical test) or did you only code it the way it
> > is ?
> > 
> > Thanks again,
> > Cheers,
> > Jean-Michel
> > 
> > On Wed, Apr 21, 2010 at 01:18:53PM -0700, Christopher L. Wolfe wrote:
> >> Hi all,
> >> 
> >> I've implemented the boundary value method for calculating the GM eddy streamfunction as described in Ferrari et al. (Ocean Modell. 2010). I find that it produces much smoother GM overturning streamfunctions and has better interaction with unstratified regions than plain GM. The implementation introduces two new source files: gmredi_calc_psi_bvp.F solves the boundary value problem using solve_tridiagonal_W.F, which is simply solve_tridiagonal.F modified to work on W-levels.
> >> 
> >> I've included diffs which may be used to patch gmredi_calc_tensor.F, gmredi_check.F, gmredi_diagnostics_init.F, GMREDI.h, and gmredi_readparms.F. The diffs are against checkpoint61z, but these files haven't changed in months or years, so the diffs should work against later checkpoints.
> >> 
> >> The BV method can be turned on by #defining GM_BOLUS_BVP in GMREDI_OPTIONS.h or in your build file and setting GM_UseBVP = .TRUE. in data.gmredi. The BV method makes use of the advective form of GM, so GM_BOLUS_ADVEC must also be #defined and GM_AdvForm = .TRUE. set in data.gmredi.
> >> 
> >> Turning on the BV method introduces the parameters GM_BVP_ModeNumber and GM_BVP_cMin to data.gmredi and the diagnostics GM_BVPcW and GM_BVPcS, which are the WKB internal wave speeds calculated at W and S points.
> >> 
> >> If anyone has any questions or comments on the implementation, don't hesitate to contact me.
> >> 
> >> Cheers,
> >> Christopher
> >> 
> >> -----------------------------------------------------------
> >> Dr. Christopher L. Wolfe              	   858-534-4560
> >> Climate, Atmospheric Science, and Physical Oceanography
> >> Scripps Institution of Oceanography, UCSD  clwolfe at ucsd.edu
> >> -----------------------------------------------------------
> >> 
> >> 
> >> 
> >> 
> >> 
> > 
> >> _______________________________________________
> >> 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