Go: plot_radar command line version

Concise Go documentation

Getting started

The session

File handling

Navigating scans

Parameters and coordinate systems

Plotting maps and RTIs

Graphs and line plots

Magnetometer file handling and plotting

Postscript printing

Customized (macro) commands

Briefs tutorial


Go (irreg. vb.: I go, we go, they plot_radar) provides IDL routines for manipulating and plotting SuperDARN HF radar data in a command line environment. The routines available are described below, under headings relating to file handling, map plotting etc. Any suggestions for improvement of this help facility should be directed to Steve Milan (Steve.Milan@ion.le.ac.uk).

Several often-used routines have full names and abbreviations: ab. are indicated in (). Arguments supplied to the routines are listed; those in curly parenthases {} are optional. Where several options are mutually exclusive, they are separated by |. Some arguments must be supplied in string form, ie. encapsulated in ''. Arguments in square brackets [] indicate arrays.

Routines dealing with more advanced features of Go, and which are not needed for browsing files, are indicated by an asterisk. Be ruthless in your censorship of such commands.

Getting started

Go is generally run from a dedicated directory in the users area, containing the file go (a copy of which resides in ~ets/idl/Cutlass/go). Typing go should set up the required environment variables, start IDL, and compile the Go routines. This directory can also include a preferences directory (see later) and any files containing macro routines created by the user.

The session

print_info (info) List the current status of Go, including information about the file, scanning mode, selected parameters, coordinate system, and postscript status. Times are of the format hhmm (ddd) or hhmm ss (ddd) where ddd is the day number.

print_scan_mode_info (scan_mode) List the scanning modes and changes in the lag to the first gate and gate length, contained in the current fit file.

commands List the Go commands available, and the syntax of their use. Also available in browser format here.

custom_commands (custom) List the composite commands (macros) created by the user (ie. files in the current directory with file extension .go). Such files are executed with @custom_command.go (see Customized commands).

The preferences file

A file entitled preferences can be created in the preferences directory, containing Go commands to be run on start-up. This file can also include commands controlling the actions of the news and history facilities.

News facility

set_news, 'off' On start-up, text is displayed which high-lights exciting new Go features. This becomes very annoying after a while and can be switched off by judicious placement of the set_news, 'off' command in the preferences file.

print_news Output the news text.

History facility

A record is kept of all commands used during the session. Typing


opens a widget displaying these commands, allowing commands to be repeated by use of the mouse. Double-clicking on a command executes it, whilst single-clicking places the command in an edit window. Pressing ENTER executes the editted command. The Clear button clears the edit window. The Delete button removes the high-lighted command from the history. The Done button returns the user to the command line.

clear_history Commands are stored from the previous session and will appear in the history widget. To turn over a new leaf at the start of each session add clear_history to the preferences file.

add_history, 'command' To ensure a specific command appears in the history widget add add_history commands to the preferences file.

*Map limits default file

The last word to add vis-a-vis the preferences directory is the file radar_plot_lims.dat. This file holds the default map coordinate limits for each of the SuperDARN radars in the various coordinate systems. This file usually resides in the directory ~cutlass/idl/tables, but if present in the user's preferences directory will be loaded instead. In this case the map limits can be edited to provide the user's own defaults. The format of the file is as follows:

Station name
ymin ymax xmin xmax (geog coords)
ymin ymax xmin xmax (mag coords)
ymin ymax xmin xmax (range coords)
Station name...

File handling

read_new_file (file), 'filename' {'par1', 'par2', 'par3', time=[hhmm,hhmm], /all} Read a .fit file (the file extension should not be specified). Go searches through the directories specified in the environment variable SD_FITROPEN_PATH which usually include: the current directory; the users directory on the cutlass disc (ie. /cutlass/data/$USER); the Finland and Iceland incoming directories. File names are of the form 'yymmddhhs' where s is the station identifier (e.g. f for Finland and e for Iceland) and are usually of 2 hours duration. File names of the form 'yymmddhhs_' are concatenated and of greater than 2 hours duration. Once the file is loaded, Go attempts to identify the type of scan employed by the radar, and interprets it accordingly. Under certain conditions this can fail, and scan_filter should be used to rectify this.

