Fri Dec 16 22:38:44 PST 1994

Xmgr Release v3.01 patchlevel #3

(C) COPYRIGHT 1991-1994 Paul J Turner
All Rights Reserved

XMGR IS PROVIDED "AS IS" AND WITHOUT ANY WARRANTY EXPRESS OR IMPLIED. THE
USER ASSUMES ALL RISKS OF USING  XMGR. THERE IS NO CLAIM OF THE
MERCHANTABILITY OR FITNESS FOR A PARTICULAR  PURPOSE.

YOU MAY MAKE COPIES OF XMGR FOR YOUR OWN USE, AND MODIFY THOSE COPIES.
YOU MAY NOT DISTRIBUTE ANY MODIFIED SOURCE CODE OR DOCUMENTATION TO USERS 
AT ANY SITES OTHER THAN YOUR OWN.

This is xmgr Release 3.01pl3, a plotting tool for workstations using Motif/X.
Source code is available via anonymous ftp to:

    ftp.ccalmr.ogi.edu [129.95.72.34]:/CCALMR/pub/acegr/xmgr-3.01pl3.tar.Z

To build xmgr, cd to xmgr-3.01/src, edit the Makefile and type 'make', 
or use the Imakefile. I don't use imake in the course of development so 
there are most likely problems with the Imakefile.

For a demo, in xmgr-3.01/examples is a script 'dotest' (see the file 
README.ex in the examples subdirectory about the particulars of the 
script), edit 'dotest' to make sure that the variable ACEGR is pointing
to the correct executable. You might let me know about problems you may 
encounter running the demos. Some of the demos are for color systems 
only and will not draw meaningful graphs on mono or grayscale systems.

Xmgr 3.01 has been compiled on SGIs, RS6000s, Decstations, DEC
Alpha, Suns (SunOS 4.1.x and Solaris), HP 7xx, and Linux. I'm very interested 
in compilation on other platforms.

On some systems, the file pars.c will need to be compiled separately. Use the 
'cc' command provided in the Makefile to compile pars.c, then 'make' to 
resume the compilation.

RELEASE NOTES:

This version will not compile on systems using X11R3 with Motif 1.0x.

Documentation is in better shape but a lot of work remains.

Linux is now my primary development system.

There is now a mailing list for users of ACE/gr send mail to:

        majordomo@admin.ogi.edu

with a body of (not in the "Subject:" line):

        subscribe acegr

to subscribe. Majordomo is a mail list management package, and automatically
handles additions and removals from the list. For information about majordomo
at our site, sent mail to majordomo@admin.ogi.edu with a body of

        help

Use the address, acegr@admin.ogi.edu, to send mail to the list.

Please use the mailing list for comments, suggestions, and bug reports,
but keep in mind that there are > 200 people on the list.

CHANGES:
-----------------------------------------
From 3.01pl2 to 3.01pl3

* Push n Zoom did not save the tick precision.

