[MITgcm-devel] problem with 59c
Martin Losch
Martin.Losch at awi.de
Mon Jul 2 09:22:22 EDT 2007
Hi Dimitris,
not much I can contribute:
1. I don't see how seaice can not be the culprit (since you don't use
GM).
2. I totally agree with you: for SEAICEuseDynamics = .false. I don't
see how the lines you identified can change anything. Zmin is never
used in that case. the SEAICE_elasticParm is never used in if you use
the LSR solver.
I guess you need to go further and update the files one by one. Of
course changes in seaice_lsr do matter and change the solution. They
are also wrong (I am sorry but it took me a while to figure out the
no-slip/free-slip correctly). So may it's worth running without
dynamics after updating seaice_readparms (very unlikely that this
matters) and seaice_dynsolver (here I can image some perverted bug in
some memory allocation, that did not matter before I change the loops).
Sorry, that's all I can think of
Martin
On 2 Jul 2007, at 15:06, Dimitris Menemenlis wrote:
> Martin, here is what I know about 59c as of this morning:
>
> 1. In all cases crash occurs because sea ice thickness in some grid
> point goes through the roof. With dynamics, crash occurs within 5
> days near Antarctica. Without dynamics, crash occurs in the Arctic
> after about 10 days. But as noted in previous e-mail, the Arctic-
> only CS510 configuration with open boundaries and rstar off runs
> fine with latest code.
>
> 2. Code checked out on May 24 runs fine.
>
> 3. Code checked out on May 26 crashes.
>
> Differences between May 24 and May 26 is here:
> http://ecco2.jpl.nasa.gov/data1/arctic/diff_may26_may24.orig
> The files that have changed between two versions are
>
> Index: doc/tag-index
> Index: pkg/gmredi/gmredi_calc_tensor.F
> Index: pkg/seaice/seaice_dynsolver.F
> Index: pkg/seaice/seaice_lsr.F
> Index: pkg/seaice/seaice_readparms.F
> Index: tools/genmake2
> Index: tools/build_options/SUPER-UX_SX-8_sxf90+mpi_awi
> Index: tools/build_options/linux_ia64_ifort+mpi_altix_gfdl
>
> By elimination, since I do not use gmredi and since code crashes
> even with SEAICEuseDYNAMICS=.FALSE., the only changes that seem to
> possibly matter are
>
> Index: pkg/seaice/seaice_dynsolver.F
> ===================================================================
> 172,176d171
> < ENDDO
> < ENDDO
> <
> < DO j=1-Oly,sNy+Oly
> < DO i=1-Olx,sNx+Olx
> 181c176
> < ZMIN(I,J,bi,bj)=0.0 _d 0
> ---
> > ZMIN(I,J,bi,bj)=4.0 _d +08
>
> Index: pkg/seaice/seaice_readparms.F
> ===================================================================
> 267c267,268
> < IF ( SEAICE_elasticParm .LE. 0. _d 0 ) THEN
> ---
> > IF ( SEAICE_elasticParm .LE. 0. _d 0 .OR.
> > & SEAICE_elasticParm .GT. 1. _d 0 ) THEN
> 269c270
> < & 'SEAICE_elasticParm must greater than 0.'
> ---
> > & 'SEAICE_elasticParm must greater than 0 and less
> than 1.'
>
> But why should above changes matter in any way when
> SEAICEuseDYNAMICS=.FALSE.? Maybe I am chasing two separate bugs,
> and the thermodynamics-only crash is not related?
>
> More later, D.
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel
More information about the MITgcm-devel
mailing list