When a new file is loaded, if the radar has changed then the map coordinate limits are set to their default values, otherwise they are left unchanged. The RTI time limits are set to the first two hours of the file (unless the auto_rti_limits option has been specified). Other parameters, such as the colour scale, scatter flag, coordinate system, parameter list and current parameter, and the current beam and range gate numbers remain unchanged.

Three parameters are loaded from the file, usually pwr_l, vel, and width_l; these can be changed by specifying the three parameters desired (all three must specified).

A subset of the file can be loaded if the time option is specified, giving the start and end times required; these times are applied in all subsequent loadings of the same file. If a new file is loaded, this option is turned off. /all specifies that the whole file should be loaded.

list_paths List the directories in the current search path specified by SD_FITROPEN_PATH. Each directory is numbered, for use with catalogue.

add_path,'path' Add a directory to the current search path.

remove_path,'path' Remove a directory from the current search path.

catalogue (cat) {,n | /all} Produce a list of .fit files contained in the user's fit directory /cutlass/data/$USER. Any other directory in the search path (SD_FITROPEN_PATH) can be viewed by supplying its number (see list_paths) or all can be viewed by specifying /all.

next_file and prev_file Load the next or last 2 hour .fit file, if it can be found in one of the directories specified in SD_FITROPEN_PATH.

resize, hours When first run Go has arrays large enough to load fit files containing 2 hours worth of data. If more is needed then resize, hours will increase the array allocation; the arrays are cleared when this is done. Resize can then be used to decrease the array size when less data is needed. Loading a file larger than the array currently selected size produces an error, and only the first hours hours are stored. Running Go with go hours has the same effect.

* choose_filter, scan_id {st_id=radar_id_number} Using the scan_id, determine the scanning mode of the radar and call scan_filter to construct scans from the radar data. In some cases the radar id has to be supplied to determine if normal scans are clockwise or counter-clockwise (west and east in a radar pair).

* scan_filter, beam_order, scan_marks | /normal_cw | /normal_ccw | /unknown {,scan='scan name', subset=[l,m,n]} Assign scan numbers to each beam data block according to the scan filter. The scan filter comprises two equal length arrays beam_order and scan_marks:

     beam_order - the order in which the beams were scanned
     scan_marks - instructions on how to construct scans from the beams
The instructions to scan_marks are:
     0 - ignore beam
     1 - include beam in current scan
     2 - start of new scan
a) e.g. normal clockwise scan data (selected by setting /normal_cw):
     beam_order=[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15]
     scan_marks=[ 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
b) e.g. a scanning pattern 13,14,15, 14, 13,14,15, 14, 13,... To construct scans comprising beams 13,14,15, ignoring the additional beam 14:
     scan_marks=[ 2, 1, 1, 0]
c) With the same scanning pattern... To construct scans comprising of just every beam 14:
     scan_marks=[ 0, 2, 0, 2]
The scan filter then assigns a scan number to each beam data block. The scan numbers (beam_scan) run from 0 to no_scans-1, where no_scans is the number of scans the filter managed to identify. A scan number of -1 is given to each beam data block not to be included in a scan. For instance in example b) the scan numbers associated to the first few beam data blocks in a file would be:
     data block no:   0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12,...
     beam direction: 13, 14, 15, 14, 13, 14, 15, 14, 13, 14, 15, 14, 13,...
     scan number:     0,  0,  0, -1,  1,  1,  1, -1,  2,  2,  2, -1,  3,...
Two scanning modes are built into the scan filter, clockwise and counter-clockwise normal scans, selected by /normal_cw and /normal_ccw respectively; in these instances beam_order and scan_marks do not need to be specified. An unknown scan mode can be selected with /unknown - in this case each beam data block is assigned to a separate scan. If the scanning mode described by the scan filter fails to conform to the data then the /unknown scan filter is applied.

