[ncl-talk] A question about "return" from WRAPIT

Barry Lynn barry.h.lynn at gmail.com
Tue Jul 11 13:21:19 MDT 2017


I realize that the background information was a bit vague.

In any case, thank you for confirming what I thought.

I was able to verify that the fortran code executed until the "return."
 However, it doesn't proceed to write a print statement in the NCL script
immediately after the call to the WRAPIT fortran program. Hence, my thought
that it was *not* "returning."

I will double check the code (perhaps simplify it), since you noted that
the code should return.

Barry

On Tue, Jul 11, 2017 at 9:20 PM, Dennis Shea <shea at ucar.edu> wrote:

> The question is a bit vague on details.
>
> Yes, the fortran code 'returns' to the NCL calling environment.
> You can put print statements in the fortran code to see what has executed.
>
>
> ====> fortran file:  quad.f
>
> C NCLFORTSTART
>       subroutine cquad (a, b, c, nq, x, quad)
>       implicit none
>       integer nq              ! input
>       real a, b, c, x(nq)     ! input
>       real quad(nq)           ! output; must be pre-allocated in NCL
> C NCLEND
> C
> C  Calculate quadratic polynomial values.
> C
>
>       print *,"Before do loop"    ! DEBUG
>
>       do i=1,nq
>          print *,"Before quad(i); i=",i
>          quad(i) = a*x(i)**2 + b*x(i) + c
>          print *,"After quad(i); quad(i)=",quad(i)
>       end do
>       print *,"Before return: Done!"    ! DEBUG
>       return
>       end
>
> =====
>
> %> WRAPIT quad.f
>
> Creates quad.so
> ====
>
> NCL script: example.ncl
> ===
>
>
> external QUAD "./quad.so"
>
> begin
> ;
> ; Calculate three values of a quadratic equation
> ;
>    nump = 3
>    x    = (/ -1., 0.0, 1.0 /)
>    qval = new(nump,float)                  ; create memory for the 'return' values
>    QUAD::cquad(-1., 2., 3., nump, x, qval) ; Call the NCL version of
>                                            ; your Fortran subroutine.
>    print("Polynomial value = " + qval)     ; Should be (/0,3,4/)
>
> end
>
> ====
>
> %> ncl  example.ncl
>
>
> On Tue, Jul 11, 2017 at 9:11 AM, Barry Lynn <barry.h.lynn at gmail.com>
> wrote:
>
>> Hello:
>>
>> I wrote a fortran program that I can from an ncl program.
>>
>> I have a "return" at the end of the fortran program, linked with WRAPIT.
>>
>> However, my ncl program does not go beyond the call to the
>> WRAPIT fortran program call.
>>
>> Am I missing something?  I would expect the ncl program to return
>> and continue from there.
>>
>> Thank you,
>>
>> Barry
>>
>> --
>> Barry H. Lynn, Ph.D
>> Senior Lecturer,
>> The Institute of the Earth Science,
>> The Hebrew University of Jerusalem,
>> Givat Ram, Jerusalem 91904, Israel
>> Tel: 972 547 231 170
>> Fax: (972)-25662581
>>
>> C.E.O, Weather It Is, LTD
>> Weather and Climate Focus
>> http://weather-it-is.com
>> Jerusalem, Israel
>> Local: 02 930 9525
>> Cell: 054 7 231 170
>> Int-IS: x972 2 930 9525
>> US 914 432 3108 <(914)%20432-3108>
>>
>> _______________________________________________
>> ncl-talk mailing list
>> ncl-talk at ucar.edu
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>
>>
>


-- 
Barry H. Lynn, Ph.D
Senior Lecturer,
The Institute of the Earth Science,
The Hebrew University of Jerusalem,
Givat Ram, Jerusalem 91904, Israel
Tel: 972 547 231 170
Fax: (972)-25662581

C.E.O, Weather It Is, LTD
Weather and Climate Focus
http://weather-it-is.com
Jerusalem, Israel
Local: 02 930 9525
Cell: 054 7 231 170
Int-IS: x972 2 930 9525
US 914 432 3108
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20170711/3d535ff9/attachment.html 


More information about the ncl-talk mailing list