[MITgcm-support] The way to accelerate the calculation speed or to expand deltaT of MITgcm
Matthew Mazloff
mmazloff at ucsd.edu
Thu Oct 28 14:11:49 EDT 2010
Hi Liang,
There are several things to try. First though, did you try any
scaling experiments - 48 cpus may actually be too many. Obviously it
depends on your architecture, but due to overlaps usually efficient
tile sizes for most machines is about 30 x 30. I would therefore
guess that your setup would run better on ~12 cpus, not 48...
Other things to try is limiting output by setting debugLevel=0, in
PARM01
changing way I/O is done by trying
useSingleCpuIO=.TRUE.,
again in PARM01
Also -- I have a setup running with 6km resolution and 72 vertical
levels -- very similar to yours -- and I use a timestep of 1200.0
seconds. Perhaps increasing your diff and visc will give you a more
stable solution -- I use:
viscAz =1.E-4,
viscAh =1.E2,
viscA4 =1.E9,
diffKhT=1.E0,
diffKzT=1.E-5,
diffKhS=1.E0,
diffKzS=1.E-5,
bottomDragQuadratic=1.E-3,
tempAdvScheme=30,
saltAdvScheme=30,
Still -- 30 years is a long run -- it will likely take significant
time to run...
good luck,
-Matt
On Oct 28, 2010, at 5:27 AM, 姊佹湅 wrote:
> Dear Sir:
> I'm trying to use the MITgcm to run an experiment.To
> simulate this experiment
> successfully it is necessary to set the grid interval to be very
> small.Now the number of the horizontal grids is 114*104,and the
> number of the vertical grids is 139.The minimum interval of the
> horizontal grids is 5 km ,and the minimum interval of the vertical
> grids is 10m.And now I find that the maximum deltaT in the data file
> to keep the model steady is 60s. The minimum time that is needed is
> 30 years,so the minimum number of timesteps (nTimeSteps in the data
> file)is 16000000.Now I have used 48 cpu to run the model,and it
> needs 210 days to finish the calculation.The time is too long!! So
> can you tell me how to set the model parameters or modify the model
> code to accelerate the calculation speed or to expand deltaT.
> Thank You,
> With Regards,
> Liang
> Some of the parameters I set are as follow:
> The grids of x and y are as follow:
> nx=104;
> ny=114;
> dx(1:20)=50;
> dx(21:27)=[40:-5:10];
> dx(28:67)=5;
> dx(68:74)=[10:5:40];
> dx(75:nx)=50;
> dx=dx*1000;
> dy(1:38)=25;
> dy(39:42)=[21:-4:9];
> dy(43:92)=5;
> dy(93:96)=[9:4:21];
> dy(97:ny)=25;
> dy=dy*1000;
> The settings of the data file are as follow:
> &PARM01
> tRef=139*20.,
> sRef=139*35.,
> viscAh=0.,
> viscAhGrid=0.,
> viscC2Leith=0.,
> viscA4=0.,
> useFullLeith=.TRUE.,
> viscC4Leith=2.0,
> viscC4Leithd=2.0,
> viscAz=1.E-3,
> bottomDragLinear=0.E-4,
> bottomDragQuadratic=0.003,
> no_slip_sides=.TRUE.,
> no_slip_bottom=.TRUE.,
> diffK4T=0.E4,
> diffKhT=0.E-2,
> diffKzT=0.E-3,
> diffK4S=0.E4,
> diffKhS=0.E-2,
> diffKzS=0.E-5,
> f0=4.97e-5,
> beta=2.30e-11,
> rhonil=1035.,
> rhoConstFresh=1000.,
> eosType = 'JMD95Z',
> rigidLid=.FALSE.,
> implicitFreeSurface=.TRUE.,
> hFacMin=0.05,
> nonHydrostatic=.TRUE.,
> readBinaryPrec=64,
> #- not safe to use globalFiles in multi-processors runs
> #globalFiles=.TRUE.,
> tempAdvScheme=33,
> &
> # Elliptic solver parameters
> &PARM02
> cg2dMaxIters=300,
> cg2dTargetResidual=1.E-13,
> cg3dMaxIters=20,
> cg3dTargetResidual=1.E-8,
> &
> # Time stepping parameters
> &PARM03
> nIter0=0,
> nTimeSteps=16000000,
> deltaT=60.0,
> abEps=0.01,
> pChkptFreq=600000.0,
> chkptFreq=600000.0,
> dumpFreq=6000000.0,
> tauThetaClimRelax=100000.0,
> monitorFreq=60000.,
> &
> # Gridding parameters
> &PARM04
> usingCartesianGrid=.TRUE.,
> delXfile='dx.bin',
> delYfile='dy.bin',
>
> delZ
> =
> 100,100,100,100,100,100,100,100,100,100,90,80,70,60,50,40,30,20,102
> *10,20,30,40,50,60,70,80,90,100,100,100,100,100,100,100,100,100,100,100
> ,
> &
> # Input datasets
> &PARM05
> bathyFile='topog.slope',
> hydrogThetaFile='T.init',
> surfQfile='Qnet.forcing',
> thetaClimFile='SST.bin',
> diffKrFile='diffK.bin',
> &
>
> <ATT00001.txt>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mitgcm.org/pipermail/mitgcm-support/attachments/20101028/9cca8402/attachment.htm>
More information about the MITgcm-support
mailing list