A name can be applied to the scan mode, specified with scan=''.

In the case that the scanning mode changes in the middle of the file, subset=[l,m,n] can be used to apply different scan filters to different parts of the data. l and m specify the start and end beam data blocks to apply the scan filter to, and n indicates the scan number from which to number the scans found.

* list_scans {,n,n} Give a list of the scans identified by the scan filter and the times of the first beams in each scan. The start and end scan numbers of the list can optionally be set.

* list_beams {,n,n} Give a list of the beam data blocks, the beam directions and the scan numbers assigned by the scan filter. The start and end beam numbers of the list can optionally be set.

Navigating scans

goto_scan (go), n Go to scan number n. Scans are numbered between 0 and no_scans-1.

goto_scan_time (go_time), hhmm {,ss} Go to the scan starting closest to the time specified (seconds optional). In the case of concatenated files, the data can span midnight; times relating to the second day have 24 added, eg. for the scan starting at 0130 UT on the second day, use goto_scan_time,2530.

skip_scan (skip) {,n, /quiet} Skip n scans (default 1). For n < 1, skip backwards. After skipping the required number of scans, the current scan and scan time are reported; this can be turned off with /quiet.

browse {,columns, rows} Browse opens a widget control panel with buttons which allow movement through and display of the loaded file. < and > move backwards and forwards one screen's worth of data (columns x rows panels). << and >> move backwards and forwards without updating the display, and |< and >| move to the start and end of the file without updating the display. Pressing Plot displays the current scan. The scan time information can be editted and will move to the requested position in the file when enter is pressed; only the first 4 digits are used (i.e. the hhmm information). Three buttons display the current parameter list, and pressing these re-displays the data in the selected parameter. Pressing done ends the browse session. The current scan is updated to the last scan displayed (or the scan in the top left corner of the display if several panels are displayed).

Parameters and coordinate systems

When a file is loaded, three out of all the parameters measured by the radar are stored in memory. The available parameters can be listed with list_parameters. By default, the three parameters in the parameter list are pwr_l, vel and width_l. Of the three parameters in the parameter list, one is the current parameter, used for plotting.

list_parameters List the parameters measured by the radar, the parameters in the parameter list, and the current parameter.

set_parameter_list (par_list), 'par1', 'par2', 'par3' Change the parameters in the parameter list and read the data from the .fit file.

default_parameter_list Change the parameters in the parameter list to the defaults: pwr_l, vel and width_l.

set_parameter (par), 'par' Select one of the parameters in the parameter list to be the current parameter.

pwr_l Select pwr_l as the current parameter (as long as it is in the parameter list).

vel Select vel as the current parameter (as long as it is in the parameter list).

width_l Select width_l as the current parameter (as long as it is in the parameter list).

set_scale, min, max {,levels} Set the colour scale used for plotting data. A default scale is set when a parameter is first chosen. min, max specifies the new scale. levels specifies the number of colours within the colour scale (default 10). A warning is issued if the scale step (max-min)/levels is non-integer.

default_scale Reset the colour scale to the default settings for the current parameter.

set_beam, n Set the beam number used for RTI and graph plotting.

set_range, n Set the range gate number used for graph plotting.

set_scatter, {0 | 1 | 2 | 3} Set the scatter flag to determine how to plot ground and ionospheric scatter. If a value is not specified, the options are listed. 0: plot all backscatter data; 1: plot ground backscatter only; 2: plot ionospheric backscatter only; 3: plot all backscatter data with a ground backscatter flag. Scatter flags 0 and 3 produce identical output unless the parameter plotted is velocity, in which case all ground backscatter data is identified by a grey colour. Ground backscatter is identified by a low velocity (|v| < 50 m/s) and a low spectral width.

