[ncl-talk] Time axis in Hovmueller plot
Saran Rajendran
happysaran.raj at gmail.com
Tue Jan 29 13:52:44 MST 2019
Hi Toni,
yeah, that worked. Thank You very much. But one more error still
exists. Could you please check that also.
fatal:Dimension (1) of (vort_hov) is not named and therefore
doesn't have an associated coordinate variable
fatal:["Execute.c":8637]:Execute: Error occurred at or near line 18 in
file hov_sv2cv_2015_test.ncl
1 f = addfile("curv_vort_lat_lon_925hPa_20150101_20151231.nc","r")
2 time=f->time
3 lon=f->longitude
4 lat=f->latitude
5 u = f->cur_vort(:,:,:)
6 printVarSummary(u)
7 vort_hov = new((/dimsizes(time),dimsizes(lon)/),float) ; this is
the 2-dimensional variable you use for the Hovmoeller diagram
8 printVarSummary(vot_hov)
9 do time_step = 0,dimsizes(time)-1
10 do lon_step = 0,dimsizes(lon)-1
11 vort_timeseries = avg(u(time_step,:,lon_step)) ; a loop to
average the data by latitude for each time step and longitudinal step
12 end do
13 end do
14 res=True
15 res at cnFillOn = True ; turn on color
fill
16 res at cnFillPalette = "BlWhRe"
17 res at gsnLeftString="cv"
18 plot = gsn_csm_hov(wks, vort_timeseries(:,{60:120}), res )
On Wed, Jan 30, 2019 at 2:05 AM Toni Klemm <toni-klemm at tamu.edu> wrote:
> Hi Saran,
>
> I think the errors all occurred because of the first one. Change
>
> 9 do time_step = 0,dimsizes(time)
>
> and
>
> 10 do lon_step = 0,dimsizes(lon)
>
>
> to
>
> do time_step = 0,dimsizes(time)*-1*
> and
> do lon_step = 0,dimsizes(lon)*-1*
>
> This should let you run the do-loops without crashing.
>
> To explain the “-1”, the position of the first item in a list in NCL is
> *zero*, not one. So the position of the last item in a list is not the
> length of the list (“dimsizes()”), but “dimsizes()-1”. Without “-1” you
> were trying to call on a list item that wasn’t there, which is what
> “subscript *out of range*” means.
>
> Best,
> Toni
>
>
>
> *Toni Klemm, Ph.D.*Postdoctoral Research Associate
> Department of Ecosystem Science and Management
> College of Agriculture and Life Sciences
> Texas A&M University, College Station, TX
> Contributor to the Early Career Climate Forum <http://www.eccforum.org>
> www.toni-klemm.de | @toniklemm <http://twitter.com/toniklemm>
>
>
>
>
>
>
>
>
> On Jan 29, 2019, at 2:09 PM, Saran Rajendran <happysaran.raj at gmail.com>
> wrote:
>
> Hi Toni
>
> Thank You for that valuable information. I thoroughly read
> your code and I understood my mistake. I modified my code as per your
> correction, but I'm getting some errors again.
>
> These are the errors:
>
> fatal:Subscript out of range, error in subscript #2
>
> fatal:An error occurred reading u
>
> fatal:["Execute.c":8637]:Execute: Error occurred at or near line 11 in
> file hov_sv2cv_2015_test.ncl
>
>
> fatal:Dimension (1) of (vort_timeseries) is not named and therefore
> doesn't have an associated coordinate variable
>
> fatal:["Execute.c":8637]:Execute: Error occurred at or near line 18 in
> file hov_sv2cv_2015_test.ncl
>
>
>
> And the modified code is
>
> 1 f = addfile("curv_vort_lat_lon_925hPa_20150101_20151231.nc","r")
>
> 2 time=f->time
>
> 3 lon=f->longitude
>
> 4 lat=f->latitude
>
> 5 u = f->cur_vort(:,:,:)
>
> 6 printVarSummary(u)
>
> 7 vort_hov = new((/dimsizes(time),dimsizes(lon)/),float) ; this is
> the 2-dimensional variable you use for the Hovmoeller diagram
>
> 8 printVarSummary(vot_hov)
>
> 9 do time_step = 0,dimsizes(time)
>
> 10 do lon_step = 0,dimsizes(lon)
>
> 11 vort_timeseries = avg(u(time_step,:,lon_step)) ; a loop to
> average the data by latitude for each time step and longitudinal step
> 12 end do
> 13 end do
>
> 14 res=True
>
> 15 res at cnFillOn = True ; turn on color
> fill
>
> 16 res at cnFillPalette = "BlWhRe"
>
> 17 res at gsnLeftString="cv"
>
> 18 plot = gsn_csm_hov(wks, vort_timeseries(:,{60:120}), res )
>
> On Tue, Jan 29, 2019 at 7:55 PM Toni Klemm <toni-klemm at tamu.edu> wrote:
>
>
> Hi Saran,
>
> That’s for two reasons:
>
> (1) You are only using the first time dimension of your data, but all
> latitude and all longitude dimensions, so by your own setting you're
> plotting latitude/longitude, not time/longitude:
>
> u = f->cur_vort(0,:,:)
>
>
> (2) You need to prepare the data in the correct way first, so that you can
> plot it. Your code below only does the plotting, but not the data
> manipulation so that you can actually plot what you need. Average the
> latitude dimension (y axis) for each longitudinal grid cell “column” and
> each time step, and then plot the data.
> This might work (though, it might not. I didn’t test it. Please read
> through it and try to understand it. Don’t just plug it into your script.
> Also, there might be an easier way to do this):
>
> u = f->cur_vort(:,:,:) ; u contains all your (3-dimensional)
> curvature vorticity data
>
> vort_timeseries = new((/dimsizes(time),dimsizes(lon)/),float) ; this is
> the 2-dimensional variable you use for the Hovmoeller diagram
>
> do time_step = 0,dimsizes(time)
>
> do lon_step = 0,dimsizes(lon)
>
> vort_timeseries(time_step,lon_step) = avg(u(time_step,:,lon_step)) ;
> a loop to average the data by latitude for each time step and longitudinal
> step
>
> end do ; lon_step loop
>
> end do ; time_step loop
>
>
> vort_timeseries should be the data you need for your Hovmoeller diagram.
>
>
> Good luck,
> Toni
>
>
> Toni Klemm, Ph.D.
> Postdoctoral Research Associate
> Department of Ecosystem Science and Management
> College of Agriculture and Life Sciences
> Texas A&M University, College Station, TX
> Contributor to the Early Career Climate Forum
> www.toni-klemm.de | @toniklemm
>
>
>
>
>
>
> On Jan 29, 2019, at 5:16 AM, Saran Rajendran <happysaran.raj at gmail.com>
> wrote:
>
> Dear NCL users,
>
> When I tried this script to plot hovmueller diagram
> (time vs longitude) of curvature vorticity, the code runs. But instead
> of time in y-axis, it shows latitude. I want time in the y-axis.
>
>
> f = addfile("curv_vort_lat_lon_925hPa_20150101_20151231.nc","r")
>
> u = f->cur_vort(0,:,:)
>
> wks = gsn_open_wks("png","hovmueller_cv_2015")
>
> res=True
>
> res at cnFillOn = True ; turn on color fill
>
> res at cnFillPalette = "BlWhRe"
>
> res at gsnLeftString="cv"
>
> plot = gsn_csm_hov(wks, u(:,{60:120}), res )
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
>
>
>
> --
> Saran Rajendran
> Junior Research Fellow
> Centre for Atmospheric Science
> Indian Institute of Technology Delhi
>
>
>
--
Saran Rajendran
Junior Research Fellow
Centre for Atmospheric Science
Indian Institute of Technology Delhi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20190130/a23f5d73/attachment.html>
More information about the ncl-talk
mailing list