[MITgcm-devel] Fwd: [MITgcm-cvs] MITgcm/doc CVS Commit
Martin Losch
Martin.Losch at awi.de
Mon Jun 30 10:50:17 EDT 2014
Hi Jean-Michel,
You are right, I didn’t pay attention to the convergence criteria, because LSR never converges anyway …
There are so many funny things in the seaice_lsr solver that affect the adjoint code when it shouldn’t … all of this printResidual stuff, that I find very helpful seems to confuse TAF so that there are many (small, but unnecessary) recomputations. I am thinking of excluding these parts of the code (#ifndef ALLOW_AUTODIFF_TAMC).
Then the seaicemasku/v are copied around in autodiff_store/restore, which causes again recomputation, that are totally unnecessary (in my mind), because seaicemasku/v are passive variables (the “active” part in seaice_dynsolver is excluded). I’ll have to talk to Patrick about all of these things, once he has time for this.
Martin
On Jun 30, 2014, at 2:10 PM, Jean-Michel Campin <jmc at ocean.mit.edu> wrote:
> Hi Martin,
>
> Our old 32-bit cluster has only few nodes left, and it take long
> time to run all the different tests which can't all run at the same
> time. And in particular, last Friday, the last 2 started only after
> you checked-in the changes. So when these 2 were done, I found that
> there was a problem with seaice-dynamics experiments.
>
> Just had a quick look at the Friday version of seaice_lsr.F (1.93):
> might be that uTmp,vTmp are not needed within SEAICE_LSR_TRIDIAGU/V
> but we do need the part "save uIce prior to iteration" (that is gone
> in v 1.93) since it's used to test for convergence.
>
> And good that you manged to improve the adjoint !
>
> Cheers,
> Jean-Michel
>
> On Mon, Jun 30, 2014 at 10:10:24AM +0200, Martin Losch wrote:
>> Hi Jean-Michel,
>>
>> don’t get me wrong, I probably made a mistake with testreport, i.e. running it in the wrong directory or whatever …
>>
>> Now I did get these same FAILS and I checked in a version, that includes u/vTmp. I still don’t see, where they become necessary, but maybe it’s better this way (didn’t check the effect of removing them on the vectorization of seaice_lsr_tridiagu/v, etc.)
>>
>> I guess on Friday I was to excited to be able to get rid off the extensive recomputation warnings in seaice_lsr, that got carried away and removed too much stuff without proper checking. The fact that the adjoint results are not affected is obvious: They don’t seem to use seaice_lsr in reverse mode, except for lab_sea: there the adjoint is different indeed, and since it is different already I modified and updated this experiment to actually take advantage of my new STORE directives and to increase the differences.
>>
>> Martin
>>
>> On Jun 29, 2014, at 5:09 PM, Jean-Michel Campin <jmc at ocean.mit.edu> wrote:
>>
>>> Hi Martin,
>>>
>>> here attached is the testreport output the I obtained last Friday
>>> after your changes.
>>> I am currently re-running testreport to check that I did not make a
>>> big mistake last Friday (putting back your modified seaice_lsr.F &
>>> seaice_preconditioner.F), but it looks similar to the one
>>> I got Friday (expected, since it's the same code).
>>>
>>> Cheers,
>>> Jean-Michel
>>>
>>> On Sun, Jun 29, 2014 at 12:37:51PM +0200, Martin Losch wrote:
>>>> Hi Jean-Michel,
>>>>
>>>> That's very interesting, because I did run testreport on my local linux box that usually gives the same results as baudelaire with gfortran both for forward and adoint tests. The only changing experiment I found was labsea, which always gives slightly different results, no matter what you do. And I even ran adjoint offline exf seaice on baudelaire. Not sure where I went wrong. The most important changes were about the adjoint. On Monday, I will retry with keeping the uvtmp fields although I do not see why they should be important at all.
>>>>
>>>> Martin
>>>>
>>>>> On 27.06.2014, at 22:25, Jean-Michel Campin <jmc at ocean.mit.edu> wrote:
>>>>>
>>>>> Hi Martin,
>>>>>
>>>>> Did you run testreport after your changes ?
>>>>> When I try (with MPI on old 32-bit cluster with g77 and without
>>>>> MPI on baudelaire with gfortran) I am getting a FAIL for
>>>>> most (if not all) of the exp that uses seaice-dynamics with LSR
>>>>>
>>>>> Also, this uTmp,vTmp was added in seaice_lsr.F revision 62
>>>>> by me (harder to go back in time before that since it was re-written
>>>>> substancially), and I don't think it was useless.
>>>>>
>>>>> I am thinking of changing back seaice_lsr.F & seaice_preconditioner.F
>>>>> until you figure out if/how uTmp/vTmp can be removed without changing
>>>>> the results.
>>>>>
>>>>> Cheers,
>>>>> Jean-Michel
>>>>>
>>>>>> On Fri, Jun 27, 2014 at 04:38:01PM +0200, Martin Losch wrote:
>>>>>> let’s see, how much of the model I messed up this time … (o:
>>>>>>
>>>>>> Have a good weekend,
>>>>>> Martin
>>>>>>
>>>>>> Begin forwarded message:
>>>>>>
>>>>>>> From: Martin Losch <mlosch at forge.csail.mit.edu>
>>>>>>> Subject: [MITgcm-cvs] MITgcm/doc CVS Commit
>>>>>>> Date: June 27, 2014 at 4:37:03 PM GMT+2
>>>>>>> To: <mitgcm-cvs at mitgcm.org>
>>>>>>> Reply-To: <MITgcm-cvs at mitgcm.org>
>>>>>>>
>>>>>>> Update of /u/gcmpack/MITgcm/doc
>>>>>>> In directory forge:/tmp/cvs-serv5798/doc
>>>>>>>
>>>>>>> Modified Files:
>>>>>>> tag-index
>>>>>>> Log Message:
>>>>>>> add this to the tag-index:
>>>>>>> - remove unnecessary u/vTmp from subroutine call of
>>>>>>> seaice_lsr_tridiagu/v
>>>>>>> - remove some store directives and add new ones in an effort to get
>>>>>>> finally rid off the recomputation warnings. This is successful
>>>>>>> for SEAICE_VECTORIZE_LSR defined (i.e. no extensive recomputation
>>>>>>> warnings left), but there are still too many recomputations on the
>>>>>>> solver iteration level
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> 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
>>> <tr_out.txt>_______________________________________________
>>> 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