set_coords, 'geog' | 'geog/stereo' | 'mag' | 'mag/stereo' | 'range' | 'gate' Set the coordinate system in which to plot data. 'geog' and 'mag' produce maps on rectilinear geographic and geomagnetic longitude and latitude axes. 'geog/stereo' and 'mag/stereo' produce stereographic projections of geographic and geomagnetic coordinates; 'geog/stereo' superimposes coastlines on the map. Note, the stereographic projections are more computationally intensive than the other coordinate systems and maps can take some time to generate. 'range' produces rectilinear axes of ground range from the radar. 'gate' is for use with RTI plots only, plotting the y axis in terms of range gates. The default is 'mag'. If no argument is specified then set_coord just resets the map limits to their default values.

set_map_limits (map), xmin,xmax,ymin,ymax | x=[xmin,xmax] | y=[ymin,ymax] {/default} Adjust the x and y axis limits for map projections. In the case of coordinate systems with rectilinear axes (all but the stereographic projections) the x and y limits have their usual interpretation. In the case of stereographic projections, ymin and ymax are the lower and upper latitude limits and xmin and xmax are the radial extent of the projection (in degrees) centred on a longitude; for instance a good combination for the Finland radar (in 'geog/stereo' coordinates) is set_map_limits,0,40,60,95: latitude limits of 60N and 95N (95 means 5 degrees over the pole), with radial extent of 20 degrees centred on 20E. /default resets the map limits to their default values.

set_invert, 'on' | 'off' Swap the latitude scale on maps and RTI plots. This allows southern hemisphere maps to be displayed with greatest latitude at the top.

set_rti_limits (time), hhmm, hhmm {,date='yymmdd'} Set the time limits for RTI and graph plotting. The optional date allows times refering to days other than that of the currently loaded file to be set. Add 24 to hours past the midnight boundary.

Plotting maps and RTIs

For most plotting routines columns and rows can optionally be specified. This allows plotting of multiple panels on one page. For the more basic plotting routines which plot individual panels, columns, rows, column, and row must be specified, indicating the number of panels across and down, and the actual position of the panel to be plotted. column, row are numbered from zero, so 4,4,0,0 indicates that the top left-hand panel of 16 (4x4); 4,4,3,3 refers to the bottom right-hand corner. If columns, rows, column, and row are not specified, the default is 1,1,0,0, ie. a single panel on the page. The plotting of ground and ionospheric scatter is controlled by the use of set_scatter.

plot_map {,columns,rows, skip=n, /beams | /allbeams} Plot a map of the currently selected parameter in the current scan in the currently selected coordinate system. The optional arguments columns and rows specify if multiple plots are required; in this case the current scan number is updated to point to the next scan. Setting skip=n plots only every nth scan. /beams indicates that the positions of the beams and range gates are to be superimposed on the map, or the top left-hand panel if several are plotted; /allbeams superimposes the f-o-v on all panels plotted.

plot_rti {,columns,rows,beams=[n,n,...] | /allbeams, /no_marks} Plot a range-time-intensity plot. If beams is not specified then the current beam is used. beams is an array containing the beams to plot; if multiple plots are specified then the length of beams must correspond to the number of panels. If /allbeams is specified then all beams are plotted in a 4x4 format. If /no_marks is not set then vertical dotted lines indicate where changes in the lag to first range or gate separation have occurred. The time limits of RTI plots are set with set_rti_limits.

plot_polar {,columns,rows, /clip, /oval | oval=Kp} Plot a polar map of the current scan. The coordinate system is geomagnetic latitude and magnetic local time. The whole polar cap above 50N is shown unless /clip is set, in which case the panel just contains the field of view. If /oval is specified then the Feldstein auroral oval is superimposed on the plot (default Kp=3); oval=Kp sets the Kp activity.

plot_summary {,columns,rows | /all | /overview, beams=[n,m], skip=n} Plot a summary panel with beams on the abscissa and range gates on the ordinate. /all plots 18x4 panels - all 72 normal scans of a 2 hour file. /overview plots 9x2 panels - every fourth of a 2 hour file. skip=n increments the scan by n after each panel (default 1). beams=[n,m] plots a limited range of beams (between n and m).

