[MITgcm-support] abnormal with extreme temperature value
Martin Losch
Martin.Losch at awi.de
Fri Mar 7 03:32:59 EST 2014
Running the (or any) model at high resolution is always a little tricky because of stability. There is the cfl stabilitly for advection and then there are numerical stability criteria for viscosity and diffusion. Please have a look at one of the tutorials, where these numbers a discussed (briefly, e.g. here: <http://mitgcm.org/public/r2_manual/latest/online_documents/node129.html>), or at any numerical modelling textbook, e.g. Steve Griffies’ book on Ocean Climate Modeling.
I think that this
> viscAh=4.E2,
> diffKhT=4.E2,
> diffKhS=4.E2,
is the problem. I suggest to use a different set of parameters:
viscAhGrid = 0.1,
# you’ll have to play a little with this parameter, but see pkg/mom_common/mom_calc_visc.F for more explanation, or the documentation <http://mitgcm.org/public/r2_manual/latest/online_documents/node85.html> for more options. Using the Leigth scheme is usually a good choice, which will allow you to run with probably the largest time steps possible
diffKhT = 0.,
diffKhS = 0.,
# that’s right, no explicit diffusion but then use a stable advection scheme with numerical diffusion to stabilize the run:
tempAdvScheme = 33,
saltAdvScheme = 33,
staggerTimeStep = .TRUE.
# this is the DST3 scheme with flux limiting, see documentation.
with these parameters, I am guess that you should be able to run with time steps timeStep = 600., or even more. (don’t use deltaTmom/deltaTtracer).
Martin
On Mar 7, 2014, at 8:56 AM, 李志远 <oceanlizy at 163.com> wrote:
> From: Li zhiyuan <oceanlizy at 163.com
> >
> To: MITgcm <
> mitgcm-support at mitgcm.org
> >
>
> Subject:"abnormal with extreme temperature value "
>
> Hi,all;
> I am running a model of semi-enclosed domain with 134x165x16 grid points . the model is driven by surface wind and heat flux .when I run my mitgcm model for some steps , very large temperature values occur ,then the model blows up .
> the STDOUT file is as below :
> (PID.TID 0005.0001) %MON time_tsnumber = 163
> (PID.TID 0005.0001) %MON time_secondsf = 7.0416000000000E+06
> (PID.TID 0005.0001) %MON dynstat_eta_max = 7.4690610491135E-01
> (PID.TID 0005.0001) %MON dynstat_eta_min = -4.1593172249303E+00
> (PID.TID 0005.0001) %MON dynstat_eta_mean = 2.0772424301492E-02
> (PID.TID 0005.0001) %MON dynstat_eta_sd = 4.9627339137015E-01
> (PID.TID 0005.0001) %MON dynstat_eta_del2 = 7.4943932050348E-04
> (PID.TID 0005.0001) %MON dynstat_uvel_max = 3.5280025421360E+00
> (PID.TID 0005.0001) %MON dynstat_uvel_min = -1.4035655480410E+00
> (PID.TID 0005.0001) %MON dynstat_uvel_mean = -1.8326591842827E-02
> (PID.TID 0005.0001) %MON dynstat_uvel_sd = 4.5870513051871E-02
> (PID.TID 0005.0001) %MON dynstat_uvel_del2 = 9.8327354406657E-05
> (PID.TID 0005.0001) %MON dynstat_vvel_max = 2.4380767316715E+00
> (PID.TID 0005.0001) %MON dynstat_vvel_min = -2.3087621147168E+00
> (PID.TID 0005.0001) %MON dynstat_vvel_mean = 3.4329723926579E-02
> (PID.TID 0005.0001) %MON dynstat_vvel_sd = 9.0964738317473E-02
> (PID.TID 0005.0001) %MON dynstat_vvel_del2 = 1.9834779107181E-04
> (PID.TID 0005.0001) %MON dynstat_wvel_max = 2.6286782112003E-02
> (PID.TID 0005.0001) %MON dynstat_wvel_min = -9.6061814986124E-02
> (PID.TID 0005.0001) %MON dynstat_wvel_mean = 3.6700902646170E-05
> (PID.TID 0005.0001) %MON dynstat_wvel_sd = 3.4462742242225E-03
> (PID.TID 0005.0001) %MON dynstat_wvel_del2 = 7.4810854960120E-06
> (PID.TID 0005.0001) %MON dynstat_theta_max = 5.7517891007917E+01
> (PID.TID 0005.0001) %MON dynstat_theta_min = -1.0228097331456E+03
> (PID.TID 0005.0001) %MON dynstat_theta_mean = 7.8087020365565E+00
> (PID.TID 0005.0001) %MON dynstat_theta_sd = 6.2079576234231E+00
> (PID.TID 0005.0001) %MON dynstat_theta_del2 = 1.3811582622522E-02
> (PID.TID 0005.0001) %MON dynstat_salt_max = 3.5000000000152E+01
> (PID.TID 0005.0001) %MON dynstat_salt_min = 3.4999999953140E+01
> (PID.TID 0005.0001) %MON dynstat_salt_mean = 3.4999999999999E+01
>
> my data file :
> # | Model parameters |
> # ====================
> #
> # Continuous equation parameters
> &PARM01
> tRef = 16*20.,
> sRef = 16*35.,
> viscAz=1.E-4,
> viscAh=4.E2,
> diffKhT=4.E2,
> diffKzT=3.E-5,
> diffKhS=4.E2,
> diffKzS=3.E-5,
> rhoConst=1035.,
> rhoConstFresh=1000.,
> eosType = 'LINEAR',
> ivdc_kappa=10.,
> implicitDiffusion=.TRUE.,
> allowFreezing=.FALSE.,
> exactConserv=.TRUE.,
> hFacMin=.3,
> readBinaryPrec=32,
> &
>
> # Elliptic solver parameters
> &PARM02
> cg2dMaxIters=500,
> cg2dTargetResidual=1.E-13,
> &
>
> # Time stepping parameters
> &PARM03
> nIter0 = 0,
> nTimeSteps = 200,
> deltaTmom = 30.,
> deltaTtracer = 1200.,
> deltaTClock = 43200.,
> abEps = 0.1,
> dumpFreq= 864000.,
> monitorFreq=1.,
> &
>
> # Gridding parameters
> &PARM04
> usingSphericalPolarGrid=.TRUE.,
> delz= 10,20,25,30,50,100,100,
> 200,300,400,500,500,500,
> 500,500,500,
> ygOrigin=24.500,
> xgOrigin=117.525,
> delX=134*0.1,
> delY=165*0.1,
> &
>
> # Input datasets
> &PARM05
> bathyFile= 'topo.bin',
> hydrogThetaFile='t16.bin',
> # hydrogSaltFile= 'Lev_clim_salt.bin',
> # zonalWindFile= 'Taux.bin',
> # meridWindFile= 'Tauy.bin',
> #thetaClimFile= 'SST.bin',
> # saltClimFile= 'SSS.bin',
> &
>
> I guess it blow up because mixing coefficients or advection scheme in my model is incorrect , how I can avoid such problems ?
>
> any quick reply is great appreciated !
> lizhi
>
>
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support
More information about the MITgcm-support
mailing list