[MITgcm-support] Lock exchange problem with the MITgcm

Martin Losch Martin.Losch at awi.de
Fri Oct 30 04:35:09 EDT 2009


Hi Flavien,

I might be wrong, but I don't think that the MITgcm will be stable  
without any explicit viscosity.
While there are quite a few advection schemes for tracers (and 1st  
order upwind is only in there for reference, you shouldn't use this  
for serious applications, I usually use the flux limited scheme 33, or  
the seventh-order scheme 7, or the Prather scheme 80, see pkg/ 
generic_advdiff/GAD.h for avaialbe schemes), there is not much for the  
advection of momentum. Currently http://mitgcm.org is down so that I  
cannot point you to the exact page, but there is ample documentation  
about the advection schemes for tracers and also on the advection of  
momentum in Section 2 (I think) of the online documentation of http://mitgcm.org 
.

As far as I know, ROMS uses numerical schemes for the momentum  
equations that make that model much more stable. The MITgcm always  
needs some viscosity for stability (I'd go for viscA4grid with value  
well below 1, if you are only intested in getting the numerics under  
control).

Let's see if I understood your second question about static  
instability. Without an explicit convection (or mixed layer) scheme, a  
hydrostatic simulation has no means of removing static instability by  
dynamics (vertical momentum equation is the hydrostatic equation). You  
can still get "grid cell storms" (alternating upward/downward flow in  
adjacent grid cells) near static instability that will eventually make  
the model blow up, but that's for the wrong dynamical reasons.
If you want non-hydrostatic processes you need probably a higher  
horizontal resolution (500m is really a bit coarse) and set the flag:
nonHydrostatic=.TRUE.,
in data (PARM01)

Side remarks:
* one needs to be careful with changing the advection scheme for  
tracers. Some require that you have, staggerTimeStep=.TRUE., others  
don't.
* in your data, the time stepping scheme is non-default, is that  
intentional?

Martin

On Oct 29, 2009, at 8:03 PM, Flavien Gouillon wrote:

> *Dear all,*
>
> *I am starting with the MITgcm but have experience with ROMS and  
> HYCOM. I am running a similar simulation of the well known lock  
> exchange problem by Haidvogel and Beckmann (and more recently  
> Burchard and Rennau, 2009). In a closed flat 2D (x-z) basin (20m  
> depth), I have 2 initial densities, 5kg/m3 difference (salinity is  
> passive), separated by a vertical wall that I removed at t=0. I turn  
> off all explicit mixing and diffusion, lateral and bottom free-slip.  
> I have the latest version of the MITgcm and run in a hydrostatic  
> fashion. Resolution is 500m (cst) in dx (128pts total points) and 40  
> levels (dz=0.5m, cst). It seems to work well but I have few  
> questions since I am quite unfamiliar with this model:*
>
> * *- *It seems that, for any advection scheme I choose, the MITgcm  
> is quite “dispersive” (by dispersive I mean that oscillations appear  
> at the interface of the 2 densities) if I do not prescribe high  
> enough viscosity (1e-3 for viscA[hz] and 1e4 for viscA4). I did not  
> notice this using ROMS. Is there any documentation on this that I  
> could read or anybody has some info to give me? I have attached 2  
> figures (run with the 1st order upwind) for the case of no viscosity  
> (all viscosity terms at 0) and viscosity at 1e-3 as well as my data  
> file.*
>
> * *- *The other question is: when running with the 3^rd order upwind  
> advection scheme, my density profile has, in some places, a  
> persistent non-monotic (lighter to denser) feature (unstable  
> conditions, denser water above a lighter one). I thought that  
> running with a hydrostatic model would prevent such thing and will  
> not allow any ‘overturning’ (by quickly mixing any unstable profile)  
> or will blow-up. Is the MITgcm capable of handling such thing even  
> running with the hydrostatic option and without any mixing?*
>
> * *- *If anybody tried to reproduce the lock exchange problem from  
> Haidvogel and Beckmann (or any other lock exchange prob) I would  
> greatly appreciate any advices/info/etc...!*
>
> *I hope I was clear enough, please don't hesitate to ask me if I  
> need to provide more info, Thanks in advance for all your help, *
>
> *Flavien *
>
> -- 
> _______________________
> Flavien Gouillon
> GRA, Physical Oceanography
> COAPS/FSU
> www.coaps.fsu.edu/~gouillon
>
> <MIT_no_viscosity.jpg><MIT_viscosity.jpg># ====================
> # | Model parameters |
> # ====================
> #
> # Continuous equation parameters
> &PARM01
> tRef=40*27.,
> sRef=40*35.,
> viscA4=1.0E4,
> viscAh=1.E-3,
> viscAz=1.E-3,
> no_slip_sides=.FALSE.,
> no_slip_bottom=.FALSE.,
> diffK4T=0.E4,
> diffKhT=0.E-2,
> diffKzT=0.E-3,
> diffK4S=0.E4,
> diffKhS=0.E-4,
> diffKzS=0.E-5,
> f0=0.e-4,
> beta=0.E-11,
> tAlpha=2.E-4,
> sBeta =0.E-4,
> rigidLid=.FALSE.,
> implicitFreeSurface=.FALSE.,
> eosType='LINEAR',
> hFacMin=0.05,
> nonHydrostatic=.FALSE.,
> readBinaryPrec=64,
> #- not safe to use globalFiles in multi-processors runs
> #globalFiles=.TRUE.,
> bottomDragLinear=0.E-4,
> tempAdvScheme=1,
> implicitDiffusion=.FALSE.,
> implicitViscosity=.FALSE.,
> # Flav
> staggerTimeStep=.TRUE.
> implicSurfPress=0.5,
> implicDiv2DFlow=0.5,
> # exactConserv=.TRUE.
> gBaro=9.81,
> writeBinaryPrec=64,
> writeStatePrec=64,
> #Flav
> &
>
> # Elliptic solver parameters
> &PARM02
> cg2dMaxIters=300,
> cg2dTargetResidual=1.E-13,
> cg3dMaxIters=20,
> cg3dTargetResidual=1.E-8,
> &
>
> # Time stepping parameters
> &PARM03
> niter0=0,
> nTimeSteps=8640,
> #nTimeSteps=8640,
> deltaT=10.0,
> abEps=0.01,
> pChkptFreq=0.0,
> chkptFreq=0.0,
> dumpFreq=900.0,
> #taveFreq=864000.0,
> monitorFreq=1.,
> &
>
> # Gridding parameters
> &PARM04
> usingCartesianGrid=.TRUE.,
> usingSphericalPolarGrid=.FALSE.,
> delXfile='dx.bin',
> dYspacing=20.,
> delZ=40*0.5,
> &
>
> # Input datasets
> &PARM05
> bathyFile='topog.slope',
> hydrogThetaFile='T.init',
> # surfQfile='Qnet.forcing',
> #hydrogThetaFile='T.pickup',
> #uVelInitFile='U.pickup',
> #pSurfInitFile='Eta.pickup',
> &
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support




More information about the MITgcm-support mailing list