plot_2_par, 'par','par' {,columns,rows,/beams | /allbeams} Plot the 2 parameters specified on one page. The two panels are stacked, so rows must be even.

movie {n,n, /beams, /vels} Create a movie, either of all scans or between two specified scans. /beams overlays the beam pattern. /vels superimposes line-of-sight vectors of velocity on the maps.

movie_2_par, 'par','par' {,n,n, /beams | /polar} Create a movie with 2 parameters plotted side by side, either of all scans or between two specified scans. /beams overlays the beam pattern. /polar plots the maps in polar format.

next_map and prev_map Skip one scan forwards or backwards and plot it.

set_format, /landscape | /portrait, /colourscale | /greyscale, /scale | /elacs, /sardines | /guppies, /square | /free A general command for setting the format of the plot window. /landscape or /portrait determine the orientation of the page. /colourscale or /greyscale determine whether the plot is to be in colour or greyscale. The colour-/greyscale can be reversed by setting /elacs and returned to normal with /scale. /sardines allows RTIs to be stacked without gaps and time axes between each panel; this is turned off with /guppies. If format is /free then panels are rectangular, with lengths of sides dependent on the number of panels across and up the page. If format is /square then panels are forced to be square (naturellement).

set_time_format, 'hhmm' | 'hh:mm' | 'hh:mm:ss' Set the format for time axes on RTI plots and graphs. 'hhmm' format plots minutes superscripted after the hours (the default). With multiple plots on a page the 'hh:mm' or 'hh:mm:ss' formats are more legible.

set_ps_font, 'on' | 'off' When plotting to a postscript file, text can appear in the postscript defined font ('on') or the idl interval vector font ('off'). Default is 'on'.

The following routines do the actual plotting work, and are called by the previous routines to build up the page. They are not needed under usual circumstances, but can be used to construct more complicated page layouts if necessary. Most routines that plot panels (plot_*_panel) take the options /no_x and /no_y to surpress the plotting of x or y axis annotation.

*plot_title {'subtitle', main_title='main_title'} Plot the title, subtitle, date, and scanning mode information. If main_title is not specified then the default is 'SUPERDARN PARAMETER PLOT'. If a subtitle is not specified the default is radar_name: current_parameter.

*define_panel {,columns,rows,column,row, /square, /bar} Define a panel on the screen for subsequent plotting routines. /square forces the panel to be square. /bar ensures that space is available on the right-hand side of the page for a colour bar.

*plot_map_panel {,columns,rows,column,row, /info} See plot_map. /info automatically annotates the panel.

*plot_map_info {,columns,rows,column,row} Annotate a map panel.

*plot_rti_panel {,columns,rows,column,row, beam=n, /info, /no_marks} See plot_rti. beam=n specifies a particular beam, otherwise the current beam is used. /info automatically annotates the panel.

*plot_rti_info {,columns,rows,column,row, beam=n} Annotate an RTI panel.

*plot_summary_panel {,columns,rows,column,row, beams=[n,n]} See plot_summary.

*plot_polar_panel {,columns,rows,column,row, /clip} See plot_polar.

*overlay_oval {Kp=n} Superimpose the Feldstein oval on a map, default Kp=3.

*overlay_polar_oval {Kp=n} Superimpose the Feldstein oval on a polar plot, default Kp=3.

*plot_beams {,columns,rows,column,row,/force_square} Superimpose the beam pattern on a panel.

*define_beams Set up arrays x and y of the map positions of each beam and range gate combination for the current coordinate system.

*plot_colour_bar {,rows,row} Plot a colour bar for the current parameter at the right-hand side of the page. If several colours bars are to be plotted, then rows specifies the number and row the position of the current bar. The upper and lower levels of the colour bar can be adjusted with the set_scale command.

Graphs and line plots

Time series of parameters can be plotted. The limits of the time axis are taken from the RTI time limits (see set_rti_limits). Points are joined by lines, and marked with circles, filled for ionospheric scatter and open for ground scatter. The plotting of ionospheric and ground backscatter is controlled by set_scatter.

