[MITgcm-devel] (not so) funny things happen in seaice_lsr and pickups
Martin Losch
Martin.Losch at awi.de
Thu Feb 19 02:57:05 EST 2009
Hi Jinlun and Matt, thanks for your comments,
I did comparison runs with the B-grid code and with EVP and in the
particular instances I am interested in, they do not crash. That's a
bit discomforting for me, but on the other hand, I do not use the B-
grid or EVP code to often, so that I don't have an appropriate
statistical sample (again, in nearly all cases the C-LSR code is
absolutely stable, and Dimitris, does all his CS510 runs with C-LSR).
Matt, the original seaice_growth.F has lots of these
> HEFF(I,J,2,bi,bj) = MAX(0. _d 0, HEFF(I,J,
> 2,bi,bj) )
> HSNOW(I,J,bi,bj) = MAX(0. _d 0,
> HSNOW(I,J,bi,bj) )
> AREA(I,J,2,bi,bj) = MAX(0. _d 0, AREA(I,J,
> 2,bi,bj) )
as well, but we will try this also. I don't think that the
thermodynamic growth is the problem, it's more likely that changing
anything in the sea ice model makes the model not crash at a
particular point (e.g., interrupting and restarting and integration
from a pickup rather than doing everything in one go, in this sense
changing from C to B-grid is a change, too, and not a small one), but
I guess, if we have some funny HEFF etc, the LSR solver might get into
trouble, too.
So I'll try this.
Martin
On Feb 18, 2009, at 5:42 PM, Jinlun Zhang wrote:
> Martin,
> Have you tried LSR on B-grid with the bug fixed, just for a
> comparison?
> Good luck, Jinlun
>
> Martin Losch wrote:
>> Hi all,
>>
>> just to let you know that we are experiencing problems with the LSR
>> sea ice solver on the C-grid: At unpredictable points of the
>> integration, it appears to become instable and blows up. I have not
>> been able to isolate this in all cases, because a small issue with
>> pickups hampers this:
>>
>> Apparently, starting from pickup is NOT exact. We have tried the
>> famous 2+2=4 test with our 8CPU job on our SX8 (cc to Olaf, who's
>> been mostly involved in this) and found no difference between the
>> cg2d output (and other output). However, when we run an experiment
>> for a longer time, the same test fails, e.g., 2160+2160 != 4320 (we
>> can provide plots if required). I assume that this is expected,
>> because double precision is not more than double precisioin and in
>> the cg2d output (and other monitor output) there are always only 15
>> digits, and we don't know about the 16th one, correct? Anyway, this
>> tiny pickup issue hinders me from approaching the point of model
>> crash with pickups, because after starting from a pickup, the model
>> integrate beyond the problem and crashes (sometimes) at a much
>> later time. This is to say, that the problem in seaice_lsr (the
>> problem only appears when the C-LSR solver is used) very sensitive;
>> the code crashes without any warning from one time step to the
>> other. A while ago, in a different case I was able to get close
>> enough the point of crashing to do some diagnostics, but its almost
>> impossible to identify, why the model explodes. I am assuming that
>> for random pathological cases one or more matrix entries are nearly
>> zero, which then prevents the solver from converging.
>>
>> Any comments? Any similar experience?
>>
>> I run this code in so many different configurations, and I have
>> these problems only very seldom/randomly, so I am a little at a
>> loss where I should continue looking, so any hint is appreciated.
>>
>> Martin
>>
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel
More information about the MITgcm-devel
mailing list