[ncl-talk] [ncl-install] ncl track

Dennis Shea shea at ucar.edu
Sun Dec 10 08:34:29 MST 2017


PLease: Do **NOT** send NCL usage  questions to ncl-install at ucar.edu or
ncl at ucar.edu.
Send only to ncl-talk at ucar,edu

---
 59   do ifs=0,nfs-1
 60     f = addfile(fs(ifs)+".nc","r")
 61     time(ifs) = wrf_user_list_times(f)
---
Left-Hand-Side:  'ifs' is an integer. Hence, time(ifs) is size 1
Right-Hand-Size: Before line 61 add:

    TIME = wrf_user_list_times(f)
     print(TIME)

This will tell you the number of times on the current file. Likely, it is >
1

===
The demonstration scripts are templates based on user applications. They
are not 'plug in a file or files and it it will work.'

You must look at your data and make appropriate changes.


On Sun, Dec 10, 2017 at 12:19 AM, Karimar Ledesma-Maldonado <
k.ledesma at nevada.unr.edu> wrote:

> Hi!
>
> I'm trying to plot the track of Hurricanne Maria but I continue having
> this error:
>
> fatal:Dimension sizes on right hand side of assignment do not match
> dimension sizes of left hand side
> fatal:["Execute.c":8640]:Execute: Error occurred at or near line 61 in
> file ujum.ncl
>
> I'm trying to figure it out what is the problem. This is the script that
> I'm using:
>
> ;********************************************************
> ; Plot storm stracks from wrfout files.
> ;********************************************************
> ;
> ; JUN-18-2005
> ; So-Young Ha (MMM/NCAR)
> ; SEP-01-2006
> ; Slightly modified by Mary Haley to add some extra comments.
> ; ===========================================
>
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRF_contributed.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"
>
>
> begin
>
> ; DATES
>   date = (/1512,1600,1612,1700,1712,1800,1812,1900/)
>   ndate = dimsizes(date)
>
>   sdate = sprinti("%4.0i",date)
>
> ; Experiment name (for legend)
>   EXP = (/"EXP_I"/)                ; (/"EXP_I","EXP_II","EXP_III"/)
>   nexp = dimsizes(EXP)
>
> ; To get lat/lon info.
>
>   a = addfile("wrfout_d03_2017-09-18_00_00_00","r")
>
>   lat2d = a->XLAT(0,:,:)
>   lon2d = a->XLONG(0,:,:)
>   dimll = dimsizes(lat2d)
>   nlat  = dimll(0)
>   mlon  = dimll(1)
>
> ; Sea Level Pressure
>   slp = wrf_user_getvar(a,"slp",0)
>   dims = dimsizes(slp)
>
> ; Array for track
>   time = new(ndate,string)
>   imin = new(ndate,integer)
>   jmin = new(ndate,integer)
>   smin = new(ndate,integer)
>
> ; =======
> ;  ndate
> ; =======
>   fs = systemfunc("ls wrfout*00")
>   nfs= dimsizes(fs)
>   if(nfs .ne. ndate) then
>      print("Check input data:"+nfs+" .ne. "+ndate)
>   end if
>
>   do ifs=0,nfs-1
>     f = addfile(fs(ifs)+".nc","r")
>     time(ifs) = wrf_user_list_times(f)
> ;    print(time(ifs))
>     slp2d = wrf_user_getvar(f,"slp",0)
>
> ; We need to convert 2-D array to 1-D array to find the minima.
>     slp1d     = ndtooned(slp2d)
>     smin(ifs) = minind(slp1d)
>
> ; Convert the index for 1-D array back to the indeces for 2-D array.
>     minij     = ind_resolve(ind(slp1d.eq.min(slp2d)),dims)
>     imin(ifs) = minij(0,0)
>     jmin(ifs) = minij(0,1)
>
> ;    print(time(ifs)+" : "+min(slp2d)+" ("+imin(ifs)+","+jmin(ifs)+")")
>   end do
> ;
>
> ; Graphics section
>
>   wks=gsn_open_wks("ps","track")              ; Open PS file.
>   gsn_define_colormap(wks,"BlGrYeOrReVi200")  ; Change color map.
>
>   res                     = True
>   res at gsnDraw             = False             ; Turn off draw.
>   res at gsnFrame            = False             ; Turn off frame advance.
>   res at gsnMaximize         = True              ; Maximize plot in frame.
>
>   res at tiMainString = "Hurricane Isabel"       ; Main title
>
>   WRF_map_c(a,res,0)                          ; Set up map resources
>                                               ;    (plot options)
>   plot = gsn_csm_map(wks,res)                 ; Create a map.
>
> ; Set up resources for polymarkers.
>   gsres                = True
>   gsres at gsMarkerIndex  = 16                  ; filled dot
>   ;gsres at gsMarkerSizeF = 0.005               ; default - 0.007
>   cols                  = (/5,160,40/)
>
> ; Set up resources for polylines.
>   res_lines                      = True
>   res_lines at gsLineThicknessF     = 3.           ; 3x as thick
>
>   dot  = new(ndate,graphic)    ; Make sure each gsn_add_polyxxx call
>   line = new(ndate,graphic)    ; is assigned to a unique variable.
>
> ; Loop through each date and add polylines to the plot.
>   do i = 0,ndate-2
>      res_lines at gsLineColor           = cols(0)
>      xx=(/lon2d(imin(i),jmin(i)),lon2d(imin(i+1),jmin(i+1))/)
>      yy=(/lat2d(imin(i),jmin(i)),lat2d(imin(i+1),jmin(i+1))/)
>      line(i) = gsn_add_polyline(wks,plot,xx,yy,res_lines)
>   end do
>
>   lon1d = ndtooned(lon2d)
>   lat1d = ndtooned(lat2d)
>
> ; Loop through each date and add polymarkers to the plot.
>   do i = 0,ndate-1
>      print("dot:"+lon1d(smin(i))+","+lat1d(smin(i)))
>      gsres at gsMarkerColor  = cols(0)
>      dot(i)=gsn_add_polymarker(wks,plot,lon1d(smin(i)),lat1d(smin(i)),gsres)
>   end do
>
> ; Date (Legend)
>   txres               = True
>   txres at txFontHeightF = 0.015
>   txres at txFontColor   = cols(0)
>
>   txid1 = new(ndate,graphic)
> ; Loop through each date and draw a text string on the plot.
>   do i = 0, ndate-1
>      txres at txJust = "CenterRight"
>      ix = smin(i) - 4
>      print("Eye:"+ix)
>      if(i.eq.1) then
>         txres at txJust = "CenterLeft"
>         ix = ix + 8
>      end if
>      txid1(i) = gsn_add_text(wks,plot,sdate(i),lon1d(ix),lat1d(ix),txres)
>   end do
>
> ; Add marker and text for legend. (Or you can just use "pmLegend" instead.)
>   txres at txJust = "CenterLeft"
>
>   txid2 = new(nexp,graphic)
>   pmid2 = new(nexp,graphic)
>   do i = 0,nexp-1
>      gsres at gsMarkerColor  = cols(i)
>      txres at txFontColor    = cols(i)
>      ii = ((/129,119,109/))  ; ilat
>      jj = ((/110,110,110/))  ; jlon
>      ji = ii*mlon+jj         ; col x row
>      pmid2(i) = gsn_add_polymarker(wks,plot,lon1d(ji(i)),lat1d(ji(i)),gsres)
>      txid2(i) = gsn_add_text(wks,plot,EXP(i),lon1d(ji(i)+5),lat1d(ji(i)),txres)
>   end do
>
>   draw(plot)
>   frame(wks)
> end
>
>
> I appreciate any help, thanks
>
> *Karimar Ledesma-Maldonado*
> Graduate Student
> Department of Atmospheric Sciences
> Desert Research Institute
> University of Nevada Reno
>
> _______________________________________________
> ncl-install mailing list
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-install
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20171210/264a2c0c/attachment.html>


More information about the ncl-talk mailing list