[ncl-talk] Convective Temp Calculation
Dennis Shea
shea at ucar.edu
Mon Mar 23 14:34:17 MDT 2015
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/99398828/attachment.html
More information about the ncl-talk
mailing list