[MITgcm-support] Model based on exp4 experiment - stability problems
Dustin Carroll
dcarroll at uoregon.edu
Tue Jul 1 19:58:14 EDT 2014
OK, the fact that your model is blowing up instantly tells me that something may be off with your IC’s / domain setup.
1. Run the model without OBCS — just fluid at rest with an initial T/S and bathymetric profile.
Does this work? — if not, you may have your model geometry / grid spacing wrong.
I noticed that you are using “Tref” for your initial temperature profile — it should be tRef.
2. I would check to make sure that your OBCS conditions are being created properly. Are you using useOBCSprescribe = .TRUE., and Matlab to generate them?
Do some simple sanity checks to make sure that your matrices for the boundary T and S are not transposed (i.e., z by x). If you have them reversed there will be unstable gradients at the boundaries.
The idea is to simplify your model until you find the issue, then complexify as needed.
Cheers,
Dustin Carroll
On Jul 1, 2014, at 4:37 PM, MASSIMO NOVELLO (Yahoo) <massimonovello at yahoo.com.br> 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