* Added ISO Latin encodings by Przemek Klosowski (przemek@rrdbartok.nist.gov).
  You can now display the Angstrom symbol. There is no on screen display of
  the extended characters (something will show, but it won't be right). 3.02
  will use the xvertext routines so that it will be a bit more WYSIWYG.
  Use \c to go into the upper 128 characters and \C to return to normal.
  \cE\C is the Angstrom symbol.

* Numerous functions were declared XtCallbackProc when they should've been
  void.

* Fixed some broken links in the HTML documentation.

From 3.01 to 3.01pl2

PostScript documentation provided by Bob Barta (bob@f2ahp3.jhuapl.edu),
look in the contrib directory xmgr-3.01/contrib/ps.

GR_HELPFILE and GR_HELPVIEWER were incorrectly specified in
the Makefile.

Bugs in a couple of PanelChoice items in the tick popups led to
problems with SGI (and possibly SUN) servers. Thanx to 
Joe English  for pointing this out.

Blank lines are now used as set separators. If this behavior
causes problems, look in files.c (search for 'commented') and 
uncomment the specified lines in readxy().

Assumption about the way realloc() works was incorrect - there is no
guarantee the the additional memory is zero'ed - this led to core dumps
on SGIs when using the -maxsets commandline parameter.

getvptr() in pars.yacc returned pointers from sets in the current graph
only.

arrange() used for the -arrange command line option was broken.

From 3.00 to 3.01

The following should be closed for 3.01

In Regions/Extract points, the To set is off by one and set 0 cannot
be used as a destination.

HDF variables with names containing imbedded blanks not read.

Nonlinear curve fitting module broken (this is not a 
supported feature).

DX and DY in the yacc grammar refer to X and Y of the current set.
Formerly, these referred to the span of X and Y wrt to the current 
graph.

Selecting the set and graph in Data/Transformations/Histogram have
no effect. Next available set in the current graph is used for the
result.

XYRT data sets can generate errors in PostScript output.
Could be due to small radii.

Delete points in regions causes core dump.

Interpolation module in Data/Transformations not implemented.
For a later release.

Information about hot links was not saved properly, nor was
the popup updated when hot link info was read in from a file.

-----------------------------------------
From 2.xx to 3.00

* Documentation is now done using HTML and Mosaic.

* additional command line parameters for creating sets from
  block data:

  -bxy col1:col2

  will create a set using the current set type (default is XY) using
  column 1 and column 2 from the most recently read set of block data.
  col1 and col2 are integers indicating the number of the column - where
  column number start from 1. For example:

  xmgr -block block.d -bxy 1:4 -bxy 2:6

  will read block.d and generate 2 sets of type XY using columns
  1 and 4 and 2 and 6.

  xmgr -block block.d -type xydy -bxy 1:3:4

  will read  block.d and generate a set of type XYDY (an XY set with
  error bars) using column 1 and 3 for X and Y, and column 4 for the 
  error bars.

* Enhancements to the Interleaf driver, contributed by Kidambi Sreenivas 
  (sree@erc.msstate.edu) with help from Sudarshan Kadambi 
  (sudi@erc.msstate.edu) from the original by Mike Putnam (putnam@nosc.mil).

* Limited netCDF support

With help from Chris Webster (chris@chinook.atd.ucar.EDU), limited support
for netCDF has been included. I may include the ability to slice higher
dimensioned variables, but for now, only 1d variables are supported.

The usage is as follows:

New command line options

-netcdf [netCDF file]
-netcdfxy [xvar or "null"] [yvar]

Where xvar and yvar are the names of the variables to read.

if xvar == "null", then load the index of yvar.

These command line options may be used to read variables from
a netCDF file. For example:

xmgr -netcdf t.nc -netcdfxy null y

Reads y from t.nc and loads to X the index (starting from 1).

xmgr -netcdf t.nc -netcdfxy x y -netcdfxy x1 y1

Reads x and y from t.nc, then x1 and y1 from the same file.
2 sets are created, both of type XY, one with (x, y), the
other composed of (x1, y1).

another example reading data from 2 CDF files:

xmgr -netcdf t.nc -netcdfxy x y -netcdf t2.nc -netcdfxy x1 y1


New popup that works as follows:

---------------------------------------
   File/Read netCDF

   Select X:    Select Y:

   netCDF file:
   Load to set:
   Autoscale on read

   Accept   Files...   Update   Query   Done
---------------------------------------

Enter the name of the netCDF file in the text item labelled
"netCDF file:" then click on "Update" (note that if -netcdf
[filename] was used on the command line, this step is not
needed, as the lists will be loaded automatically). This will 
read the names of all one dimensional variables into the 
two scrolled lists.  The leftmost list is for X and the 
rightmost for Y. There is an additional item in the X 
list called INDEX (I'm hoping here that no one names a 
variable INDEX, maybe I need to change this) that indicates 
that for X, use the index of the Y variable (numbering 
starts from 1).

Select on a variable from the X list to use for X and select
a variable from the Y list (only single selections for now). 

If information about the selected variables is desired, click on 
Query.

Select a set using "Load to set:" - the default is to load
to the next available set.

If things look OK, click on Accept to read the data and load 
the set. Use "Autoscale on read" to set/unset autoscaling
after a successful read.

To read data from a new CDF file, enter the filename, or use
File... to scan the directory. Click on Update to freshenup
the X and Y selection lists.

Presently only sets of type XY are created.

* Sort sets operates on sets of any type

* Prototypes.

* Added Hot links - this allows a set to be linked to a particular file
or pipe. In the Data/Hot links popup are items to link, unlink, and
update the hot link. The only supported set type is XY (this will 
change to include other set types). 

* Added a page layout item like the XView version. There is a problem
with servers that have backing store - if the layout is free (meaning
that the drawing area will resize to fit the size of the main window)
and ACE/gr is resized, the canvas will not expand to fill the frame.
A workaround is to hit the Page/Free toggle to force a new size for
the drawing area.

Problems and works in progress:

  * Region operations only work on sets of type XY
  * Log plot major tick spacing needs to be in terms of magnitudes.
  * Changing to PostScript fonts has led to problems with the mapping
	of Greek and special characters (Hershey fonts are still used
	for on screen text). I've tried to adhere to the PostScript
	collating sequence for Greek characters - I've not got to the
	special characters yet, so this remains a problem. There is also
	a difference in size between the Hershey and PostScript fonts
	that leads to problems in getting WYSIWYG hardcopy.
  * The fills and patterns drawn on the screen and the .mif output are
	not matched in the PostScript output. I know how to do it,
	but I haven't found the time.

Comments and bug reports to the acegr mailing list:

acegr@admin.ogi.edu

Items not appropriate for the mailing list should be sent to:

pturner@amb4.ccalmr.ogi.edu

Paul J Turner
Department of Environmental Science and Engineering
Oregon Graduate Institute of Science and Technology
20000 NW Walker Road
PO Box 91000
Portland, OR  97291-1000