[ncl-talk] Convective Temp Calculation

Dennis Shea shea at ucar.edu
Mon Mar 23 20:00:23 MDT 2015


[1]
The *only* delimieter pair that should be in the code is the 1st pair. As
noted in the documentation, only the subroutines/functions called from NCL
should have the delimeters,

[2]
I think you have 'dos' caharacters embedded in 'test.f'
Perhaps from the editor you used.?

[3]
After removing the extra delimiters

%> dos2unix test.f

[4]
%> WRAPIT test.f

Actually, I'm just attaching what I dd.





On Mon, Mar 23, 2015 at 3:21 PM, Brandon Sullivan <btsullivan91 at gmail.com>
wrote:

> Dennis, thanks.
>
> I added that.. Added the NCLFORTSTART/NCLEND to it, etc.. Then, I just
> continued to get a ton of other functions that were undefined... So, I went
> through and added them all one by one until finally I got no more errors..
> I basically have the whole sstats.f file in there..
>
> Now, I get this error - warning:Could not find Init() in external file
> /home/Soundings/Extra/test.so, file not loaded
> warning:error at line 17 in file testsounding.ncl
>
> I do get a syntax error when running WRAPIT now, too.
>
> I sincerely appreciate your continued help... New test.f attached.
>
>
>
> Brandon Sullivan
>
> On Mon, Mar 23, 2015 at 3:34 PM, Dennis Shea <shea at ucar.edu> wrote:
>
>> The .so is particular to the compiler you are using. So, it is not
>> generic.
>>
>> --
>> The error message is coming from the fortran code
>>
>> /home/Soundings/Extra/test.so: undefined symbol: theta_wetb_
>>
>> ^^^^^^^^^^^
>>
>> If you search for 'theta_wetb' in your test code, it is used but it is
>> not part of test,f
>>
>> Extract that from 'sstats.f' and include with your test.f
>>
>> ---
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> *      function theta_wetb(thetae_K)c..c..              Eqn below was
>> gotten from polynomial fit to data inc..              Smithsonian
>> Meteorological Tables showing Theta-ec..              and Theta-wc..
>> real*8 c(0:6), d(0:6)      data c/-1.00922292e-10, -1.47945344e-8,
>> -1.7303757e-6     +      ,-0.00012709,      1.15849867e-6,
>> -3.518296861e-9     +      ,3.5741522e-12/      data d/0.00000000,
>> -3.5223513e-10, -5.7250807e-8     +     ,-5.83975422e-6, 4.72445163e-8,
>> -1.13402845e-10     +     ,8.729580402e-14/
>> x=min(475.0,thetae_K)                 if( x .le. 335.5 ) then
>> answer = c(0)+x*(c(1)+x*(c(2)+x*(c(3)+x*(c(4)+x*(c(5)+     +
>> x*c(6) )))))      else         answer =
>> d(0)+x*(d(1)+x*(d(2)+x*(d(3)+x*(d(4)+x*(d(5)+     +            x*d(6)
>> )))))      endif      theta_wetb = answer + 273.15      return      end---*
>> The NCL project does have python versions called:  pyNGL and pyNIO
>> *. *
>> Likely, they will have new (significantly updated) versions out in the
>> near future.
>> No promises but, perhaps, mid-to-late April 2015.
>>
>> http://www.pyngl.ucar.edu/
>>
>>
>> On Mon, Mar 23, 2015 at 11:30 AM, Brandon Sullivan <
>> btsullivan91 at gmail.com> wrote:
>>
>>> I have attached my test.so file just in case it helps... Sorry I seem so
>>> lost here, I am a python person!
>>>
>>> Brandon Sullivan
>>>
>>> On Mon, Mar 23, 2015 at 11:36 AM, Brandon Sullivan <
>>> btsullivan91 at gmail.com> wrote:
>>>
>>>> Using the test.f file that Dennis provided, I was able to run wrapit
>>>> successfully with no errors.
>>>>
>>>> I also went in and added this to my sounding file... With the external
>>>> command (it was in there before, just somewhere in the middle), to the top
>>>> with the load commands.
>>>>
>>>> "external CONV  "./test.so"
>>>> ctemp = 0.0        ; create a 'space' for the returned temperature
>>>> CONV:: sndganalncl(nlevs,t,p,r,u,v,ctemp)"
>>>>
>>>> I still get these errors, however.
>>>>
>>>> warning:An error occurred loading the external file
>>>> /home/Soundings/Extra/test.so, file not loaded
>>>> /home/Soundings/Extra/test.so: undefined symbol: theta_wetb_
>>>> warning:error at line 17 in file testsounding.ncl
>>>>
>>>> Also, now this syntax error -
>>>>
>>>> fatal:syntax error: line 472 in file testsounding.ncl before or near :
>>>> CONV:
>>>>      ----^
>>>>
>>>> New files attached
>>>>
>>>> Thanks so much...
>>>>
>>>>
>>>>
>>>>
>>>> Brandon Sullivan
>>>>
>>>> On Mon, Mar 23, 2015 at 11:16 AM, Dennis Shea <shea at ucar.edu> wrote:
>>>>
>>>>>  but  betHello,
>>>>>
>>>>> At:   https://www.ncl.ucar.edu/Document/Manuals/
>>>>>
>>>>> Please read section 7 of the Mini-Language manual
>>>>> ===
>>>>> A more detailed description s at:
>>>>>   https://www.ncl.ucar.edu/Document/Manuals/Ref_Manual/NclExtend.shtml
>>>>> ===
>>>>> Also of interest: The DKRZ has created two NCL tutorials that may be
>>>>> of interest.
>>>>> These are much broader.
>>>>> ===
>>>>>
>>>>> That said .....
>>>>> [1]
>>>>> You have a f77 subroutine [ test.f ].  I do not see the required
>>>>> delimeters
>>>>>
>>>>> C NCLFORTSTART
>>>>> ...
>>>>> C NCLEND
>>>>>
>>>>> These indicate to NCL's f77 parser what information is being passed
>>>>> back-and-forth between two separate languages.
>>>>> That is why your code gets the 'A syntax error occurred while
>>>>> parsing:" message,
>>>>>
>>>>> [2]
>>>>> To use 'external' code (f77, f90, C, C++) you must indicate that via
>>>>>
>>>>>   external TEST "./,,,so"   ; the shared object
>>>>>
>>>>> You did not do this.
>>>>>
>>>>> [3]
>>>>> Included in your argument passing, you have
>>>>>    flminsou,frmaxsou,fbminsou,ftmaxsou
>>>>> Are these used? NCL does not care but if they are not used, but why
>>>>> are you passing them?
>>>>>
>>>>> [4]
>>>>> You want 'conv_temp' but you are not passing it back to NCL for
>>>>> plotting.
>>>>> In your NCL script ....
>>>>>
>>>>>
>>>>> external CONV  "./test.so"
>>>>>
>>>>> ctemp = 0.0        ; create a 'space' for the returned temperature
>>>>> CONV:: sndganalncl(nlevs,t,p,r,u,v,ctemp)
>>>>>
>>>>> [5]
>>>>> I have done some mods for your f77 code. That should get you started.
>>>>>
>>>>>    WRAPIT test.f
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Sun, Mar 22, 2015 at 8:43 PM, Brandon Sullivan <
>>>>> btsullivan91 at gmail.com> wrote:
>>>>>
>>>>>> Hello all,
>>>>>>
>>>>>>
>>>>>>
>>>>>> I am trying to use “sstats.f” that I found here -
>>>>>> http://www.ncl.ucar.edu/Support/talk_archives/2010/att-2526/sstats.f
>>>>>>
>>>>>>
>>>>>> I pulled out the code I want and made test.f (attached)
>>>>>>
>>>>>>
>>>>>>
>>>>>> I am trying to use the convective temperature function from there and
>>>>>> plot it on my soundings (testsounding.ncl)
>>>>>>
>>>>>>
>>>>>>
>>>>>> I try to run WRAPIT and it says this
>>>>>>
>>>>>>
>>>>>>
>>>>>>root at ubuntu:/home/Soundings/Extra# WRAPIT test.f
>>>>>>
>>>>>>
>>>>>>
>>>>>> WRAPIT Version: 120209
>>>>>>
>>>>>> A syntax error occurred while parsing:
>>>>>>
>>>>>> COMPILING test.f
>>>>>>
>>>>>> LINKING
>>>>>>
>>>>>> END WRAPIT”
>>>>>>
>>>>>>
>>>>>>
>>>>>> Then, when running my sounding script it says
>>>>>>
>>>>>>
>>>>>>
>>>>>> Copyright (C) 1995-2015 - All Rights Reserved
>>>>>>
>>>>>> University Corporation for Atmospheric Research
>>>>>>
>>>>>> NCAR Command Language Version 6.3.0
>>>>>>
>>>>>> The use of this software is governed by a License Agreement.
>>>>>>
>>>>>> See http://www.ncl.ucar.edu/ for more details.
>>>>>>
>>>>>> warning:An error occurred loading the external file
>>>>>> /home/Soundings/Extra/test.so, file not loaded
>>>>>>
>>>>>> /home/Soundings/Extra/test.so: undefined symbol: theta_wetb_
>>>>>>
>>>>>> warning:error at line 50 in file testsounding.ncl
>>>>>>
>>>>>>
>>>>>>
>>>>>> Am I going about this wrong? Is there something in the code I am
>>>>>> missing? I have also tried –m64 when running WRAPIT.. Thanks so much in
>>>>>> advance!
>>>>>>
>>>>>>
>>>>>>
>>>>>> Brandon
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> ncl-talk mailing list
>>>>>> List instructions, subscriber options, unsubscribe:
>>>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20150323/b42fb5e3/attachment.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test.f
Type: application/octet-stream
Size: 13447 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20150323/b42fb5e3/attachment.obj 


More information about the ncl-talk mailing list