Re: help: WRAPIT

From: Mary Haley <haley_at_nyahnyahspammersnyahnyah>
Date: Fri Jul 15 2011 - 13:50:49 MDT

Sha,

As Dennis mentioned before, you need to make sure that in your *stub file, the "subroutine", "integer", "dimension" lines all start in the 7th column. In the file you listed below, the lines all start in the 6th column.

Once I made this fix, I was able to create the wrapper with no problem:

% [389] cat writeNCLascii.stub
C NCLFORTSTART
      subroutine writeNCLascii(cptz1, lrtz1, cptz2, lrtz2, dim1, dim2)
      integer dim1, dim2
      dimension cptz1(dim1), lrtz1(dim1), cptz2(dim2), lrtz2(dim2)
C NCLEND

% [390] WRAPIT -m64 writeNCLascii.stub writeNCLascii.f90
 
WRAPIT Version: 110125
COMPILING writeNCLascii.f90
LINKING
END WRAPIT
 
% [391] ncl
 Copyright (C) 1995-2011 - All Rights Reserved
 University Corporation for Atmospheric Research
 NCAR Command Language Version 6.1.0-15Jul2011_0149
 The use of this software is governed by a License Agreement.
 See http://www.ncl.ucar.edu/ for more details.
ncl 0> external writeNCLascii "./writeNCLascii.so"
ncl 1>

--Mary

On Jul 15, 2011, at 1:23 PM, Sha Feng wrote:

> Mary,
>
> There are just several lines in my stub file
>
> C NCLFORTSTART
> subroutine writeNCLascii(cptz1, lrtz1, cptz2, lrtz2, dim1, dim2)
> integer dim1, dim2
> dimension cptz1(dim1), lrtz1(dim1), cptz2(dim2), lrtz2(dim2)
> C NCLEND
>
> and I copied the word "writeNCLascii". It still did not work.
>
> Sha
>
> On Jul 15, 2011, at 3:17 PM, Mary Haley wrote:
>
>> Sha,
>>
>> Double-check your *.stub file to make sure you have "writeNCLascii" spelled correctly.
>>
>> It looks okay in the *.f90 file, but the stub file needs to have it spelled the exact same way.
>>
>> --Mary
>>
>> On Jul 15, 2011, at 12:21 PM, Sha Feng wrote:
>>
>>>
>>> Hi all,
>>>
>>> I tried to call a Fortran subroutine from NCL using WRAPIT. The pre-files are created:
>>>
>>> writeNCLascii.stub
>>> writeNCLascii.so
>>> writeNCLascii.f90
>>>
>>> $ ncl test.ncl
>>>
>>> fatal:syntax error: procedure writeNCLascii is not defined in package writeNCLascii
>>>
>>> fatal:error at line 145 in file test.ncl
>>>
>>> fatal:Syntax Error in block, block not executed
>>> fatal:error at line 186 in file test.ncl
>>>
>>> ----------
>>> In test.ncl script, I added external writeNCLascii "./writeNCLascii.so" before "begin".
>>>
>>> line 145: writeNCLascii::writeNCLascii(CPTh_mon_ts(0,:),LRTh_mon_ts(0,:), CPTh_mon_ts(1,:), LRTh_mon_ts(1,:), 45, 45)
>>> line 186: end
>>> --------------
>>>
>>> Attached please find the fortran 90 subroutine.
>>>
>>> Any help is appreciated,
>>>
>>> Sha
>>>
>>>
>>>
>>> <writeNCLascii.f90>_______________________________________________
>>> ncl-talk mailing list
>>> List instructions, subscriber options, unsubscribe:
>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>

_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Fri Jul 15 13:50:59 2011

This archive was generated by hypermail 2.1.8 : Mon Jul 18 2011 - 15:57:57 MDT