[MITgcm-devel] autodiff_store/restore/ALLOW_ECCO_EVOLUTION
Martin Losch
Martin.Losch at awi.de
Fri Mar 7 09:24:50 EST 2014
Hi again,
I don’t know about the utility of ALLOW_ECCO_EVOLTION, but I think I solved my problem, in case anyone is interested:
I prefer that have the cpp-flags for the exf-pkg in the EXF_OPTIONS.h file. This somehow clashes with the convention that for adjoint models these cpp-flags should now be in ECCO_CPPOPTIONS.h. This convention, which I’d like to challenge (again), has been cemented a little more by these lines
#ifdef ECCO_CPPOPTIONS_H
dont do anythin
#else
here are the exf flags
#endif
that I found in my EXF_OPTIONS.h (which I grabbed from MITgcm_contrib/arctic/cs_36km/code, but it’s also in pkg/exf/EXF_OPTIONS.h).
With this if-construct, EXF_OPTIONS.h are never loaded after ECCO_CPPOPTIONS.h has been loaded. In this sense the
#ifdef ALLOW_ECCO_EVOLUTION
#ifdef ALLOW_EXF
#include “EXF_OPTIONS.h”
#endif
#endif
has no effect, because ALLOW_ECCO_EVOLUTION is typically defined in ECCO_CPPOPTIONS.h
My solution is to remove the if statement from the EXF_OPTIONS.h or should I rather remove ECCO_CPPOPTIONS.h and distribute the flags in there to AUTODIFF_OPTIONS.h/CTRL_OPTIONS.h/COST_OPTIONS.h/EXF_OPTIONS.h
What’s the preferred method now?
Martin
On Mar 5, 2014, at 12:52 AM, Patrick Heimbach <heimbach at mit.edu> wrote:
> Hi Martin,
>
> I can take a look after Thursday (currently on travel).
> The flags seem a little messed up.
>
> p.
>
> On Mar 4, 2014, at 12:29 PM, Martin Losch <Martin.Losch at awi.de> wrote:
>
>> Hi there,
>>
>> I have a setup for which I do not want to use the ecco package, but seaice, exf, etc.
>>
>> I think that autodiff_store/restore do not compile without ECCO, at least not in my case because the
>> #ifdef ALLOW_ECCO_EVOLUTION
>> prevents loading the EXF_OPTIONS.h, that in turn prevent defining ALLOW_RUNOFF and the variable runoff is not defined (line 548).
>>
>> How do I fix that so that it doesn’t break things for ECCO or anyone else? Remove the #ifdef ALLOW_ECCO_EVOLUTION? so that EXF_OPTIONS.h are always included as long as ALLOW_EXF is defined?
>>
>> Martin
>>
>>
>> _______________________________________________
>> MITgcm-devel mailing list
>> MITgcm-devel at mitgcm.org
>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>
>
> ---
> Patrick Heimbach | heimbach at mit.edu | http://www.mit.edu/~heimbach
> MIT | EAPS 54-1420 | 77 Massachusetts Ave | Cambridge MA 02139 USA
> FON +1-617-253-5259 | FAX +1-617-253-4464 | SKYPE patrick.heimbach
>
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel
More information about the MITgcm-devel
mailing list