<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>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.</div><div><br></div><div>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.</div><div><br></div><div>When executing it, the following error is printed:</div><div><br></div><font face="monospace">fatal:List subscripting used on non-list variable, can't continue<br>fatal:["Execute.c":8637]:Execute: Error occurred at or near line 51 in file csv.ncl</font></div><div dir="ltr"><br><div>The script is:</div><div><br></div><div><div><font face="monospace">load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"</font></div><div><font face="monospace">load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"</font></div><div><font face="monospace"><br></font></div><div><font face="monospace">begin</font></div><div><font face="monospace">  </font></div><div><font face="monospace">  a = addfile("/home/bsas/wrf_wind/WRF/test/em_real/wrfout_d03_2019-08-07_00:00:<a href="http://00.nc">00.nc</a>","r")</font></div><div><font face="monospace"><br></font></div><div><font face="monospace">  times = wrf_user_list_times(a) ; "2019-08-01_12:00:00", etc</font></div><div><font face="monospace">  tk2   = wrf_user_getvar(a,"T2",-1) ; T2 in Kelvin</font></div><div><font face="monospace"><br></font></div><div><font face="monospace">  times  = wrf_user_list_times(a)</font></div><div><font face="monospace">  ntimes = dimsizes(times)</font></div><div><font face="monospace">  print("ntimes = " + ntimes)</font></div><div><font face="monospace"><br></font></div><div><font face="monospace">;---Calculate i,j locations of data closest to set of lat/lon points</font></div><div><font face="monospace">  lats = (/28.290147,28.379555/)</font></div><div><font face="monospace">  lons = (/-16.377643,-16.585276/)</font></div><div><font face="monospace">  nlatlon = dimsizes(lats)</font></div><div><font face="monospace">  loc = wrf_user_ll_to_xy(a, lons, lats, True)   ; 2 x nlatnlon</font></div><div><font face="monospace"><br></font></div><div><font face="monospace">;  loc = wrf_user_ll_to_ij(a, lons, lats, True)   ; 2 x nlatnlon</font></div><div><font face="monospace">;  loc = loc - 1                                  ; wrf_user_ll_to_ij returns 1-based indexes</font></div><div><font face="monospace"><br></font></div><div><font face="monospace">;---Set up CSV file and header information for the file</font></div><div><font face="monospace">  csv_filename = "wrf_2m_temperature.csv"</font></div><div><font face="monospace">  system("rm -f " + csv_filename)                ; Remove file in case it exists.</font></div><div><font face="monospace">  fields = (/"TIME", "LAT", "LON", "TEMPERATURE (degC)"/)</font></div><div><font face="monospace"><br></font></div><div><font face="monospace">;---Create a header line for CSV file</font></div><div><font face="monospace">  dq     = str_get_dq()</font></div><div><font face="monospace">  fields = dq + fields + dq                      ; Pre/append quotes to field names</font></div><div><font face="monospace">  header = [/str_join(fields,",")/]              ; Header is field names separated</font></div><div><font face="monospace">                                                 ; by commas.</font></div><div><font face="monospace">;</font></div><div><font face="monospace">; Format to use for writing each variable to CSV file.</font></div><div><font face="monospace">; If you don't want spaces in CSV file, use the following</font></div><div><font face="monospace">; format string:</font></div><div><font face="monospace">;     format = "%s,%g,%g,%g"</font></div><div><font face="monospace">; </font></div><div><font face="monospace">format = "%s,%6.2f,%7.2f,%6.2f"</font></div><div><font face="monospace"><br></font></div><div><font face="monospace">;</font></div><div><font face="monospace">; Loop through each time step and desired list of lat/lon values,</font></div><div><font face="monospace">; and write a single line of data to CSV file.</font></div><div><font face="monospace">;</font></div><div><font face="monospace">  write_table(csv_filename, "w", header, "%s")   ; Write header to CSV file.</font></div><div><font face="monospace">  do it = 0,ntimes-1</font></div><div><font face="monospace">    do nl = 0,nlatlon-1</font></div><div><font face="monospace">      nln   = loc(0,nl)</font></div><div><font face="monospace">      nlt   = loc(1,nl)</font></div><div><font face="monospace">      lat1  = a[0]->XLAT(0,nlt,nln)    ; nearest grid point</font></div><div><font face="monospace">      lon1  = a[0]->XLONG(0,nlt,nln)</font></div><div><font face="monospace">      alist = [/times(it),lat1,lon1,tk2(it,nlt,nln)/]   ; Store data to be written in a list.</font></div><div><font face="monospace">      write_table(csv_filename, "a", alist, format)     ; Write list to CSV file.</font></div><div><font face="monospace">    end do</font></div><div><font face="monospace">  end do</font></div><div><font face="monospace">end</font></div></div><div>-- <br></div><div dir="ltr" class="gmail_signature">Borja Sas González</div></div></div></div></div>