[MITgcm-support] Numerical instability when horizontal contrast of initial temperature is large

Martin Losch Martin.Losch at awi.de
Fri Nov 15 09:49:46 EST 2024


Hi Fabio,

the code allows you to have everything together, no_slip, linear and quadratic drag, with all effects adding up. It makes little sense physically, but there may be situations where this may be desired (for non-physical reasons).

M.

> On 15. Nov 2024, at 11:30, Giordano, Fabio <fgiordano at ogs.it> wrote:
> 
> Hi Martin,
> I would like to chime in about the bottom drag issue: does the double counting occur by setting the logical parameter `no_slip_bottom` to TRUE together 
>  1) with non-zero linear or quadratic drag coefficients, or
>  2) only with the linear one?
> I am looking at the source code and by my understanding it seems to be the latter, but I could be mistaken.
> 
> Thank you,
> 
> Fabio Giordano
> Sezione di Oceanografia
> Istituto Nazionale di Oceanografia e di Geofisica Sperimentale - OGS
> via Beirut n. 2
> 34151 Trieste - Italia
> 
> Il giorno ven 15 nov 2024 alle ore 10:46 Martin Losch <Martin.Losch at awi.de <mailto:Martin.Losch at awi.de>> ha scritto:
>> Hi Yanhong,
>> 
>> it’s very difficult to say because your setup involves many parameters that are untypical for Earth (where we have more experience).
>> 
>> I would check your CFL numbers for advection ( u * dt / dx ), viscosity Ah dt/dx**2 (here I would use AhGrid < 1 to make sure that this part is stable), also vertical viscosity. I agree with Christoph, that the viscosity appears a little low. But you may need viscosities that are large and maybe require implicit schemes that are only available for the vertical (in MITgcm). The Coriolis CFL number is probably also much different from Earth, so is gravity.
>> 
>> Then you horizontal density gradients are probably huge leading to large flow velocities, right? Again large viscosities will be required to balance that.
>> 
>> (don’t use bottom drag and no_slip_bottom together, it’s double counting the effect of the bottom)
>> 
>> Martin
>> 
>> > On 15. Nov 2024, at 08:43, Christoph Voelker <christoph.voelker at awi.de <mailto:christoph.voelker at awi.de>> wrote:
>> > 
>> > Dear Yanhong,
>> > 
>> > I have no idea what to choose as viscosity for a magma ocean, but I wondered about the viscosities: In the tutorial examples, which are made for water, one finds values like
>> > 
>> > viscAr=1.E-3,
>> > viscAh=5.E5,
>> > 
>> > not so different from what you take. Should these values not be very much higher for Magma?
>> > 
>> > Also, how are you prescribing the equation of state?
>> > 
>> > Cheers, Christoph
>> > 
>> > 
>> > On 15.11.24 08:31, 赖六娃 wrote:
>> >> Hi,
>> >> I’m trying to simulate the magma ocean in tidally locked lava planet.
>> >> To speed up the simulation, the initial temperature is set to decrease from 3000 K at the substellar point (0,0) to 50 K at the side boundaries.
>> >> Meanwhile, the initial temperature is vertically uniform.
>> >> However, there is strong instability when I start this simulation. I tried to decrease the maximum initial temperature to 1700 K, and the horizontal contrast becomes  to (1700-50) K, but it is still unstable.
>> >> Is there any way I can simulate stably with this initial temperature setup?
>> >> By the way, the tilmestep deltaT is 20 s.
>> >> Thanks very much!!
>> >> Yanhong
>> >> Below is my data file:
>> >> # ====================
>> >> # | Model parameters |
>> >> # ====================
>> >> #
>> >> # Continuous equation parameters
>> >>  &PARM01
>> >> # tRef= 18.8, 16.3, 13.1, 10.4, 8.1, 6.0, 4.5,
>> >> #      3.4, 2.7, 2.2, 1.8, 1.5, 1.2, 1.0, 0.9,
>> >>  tRefFile='T0solid_diffusion_160x72.bin',
>> >> # tRef=44*1600.,
>> >>  sRef= 44*34.7,
>> >>  cosPower=1.,
>> >>  viscAr=1.E-3,
>> >>  viscAh=12.E5,
>> >>  no_slip_sides=.FALSE.,
>> >>  no_slip_bottom=.TRUE.,
>> >>  bottomDragLinear=1.E-3,
>> >> #diffK4T=2.E12,
>> >>  diffKhT=1.E3,
>> >>  diffKrNrT=44*1.E-4,
>> >>  ivdc_kappa=100.,
>> >>  implicitDiffusion=.TRUE.,
>> >> # eosType='JMD95Z',
>> >>  eosType='LINEAR',
>> >>  tAlpha=4.E-5,
>> >>  sBeta =0.E-4,
>> >>  saltStepping=.FALSE.,
>> >>  gravity=22,
>> >>  rhonil=3300.,
>> >>  rhoConst=2600.,
>> >>  HeatCapacity_Cp=1800.,
>> >>  implicitFreeSurface=.TRUE.,
>> >>  nonlinFreeSurf=4,
>> >>  select_rStar=2,
>> >>  hFacInf=0.2,
>> >>  hFacSup=2.0,
>> >>  exactConserv=.TRUE.,
>> >>  staggerTimeStep=.TRUE.,
>> >>  useCDscheme=.TRUE.,
>> >>  readBinaryPrec=64,
>> >>  tempAdvScheme=77,
>> >> # usePickupBeforeC54=.TRUE.,
>> >>  rotationPeriod=69120.,
>> >> # useCoriolis=.FALSE.,
>> >>  Tsolidus=1700.,
>> >>  Tliquidus=2000.,
>> >>  &
>> >> # Elliptic solver parameters
>> >>  &PARM02
>> >>  cg2dMaxIters=1000,
>> >> #cg2dTargetResidual=1.E-13,
>> >>  cg2dTargetResWunit=1.E-17,
>> >>  &
>> >> # Time stepping parameters
>> >>  &PARM03
>> >>  niter0=0,
>> >>  nTimeSteps=20000000,
>> >> #endTime=3110400000.,
>> >>  deltaT=10.0,
>> >> # deltaTmom=100.0,
>> >> # deltaTfreesurf=2000.0,
>> >> # deltaTtracer=600.0,
>> >> # deltaTClock =600.0,
>> >>  forcing_In_AB=.FALSE.,
>> >>  abEps=0.1,
>> >>  tauCD=321428.,
>> >>  tauThetaClimRelax=2000.0,
>> >> # pickupStrictlyMatch=.FALSE.,
>> >>  chkptFreq=0.0,
>> >>  pChkptFreq=5000000.0,
>> >>  taveFreq=0.0,
>> >>  dumpFreq=5000000.0,
>> >>  diagFreq=31104000000.0,
>> >>  monitorFreq=31104000000.0,
>> >> # monitorFreq=1.0,
>> >>  monitorSelect=2,
>> >>  &
>> >> # Gridding parameters
>> >>  &PARM04
>> >>  usingSphericalPolarGrid=.TRUE.,
>> >> # delRc= 20.,  60.,  85., 120., 165., 215., 265., 315.,
>> >> #       365., 415., 465., 515., 565., 615., 665., 350.,
>> >> # delRcFile='delRc.bin',
>> >>  delR= 10., 10., 10., 10., 10., 10., 10., 10., 10., 10., 20., 20., 20., 20., 20., 20.,
>> >>         40., 40., 40., 40., 40., 60., 60., 60., 60., 80., 80., 80., 100., 100., 100., 100.,
>> >>         100., 150., 150., 200., 200., 200., 200., 200., 300., 300., 300., 400.,
>> >>  rSphere=9E6,
>> >>  ygOrigin=-81.,
>> >>  xgOrigin=-180,
>> >>  delY=72*2.25,
>> >>  delX=160*2.25,
>> >>  &
>> >> # Input datasets
>> >>  &PARM05
>> >>  bathyFile='topo3D_160x72_5400m_4walls.bin',
>> >> # zonalWindFile='taux_Az1E-5mod_160x72.bin',
>> >> # meridWindFile='tauy_Az1E-5mod_160x72.bin',
>> >>  thetaClimFile='sst3D_mod_160x72.bin',
>> >>  &
>> >> _______________________________________________
>> >> MITgcm-support mailing list
>> >> MITgcm-support at mitgcm.org <mailto:MITgcm-support at mitgcm.org>
>> >> http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support
>> > 
>> > -- 
>> > Christoph Völker
>> > Alfred Wegener Institute, Helmholtz Centre for Polar and Marine Research
>> > Am Handelshafen 12
>> > 27570 Bremerhaven
>> > 
>> > +49 (0)471-4831-1848
>> > christoph.voelker at awi.de <mailto:christoph.voelker at awi.de>
>> > https://orcid.org/0000-0003-3032-114X
>> > 
>> > _______________________________________________
>> > MITgcm-support mailing list
>> > MITgcm-support at mitgcm.org <mailto:MITgcm-support at mitgcm.org>
>> > http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support
>> 
>> _______________________________________________
>> MITgcm-support mailing list
>> MITgcm-support at mitgcm.org <mailto:MITgcm-support at mitgcm.org>
>> http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.mitgcm.org/pipermail/mitgcm-support/attachments/20241115/e7466061/attachment.html>


More information about the MITgcm-support mailing list