plot_graph {,columns,rows, beams=[], ranges=[], y=[ymin,ymax], exclude=[ymin,ymax], /nopoints, /bar} Plot a time series of the current parameter. columns and rows specify the number of panels to plot. beams and ranges are arrays containing the beams and range gates from which to take the data for each panel; the lengths of these arrays must be equal to the number of panels to plot. If only a single panel is to be plotted and beams and ranges are not set then the current beam and range gate are used. y sets the limits of the y axis, otherwise this is set automatically. /nopoints turns off the plotting of points on the graph. exlude allows data outside limits to be ignored and not plotted. /bar sizes the plot window to allow space for a colour bar.

plot_2_graphs, 'par', 'par' {,columns,rows, beams=[], ranges=[], y1=[ymin,ymax], y2=[ymin,ymax]} Plot a time series of two parameters on the same axes. y1 and y2 set the limits of the y axes for the two parameters, otherwise these are set automatically. The first and second parameters are joined by full and dotted lines and have their y axes on the left and right of the panel respectively.

plot_stack {,columns,rows, beams=[], ranges=[], inc=n, exclude=[ymin,ymax], /zeros, /nopoints} Plot a stack, or waterfall, plot of the current parameter. beams is an array containing the beams to plot, and must have a length equal to the number of panels to plot. ranges is an array specifying the range gates of the data to plot in each panel. For instance beams=[5,10] and ranges=[10,20,30] would plot two panels, one for beam 5 and one for beam 10, each panel containing time series of range gates 10, 20, and 30. inc specifies an offset to be added to each time series. If /zeroes is set then a dotted line indicates the zero level of each curve. /nopoints turns off the plotting of points on the graph. exlude allows data outside limits to be ignored and not plotted.

plot_range {,columns,rows,y=[ymin,ymax], exclude=[ymin,ymax], legend="", /nopoints, /noline, /bar} Plot a graph of parameter as a function of range along the beam, for the current beam and scan. The range is taken from the currently selected coordinate system. See also plot_graph. If multiple panels are specified then the scan number is incremented after each.

*plot_graph_panel {,columns,rows,column,row, pos=[beam,range], /left, /right, y=[ymin,ymax], exclude=[ymin,ymax], /nopoints} See plot_graph. pos specifies the beam and range gate to plot, /left and /right specify if only one y axis is to be drawn (for cases where two different parameters are to be plotted); this also controls whether a full or dotted line is used to join points. y specifies the limits of the y axis; if unspecified this is set automatically. exlude allows data outside limits to be ignored and not plotted.

*plot_stack_panel {,columns,rows,column,row, beam=n, ranges=[], inc=n, exclude=[ymin,ymax], /zeroes, /nopoints} See plot_stack. beam specifies the beam for the current panel; the current beam is used if this is unspecified. exlude allows data outside limits to be ignored and not plotted.

*plot_range_panel {,columns,rows,column,row,y=[ymin,ymax], exclude=[ymin,ymax], legend="", /nopoints, /noline, /bar} See plot_range.

Magnetometer file handling and plotting

magfile,['file 1','file 2',...,'file n'] or 'file1', {dir=directory} The files are required to be in IAGA format and have a ".iaga" extansion. The location of the required file can be defined by setting dir (e.g. dir='/cutlass/data/image/'). The default is to search the directories defined by the SD_MAGOPEN_PATH environment variable.

plot_mag, comp=['x','y','z'] or /all {columns,rows,column,row, , filt=['x','y','z'], time=[start,end], /Pi2, station='station', high=high, low=low, /noSDARN, /noMean }

The components to be plotted are defined by the comp=['x','y','z'] array. If the data is in H,D and Z format then the components should be referenced by X,Y and Z respectively (e.g. comp=['x','y'] will plot the X and Y or H and D components depending of the data format). The keyword /all will set comp=['x','y','z'],thus producing a plot of all three components. The columns,rows,column,row, usage is the same as for Plotting maps and RTIs.

