[MITgcm-devel] BLING

Martin Losch Martin.Losch at awi.de
Fri Jun 6 03:51:14 EDT 2014


Hi Ariane,

I would put this little bit of code into a separate routine with PTR_NUT/FE as I/O and then you can tell taf that the routine is inactive. There are examples in pkg/autodiff/checkpoint.flow, but otherwise have a look at the documentation of TAF for details.

Why do you get negative concentrations in the first place?

M.


On Jun 6, 2014, at 3:33 AM, Ariane Verdy <averdy at ucsd.edu> wrote:

> Hi,
> 
> We have checked in the BLING code (mitgcm_contrib/bling) and a verification example (mitgcm_contrib/verification_other/global_oce_biogeo_bling). If anyone uses it or glances at the code, we could certainly appreciate your feedback!
> 
> One thing in particular that needs attention is a small piece of code that we'd like to hide from TAF. In the bling_production subroutine, there is an option to get rid of negative tracer concentrations using the BLING_NO_NEG flag, analogous to DIC_NO_NEG in the dic package. We find this makes the code much more stable and thus is highly desirable. However it causes numerous adjoint recomputations, and the only way I found to get rid of those recomputations is with several store commands, some of which are inside loops, which ends up slowing down the code more than the recomputations themselves. (Furthermore, I don't think we want this NO_NEG bit adjointed as it is likely ill-posed.) We could probably hide this bit of code outside of the BLING package (e.g. in autodiff pkg), but that is not ideal. So my question is: can someone please suggest a good way to hide a bit of code from TAF within the BLING package?
> 
> Thank you,
> Ariane
> 
> 
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel




More information about the MITgcm-devel mailing list