[MITgcm-devel] Problem in some adjoint experiments after load_fields_driver.F changes

Patrick Heimbach heimbach at mit.edu
Sun Sep 10 02:04:54 EDT 2017


Hi there,

up until Revision 1.12 there was the following line in load_fields_driver.F
       IF ( .NOT.(useEXF.OR.useCheapAML) ) THEN
...

This was reduced in Revision 1.13 (for reasons that are not clear to me) to
       IF ( .NOT.useCheapAML ) THEN
...

If, in the latest revision one puts back in
(where there previously was the IF ( .NOT.useCheapAML ) - statement)
       IF ( .NOT.useEXF ) THEN
...
(i.e. preserve the conditional statement on useEXF)
then that fixes the adjoint 
(I won't check in this fix now since overnight reports are running).

The question remains, why the change in Revision 1.13

What happens without the .NOT.useEXF statement is that
TAF thinks that all arrays of FFIELDS.h that have been assigned via EXF
(earlier in S/R LOAD_FIELDS_DRIVER)
are subsequently reassigned/overwritten via call to S/R EXTERNAL_FIELDS_LOAD
(since now S/R EXTERNAL_FIELDS_LOAD is *always* called).
Thus, all dependencies are killed, and there are no sensitivities
to EXF fields (you'll see that TAF isn't producing any variables
for aduwind, advwind, adatemp, ...)

p.

> On Sep 9, 2017, at 9:02 AM, Jean-Michel Campin <jmc at mit.edu> wrote:
> 
> Hi,
> 
> Not clear why, but after this (small) modification to load_fields_driver.F
> several AD test are now failing.
> There are also significant changes with tangent-linear test.
> 
> Here are the list of (adm) experiments that change:
> After changes:
> < Sat Sep 9 00:15:09 EDT 2017
> < Y Y Y Y 16> 0<16 FAIL  1D_ocean_ice_column  (e=0, w=3)
> < Y Y Y Y 16> 2<16 FAIL  global_ocean.cs32x15.seaice
> < Y Y Y Y 16> 1<16 FAIL  global_ocean.cs32x15.seaice_dynmix
> < Y Y Y Y 16> 1<10 FAIL  global_ocean.cs32x15.thsice
> < Y Y Y Y 16> 0<16 FAIL  global_with_exf  (e=0, w=9)
> < Y Y Y Y 16> 2<16 FAIL  lab_sea  (e=0, w=8)
> < Y Y Y Y 13> 0< 6 FAIL  lab_sea.noseaice
> < Y Y Y Y 16> 5<16 FAIL  lab_sea.noseaicedyn
> < Y Y Y Y 16> 2<16 FAIL  offline_exf_seaice  (e=0, w=38)
> < Y Y Y Y 16> 5<16 FAIL  offline_exf_seaice.thsice
> 
> Before:
>> Fri Sep 8 00:15:10 EDT 2017
>> Y Y Y Y 16>16<16 pass  1D_ocean_ice_column  (e=0, w=3)
>> Y Y Y Y 16>16<16 pass  global_ocean.cs32x15.seaice
>> Y Y Y Y 16>16<16 pass  global_ocean.cs32x15.seaice_dynmix
>> Y Y Y Y 16>16<10 pass  global_ocean.cs32x15.thsice
>> Y Y Y Y 16>16<16 pass  global_with_exf  (e=0, w=9)
>> Y Y Y Y 16>16<16 pass  lab_sea  (e=0, w=8)
>> Y Y Y Y 13>14< 6 pass  lab_sea.noseaice
>> Y Y Y Y 16>16<16 pass  lab_sea.noseaicedyn
>> Y Y Y Y 16>16<16 pass  offline_exf_seaice  (e=0, w=38)
>> Y Y Y Y 16>16<16 pass  offline_exf_seaice.thsice
> 
> Cheers,
> Jean-Michel
> 
> On Fri, Sep 08, 2017 at 10:42:28AM -0400, bderembl at forge.csail.mit.edu wrote:
>> Update of /u/gcmpack/MITgcm/model/src
>> In directory forge:/tmp/cvs-serv23380
>> 
>> Modified Files:
>> 	load_fields_driver.F 
>> Log Message:
>> removed IF ( .NOT.useCheapAML )  before EXTERNAL_FIELDS_LOAD. in case you need both cheapaml and SST/SSS restoring
>> 
>> _______________________________________________
>> MITgcm-cvs mailing list
>> MITgcm-cvs at mitgcm.org
>> http://mailman.mitgcm.org/mailman/listinfo/mitgcm-cvs
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mailman.mitgcm.org/mailman/listinfo/mitgcm-devel

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 1849 bytes
Desc: not available
URL: <http://mailman.mitgcm.org/pipermail/mitgcm-devel/attachments/20170910/34cdcffe/attachment.p7s>


More information about the MITgcm-devel mailing list