[MITgcm-support] build error: obcs and ptracers with ecco

Patrick Heimbach heimbach at MIT.EDU
Wed May 21 14:23:36 EDT 2008


Hi Suneet,

good to hear you can now run the model.
However, the change you report below
> I just changed the statement
>
> # ifdef ALLOW_PTRACERS
> to
> # ifdef usePTRACERS

doesn't make sense. A CPP flag "usePTRACERS" does not exist.

So you may want to check what it is that is now running successfully.

Commenting out "# ifdef ALLOW_PTRACERS" isn't such a good idea either,
since it may point to another unsolved problem (missing headers).

Also, not sure why you should have to add the code
>> #ifdef ALLOW_OBCS_PRESCRIBE
>> CADJ STORE OBNptr0 = tapelev3, key = ilev_3
>> CADJ STORE OBNptr1 = tapelev3, key = ilev_3
>> #endif /* ALLOW_OBCS_PRESCRIBE */

THis code is part of the obcs_ad_check_lev?_dir.h routines
so shouldn't have to be added.

-Patrick



On May 21, 2008, at 2:07 PM, Suneet Dwivedi wrote:

> Hi Matt,
> Sorry, I was out of town yesterday, so couldn't reply you earlier.
> Thanks for telling me about the bug in obcs_ad_check_lev?_dir.h. As
> per your advice, I just changed the statement
>
> # ifdef ALLOW_PTRACERS
> to
> # ifdef usePTRACERS
>
> and it solved my problem with ptracers/obcs package. Now I am able to
> build and run my model setup successfully.
> Thanks again,
> Best regards,
> Suneet
>
> On Mon, May 19, 2008 at 12:48 PM, Matthew Mazloff  
> <mmazloff at mit.edu> wrote:
>> Oh...and based on your error you may have to add in
>>
>> #ifdef ALLOW_OBCS_PRESCRIBE
>> CADJ STORE OBNptr0 = tapelev3, key = ilev_3
>> CADJ STORE OBNptr1 = tapelev3, key = ilev_3
>> #endif /* ALLOW_OBCS_PRESCRIBE */
>>
>> for each boundary.....not sure if your code will have that
>>
>> -matt
>>
>>
>>
>>
>> On May 19, 2008, at 12:23 PM, Suneet Dwivedi wrote:
>>
>>> Hi Patrick,
>>> As per your advice I stripped down my adjoint model code so as to  
>>> run
>>> it on a single processor. As I told you earlier also that it works
>>> fine without any error with obcs package but as soon as I try to
>>> include ptracers I get the following TAF error messages so that I am
>>> unable to build the adjoint code.
>>>
>>> -------------------------------------------------------------------- 
>>> ----------------------------------------
>>> 1325411 CADJ STORE OBNptr  = tapelev4, key = ilev_4
>>>                  ^
>>> *ERROR* : identifier not defined
>>> 1325413 CADJ STORE OBNptr0 = tapelev4, key = ilev_4
>>>                  ^
>>> *ERROR* : identifier not defined
>>> 1325414 CADJ STORE OBNptr1 = tapelev4, key = ilev_4
>>>
>>> and similarly for S,W,E boundaries.
>>>
>>> -------------------------------------------------------------------- 
>>> --------------------------------------
>>>
>>> Attached herewith is the output of 'make adall' for your kind  
>>> perusal.
>>> Please help me resolve this problem.
>>> Hoping for your reply,
>>> Suneet
>>>
>>> On Fri, May 16, 2008 at 3:03 PM, Patrick Heimbach <heimbach at mit.edu>
>>> wrote:
>>>>
>>>> Hi Suneet,
>>>>
>>>> your error message has nothing to do with ptracers or obcs.
>>>> As I said, without seeing a toy setup, it's not clear what you  
>>>> are doing.
>>>> In your case, this kind of compile error typically arises when
>>>> instead of typing
>>>> make adall
>>>> you type
>>>> make
>>>> ("make" doesn't link the adjoint code, whereas "make adall" does).
>>>> -p.
>>>>
>>>>
>>>>
>>>> On May 16, 2008, at 1:37 PM, Suneet Dwivedi wrote:
>>>>
>>>>> Hi Everybody,
>>>>> Is this possible to build the adjoint code in which ptracers  
>>>>> package
>>>>> works with open boundary conditions? For me, it failed. I am  
>>>>> able to
>>>>> build the forward code successfully with both ptracers and obcs
>>>>> defined in packages.conf, but my build failed (see error message
>>>>> below) when I tried to do the same thing for adjoint code (by  
>>>>> allowing
>>>>> ecco, autodiff, cost and ctrl in packages.conf).
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------ 
>>>>> --------------------------------
>>>>> the_model_main.o(.text+0x207): In function `the_model_main_':
>>>>> : undefined reference to `adthe_main_loop_'
>>>>> make: *** [mitgcmuv_ad] Error 1
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------ 
>>>>> ---------------------------------
>>>>> Is this a TAF problem? Do I need to make some changes in my code
>>>>> inorder to make it work?
>>>>> Hoping for your reply,
>>>>> Suneet
>>>>> _______________________________________________
>>>>> MITgcm-support mailing list
>>>>> MITgcm-support at mitgcm.org
>>>>> http://mitgcm.org/mailman/listinfo/mitgcm-support
>>>>
>>>> ---
>>>> Patrick Heimbach | heimbach at mit.edu | http://www.mit.edu/~heimbach
>>>> MIT | EAPS 54-1518 | 77 Massachusetts Ave | Cambridge MA 02139 USA
>>>> FON +1-617-253-5259 | FAX +1-617-253-4464 | SKYPE patrick.heimbach
>>>>
>>>>
>>>> _______________________________________________
>>>> MITgcm-support mailing list
>>>> MITgcm-support at mitgcm.org
>>>> http://mitgcm.org/mailman/listinfo/mitgcm-support
>>>>
>>>> <output.txt>
>>>
>>> _______________________________________________
>>> 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
>>

---
Patrick Heimbach | heimbach at mit.edu | http://www.mit.edu/~heimbach
MIT | EAPS 54-1518 | 77 Massachusetts Ave | Cambridge MA 02139 USA
FON +1-617-253-5259 | FAX +1-617-253-4464 | SKYPE patrick.heimbach





More information about the MITgcm-support mailing list