[MITgcm-support] obcs adjoint issue (I need dynamics.F help)
chris hill
cnh at mit.edu
Fri Nov 10 08:58:46 EST 2006
FYI
If you do the same thing twice in the forward code it should not
create double sensitivities in _correct_ adjoint code.
e.g.
x=a
:
x=a
will transform into reverse code something like
dx=1
da=da+dx
dx=0
:
da=da+dx
remembering to set terminal variables in a statement to 0 is a key
piece of the AD transformation that the compiler does.
Chris
Martin Losch wrote:
> Hi Matt,
>
> I have no time to look into this right now, but I suggest, that you try
> it yourself: use exp4 and see whether keeping removing the extra calls
> to obcs_apply_uv change the result (by running ./testreport -q -t exp4).
> If removing a call does change the result, then this call is necessary.
> (I believe exp4 does not use the vector invariant moment equations, but
> you can put that in for your tests and have an extra personal
> verifcation experiment for that case, too).
>
> Are you sure that the odd structions in adgv does not have other origins?
>
> Martin
> On 9 Nov 2006, at 02:41, Matthew Mazloff wrote:
>
>> Hello,
>>
>> I have been using the open boundary controls. The sensitivities for
>> the velocity normal to the boundary appear unphysical. (I am using a
>> northern boundary so for my case V is the normal vel.) I have tracked
>> down what is causing this. It is that on the open boundary the
>> adjoint variable of gV has an odd structure. And because dynamics.F
>> calls OBCS_APPLY_UV twice, this odd structure gets added to the
>> sensitivities twice. Calling OBCS_APPLY_UV( bi, bj, k, gU, gV,
>> myThid ) is rather benign in the forward integration, U and V on the
>> open boundary get written over anyway. In the adjoint integration,
>> however, every call matters. Could someone more expert in the
>> dynamics.F routine please check if all these calls are necessary. And
>> I'd really appreciate it if they could also fill me in as to why they
>> are there.
>>
>> Thanks,
>> Matt
>>
>> ps> I'm using vectorInvariantMomentum and implicitViscosity
>> _______________________________________________
>> MITgcm-support mailing list
>> MITgcm-support at mitgcm.org
>> http://mitgcm.org/mailman/listinfo/mitgcm-support
>
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support
>
More information about the MITgcm-support
mailing list