[ncl-talk] can't figure out why could not plot time axis properly
Ruksana Abedin
ruksana.abedin at gmail.com
Fri Nov 27 05:24:05 MST 2015
Hi Rick,
Sorry for sending two mails for one issue. I wanted to inform you that the
model data file has
Time coordinate : 12 steps
RefTime = 1959-12-01 00:00:00 Units = days Calendar = 360_day
2006-12-30 12:00:00 2007-01-30 12:00:00 2007-02-30 12:00:00 2007-03-30
12:00:00
2007-04-30 12:00:00 2007-05-30 12:00:00 2007-06-30 12:00:00 2007-07-30
12:00:00
2007-08-30 12:00:00 2007-09-30 12:00:00 2007-10-30 12:00:00 2007-11-30
12:00:00
Also, I want to plot the values on the 15th of the each month instead of
30th. Please help me to do this change.
Best regards,
Ruksana
On Fri, Nov 27, 2015 at 12:07 PM, Ruksana Abedin <ruksana.abedin at gmail.com>
wrote:
> Hi Rick,
>
> Thank you for your suggestion. Yes, you are right, labels had only two
> values
>
> Variable: labels
> Type: string
> Total Size: 16 bytes
> 2 values
> Number of Dimensions: 1
> Dimensions and sizes: [2]
> Coordinates:
> (0) 12
> (1) 01
>
> I have fixed this and now the x-axis shows 1-12 for the months. Thank you
> so much for your help.
> Can I change this to Jan, Feb... Dec using ncl? Any suggestion will be
> highly appreciated.
>
> With many thanks and regards,
> Ruksana
>
> On Thu, Nov 26, 2015 at 5:37 PM, Rick Brownrigg <brownrig at ucar.edu> wrote:
>
>> Hi,
>>
>> I'm not certain, and don't have a good way to test at the moment.
>> However, a hint might be the variable "incr = 1"
>>
>> Maybe print out the variable "labels" ... I' guess that it only contains
>> two values. Likewise for for PPT_obs&time(:,1).
>>
>> Hope that helps, but please write back to the list if not.
>>
>> Rick
>>
>>
>> On Wednesday, November 25, 2015, Ruksana Abedin <ruksana.abedin at gmail.com>
>> wrote:
>>
>>> Hi.
>>>
>>> Can you please help me to find out why I could not plot the time axis
>>> properly?
>>>
>>> Below given the script anf the ouput. The axis should show 2-10 but only
>>> showing 2-3. How can I change this to Feb-Nov?
>>>
>>> Thank you for your kind support.
>>>
>>> Best regards,
>>> Ruksana
>>>
>>>
>>> ;*****************************************************
>>> 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/csm/shea_util.ncl"
>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/contrib/time_axis_labels.ncl"
>>> ;*****************************************************
>>> begin
>>> ;*****************************************************
>>> ;read in data
>>> ;*****************************************************
>>> f0=addfile ("/ouce-home/students/rege1218/WAH2_SAS_Results_1985_2011/
>>> wah2_sas_1985_2007.part.Bdesh.ymonmean.nc", "r");
>>> f =
>>> addfile("/ouce-home/students/rege1218/Observations/APHRO_Asian_Monsoon_1963-2007/APHRO_Bdesh_ppt_1985_2007_ymonmean.nc",
>>> "r")
>>> ;*****************************************************
>>> ; parameters
>>> ;*****************************************************
>>>
>>> PPT_mod = f0->field90(:,0,0,0)
>>> PPT_mod = PPT_mod*86400
>>>
>>> PPT_obs = f->precip
>>> time = f->time
>>> x = PPT_obs&time
>>> timax = dimsizes(time)-1
>>>
>>> fldmean = wgt_areaave_Wrap(PPT_obs,1.0,1.0,1)
>>>
>>> ;--convert the time proleptic_gregorian calendar to UTC date
>>> utc_date = cd_calendar(time,0)
>>>
>>> ;-- set date variable names
>>>
>>> year = tointeger(utc_date(:,0))
>>> month = tointeger(utc_date(:,1))
>>> day = tointeger(utc_date(:,2))
>>> hour = tointeger(utc_date(:,3))
>>> minute = tointeger(utc_date(:,4))
>>> second = utc_date(:,5)
>>>
>>> ;-- write date as string (MM)
>>> date_str_i = sprinti("%0.2i",month)
>>>
>>> ;-- create the time strings, plot every axis annotation
>>> incr = 1
>>> labels = (/date_str_i(0:incr)/)
>>>
>>> ;-- set t resources
>>> res = True
>>> res at trXMinF = time(0) ; time minimum on axis
>>> res at trXMaxF = time(timax) ; time maximum on axis
>>> res at tmXBMode = "Explicit" ; explicit time setting
>>> res at tmXBValues = PPT_obs&time(:incr) ; axis tick
>>> position
>>> res at tmXBLabels = labels
>>>
>>>
>>> colors = (/"blue","violet"/)
>>> labels = (/"RCM_ppt","OBS_ppt"/)
>>>
>>> wks = gsn_open_wks("eps","annpptcycle")
>>>
>>> res =True
>>> res at gsnDraw = False
>>> res at gsnFrame = False
>>> res at gsnPaperOrientation = "portrait"
>>>
>>> res= True ; plot mods desired
>>> res =True
>>> res at gsnMaximize= True
>>> res at gsnDraw = False
>>> res at gsnFrame = False
>>> res at gsnPaperOrientation = "portrait"
>>>
>>>
>>> res= True ; plot mods desired
>>> res at tiMainString = "Bangladesh with Larger Region"
>>> res at tiYAxisString = "mm/day"
>>> res at xyLineThicknessF = (/3,3/)
>>> res at trYMinF = 0.0
>>> res at trYMaxF = 20.0
>>>
>>>
>>> res at xyLineColor = colors(0)
>>> plot0 = gsn_csm_xy(wks,x,PPT_mod,res)
>>>
>>> res at xyLineColor = colors(1)
>>> plot1 = gsn_csm_xy(wks,x,fldmean,res)
>>>
>>> overlay(plot0,plot1)
>>>
>>>
>>> ; Attach a legend
>>>
>>> lgres = True
>>> lgres at lgLineColors = colors
>>> lgres at lgItemType = "Lines"
>>> lgres at lgLabelFontHeightF = 0.2
>>> lgres at lgBoxMinorExtentF = 0.2
>>> lgres at vpWidthF = 0.2
>>> lgres at vpHeightF = 0.2
>>> lgres at pmLegendDisplayMode = "Always"
>>> lgres at pmLegendWidthF = 0.05
>>> lgres at pmLegendHeightF = 0.04
>>> lgres at xyExplicitLabels = labels
>>> lgres at lgBoxMinorExtentF = 0.3
>>> legend = gsn_create_legend(wks, 2, labels, lgres)
>>>
>>> amres = True
>>> amres at amJust = "BottomRight" ; Use bottom right corner
>>> of box for determining its location.
>>> amres at amOrthogonalPosF = -0.22
>>> amres at amParallelPosF = 0.4
>>>
>>> annoid = gsn_add_annotation(plot0, legend, amres) ; add legend to
>>> plot
>>>
>>> draw(plot0)
>>>
>>> frame(wks)
>>>
>>> end
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20151127/fd3e1f61/attachment.html
More information about the ncl-talk
mailing list