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

gael forget gforget at mit.edu
Thu Sep 15 08:31:38 EDT 2016


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mitgcm.org/pipermail/mitgcm-support/attachments/20160915/297c48ba/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/20160915/297c48ba/attachment.p7s>


More information about the MITgcm-support mailing list