[ncl-talk] List subscripting used on non-list variable, can't continue
Dennis Shea
shea at ucar.edu
Wed Aug 7 07:40:29 MDT 2019
a = *addfile*
<https://www.ncl.ucar.edu/Document/Functions/Built-in/addfile.shtml>
("/home/bsas/wrf_wind/WRF/test/em_real/wrfout_d03_2019-08-07_00:00:00.nc
","r")
print("a is of type "+*typeof*
<https://www.ncl.ucar.edu/Document/Functions/Built-in/typeof.shtml>(a))
*addfile* creates a 'pointer' of type "*file*"
===
lat1 = *a[0]*->XLAT(0,nlt,nln) ; nearest grid point
===
The [...] syntax is for a variable of type "list". Use *addfiles* which
produces a list of 'pointers'. Here, the list size would be one.
a = *addfiles*
<https://www.ncl.ucar.edu/Document/Functions/Built-in/addfiles.shtml>
("/home/bsas/wrf_wind/WRF/test/em_real/wrfout_d03_2019-08-07_00:00:00.nc
","r")
On Wed, Aug 7, 2019 at 7:33 AM Barry Lynn via ncl-talk <ncl-talk at ucar.edu>
wrote:
> are you sure that your subscripts are within the range of the variable.
> print each and compare to printVarSummary of XLAT, please.
>
> On Wed, Aug 7, 2019 at 3:51 PM Borja Sas González <saszalez at gmail.com>
> wrote:
>
>> I don't see anything weird. The message prints that there is an error on
>> line 51:
>>
>> lat1 = a[0]->XLAT(0,nlt,nln) ; nearest grid point
>>
>> But I also see nothing wrong.
>>
>> El mié., 7 ago. 2019 a las 13:01, Barry Lynn (<barry.h.lynn at gmail.com>)
>> escribió:
>>
>>> Hi:
>>>
>>> I am not sure which variable is being printed in error, but you are
>>> trying to subscript (add indices) to a variable that doesn't have them.
>>> Try to solve your problem by finding the variable. You can printVarSummary
>>> to see the dimensions of each.
>>>
>>> Barry
>>>
>>> On Wed, Aug 7, 2019 at 2:40 PM Borja Sas González via ncl-talk <
>>> ncl-talk at ucar.edu> wrote:
>>>
>>>> I am trying to write a csv to represent several variables. To make it
>>>> easy, copy the example from the NCL page (write_csv_5.ncl) that represents
>>>> the temperature at 2 m.
>>>>
>>>> The only changes I made in the script are the output file of the WRF
>>>> that you are going to read and the map points that I want.
>>>>
>>>> When executing it, the following error is printed:
>>>>
>>>> fatal:List subscripting used on non-list variable, can't continue
>>>> fatal:["Execute.c":8637]:Execute: Error occurred at or near line 51 in
>>>> file csv.ncl
>>>>
>>>> The script is:
>>>>
>>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
>>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"
>>>>
>>>> begin
>>>>
>>>> a =
>>>> addfile("/home/bsas/wrf_wind/WRF/test/em_real/wrfout_d03_2019-08-07_00:00:
>>>> 00.nc","r")
>>>>
>>>> times = wrf_user_list_times(a) ; "2019-08-01_12:00:00", etc
>>>> tk2 = wrf_user_getvar(a,"T2",-1) ; T2 in Kelvin
>>>>
>>>> times = wrf_user_list_times(a)
>>>> ntimes = dimsizes(times)
>>>> print("ntimes = " + ntimes)
>>>>
>>>> ;---Calculate i,j locations of data closest to set of lat/lon points
>>>> lats = (/28.290147,28.379555/)
>>>> lons = (/-16.377643,-16.585276/)
>>>> nlatlon = dimsizes(lats)
>>>> loc = wrf_user_ll_to_xy(a, lons, lats, True) ; 2 x nlatnlon
>>>>
>>>> ; loc = wrf_user_ll_to_ij(a, lons, lats, True) ; 2 x nlatnlon
>>>> ; loc = loc - 1 ; wrf_user_ll_to_ij
>>>> returns 1-based indexes
>>>>
>>>> ;---Set up CSV file and header information for the file
>>>> csv_filename = "wrf_2m_temperature.csv"
>>>> system("rm -f " + csv_filename) ; Remove file in case
>>>> it exists.
>>>> fields = (/"TIME", "LAT", "LON", "TEMPERATURE (degC)"/)
>>>>
>>>> ;---Create a header line for CSV file
>>>> dq = str_get_dq()
>>>> fields = dq + fields + dq ; Pre/append quotes to
>>>> field names
>>>> header = [/str_join(fields,",")/] ; Header is field
>>>> names separated
>>>> ; by commas.
>>>> ;
>>>> ; Format to use for writing each variable to CSV file.
>>>> ; If you don't want spaces in CSV file, use the following
>>>> ; format string:
>>>> ; format = "%s,%g,%g,%g"
>>>> ;
>>>> format = "%s,%6.2f,%7.2f,%6.2f"
>>>>
>>>> ;
>>>> ; Loop through each time step and desired list of lat/lon values,
>>>> ; and write a single line of data to CSV file.
>>>> ;
>>>> write_table(csv_filename, "w", header, "%s") ; Write header to CSV
>>>> file.
>>>> do it = 0,ntimes-1
>>>> do nl = 0,nlatlon-1
>>>> nln = loc(0,nl)
>>>> nlt = loc(1,nl)
>>>> lat1 = a[0]->XLAT(0,nlt,nln) ; nearest grid point
>>>> lon1 = a[0]->XLONG(0,nlt,nln)
>>>> alist = [/times(it),lat1,lon1,tk2(it,nlt,nln)/] ; Store data to
>>>> be written in a list.
>>>> write_table(csv_filename, "a", alist, format) ; Write list to
>>>> CSV file.
>>>> end do
>>>> end do
>>>> end
>>>> --
>>>> Borja Sas González
>>>> _______________________________________________
>>>> 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 Associate Scientist, 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
>>>
>>>
>>
>> --
>> Borja Sas González
>>
>
>
> --
> Barry H. Lynn, Ph.D
> Senior Associate Scientist, 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
>
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> 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/20190807/8d806f05/attachment.html>
More information about the ncl-talk
mailing list