[MITgcm-devel] [MITgcm-cvs] MITgcm/doc CVS Commit

Martin Losch Martin.Losch at awi.de
Fri Dec 12 10:33:55 EST 2014


OK, I thought so. Then it’s probably best to initialize BU/V=1 and A and C to 0 somewhere in the beginning. I’ll probably do that sometime soon. Thanks for your help,

Martin

On Dec 12, 2014, at 2:58 PM, Jean-Michel Campin <jmc at ocean.mit.edu> wrote:

> Hi Martin,
> 
> I was failling with open64 & -devel because it does trap un-initialise
> variables efficiently: outside iMin:iMax,jMin:jMax BU,BJ were
> not initialise and have a type of nan value.
> And testing if they are equal to zero resulting in a floating exception.
> I think that this last step (producing an error for jsut a test)
> depends on how compilers do their "trapuv".
> 
> Note that, even if the test BU.EQ.0.d0 does not result in floating excep,
> they will not be zet to 1. since, beeing not initialised, there is 
> no reason to expect that they are equal to zero.
> 
> Cheers,
> Jean-Michel
> 
> On Fri, Dec 12, 2014 at 09:52:42AM +0100, Martin Losch wrote:
>> Hi Jean-Michel,
>> 
>> thanks for fixing this, but can you explain, why **restricting** the loop ranges to j/imin/max helps? I had put the full ranges to make sure that we don’t have any zeros on BU/BV anywhere in the domain. Or was the problem that in some places outside i/jmin/max BU/BV are unitialized, but never touched, but here they were? I maybe I should have initialized them properly at the beginning of S/R seaice_lsr.F?
>> 
>> Martin
>> 
>> On Dec 11, 2014, at 5:35 PM, Jean-Michel Campin <jmc at ocean.mit.edu> wrote:
>> 
>>> Hi Martin,
>>> 
>>> I found the problem (for this cluster + compiler + option)
>>> and have a fix. I will wait until the other open64 -devel test
>>> (that I run on the old geo cluster) finishes and check that the
>>> fix works also there; if it's good, will check-in this fix.
>>> 
>>> Cheers,
>>> Jean-Michel
>>> 
>>> On Thu, Dec 11, 2014 at 10:23:59AM -0500, Jean-Michel Campin wrote:
>>>> Hi Martin,
>>>> 
>>>> I am happy with your explanation below. Thanks.
>>>> 
>>>> One remaining issue (I going to check this when the cluster is less busy)
>>>> is that one global_ocean.cs32x15.seaice test has not yet recover:
>>>> it's on cluster acesgrid with open64 compiler and -devel option:
>>>> http://mitgcm.org/testing/results/2014_12/tr_acesgrid-tuv_20141211_0/summary.txt
>>>> which stops with a floating point exception.
>>>> 
>>>> Cheers,
>>>> Jean-Michel
>>>> 
>>>> On Thu, Dec 11, 2014 at 02:35:40PM +0100, Martin Losch wrote:
>>>>> The point of the restricted additive Schwarz method is, that your don’t limit the calculation to the tile interior, but extend into the overlaps: seaice_lsr needs two points of overlap, so if you have OLx=4 you can still compute a solution 2 points into this overlap. Afterwards you combine the tiles without the overlap (that’s the “restricted” part). I think it should be immediately clear why this would be a better approximation to the global problem than not using the overlaps in the iterative procedure. My implementation works for non-cs grids without the resetting BU,BV and on cs-grids the problem appears only in the corners of the overlaps which not really used in the computation; at least, without the -devel option, the wrong values in the overlapp corners don’t seem to affect the solution. But I agree, it’s strange … I also need to investigate this a little more, …
>>>>> 
>>>>> Martin
>>>>> 
>>>>> On Dec 10, 2014, at 8:20 PM, Jean-Michel Campin <jmc at ocean.mit.edu> wrote:
>>>>> 
>>>>>> Hi Martin,
>>>>>> 
>>>>>> I would leave this routine (fill_cs_corner_rl.F) there for now.
>>>>>> The thing that is not very clear to me (because I did not have time
>>>>>> to look at the details of this Schwarz method implementation) is
>>>>>> why setting BU,BV to one in these overlap region is going to be more 
>>>>>> accurate than limiting the calculation to just the tile interior.
>>>>>> 
>>>>>> Cheers,
>>>>>> Jean-Michel
>>>>>> 
>>>>>> On Wed, Dec 10, 2014 at 06:06:37PM +0100, Martin Losch wrote:
>>>>>>> Hi Jean-Michel,
>>>>>>> 
>>>>>>> I think I fixed this problem by resetting bu/bv=1 if they are zero (but I do this only for cubedSphere and SEAICE_OLx/y>0). The new fill_cs_corner_rl routine is no longer necessary. Should we still keep it?
>>>>>>> 
>>>>>>> Martin
>>>>>>> 
>>>>>>> On Dec 10, 2014, at 4:41 PM, Martin Losch <Martin.Losch at awi.de> wrote:
>>>>>>> 
>>>>>>>> Hi Jean-Michel,
>>>>>>>> 
>>>>>>>> thanks for noticing, the reason is the same as before: BU(34,18,2,1) is zero exactly. This should not happen (ever) (see seaice_lsr.F l1259, for seaicemaskU = 0., there should be ONE=1D0 remaining). The quick fix is to reset any BU and BV that are 0 to 1. but then the program stops (within gdb, testreport passes) in seaice_solve4temp because tsurfloc(3,1) = 0 for bi=bj=1, very strange.
>>>>>>>> 
>>>>>>>> Should I apply the quick fix for now?
>>>>>>>> 
>>>>>>>> Martin
>>>>>>>> 
>>>>>>>> On Dec 10, 2014, at 3:31 PM, Jean-Michel Campin <jmc at ocean.mit.edu> wrote:
>>>>>>>> 
>>>>>>>>> Hi Martin,
>>>>>>>>> 
>>>>>>>>> Regarding the gfortran -devel fail:
>>>>>>>>> there is a "Floating point exception" error, coming from S/R
>>>>>>>>> seaice_lsr_tridiagu (in seaice_lsr.F):
>>>>>>>>>> Backtrace for this error:
>>>>>>>>>> #0  0x2B893F5E8407
>>>>>>>>>> #1  0x2B893F5E8A0E
>>>>>>>>>> #2  0x3C1C83568F
>>>>>>>>>> #3  0x9735E8 in seaice_lsr_tridiagu_ at seaice_lsr.f:14903 (discriminator 16)
>>>>>>>>>> #4  0x9A333D in seaice_lsr_ at seaice_lsr.f:4236
>>>>>>>>>> #5  0x924475 in seaice_dynsolver_ at seaice_dynsolver.f:4354
>>>>>>>>>> #6  0x9AC0F5 in seaice_model_ at seaice_model.f:4545
>>>>>>>>>> #7  0xBF45C4 in do_oceanic_phys_ at do_oceanic_phys.f:3370 (discriminator 3)
>>>>>>>>>> #8  0xC1DADF in forward_step_ at forward_step.f:2467
>>>>>>>>>> #9  0xCD1569 in main_do_loop_ at main_do_loop.f:2145
>>>>>>>>>> #10  0xD3DB28 in the_main_loop_ at the_main_loop.f:2163
>>>>>>>>>> #11  0xD3DCFB in the_model_main_ at the_model_main.f:2426
>>>>>>>>>> #12  0xAF887E in MAIN__ at main.f:3772
>>>>>>>>>> Floating exception (core dumped)
>>>>>>>>> 
>>>>>>>>> Since it's failing on baudelaire with gfortran and -devel,
>>>>>>>>> you should be able to reproduce the error.
>>>>>>>>> 
>>>>>>>>> Cheers,
>>>>>>>>> Jean-Michel
>>>>>>>>> 
>>>>>>>>> On Wed, Dec 10, 2014 at 09:06:44AM -0500, Jean-Michel Campin wrote:
>>>>>>>>>> Hi Martin,
>>>>>>>>>> 
>>>>>>>>>> global_ocean.cs32x15.seaice experiment is failing in few cases
>>>>>>>>>> (pgi compiler, other compiler using -devel, also on uv100).
>>>>>>>>>> Presently looking at this.
>>>>>>>>>> 
>>>>>>>>>> Cheers,
>>>>>>>>>> Jean-Michel
>>>>>>>>>> 
>>>>>>>>>> On Tue, Dec 09, 2014 at 09:17:23AM -0500, Martin Losch wrote:
>>>>>>>>>>> Update of /u/gcmpack/MITgcm/doc
>>>>>>>>>>> In directory forge:/tmp/cvs-serv30680/doc
>>>>>>>>>>> 
>>>>>>>>>>> Modified Files:
>>>>>>>>>>> 	tag-index 
>>>>>>>>>>> Log Message:
>>>>>>>>>>> document changes in verification/global_ocean.cs32x15/input.seaice
>>>>>>>>>>> - add test for strong implicit coupling and restricted addtive Schwarz
>>>>>>>>>>> methods for LSR
>>>>>>>>>>> - update results/output.seaice.txt
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> MITgcm-cvs mailing list
>>>>>>>>>>> MITgcm-cvs at mitgcm.org
>>>>>>>>>>> http://mitgcm.org/mailman/listinfo/mitgcm-cvs
>>>>>>>>>> 
>>>>>>>>>> _______________________________________________
>>>>>>>>>> MITgcm-devel mailing list
>>>>>>>>>> MITgcm-devel at mitgcm.org
>>>>>>>>>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>>>>>>>>> 
>>>>>>>>> _______________________________________________
>>>>>>>>> MITgcm-devel mailing list
>>>>>>>>> MITgcm-devel at mitgcm.org
>>>>>>>>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>>>>>>>> 
>>>>>>>> 
>>>>>>>> _______________________________________________
>>>>>>>> MITgcm-devel mailing list
>>>>>>>> MITgcm-devel at mitgcm.org
>>>>>>>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>>>>>>> 
>>>>>>> 
>>>>>>> _______________________________________________
>>>>>>> MITgcm-devel mailing list
>>>>>>> MITgcm-devel at mitgcm.org
>>>>>>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>>>>>> 
>>>>>> _______________________________________________
>>>>>> MITgcm-devel mailing list
>>>>>> MITgcm-devel at mitgcm.org
>>>>>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> MITgcm-devel mailing list
>>>>> MITgcm-devel at mitgcm.org
>>>>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>>>> 
>>>> _______________________________________________
>>>> MITgcm-devel mailing list
>>>> MITgcm-devel at mitgcm.org
>>>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>>> 
>>> _______________________________________________
>>> MITgcm-devel mailing list
>>> MITgcm-devel at mitgcm.org
>>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>> 
>> 
>> _______________________________________________
>> MITgcm-devel mailing list
>> MITgcm-devel at mitgcm.org
>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
> 
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel




More information about the MITgcm-devel mailing list