[MITgcm-devel] Problem in some adjoint experiments after load_fields_driver.F changes
Jean-Michel Campin
jmc at mit.edu
Mon Sep 11 13:50:17 EDT 2017
Hi Patrick,
With your changes, every tests came back to normal, and it's good.
I've just change it (again) since there is no need to do this
call for atmospheric set-up, and any conditional call fixes the TAF
issue we had.
Cheers,
Jean-Michel
On Sun, Sep 10, 2017 at 03:35:49PM +0000, Patrick Heimbach wrote:
> Yes, let's do that so test report starts producing passes again.
> Cheers
> p.
>
> > On Sep 10, 2017, at 8:04 AM, Jean-Michel Campin <jmc at mit.edu> wrote:
> >
> > Hi Patrick,
> >
> > Thanks for looking at this. Very helpful.
> > I will check with Oliver tomorrow and with can decide what to do then.
> > But if you prefer to have this fixed earlier, we could add
> > IF ( .NOT.useEXF ) THEN
> > line within #ifdef ALLOW_AUTODIFF / #endif
> > (not pretty, but just as a temporary fix).
> >
> > Cheers,
> > Jean-Michel
> >
> > On Sun, Sep 10, 2017 at 06:04:54AM +0000, Patrick Heimbach wrote:
> >> 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
> >>
> >
> >
> >
> >> _______________________________________________
> >> MITgcm-devel mailing list
> >> MITgcm-devel at mitgcm.org
> >> http://mailman.mitgcm.org/mailman/listinfo/mitgcm-devel
> >
> > _______________________________________________
> > MITgcm-devel mailing list
> > MITgcm-devel at mitgcm.org
> > http://mailman.mitgcm.org/mailman/listinfo/mitgcm-devel
>
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mailman.mitgcm.org/mailman/listinfo/mitgcm-devel
More information about the MITgcm-devel
mailing list