[MITgcm-support] Model based on exp4 experiment - stability problems

Jean-Michel Campin jmc at ocean.mit.edu
Tue Jul 1 22:20:33 EDT 2014


Hi Massimo,

I think it would help if you provide mode details about your 
set-up: early on, you copied the content of main parameter
file "data", and it does not look very stable to me:

1) these settings:
> tempStepping=.FALSE.,
> saltStepping=.FALSE.
might cause problems if the OBCS  Temp & Salt are very different
from the initial values next to the OBC (large pressure gradient
that is going to be sustained since T & S are not evolving at all).

> I had checked at all the analytical formulas for model stability 
2) but, with deltaR=1., setting 
> viscAh=5.E2
will only be stable either if:
  a) implicitViscosity=.TRUE.,
  but this was not set in your "data" file.
or 
  b) deltaT < 1/8 Delta_z^2 / viscAh = 0.25 e-3 s

3) I am also concerned about:
> viscA4=1.E6,
since with Delta_x = Delta_y = 10 m
only a time-step of ~ 1.e-3 s (or less) would remain stable

The fact that the model is blowing up so rapidly
might indicate that some viscosity or diffusion parameter
are above the stability limit.

Cheers,
Jean-Michel

On Tue, Jul 01, 2014 at 08:37:42PM -0300, MASSIMO NOVELLO wrote:
> Hi Dusting, the deltaR value is 1 meter for the three first layers and 2 meters on the three bottom layers.  The maximum deep is 9 meters.
> 
> I did your recommendations with the monitorFreq and reduced it to 2s because the model is loosing the stability in less than 10 time steps. At the first time step the advcfl_uvel_max is of E-3 order and on the fifth time step it reach the order of E+35.
> 
> I had checked at all the analytical formulas for model stability and it seems ok. Maybe I have lost some important step on this. 
> I’m also not sure if this makes any influence on MITgcm model, but the lagoon have  only approximately 2000 square meters
> 
> Currently I have only OBCS package enabled on data.pkg file.
> 
> DATA.PKG FILE
> # Packages
>  &PACKAGES
>  useOBCS=.TRUE.,
>  usePtracers=.FALSE.,
>  useRBCS=.FALSE.,
> #useLayers=.TRUE.,
>  &
> 
> Thanks again
> 
> 
> On 01/07/2014, at 09:49, Dustin Carroll <dcarroll at uoregon.edu> wrote:
> 
> > Take a look at your vertical CFL number, since you changed your deltaR values to be O(meters).
> > 
> > Another tip is to simplify your model by turning off packages in your data.pkg file. Make sure the unforced model and IC’s are stable. Then add the packages / forcing in one at a time.
> > 
> > Cheers,
> > Dustin Carroll
> > 
> > On Jul 1, 2014, at 5:38 AM, MASSIMO NOVELLO (Yahoo) <massimonovello at yahoo.com.br> wrote:
> > 
> >> Thanks Dustin, I will follow your recommendation and check the log results. I had increased the values just to speed up the process.
> >> 
> >> With the analytical values on CFL condition the result is much lower than 1.
> >> U is always lower than 0,01m/s
> >> dt = 1s
> >> dx =10m
> >> C=0,001
> >> 
> >> If I increase dx to 100m the model works fine.
> >> 
> >> Cheers,
> >> Massimo
> >> 
> >> 
> >> On 01/07/2014, at 09:24, Dustin Carroll <dcarroll at uoregon.edu> wrote:
> >> 
> >>> Hi Massimo,
> >>> 
> >>> Since lowering your deltaT and increasing the horizontal grid spacing makes your model stable, I suspect you may be violating the CFL (see Courant-Friedrichs-Lewy) criterion for your model setup 
> >>> 
> >>> i.e you want C = (u*deltaT) / deltaX to be less than 1.
> >>> 
> >>> I would recommend changing your monitorFreq to a much smaller value, say start with 60 s. This way you can look at STDOUT.0000 and pinpoint where your model blows up. 
> >>> 
> >>> Watch your horizontal and vertical advective CLF numbers (advcfl_uvel_max, advcfl_vvel_max, advcfl_wvel_max) and make sure that they are not steadily increasing above 0.5. You want them to stabilize as the model integration progresses.
> >>> 
> >>> Cheers,
> >>> Dustin Carroll
> >>> 
> >>> 
> >>> 
> >>> 
> >>> 
> >>> 
> >>> On Jul 1, 2014, at 3:52 AM, MASSIMO NOVELLO (Yahoo) <massimonovello at yahoo.com.br> wrote:
> >>> 
> >>>> 
> >>>>> Please, I will really appreciate if someone can help on what is wrong related to the stability of this model. It is based on exp4 experiment, and I made some changes to reflect a small Lagoon in Rio de Janeiro. If I change delX and delY to 198*1.E2 the model works fine. Also if I only change deltat to 1.E-4, the model also works, but I need more than  5 days to model a 5 days experiment. I tried to apply all the analytics formulas for stability (3.24, 3.25, 3.26, 3.27 and 3.28) and did not found wrong values.
> >>>>> 
> >>>>> I’m only looking at the flow when we have a constant wind of 2m/s
> >>>>> 
> >>>>> Many thanks,
> >>>>> Massimo
> >>>>> 
> >>>>> # ====================
> >>>>> # | Model parameters |
> >>>>> # ====================
> >>>>> #
> >>>>> # Continuous equation parameters
> >>>>> ################# ARQUIVO PTRACERS_SIZE.h POSSUI VALORES DEFAULT ##############
> >>>>> 
> >>>>> &PARM01
> >>>>> tempStepping=.FALSE., 
> >>>>> tempAdvection=.FALSE.,
> >>>>> tempForcing=.FALSE.
> >>>>> saltStepping=.FALSE.
> >>>>> saltAdvection=.FALSE.
> >>>>> saltForcing=.FALSE.
> >>>>> Tref = 20., 20., 20., 20., 20., 20.,
> >>>>> sRef = 14., 14., 14., 14., 14., 14.,
> >>>>> viscAr=1.E-4,
> >>>>> viscAh=5.E2,
> >>>>> viscA4=1.E6,
> >>>>> no_slip_sides=.FALSE.,
> >>>>> no_slip_bottom=.FALSE.,
> >>>>> diffKhT=1.E3,
> >>>>> diffKrT=1.E-5,
> >>>>> diffKhS=1.E3,
> >>>>> diffKrS=1.E-5,
> >>>>> saltAdvScheme=4,
> >>>>> eosType='LINEAR',
> >>>>> tAlpha=2.E-4,
> >>>>> sBeta =0.E-4,
> >>>>> gravity=9.81,
> >>>>> f0=1.E-4,
> >>>>> beta=0.E-11,
> >>>>> nonHydrostatic=.FALSE.,
> >>>>> rigidLid=.FALSE.,
> >>>>> implicitFreeSurface=.TRUE.,
> >>>>> exactConserv=.TRUE.,
> >>>>> hFacMin=0.2,
> >>>>> readBinaryPrec=64,
> >>>>> globalFiles=.FALSE.,
> >>>>> useSingleCpuIO=.TRUE.,
> >>>>> &
> >>>>> 
> >>>>> &PARM02
> >>>>> cg2dMaxIters=1000,
> >>>>> cg2dTargetResidual=1.E-13,
> >>>>> cg3dMaxIters=400,
> >>>>> cg3dTargetResidual=1.E-13,
> >>>>> &
> >>>>> 
> >>>>> &PARM03
> >>>>> nIter0=0,
> >>>>> nTimeSteps=432000,
> >>>>> baseTime=0.,
> >>>>> deltaT=1,
> >>>>> startTime=0,
> >>>>> abEps=0.1,
> >>>>> momDissip_In_AB=.FALSE.,
> >>>>> pChkptFreq = 600,
> >>>>> chkptFreq = 0.0,
> >>>>> dumpFreq = 20.0,
> >>>>> monitorSelect = 3,
> >>>>> monitorFreq = 300000.1,
> >>>>> 
> >>>>> periodicExternalForcing=.TRUE.,
> >>>>> externForcingPeriod=3600.,
> >>>>> externForcingCycle = 432000.,
> >>>>> &
> >>>>> 
> >>>>> &PARM04
> >>>>> usingCartesianGrid=.TRUE.,
> >>>>> delX=198*1.E1,
> >>>>> delY=210*1.E1,
> >>>>> delR= 1, 1, 1, 2, 2, 2,
> >>>>> &
> >>>>> 
> >>>>> # Input datasets
> >>>>> &PARM05
> >>>>> bathyFile='topog.bump',
> >>>>> zonalWindFile='wind_x.bin',
> >>>>> meridWindFile='wind_y.bin',
> >>>>> &
> >>>>> 
> >>>> 
> >>>> 
> >>>> _______________________________________________
> >>>> MITgcm-support mailing list
> >>>> MITgcm-support at mitgcm.org
> >>>> http://mitgcm.org/mailman/listinfo/mitgcm-support
> >>>> 
> >>> 
> >>> 
> >>> _______________________________________________
> >>> MITgcm-support mailing list
> >>> MITgcm-support at mitgcm.org
> >>> http://mitgcm.org/mailman/listinfo/mitgcm-support
> >> 
> >> 
> >> _______________________________________________
> >> MITgcm-support mailing list
> >> MITgcm-support at mitgcm.org
> >> http://mitgcm.org/mailman/listinfo/mitgcm-support
> >> 
> > 
> > 
> > _______________________________________________
> > MITgcm-support mailing list
> > MITgcm-support at mitgcm.org
> > http://mitgcm.org/mailman/listinfo/mitgcm-support
> 
> 
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support



More information about the MITgcm-support mailing list