[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