[MITgcm-support] convection problem

Martin Losch mlosch at awi-bremerhaven.de
Mon Oct 20 04:01:47 EDT 2003


Mike,

I don't know if that helps:
starting from you data file, I quickly ran something like you 
experiment, but I turned off everything vertical: 
diffKzT/S=0,viscAz=0,implicitDiffusivity/implicitViscosity=0., turned 
of momentum advection and viscosity, and temperature advection, and 
restorted the surface temperature to 0 and I put
taveFreq = 86400., (=dumpFreq)
to see the convective depths (the layers in which convection occurs)

My observations:
1. Convtave is always 1, except for the surface layer, where it is 
zero. That means that between all layers there is convection going on. 
The surface layer value is zero, because the index for the convection 
is tied to the index of the cell interface which is at the top of the 
cell, and of course there's no convection between the surface cell and 
the "atmosphere").
2. temperature (surface layer = 1degC, rest = 10degC initially) gets 
vertically homogenized (by convection, this is the only possible 
mechanism left, as far as I can see)

I returned to your settings (although I still restore SST to 0, because 
I don't know what you are using) and Convtave does not change, that is 
there's still convection everywhere. Temerature change slightly (order 
1e-7), because of diffusion, etc.

In my version of the code (not quite up to date: checkpoint51f_pre of 
the main branch)
the routine convect.F (from within convective_adjustment.F) is never 
called, instead, convective_weights, convectively_mixtracer do the job. 
And yes, the k-loop goes from 2 to Nr, but always layers K and K-1 are 
compared, so even the surface layer gets adjusted.

Where did you put your print statements "convect ..."

Martin

On Friday, October 17, 2003, at 06:20  PM, Mike Spall wrote:

> I am having problems with convection in a simple flat bottom, box
> model.  It is forced by restoring SST to a linear profile with
> latitude.  The initial conditions are uniform temperature and
> salinity.  The problem is that level 1 is cooled by the restoring,
> but it does not convect with the deeper layers even though it
> is colder.  I get the same result with convective mixing, implicit
> mixing, or KPP.  If I initialize with an unstable profile in the
> interior, it does convectively adjust, so the eqn of state is
> probably OK.  Looking into convect.F it appears that the density
> of level 1 is never compared to the density of level 2, and so
> level 2 never mixes with level 1.  Is this how it is supposed to be?
>
> I've attached the data input file and the output text.  There
> are some lines "convect...." that I have added to try to figure
> out what is going on.
>
> Any help is greatly appreciated!
>
> Mike
>
> -- 
> ==================================================
>
> Michael A. Spall
> Department of Physical Oceanography
> W.H.O.I. MS #21
> 360 Woods Hole Road
> Woods Hole, MA   02543
>
> mspall at whoi.edu
> (508) 289-3342 (office)
> (508) 457-2181 (fax)
>
> =================================================# ====================
> # | Model parameters |
> # ====================
> #
> # Continuous equation parameters
> #
> #   tRef            - Reference vertical potential temperature         
>  (deg C)
> #   sRef            - Reference vertical salinity                      
>    (PSU)
> #   viscAh          - Horizontal eddy viscosity coefficient            
>  (m^2/s)
> #   viscAz          - Vertical eddy viscosity coefficient              
>  (m^2/s)
> #   diffKhT         - Horizontal temperature diffusivity               
>  (m^2/s)
> #   diffKzT         - Vertical temperature diffusivity                 
>  (m^2/s)
> #   diffKhS         - Horizontal salt diffusivity                      
>  (m^2/s)
> #   diffKzS         - Vertical salt diffusivity                        
>  (m^2/s)
> #   f0              - Reference coriolis parameter,
> #                     south edge of f on beta plane                    
>    (1/s)
> #   beta            - df/dy                                         
> (s^-1.m^-1)
> #   tAlpha          - Linear EOS thermal expansion coefficient         
>   (1/oC)
> #   sBeta           - Linear EOS haline contraction coefficient        
>  (1/ppt)
> #   gravity         - Acceleration due to gravity                      
>  (m/s^2)
> #   gBaro           - Accel. due to gravity used in barotropic 
> equation (m/s^2)
> #   rigidLid        - Set to true to use rigid lid
> #   implicitFreeSurface - Set to true to use implicit free surface
> #   eosType         - Flag for linear or polynomial equation of state
> #   GMkbackground   - background value of GM/Redi coefficient
> #   momAdvection    - On/Off flag for momentum self transport
> #   momViscosity    - On/Off flag for momentum mixing
> #
>  &PARM01
>  tRef = 1, 10, 10, 10, 10, 10, 10, 10, 10, 10
>  sRef = 10*35.,
>  viscAz             = 1.E-4,
>  diffKzT            = 1.E-5,
>  diffKzS            = 1.E-5,
>  viscAh             = 5.0E4,
>  viscA4             = 0.e12,
>  diffKhT            = 1.0E3,
>  diffKhS            = 1.0E3,
>  f0                 = .1e-4,
>  beta               = 2.E-11,
>  tAlpha             = 2.E-4,
>  sBeta              = 7.4E-4,
>  gravity            = 9.81,
>  gBaro              = 9.81,
>  rigidLid           = .FALSE.,
>  implicitFreeSurface= .TRUE.,
>  implicitDiffusion  = .FALSE.,
> # ivdc_kappa=1000.0,
>  eosType            = 'LINEAR',
>  momAdvection       = .TRUE.,
>  momViscosity       = .TRUE.,
>  implicitDiffusion  = .TRUE.,
>  implicitViscosity  = .TRUE.,
>  no_slip_bottom     = .TRUE.,
>  no_slip_sides      = .TRUE.,
>  readBinaryPrec     = 64,
>  &
>
> # Elliptic solver parameters
> #
> #   cg2dMaxIters       - Maximum number of 2d solver iterations
> #   cg2dTargetResidual - Solver target residual
> #
>  &PARM02
>  cg2dMaxIters       = 1000,
>  cg2dTargetResidual = 1.E-13,
>  &
>
> # Time stepping parameters
> #
> #   startTime         - Integration starting time                (s)
> #   endTime           - Integration ending time                  (s)
> #   tauCD             - CD scheme coupling timescale             (s)
> #   deltaTMom         - Timestep for momemtum equations          (s)
> #   deltaTtracer      - Tracer timestep                          (s)
> #   deltaTClock       - Timestep used as model "clock"           (s)
> #   abEps             - Adams-Bashforth stabilising factor
> #   pChkPtFreq        - Frequency of permanent check pointing    (s)
> #   chkPtFreq         - Frequency of rolling check pointing      (s)
> #   dumpFreq          - Frequency at which model state is stored (s)
> #   tauThetaClimRelax - Relaxation to climatology time scale     (s)
> #   tauSaltClimRelax  - Relaxation to climatology time scale     (s)
> #
>  &PARM03
>  startTime  = 0.0,
>  endTime    = 864000.0,
>  deltaTmom  = 3600.0,
>  TauCD      = 172800.
>  cAdjFreq   =   1,
>  abEps      = 0.1,
>  pChkptFreq = 0.0,
>  chkptFreq  = 0.0,
>  dumpFreq   = 86400.0,
>  tauSaltClimRelax = 2592000.0,
>  tauThetaClimRelax = 86400.0,
> # periodicExternalForcing = .TRUE.,
>  externForcingPeriod = 43200.0,
>  externForcingCycle = 2764800.0,
>  monitorFreq=999999999.,
>  &
>
> # Gridding parameters
> #
> #   usingSphericalPolarGrid - On/Off flag for spherical polar 
> coordinates
> #   usingCartesianGrid      - On/Off flag for selecting cartesian 
> coordinates
> #   delX                    - Zonal grid spacing         (degrees)
> #   delY                    - Meridional grid spacing    (degrees)
> #   delZ                    - Vertical grid spacing      (m)
> #   phiMin                  - Southern boundary latitude (degrees)
> #
>  &PARM04
>  usingCartesianGrid      = .FALSE.,
>  usingSphericalPolarGrid = .TRUE.,
>  delX   = 31*2.,
>  delY   = 31*2.,
>  delZ= 10., 50., 100., 150., 150.,
>        250., 500., 750., 1000., 1040.,
>  phiMin = 10.,
> # thetaMin= -42.
>  &
>
> # Input datasets
> #
> #   bathyFile       - File containing bathymetry
> #   hydrogThetaFile - File containing initial potential temperature 
> data
> #   hydrogSaltFile  - File containing initial salinity data
> #   zonalWindFile   - File containing zonal wind data
> #   meridWindFile   - File containing meridional wind data
> #   thetaClimFile   - File containing theta climatology used for 
> relaxation
> #   saltClimFile    - File containing salt climatology used for 
> relaxation
> #
>  &PARM05
>  bathyFile       = 'topog.bin',
>  hydrogThetaFile = ' ',
>  hydrogSaltFile  = ' ',
>  zonalWindFile   = ' ',
>  meridWindFile   = ' ',
>  thetaClimFile   = 'linearsst.bin',
>  saltClimFile    = ' ',
>  surfQFile       = ' ',
>  EmPmRFile       = ' ',
>  surfQswFile     = ' ',
>  &




More information about the MITgcm-support mailing list