[MITgcm-support] Using the "gencost" and "genctrl" approach for adjoint sensitivities

gael forget gforget at mit.edu
Fri Sep 16 18:45:10 EDT 2016


Hi Dan,
I added documentation in chapter 8 of the MITgcm manual.
It is still rather incomplete and rough around the edges 
but hopefully is already helpful.
Cheers,
Gael

ps: kudos to C. Wolfe for providing most of the tables. 


On Sep 15, 2016, at 8:31 AM, gael forget <gforget at mit.edu> wrote:

> Hi Dan,
> 
> there is an example for what you are aiming to do with gencost in 
> http://mitgcm.org/viewvc/*checkout*/MITgcm/MITgcm_contrib/verification_other/global_oce_cs32/input_ad.sens/data.ecco
> where the first cost term is for tracer, the second is for transport, and
> data.profiles is empty (so it is effectively turned off — but you can also do this via 
> packages.conf and data.pkg). The cost function location (space and time) is specified 
> at run-time via masks (south30_mask* and north10_mask*) that were created using
> http://mitgcm.org/viewvc/*checkout*/MITgcm/MITgcm_contrib/verification_other/global_oce_cs32/input_ad.sens/some_mask.m
> 
> The genctrl settings for this experiment are in
> http://mitgcm.org/viewvc/*checkout*/MITgcm/MITgcm_contrib/verification_other/global_oce_cs32/input_ad/data.ctrl
> and provide examples for forcing, initial condition, and internal parameter controls.
> 
> I will add some documentation in the manual shortly about this.
> 
> Cheers,
> Gael
> 
> On Sep 15, 2016, at 6:49 AM, Dan Jones <dcjones.work at gmail.com> wrote:
> 
>> Hi all,
>> 
>> I have some questions about using "gencost" and "genctrl".  To be concrete, I'll pick a specific example below.  In this example, I am *not* generating a state estimate - I am interested in examining the gradients themselves (i.e. \partial J / \partial x, where J is the cost function and x is some control variable).   
>> 
>> I would like to start with an up-to-date verification exercise (MITgcm_contrib/verification_other/global_oce_biogeo_bling).  I want to modify this setup such that:
>> 
>> - The cost function is the value of one of the tracer fields, at a location specified at run-time, averaged over the last 'x' seconds 
>> - The cost function should *not* include any contributions from "profiles"; how do I turn off those parts entirely?  Does just dropping the package from the packages.conf list work?
>> - The controls include physical variables (e.g. u, v, T, S) *and* tracer fields (e.g. DIC)
>> 
>> How do I need to modify the headers/source code to specify this?  I am using TAF to generate the adjoint code.
>> 
>> I have looked at the comments in the header files, but as this approach is new I am feeling a bit uncertain about it.  Any help/clarification is very much appreciated!
>> 
>> Best,
>> Dan
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> 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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mitgcm.org/pipermail/mitgcm-support/attachments/20160916/7918153d/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 1843 bytes
Desc: not available
URL: <http://mitgcm.org/pipermail/mitgcm-support/attachments/20160916/7918153d/attachment.p7s>


More information about the MITgcm-support mailing list