[MITgcm-support] How to simulate the geostrophic current?

Klymak Jody jklymak at uvic.ca
Tue Mar 15 22:36:59 EDT 2011


Hi Paul,

Given your reply to Martin, your approach looks good to me, though I've not tried this set up before.   

If I were doing a tidal simulation I would set tauRelaxT quite a bit longer than a tidal period, or you will damp your waves.

You don't seem to specify a uVelInitFile or vVelInitFile under PARM05.  I would do so, otherwise your response will be dominated by geostrophic adjustment for many inertial periods and will take a long time to spin up to steady state.  You will keep trying to relax to a condition that is *not* geostrophically consistent with your initial conditions.  

Finally, I am not sure what viscAh you should be using, because you don't really specify your horizontal resolution.  But for high-resolution internal tide runs I just use 1e-4, and the model runs fine.  

Anyway, I expect you didn't initialize the velocity, and that is why your model is behaving funny, and also why a short relaxation timescale seems desirable.  

Hope that is of some help.

Cheers,    Jody


On 2011-03-15, at 2:10 AM, miaocb wrote:

> Hi MITgcm users,
>     With prescribed temperature and salinity which varies horizontally, I need to diagnoise the corresponding geostrophic current.
> The geostrophic current could be computed via geostrophic balance: fv = 1/rho*dp/dx, fu = -1/rho*dp/dy. But the problem is how to
> implement it using MITgcm. 
>     The initial temperature and salinity are spedified in "data", and time step is set to 360 seconds.  During model run rbcs package is 
> used to relax temperature and salinity to their initial value. 
> hydrogThetaFile='theta_init.dat'
> hydrogSaltFile='salt_init.dat'
>     A 2D configuration with flat topography is used. I found that the geostrophic flow computed depends highly on the  relaxing timescale
> (tauRelaxT and tauRelaxS in "data.rbcs") and  viscosity cofficient viscAh in "data". Different advection schemes for temperature and salinity
> also give absolutely different results. I don't know how to set proper values for these parameters for such a situation.
>    Or are there any other things that should be considered ? I appreciate if someone could help me.
> 
> In my best simulation,  tauRelaxT and tauRelaxS  are both taken to be the interial period 2*pi/f0, and other parameters are listed as follows.
> 
> # Continuous equation parameters
> &PARM01
> tRefFile='tRef.dat',
> sRefFile='sRef.dat',
> viscA4=0.E12,
> viscAz=1.E-1,
> viscAh=400 !1.E0,
> no_slip_sides=.FALSE.,
> no_slip_bottom=.FALSE.,
> diffKhT=0.E0,
> diffKzT=0.E0,
> diffKhS=0.E0,
> diffKzS=0.E0,
> # tempAdvScheme=33,
> # saltAdvScheme=33,
> f0=8.000000E-05,
> beta=0.E-11,
> tAlpha=2.E-4,
> sBeta=7.4E-4,
> gravity=9.81,
> gBaro=9.81,
> rigidLid=.FALSE.,
> implicitFreeSurface=.TRUE.,
> eosType=LINEAR,
> hFacMin=0.2,
> nonHydrostatic=.FALSE.,
> readBinaryPrec=64,
> writeBinaryPrec=64,
> globalFiles=.TRUE.,
> saltStepping=.TRUE.,
> implicSurfPress=1.0, 
> implicDiv2DFlow=1.0, 
> nonlinFreeSurf=0,
> hFacInf=0.2,
> hFacSup=1.8,
> exactConserv=.TRUE.,
> useEnergyConservingCoriolis=.TRUE.,
> staggerTimeStep=.TRUE.,
> &
> 
> # Elliptic solver parameters
> &PARM02
> cg2dMaxIters=1000,
> cg2dTargetResidual=1.E-13,
> cg3dMaxIters=400,
> cg3dTargetResidual=1.E-13,
> &
> 
> # Time stepping parameters
> &PARM03
> startTime=0.0,
> endTime=8640000,
> deltaT=360.000000,
> abEps=0.02,
> pChkptFreq=0.,
> chkptFreq=0., 
> dumpFreq=3600.,
> &
> 
> # Gridding parameters
> &PARM04
> usingCartesianGrid=.TRUE.,
> usingSphericalPolarGrid=.FALSE.,
> delXfile='delX.dat',
> delY=1*5000.,
> delRfile='delZ.dat',
> &
> 
> # Input datasets
> &PARM05
> bathyFile='topo.dat',
> hydrogThetaFile='theta_init.dat'
> hydrogSaltFile='salt_init.dat'
> &
> 
> 
> Thanks,
> 
> Paul Miao
> 
> 
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support




More information about the MITgcm-support mailing list