Plotting a temporal circular cycle
draw_cycle(ncfile, values)
ncfile = '#' list of files [filen];[slice];[tvarn];[varn]
[filen]: name of the file
[dimslice]: '|' list of [dimn],[dimrange]
[dimn]: name of the dimension
[dimrange]: range for the slice
* [integer]: which value of the dimension
* -1: all along the dimension
* -9: last value of the dimension
* [beg]@[end]@[inc] slice from [beg] to [end] every [inc]
* NOTE, no dim name all the dimension size
[tvarn]: name of the variable time ('WRFtime', for times from WRF)
[varn]: name of the variable to use for the values
values = [dimxyfmt];[valaxis];[axeskind];[axislab];[axisunits];[rangevals];[cyclevals];[figcyckind];
[cycticks];[timevals];[labels];[graphtit];[legvalues];[kindfig];[fign];[outfile];[close]
[dimxyfmt]=[dxs],[dxf],[Ndx],[ordx],[dys],[dyf],[Ndy],[ordy]: format of the values at each
axis (or single 'auto' for 'auto','auto')
[dxs]: style of x-axis ('auto' for 'pretty')
'Nfix', values computed at even 'Ndx'
'Stringlist', a given list of strings
'Vfix', values computed at even 'Ndx' increments
'pretty', values computed following aprox. 'Ndx' at 'pretty' intervals (2.,2.5,4,5,10)
[dxf]: format of the labels at the x-axis
[Ndx]: Number of ticks at the x-axis (for 'Stringlist', '@' list of labels)
[ordx]: angle of orientation of ticks at the x-axis ('auto' for horizontal)
[dys]: style of y-axis ('auto' for 'pretty')
[dyf]: format of the labels at the y-axis
[Ndy]: Number of ticks at the y-axis
[ordy]: angle of orientation of ticks at the y-axis ('auto' for horizontal)
[valaxis]: which axes should be used for the data
[axeskind]: type of axes to be plotted
'centered': crossed at 0,0 at the center of the figure
'box': around the figure
[axislab]: Label for the values-axis ('!' for spaces)
[axisunits]: units of the values-label
[rangevals]: Range of the axis with the values (single 'None' for 'auto','auto')
[val1],[val2]: tacking the provided ',' separated list of desired [val1] and [val2]
'auto': automatically set up range using minv and maxv
'extremescentered': extremes automatically centered on zero by computing from data -absmax, absmax;
absmax=max(abs(minval),maxval)
'meancentered': extremes automatically centered on mean by computing from data minv+meanv, maxv-meanv;
meanv=(minval + maxval)/2.
[cyclevals] = [cycle],[cycle0]
[cycle]= numbers of time steps to use for the cycle
[cycle0]= initial position of time steps whithin the cycle
[figcyckind]=[kindname],[valueskind] kind of cycle plot
'cloud',[color]: values as a cloud of points
[color]: name of the colorbar to use changing after the end of each cycle ('auto' for 'rainbow')
'lines',[color],[width],[type]: values a continuous line
[color]: name of the colorbar to use changing after the end of each cycle ('auto' for 'rainbow')
[width]: width of the line to use for all lines ('auto' for 0.5)
[type]: type of the line to use for all lines ('auto' for '-')
[cycticks]= [cycpos]@[cyclab] characteristics of the ticks for the cycle
[cycpos]: ',' list of positions for the ticks (less than cycle/2)
[cyclab]: ',' list of labels for the ticks (less than cycle/2)
[timevals]: [timen]|[units]|[kind]|[tfmt] time labels characteristics
[timen]; name of the time variable
[units]; units string according to CF conventions ([tunits] since
[YYYY]-[MM]-[DD] [[HH]:[MI]:[SS]], '!' for spaces)
[kind]; kind of output
'Nval': according to a given number of values as 'Nval',[Nval]
'exct': according to an exact time unit as 'exct',[tunit];
tunit= [Nunits],[tu]; [tu]= 'c': centuries, 'y': year, 'm': month,
'w': week, 'd': day, 'h': hour, 'i': minute, 's': second,
'l': milisecond
[tfmt]; desired format
[labels]: ',' list of labels for the legend ('None' for no-labels, '!' for spaces)
[graphtit]: title of the figure '!' for spaces
[legvalues]=[locleg]|[fontsize]:
[locleg]: location of the legend (0, autmoatic)
1: 'upper right', 2: 'upper left', 3: 'lower left', 4: 'lower right',
5: 'right', 6: 'center left', 7: 'center right', 8: 'lower center',
9: 'upper center', 10: 'center'
[fontsize]: font size for the legend (auto for 12)
[kindfig]: kind of output figure (png, pdf, ps)
[fign]: name of the figure (without extension)
[close]: whether figure should be close or not
* Plotting using continuos lines
$ python ${pyHOME}/drawing.py -o draw_cycle -f 'Forcing_tairstats_OKstomate_CRUNCEP_spinup_SESA.nc;time_counter,-1|stats,2;time_centered;tair_stats' -S 'auto;y;centered;tair;K;None;12,3;lines,rainbow,horizontal,auto,-,2.;1,3,5@Sep/Nov,Jan/Jul,Mar/May;year|seconds!since!1958-01-01!00:00:00|exct,5,y|%Y;SESA;year-evolution!of!CRUNCEP!tair!forcing!at!SESA;0|10;png;cycle_tair_CRUNCEP_spinup_SESA;yes'
* Plotting using cloud of points
$ python ${pyHOME}/drawing.py -o draw_cycle -f 'Forcing_tairstats_OKstomate_CRUNCEP_spinup_SESA.nc;time_counter,-1|stats,2;time_centered;tair_stats' -S 'auto;y;box;tair;K;None;12,3;cloud,rainbow,horizontal,auto,x,2.;1,3,5@Sep/Nov,Jan/Jul,Mar/May;year|seconds!since!1958-01-01!00:00:00|exct,5,y|%Y;tas;year-evolution!of!CRUNCEP!tair!forcing!at!SACZ;0|10;png;cycle_tair_CRUNCEP_spinup_SACZ;yes'