The /noSDARN keyword will override the page size set when plotting with SuperDARN data (this should only be set when plotting only the magnetometer data as the page size is larger). Setting the keyword /noMean will plot absolute components (i.e. the components mean value is not removed) the default is to zero mean the data.

The station name may be set by the station='station' option. A table of some of the station names is included in the software. To determine whether the station name is held in the table then use maginfo.

The plot_mag procedure also alows filtering of the data by setting the high and low options (the values are in seconds). Setting only the high and low values will filter and plot the components specified in the comp array as well as plotting the unfiltered component values. To plot only filtered values set the filt array with the same reference values as for comp and NOT the comp array. Setting the keyword /Pi2 sets the filter values high and low to 200 and 20 seconds respectively. If the comp and filt arrays are unset and the /Pi2 is set then all three filtered components will be plotted (i.e. plot_mag, /Pi2).

The time axis of the plot will either be set as for the last call of set_rti_limits or maybe set with time=[start,end] where start and end have the form hhmm. If there is no SDARN data loaded or the time has not been set the default is to plot the entire data set.

maginfo Returns information about the location of the magnetometer station stored in the IAGA file (see the IAGA format ) and the name of the station (from the three letter identification code) if it has been defined within the software.

magcat,{dir='directory'} Returns a catalogue of magnetometer data from the directories defined by the system variable SD_MAGOPEN_PATH or in the directory specified by dir='directory'. The files are identified only if they have a ".iaga" extension.

Postscript printing

Graphical output is generally sent to the IDL plotting window. To produce hardcopy this output has to be diverted to a postscript file. In the simplest instance, this involves invoking ps_start, then creating the desired output, followed by ps_close. A postscript file, piccy.ps will then exist in the users Go area. This can be printed from within Go with ps_print.

ps_start {,'filename', /bw | /colour} Start a new postscript file. By default the filename is piccy.ps, but any filename can be specified. /bw and /colour indicate whether monochrome or colour plotting is required; the default is /colour.

ps_landscape and ps_portrait Change the page orientation to landscape or portrait; the default is landscape.

ps_pause Pause output to the postscript file, and send subsequent output to the IDL plotting window. Invoking ps_pause a second time resumes output to the postscript file.

ps_print {,'filename', /bw | /colour} Send a postscript file to the printer. The default filename is piccy.ps. The output is sent to a colour or monochrome printer depending on the status of the printer flag (see info output). This can be over-ridden with /bw or /colour.

ps_rmfiles Remove all postscript files (.ps file extension) from the current directory (use with care!).

Customized commands

Macro commands, several Go commands grouped togther, can be created by the user. These are held in files in the user's Go area with file extensions .go. Customized commands can include normal IDL routines and commands. An example of a customized command would be the file summary_rti.go:

    plot_title,'Summary plot'


This example plots three RTIs from 0000 UT to 2400 UT of pwr_l, vel and width_l for beam 5, along with three colour bars, in a similar format to the standard summary plots. The velocity scale is set to -500 m/s to 500 m/s. As the /sardines format option is specified, the RTIs have no margins between them, and the two upper RTI panels have their x-axis annotation surpressed with the /no_x option.

Customized commands are invoked with @custom_command.go (so the above example would be @summary_rti.go). The commands available in the user's Go area can be listed with custom_commands or custom.

Brief tutorial

Start Go.

Type cat to get a catalogue of available .fit files. Choose a suitable file and type file,'filename'.

Type plot_map - wow, it's amazing isn't it.

Type plot_map,4,4 - god lord, I'm glad I'm wearing my brown trousers!

To jump to another time in the file, type goto_scan_time, hhmm where hhmm is a time within the file. Then plot_map again - lordy!

Typing vel and then plot_map plots out the velocities.

Typing plot_rti,1,3,beam=[3,6,9] will just knock your socks off.

The rest is as easy as falling off a bicycle...