[MITgcm-support] double periodic problem

Martin Losch Martin.Losch at awi.de
Sat Jun 11 01:33:51 EDT 2011


Hi Mike,

I am guessing numerical instability. You time step appears large for 5km grid spacing. If that's not the problem, can you post your entire configuration (code and input directories, maybe only a matlab file to create initial conditions)? I would like to try if I can reproduce this problem.

Martin

On Jun 10, 2011, at 9:34 AM, Michael A. Spall wrote:

> Hi All,
> 
> I am trying to run an initial value problem in a doubly periodic domain.
> I provide initial temperature, velocity, and ssh fields that are in
> geostrophic balance.  Most of the fields evolve very little integrating
> forward in time, as expected, but the tangential velocity near the
> boundaries, if it is nonzero, is reduced.  The model feels the influence
> of the domain even though I have provided a uniform, flat bottom
> topography (no walls). 
> I've attached two plots of a meridional slice for velocity, temperature,
> ssh for the initial conditions (day0.ps) and after 1 day of integration
> (day1.ps).  Most of the velocity field remains nearly steady except for
> the zonal velocity near j=1 and j=100.  ssh and temperature do not change
> significantly. 
> I've also attached the data file and the SIZE.h.  I have tried with no
> viscosity, no momentum advection, vectorInvariantMomentum=.TRUE.
> with the same result.  Ideas?
> 
> Thanks,
> Mike
> 
> -- 
> ==================================================
> 
> Michael A. Spall
> Senior Scientist
> Department of Physical Oceanography
> W.H.O.I. MS #21
> 360 Woods Hole Road
> Woods Hole, MA   02543
> 
> mspall at whoi.edu
> http://www.whoi.edu/science/PO/people/mspall/
> 
> (508) 289-3342 (office)
> (508) 457-2181 (fax)
> 
> =================================================
> 
> <day0.ps><day1.ps># Model parameters
> # Continuous equation parameters
> &PARM01
> tRef=14.975, 14.925, 14.875, 14.825, 14.775, 14.70, 14.60,
> 14.475, 14.325, 14.125, 13.75, 13.25, 12.75, 11.875, 10.625
> sRef=15*35.0,
> viscAz=1.E-5,
> viscAh=20.,
> # viscA4=1.e+9,
> # viscC2Smag=2.5,
> no_slip_sides=.FALSE.,
> no_slip_bottom=.FALSE.,
> # diffK4T=1.e+9,
> # diffKhT=30.,
> diffKzT=1.E-5,
> # diffK4S=1.e+9,
> # diffKhS=30.,
> diffKzS=1.E-5,
> f0=1.0e-4,
> beta=0.0E-11,
> tAlpha=0.2E-3,
> sBeta =0.8E-3,
> rigidLid=.FALSE.,
> implicitFreeSurface=.TRUE.,
> staggerTimeStep=.TRUE.,
> eosType='LINEAR',
> readBinaryPrec=64,
> hFacMin=0.1,
> bottomDragQuadratic=0.e-3,
> implicitDiffusion=.TRUE.,
> implicitViscosity=.TRUE.,
> tempAdvScheme=33,
> saltAdvScheme=33,
> useSingleCpuIO=.TRUE.,
> # vectorInvariantMomentum=.TRUE.,
> ivdc_kappa=1000.0,
> &
> # Elliptic solver parameters
> &PARM02
> cg2dMaxIters=1000,
> cg2dTargetResidual=1.E-11,
> &
> # Time stepping parameters
> &PARM03
> tauCD=0.,
> startTime=0.0,
> endTime=172800.,
> deltaT=1800.0,
> abEps=0.1,
> pChkptFreq=0.0,
> chkptFreq=3.1104e+7,
> dumpFreq=86400.,
> monitorFreq=2592000,
> cAdjFreq=0,
> forcing_In_AB=.FALSE.,
> &
> # Gridding parameters
> &PARM04
> usingCartesianGrid=.TRUE.,
> usingSphericalPolarGrid=.FALSE.,
> dXspacing=5.e+3,
> dYspacing=5.e+3,
> delZ=10, 10, 10, 10, 10, 20, 20, 30, 30, 50, 100, 100, 100, 250, 250,
> &
> &PARM05
> # bathyFile='topog.bin',
> hydrogThetaFile='Tinit.bin',
> uVelInitFile='Uinit.bin',
> vVelInitFile='Vinit.bin',
> pSurfInitFile='Pinit.bin',
> # zonalWindFile='taux.bin',
> &
> C $Header: /u/gcmpack/MITgcm/model/inc/SIZE.h,v 1.28 2009/05/17 21:15:07 jmc Exp $
> C $Name: checkpoint62q $
> C
> CBOP
> C    !ROUTINE: SIZE.h
> C    !INTERFACE:
> C    include SIZE.h
> C    !DESCRIPTION: \bv
> C     *==========================================================*
> C     | SIZE.h Declare size of underlying computational grid.     
> C     *==========================================================*
> C     | The design here support a three-dimensional model grid    
> C     | with indices I,J and K. The three-dimensional domain      
> C     | is comprised of nPx*nSx blocks of size sNx along one axis 
> C     | nPy*nSy blocks of size sNy along another axis and one     
> C     | block of size Nz along the final axis.                    
> C     | Blocks have overlap regions of size OLx and OLy along the 
> C     | dimensions that are subdivided.                           
> C     *==========================================================*
> C     \ev
> CEOP
> C     Voodoo numbers controlling data layout.
> C     sNx :: No. X points in sub-grid.
> C     sNy :: No. Y points in sub-grid.
> C     OLx :: Overlap extent in X.
> C     OLy :: Overlat extent in Y.
> C     nSx :: No. sub-grids in X.
> C     nSy :: No. sub-grids in Y.
> C     nPx :: No. of processes to use in X.
> C     nPy :: No. of processes to use in Y.
> C     Nx  :: No. points in X for the total domain.
> C     Ny  :: No. points in Y for the total domain.
> C     Nr  :: No. points in Z for full process domain.
>      INTEGER sNx
>      INTEGER sNy
>      INTEGER OLx
>      INTEGER OLy
>      INTEGER nSx
>      INTEGER nSy
>      INTEGER nPx
>      INTEGER nPy
>      INTEGER Nx
>      INTEGER Ny
>      INTEGER Nr
>      PARAMETER (
>     &           sNx =  25,
>     &           sNy =  25,
>     &           OLx =   3,
>     &           OLy =   3,
>     &           nSx =   1,
>     &           nSy =   1,
>     &           nPx =   4,
>     &           nPy =   4,
>     &           Nx  = sNx*nSx*nPx,
>     &           Ny  = sNy*nSy*nPy,
>     &           Nr  =   15)
> 
> C     MAX_OLX :: Set to the maximum overlap region size of any array
> C     MAX_OLY    that will be exchanged. Controls the sizing of exch
> C                routine buffers.
>      INTEGER MAX_OLX
>      INTEGER MAX_OLY
>      PARAMETER ( MAX_OLX = OLx,
>     &            MAX_OLY = OLy )
> 
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support




More information about the MITgcm-support mailing list