[ncl-talk] List subscripting used on non-list variable, can't continue

Borja Sas González saszalez at gmail.com
Thu Aug 8 01:05:16 MDT 2019


Thanks Barry and Dennis.

Dennis' solution of replacing "addfile" with "addfiles" makes the script
work successfully.

El mié., 7 ago. 2019 a las 14:40, Dennis Shea (<shea at ucar.edu>) escribió:

> 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
>
>

-- 
Borja Sas González
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20190808/83106a03/attachment.html>


More information about the ncl-talk mailing list