[MITgcm-devel] seaice lsr
Martin Losch
Martin.Losch at awi.de
Tue Sep 25 15:06:33 EDT 2007
Jinlun is right, of course, the convergence will be slower, but only
slightly. On a vector machine you gain a lot be full vectorization of
this iteration. This effect is by far larger than the cost of a fewe
extra iterations. But I agree, for this reason alone I will put the
change within ifdefs, and the default is the old code. So no changes
to the results.
Martin
On 25 Sep 2007, at 18:29, Dimitris Menemenlis wrote:
> Jinlun, thank you for warning. Martin could we test convergence
> before replacing. I can do this as soon as this meeting is over.
> I think that if you run with debuglevel 3 you will get output on
> number of lsr iterations. So maybe best to introduce with cpp flag
> for time being, possibly to become the default if it does not
> impact convergence. D.
>
> Dimitris Menemenlis
> cell: 818-625-6498
>
> -----Original Message-----
>
> From: Jinlun Zhang <zhang at apl.washington.edu>
> Subj: Re: [MITgcm-devel] seaice lsr
> Date: Tue Sep 25, 2007 11:56 am
> Size: 1K
> To: MITgcm-devel at mitgcm.org
>
> Martin,
> The existing code is for relaxation using updated varaibles as soon as
> possible. If you do the change the code may converge slowly.
> J
>
> Martin Losch wrote:
>
>> Hi there,
>>
>> I have found that the LSR solver is a little inconsistent (which
>> causes it to produce a slight assymetry with a symmetric domain and
>> forcing):
>> the following lines:
>>
>>> URT(I,J)=FXY(I,J,bi,bj)+AA3
>>> & +UVRT1(I,J,bi,bj)*uIce(I,J-1,1,bi,bj)
>>> & +UVRT2(I,J,bi,bj)*uIce(I,J+1,1,bi,bj)
>>
>> (and the corresponding ones for the vice equation) within a J-loop
>> cause URT to be computed from the updated uIce(I,J-1,1,bi,bj) and the
>> not yet updated uIce(I,J+1,1,bi,bj) (=uIce(I,J+1,3,bi,bj) at this
>> time). One could replace these lines by:
>>
>>> URT(I,J)=FXY(I,J,bi,bj)+AA3
>>> & +UVRT1(I,J,bi,bj)*uIce(I,J-1,3,bi,bj)
>>> & +UVRT2(I,J,bi,bj)*uIce(I,J+1,3,bi,bj)
>>
>> which changes the results (lab_sea fails with cg2d=10), but then the
>> solution is symmetric, when it should be. Also this formulation
>> removes a dependency from the j-loop which impairs vectorization. Can
>> I change that?
>>
>> Martin
>>
>> _______________________________________________
>> MITgcm-devel mailing list
>> MITgcm-devel at mitgcm.org
>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>
>
> --
>
> Jinlun Zhang
> Polar Science Center, Applied Physics Laboratory
> University of Washington, 1013 NE 40th St, Seattle, WA 98105-6698
>
> Phone: (206)-543-5569; Fax: (206)-616-3142
> zhang at apl.washington.edu
> http://psc.apl.washington.edu/pscweb2002/Staff/zhang/zhang.html
>
>
>
>
>
>
>
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>
> --- message truncated ---
>
>
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel
More information about the MITgcm-devel
mailing list