[MITgcm-devel] autodiff_store/restore/ALLOW_ECCO_EVOLUTION
Gael Forget
gforget at MIT.EDU
Fri Mar 7 09:42:38 EST 2014
Hi Martin,
I am interested. However I just
came back from 2 weeks traveling
and am Backed up with papers for
the next weeks if not months.
I will try to get to it ASAP but
Can't promise it will be very soon.
Realistically it could be two months ...
You can always check stuff in and
I will figure out later if the Ecco v4
Set up got broken. In any case,
Thanks for looking Into this,
Gael
Sent from my iPhone
On Mar 7, 2014, at 9:24, Martin Losch <Martin.Losch at awi.de> wrote:
> 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
>
>
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel
More information about the MITgcm-devel
mailing list