[ncl-talk] Error in Skew-T Plotting Script

Dennis Shea shea at ucar.edu
Thu Oct 22 17:55:10 MDT 2015


My speculation is that different grib tables are being accessed.

JIRA-2297

On Thu, Oct 22, 2015 at 5:36 PM, Dennis Shea <shea at ucar.edu> wrote:
> There appears to be a naming error.
>
> When I do
>
> %> ncl_filedump ruc2anl_252_20090605_2000_000.grb | less
>
> I get the variable names you use.
>
> ===
>
> When I execute your script I ran into errors. I inserted a
>
> f = addfile(...)
> print(f)                ; should match ncl_filedump BUT they don't
> ... NCL need to fix
>
> The variable names and dimension names are changed from the ncl_filedump.
>
> I will fill out a JIRA ticket.
>
> However, we can use the variable names from the 'print(f)', the script
> works correctly.
>
>
> ===
> See attached
>
>
>
>
>
> On Thu, Oct 22, 2015 at 4:55 PM, Michelle Serino <mmserino at tamu.edu> wrote:
>> Good afternoon,
>>
>> I am modifying one of NCAR's scripts (skewt_6.ncl) to plot a skew-T with
>> RUC2 Analysis data in grib1 format.  I have modified the script accordingly
>> to reflect the change in file type and to apply to the case I am studying,
>> but most everything else I have left as it was originally.  I am receiving
>> an error that, after some extensive research and attempts, I have been
>> unable to fix, so I appreciate any help that anyone can provide.
>>
>> My code:
>>
>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
>>
>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
>>
>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/skewt_func.ncl"
>>
>>
>> begin
>>
>>
>> ; --- Read RUC GRIB file------------;
>>
>>     dir  = "/atmomounts/home/grad/mserino/Desktop/"
>>
>>     fil  = "ruc2anl_252_20090605_2000_000.grb"
>>
>>
>>     ; force a 'time' dimension
>>
>>     setfileoption("grb","SingleElementDimensions","Initial_time")
>>
>>
>>     f     = addfile(dir+fil,"r")
>>
>>     p     = int2flt(f->lv_ISBL2)               ;  ( lv_ISBL2 )
>>
>>     time  = f->initial_time0_encoded  ; yyyymmddhh.hh_frac
>>
>>
>>     ; RUC grid point locations
>>
>>     lat2d = f->gridlat_252              ; ( ygrid_0, xgrid_0 )
>>
>>     lon2d = f->gridlon_252
>>
>>     print("lat2d: min="+min(lat2d)+"  ;  max="+max(lat2d))
>>
>>     print("lon2d: min="+min(lon2d)+"  ;  max="+max(lon2d))
>>
>>
>>     ;p     = p*0.01                    ; change units
>>
>>     p at units = "hPa"                   ; skewT, mixhum_ptrh use mb (hPa)
>>
>>
>>     ; --- Specify one or more locations
>>
>>
>>     lat   = (/ 37.25    , 43.25 /)
>>
>>     lon   = (/-107.75 ,-101.75   /)
>>
>>     npts  = dimsizes(lat)
>>
>>
>>     ; create plot(s)
>>
>>
>>     skewtOpts                 = True
>>
>>     skewtOpts at DrawColAreaFill = True    ; default is False
>>
>>
>>     dataOpts   = True
>>
>>     dataOpts at PrintZ = True
>>
>>
>>     do n=0,npts-1           ; loop over each grid pt
>>
>>
>>         ; find grid point nearest the user specified location
>>
>>         nm  = getind_latlon2d (lat2d,lon2d, lat(n), lon(n))
>>
>>         nn  = nm(0,0)
>>
>>         mm  = nm(0,1)
>>
>>         print("location=("+lat(n)+","+lon(n)+")
>> grid=("+lat2d(nn,mm)+","+lon2d(nn,mm)+")")
>>
>>
>>
>>         tk   = f->TMP_252_ISBL(0,:,nn,mm)
>>
>>         z    = f->HGT_P0_252_ISBL(0,:,nn,mm)
>>
>>         rh   = f->R_H_P0_252_ISBL(0,:,nn,mm)
>>
>>         u    = f->U_GRD_252_ISBL(0,:,nn,mm)
>>
>>         v    = f->V_GRD_252_ISBL(0,:,nn,mm)
>>
>>
>>         ; change units and calculate needed variables
>>
>>         tc   = tk - 273.15
>>
>>         tc at units= "degC"
>>
>>
>>         q    = mixhum_ptrh (p, tk, rh, 2)
>>
>>         q at units = "kg/kg"
>>
>>
>>         tdc  = dewtemp_trh(tk,rh) - 273.15
>>
>>         tdc at units = "degC"
>>
>>
>>         wspd = sqrt(u^2 + v^2)
>>
>>         wdir = wind_direction(u,v,0)
>>
>>
>>         itime= toint(time)
>>
>>         skewtOpts at tiMainString    = "RUC: "+itime+":
>> ("+lat(n)+","+lon(n)+")"
>>
>>
>>         ; each location will have a different file name
>>
>>         wks  = gsn_open_wks ("png",
>> "ruc2anl_skewt_"+itime+"_"+sprinti("%0.3i",n))
>>
>>         skewt_bkgd = skewT_BackGround (wks, skewtOpts)
>>
>>         skewt_data = skewT_PlotData   (wks, skewt_bkgd, p,tc,tdc,z,
>> wspd,wdir, dataOpts)
>>
>>         draw (skewt_bkgd)
>>
>>         draw (skewt_data)
>>
>>         frame(wks)
>>
>>     end do
>>
>>
>> end
>>
>>
>> The error I get regards the lines in red:
>>
>> Either file (f) isn't defined or variable (lv_ISBL2) is not a variable in
>> the file
>>
>>
>> The correct file, f, is defined because I am able to print its contents.
>> The variable "lv_ISBL2" is also a defined variable in the file, so I am not
>> sure why it is not recognized.  My code is attached, and the RUC2 data are
>> available at the link below.  Thank you again, and I look forward to hearing
>> from you.
>>
>>
>> ruc2anl_252_20090605_2000_000.grb
>>
>>
>> Best regards,
>>
>>
>> Michelle Serino
>> M.S. Candidate
>> Texas A&M University
>> Atmospheric Sciences Dept.
>> Eller O&M, Suite 1017
>> College Station, TX 77843
>> (484) 769-0949
>>
>>
>> _______________________________________________
>> ncl-talk mailing list
>> ncl-talk at ucar.edu
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>


More information about the ncl-talk mailing list