Grace FAQ

by the Grace Team

v0.4 1999/03/11


This document contains Frequently Asked Questions (FAQ) about Grace, the free 2d plotting tool for scientific data.

1. General Questions

1.1 What is Grace?

Grace is a tool to make two-dimensional plots of scientific data. It runs under various (if not all) flavours of UNIX with X11 and Motif. Its capabilities are roughly similar to GUI-based programs like Sigmaplot or Microcal Origin plus script-based tools like Gnuplot or Genplot. Its strength lies in the fact that it combines the convenience of a graphical user interface with the power of a scripting language which enables it to do sophisticated calculations or perform automated tasks.

Grace is derived from Xmgr (a.k.a. ACE/gr), originally written by Paul Turner.

From version number 4.00, the development was taken over by a team of volunteers under the coordination of Evgeny Stambulchik.

See question Mailing Lists on how to contact the developers.

When its copyright was changed to GPL, the name was changed to Grace, which stands for ``GRaphing, Advanced Computation and Exploration of data'' or ``Grace Revamps ACE/gr''. The first version of Grace available is named 5.0.0, while the last public version of Xmgr has the version number 4.1.2.

Paul still maintains and develops a non-public version of Xmgr for internal use.

1.2 Where can I get Grace?

You can get the newest information about Grace and download the latest version at the Grace home page.

You can fetch it from a mirror site as well. The list of mirror sites can be found at ftp://plasma-gate.weizmann.ac.il/pub/grace/MIRRORS.

1.3 What is the current version of Grace?

Grace is still in the "beta" phase. The current official release is 5.0.2 from March, 1999.

1.4 Where can I get the most recent information about Grace?

Please refer to the official Grace Home Page. There you can also find the latest version of this FAQ, links to the latest release and to mirror sites closer to you.

1.5 What is the difference between Xmgr and Grace?

Apart from the licensing, the main difference is that Grace is WYSIWYG (What You See Is What You Get). This was achieved through a major rewrite of all the mid-level drawing routines and the use of the device-independent Type 1 font rendering library T1lib written by Rainer Menzner. See question T1lib for more information about T1lib.

For help with changing from Xmgr to Grace see section Xmgr to Grace migration guide in the User's Guide (question User's Guide.

As Grace is still under development, there are currently several features of Xmgr which are not yet implemented in Grace. A full compatibility is desirable except for ``bad'' features of Xmgr.

Among the Xmgr features not (yet) implemented in Grace are:

1.6 Why did you change the name?

When the licensing was changed to GPL, Paul wanted to keep the name for his non-public version of Xmgr, so we chose a new name.

1.7 Is Grace free?

Yes. Grace is free in terms of the GNU General Public License (GPL) (see the file LICENSE which comes with Grace or the GNU Home Page for details).

1.8 Who wrote Grace?

The sources of Grace still contain lots of code from Xmgr by Paul Turner. For a list of those who contributed to Grace since then, see the file CHANGES in the Grace distribution.

1.9 Is there a Postscript|LaTeX|HTML|SGML version of this document?

Yes. It is written in SGML which means that all the above versions can easily be created using sgml-tools (see their home page). At the Grace home page (see question Home Page), all these versions are available.

1.10 Who maintains the FAQ?

Until recently, the FAQ had been maintained by Heiko Selber. There is no "official" maintainer right now. If you'd like to take the job, please let us know.

2. Getting Help

2.1 Is there any Literature about Grace?

As of now, Grace is a purely virtual creature living in the net, i.e. there is no printed literature. All relevant literature is currently bundled with Grace. See questions Home Page and User's Guide for details. You can print your own copy of the FAQ, the User's Guide and the Tutorial by converting the DVI files to postscript output.

2.2 Is there a User's Guide available for Grace?

Yes. It is part of the Grace distribution and usually is located in $GRACE_HOME/doc/. There are several versions: the SGML source and HTML, LaTeX, DVI and PS derived from it. You can read the HTML version from a running Grace session by clicking on "Help/User Guide". You need a web browser to read the HTML version (see also question Environment Variables). You can always download the newest version from the Grace homepage (see question Home Page).

The User's Guide is currently quite incomplete, though.

2.3 Is there a Tutorial available for Grace?

Yes. There are several tutorials which give detailed step-by-step information how to achieve various tasks. They are also part of the Grace distribution. You can find them in $GRACE_HOME/doc/.

There are tutorials about creating a simple plot, batch plotting, fitting curves, transformations (graphical - simple ones, interpolation, feature extraction, using the command line), using pipes, overlaying graphs, hot links.

2.4 Where do I get support for Grace?

You have the following options:

2.5 Is there a newsgroup devoted to Grace?

No, there isn't. We feel that a mailing list (see question Mailing Lists) is more appropriate to discuss the topics related to Grace as long the volume of the lists stays low enough.

2.6 Is there a mailing list for Grace?

Yes. Grace has three mailing lists: grace, grace-announce and grace-dev.

See question Subscription for details on how to subscribe.

grace

The first one, unmoderated, serves for general discussions about Grace. This is the list your message should go to if you have a question about Grace. Currently, the volume of this list is about a dozen messages per week.

If you want to write an email to the list, use the address grace@plasma-gate.weizmann.ac.il. This address is not for subscription or unsubscription.

Virtually all developers and most users of Grace have subscribed to this list. So you can be pretty sure that there will be at least one who can help you.

But: no one likes to read the same questions over and over again. So, please refer to other sources of help (see question Support) before asking something that can be found in the documentation.

Instead of subscribing to the list itself you may wish to subscribe to the digest of the list. The digest is sent once in three days or when its size exceeds 32K.

grace-announce

The moderated grace-announce list is for new version or serious bug fix announcements only (which are automatically relayed to the first mailing list, too). The volume of this list is very low, like once a month or less.

grace-dev

The grace-dev mailing list is for developers. It serves for discussions about the future development or details which are usually not interesting to mere users.

There are mailing list archives available for browsing.

2.7 How do I subscribe to the mailing lists?

You can subscribe to any of the Grace mailing lists by sending an email to <LISTNAME>-request@plasma-gate.weizmann.ac.il with no subject line and the only word `Subscribe' (without quotes, of course) in the body of the message.

<LISTNAME> stands for the name of the list you wish to subscribe to, i.e. grace, grace-digest, grace-announce or grace-devel

So the respective addresses are:

grace-request@plasma-gate.weizmann.ac.il

grace-digest-request@plasma-gate.weizmann.ac.il

grace-announce-request@plasma-gate.weizmann.ac.il

grace-dev-request@plasma-gate.weizmann.ac.il

To unsubscribe from a list, same instructions apply, with `Subscribe' being replaced by `Unsubscribe'.

3. Providing Help: Finding and Reporting Bugs

3.1 I think I found a bug in Grace! How do I report it?

First

Make sure that what you found really is a bug.

Second

Try to make sure that it is a bug in Grace, and that the failure is not caused by another piece of software.

Third

Consider upgrading to the newest release of Grace (see question Current Release). The development of Grace is currently rather fast, so your bug might already be fixed.

Fourth

Try to find out if the bug is already known (see question Known Bugs).

Fifth

OK: You have found a new bug. Use w3todo (question Known Bugs) to report it. Follow the instructions on the page and try to be as precise as possible. It won't be much help if you write ``The program crashes.'' Try to find a simple reproducible case. Mention the version of Grace and the operating system you use. Once you submit the bug report, it will be automatically sent to the mailing list. You will usually be notified when the bug is fixed or if we need more information, so don't forget to give your correct e-mail address.

3.2 Is there a list of known bugs?

Yes. You can search and browse the database of known bugs in Xmgr and Grace at the bug report facility w3todo or using the "Help/Comments" menu from within Grace. The database also keeps track of the status of the bug (Confirmed, Working on, Testing, Fixed, Closed, etc.). This is also the place to submit bug reports and wishes.

3.3 I have got an idea! How do I report a wish?

You can submit wishes and suggestions just the way you would submit bug reports (see question Known Bugs). Suggestions for improvement are generally very welcome. It may be possible, however, that the developers are busy or that your wish is rejected for some good reason, so it may be necessary to persuade (better convince) them to get at it.

3.4 I want to help! How can I contribute to grace?

Fine! There are always things to do.

If you are a c programmer, you can almost certainly find something useful to do. Just ask the mailing list. The same applies if you are a technical writer. The documentation will certainly need to be updated, corrected or completed.

Make Grace known to your friends and colleagues. The more users Grace has, the faster it will be improved.

3.5 I like Grace! Can I donate anything to its authors?

No need to (yet). But if you feel like making a donation, choose any charity organization you like. You wanted to give them some money, anyway, right?

4. Installation

4.1 How do I install Grace?

You have the choice: either you compile the sources yourself or you download precompiled binaries. You can get both from the Grace Home Page. Whether binaries for your platforms are available (see question Binaries) depends on whether one of the developers has access to the respective platform and has had time to do it.

It is always a good idea to read the INSTALL file and the READMEs which come with Grace.

4.2 Compilation

What do I need in order to compile Grace?

Grace usually compiles out of the box on a regular UNIX machine. You need an ANSI C compiler (gcc is just fine), the X11 libraries, and Motif-1.2 or above (see question Motif).

You also need certain libraries if you want to export special file formats (see question Output Devices).

In order to read/write sets in the netCDF data format, you will also need the NetCDF libraries.

Furthermore, you might use the XPM libraries for the Grace icon from the XPM home page and the FFTW libraries for fast Fourier transformations from the FFTW home page.

If you want to compile your own changes to certain parts of Grace, you will need a parser generator (yacc or bison).

Most of these (except Motif and probably T1lib and FFTW) are usually part of a regular Linux distribution but probably not of other UNIXes.

How do I compile Grace?

After getting the sources (question Installation) and ungzipping and untaring them (use e.g. gzip -dc grace-5.0.1.tar.gz | tar xvf -), change to the Grace directory and have a look at the files INSTALL and README.configure.

Type ./configure. This checks for the availability of libraries and other stuff on your system. If all went well, two new files, Make.conf and config.h, are created. In very rare cases you may want to manually edit them.

Type make. When the compilation is finished, you can test Grace using make tests. This will give you a slide show demonstrating some nice features of Grace. Then install it to the directory $GRACE_HOME/ (see question Environment Variables) using make install (probably as root).

When I type './configure' I get: ``configure: warning: Motif has not been found; building a GUI-less version''

Check whether Motif (question Motif) is installed on your system. If it is, look at the file config.log: there is a line like this:

configure:5569: checking for main in -lXm

What comes directly after it? Could be a hint.

Use configure with the special --with-motif-includes=DIR and --with-motif-libraries=DIR options.

What is Motif (LessTif)?

Motif is a toolkit library for X11. It provides widgets (buttons, boxes, etc) to be used in graphical user interfaces. Graces makes heavy use of Motif. The original OSF Motif (see http://www.osf.org) is not free. You can buy it from several vendors (at approx. $100 for Linux).

There is, however, a free replacement for Motif called LessTif (see http://www.lesstif.org). LessTif is intended to be a 100% compatible replacement for Motif, but is still under development, so don't expect everything to work exactly as it should. For the purposes of Grace, try using the latest version of LessTif (or at least 0.86.9 and above) - if you don't mind that it's a bit slower than commercial versions of Motif and graphical details may be different. Be aware, however, that occasional crashes might occur under certain circumstances. The LessTif people usually receive many bug reports from the Grace developers, so you can expect bugs in LessTif to be fixed rather quickly.

While compiling Grace I get error messages about missing include files.

The answer to this question varies:

4.3 Are there Grace binaries available? For which platforms?

You will find binaries for several flavours of UNIX and probably a Win32 package at ftp://plasma-gate.weizmann.ac.il/pub/grace/bin/.

4.4 Is there a Windows|OS/2|VMS port of Grace?

Yes, Grace runs on VMS. Just compile it there.

As for Win32 (Windows 95/98/NT) and OS/2, there are ports for these platforms, though they are not "native", i.e. in order to run them, one needs an X server for respective platform.

Both OS/2 and Win32 ports lack some of the functionality (notably, direct printing). A Win32 package should be available at ftp://plasma-gate.weizmann.ac.il/pub/grace/bin/win32/.

A port to OS/2 made by Alexander Mai can be found at http://www.os-2.de/~mai.

5. Using Grace

5.1 How do I start Grace?

There are two ways to invoke Grace. The full-featured GUI-based version is called xmgrace. A batch-printing version is called gracebat (see question Gracebat).

Both are usually located in $GRACE_HOME/bin/.

5.2 Does Grace have an UNDO function?

No. Sorry. Although it would be nice to have such a function, it is very hard to implement. We can only ask you to be careful with certain actions and remember to save often and early (TM).

5.3 Settings

How can I customize the default appearance of Grace?

There are several ways:

X Resources

Grace reads several X Resources on startup. These resources affect only the appearance of the GUI, not the printed graphs. Please refer to the User's Guide (question User Guide) for details.

The init file ~/.grace/gracerc

This file is in fact a Grace parameter file (question Parameter File) which is read when Grace starts. It can contain anything a parameter file may contain. You can write this file by creating a graph which looks the way you want and then save it to ~/.gracerc. Be aware that this defines the default for one graph only. If you want to set the defaults for more than one graph, you have to define each of them explicitely, even if you want them to look the same.

In the future, there will be still another way to define defaults.

Which environment variables does Grace use?

GRACE_HOME

Specifies the directory where the Grace docs and libs are stored. Default is /usr/local/grace.

GRACE_HELPVIEWER

Specifies the browser which is used to display the Grace HTML help pages. Default is netscape.

GRACE_EDITOR

Specifies the editor which is used to edit sets. Default is vi in an xterm.

GRACE_PRINT_CMD

The print command.

GRACE_FFTW_RAM_WISDOM and GRACE_FFTW_WISDOM_FILE

A flag (0 or 1) and a file name which determine whether a FFT should use ``wisdom'' when using the FFTW libraries.

You can set environment variables using (e.g.):

export GRACE_HOME="/usr/local/grace"

in bash and sh or

setenv GRACE_HOME "/usr/local/grace"

in tcsh and csh.

What command line options does Grace recognize?

Quite a few. You can display them with xmgrace -help.

5.4 Plotting

I'd like to plot data against an axis on the right (top) and another data set in a different scale against an axis on the left (bottom)

Use two overlaying graphs, one with a scale on the left(bottom), the other one on the right (top). Thus you can achieve the desired effect, but you'll need to pay close attention to which graph is the 'current' graph. This is also how to display a second scale on the top (right) side of the graph.

How do I do polar plots?

The support for polar plots is currently being implemented, so you can expect polar plots to work soon. The polar coordinates can be selected from the "Plot/Graph Appearance" menu. Please refer to the User's Guide (question User Guide) for details.

5.5 Strings

Can I use different fonts, symbols, font size, or sub/superscripts in Grace?

Yes, Grace has all these features. Wherever you can type a text in Grace, e.g. Axis labels, graph title, text from Plot->Drawing objects, etc., you can use all those features within the same text. Please refer to the User Guide (question User's Guide) for details.

What is T1lib good for?

T1lib is a font rasterer library which permits to use nice Type1 fonts within Grace on all output media. Usually, the newest version of T1lib comes bundled with Grace, so you don't need to take care of it. If you're interested: the author is Rainer Menzner and you can get more info on t1lib at http://www.neuroinformatik.ruhr-uni-bochum.de/ini/PEOPLE/rmz/t1lib.html.

How do I produce special characters (Umlauts) with Grace?

If you asked this question, then you are probably familiar with the issue of keymap modifying in X. Once you configured the key mapping (with the use of xmodmap), you can enter the extended characters from the keyboard in any text input field. If, in addition, the appropriate for your language font encoding is anything but ISO Latin1 (used in most Western Europe countries), you'll have to tell Grace so. See the next question.

Can I use my own fonts and/or encodings?

Yes. Starting with version 5.0.1, you can use your own fonts, in addition to the standard 14 fonts which include Times-Roman, Helvetica, Courier, Symbols and Zapf Dingbats and come with Grace, and as a replacement for the default fonts (for the purporse of localization). As well, an alternative encoding scheme can be specified.

Please refer to the User's Guide (question User's Guide) for details.

5.6 Files

At which precision is numerical data saved? How can I set the precision?

By default, numbers are saved with eight valid digits. To set your own precision, use the command

DEFAULT SFORMAT formatstring

(e.g. in your .gracerc, see question Customization) with formatstring being in the printf(3) format.

Grace cannot find help files.

Set the GRACE_HOME environment variable to your Grace directory. The help files are in $GRACE_HOME/doc. See question Environment Variables on how to set environment variables.

How do I read in project files created by Xmgr or older versions of Grace?

From Xmgr-4.1.2 on, each project file starts with a string giving the version number by which is was saved. These files should cause no problems. You can modify older files by inserting a version line at the beginning. For example, @VERSION 40102 stands for version 4.1.2.

I can't open anymore project files saved with an old version of Xmgr.

In Xmgr-4.1.0, support for the binary file format (the former default one) was dropped. You must use the grconvert utility supplied with the Grace distribution in order to convert the files. This can easily be achieved defining an input filter like in the gracerc sample file which comes with Grace.

How do I save disk space? Can I use compressed project files?

Yes. You can use your favorite compression program (e.g. `gzip') as input or output filter so that files on disk are automagically (de)compressed. Just add the lines

DEFINE IFILTER "gzip -dc %s" PATTERN "*.gz"

and

DEFINE OFILTER "gzip - > %s" PATTERN "*.gz"

into your personal grace init file. Then, everytime you specify a file name that ends with .gz, gzip is used as input and output filters. You can use this mechanism to do other things, e.g. reading and storing files into a database.

Can I import bitmap graphics into Grace?

Well, not yet. The import of GIF files will be implemented in a future release.

Can I export Grace graphs to GIF|JPEG|PostScript|PDF etc?

Postscript (for printing) and EPS (encapsulated postscript; for the inclusion of graphics into e.g. LaTeX documents) are implemented by default.

In order to produce GIF (and GD) output you need the GD-1.3 library of Thomas Boutell. It is available at the GD home page. Read the file README.GIF for details

The support for the PNM (PBM/PGM/PPM) format (both ASCII and rawbits) depends on GD, too.

For PDF output, you need pdflib-0.6. The PDFlib distribution is available at the PDFlib home page. Read the file README.PDF before trying to compile pdflib.

You can get various other formats using netpbm and pstoedit.

One can use pstoedit (available at several places, e.g. ftp://ftp.x.org/contrib/applications/pstoedit/) to convert PS to a lot of other vector formats: MIF, CGM, xfig's, tgif's, Windoze and OS/2 metafiles,... even Java applets!

Bitmaps: Using PNM device + the netpbm utils (available at e.g. ftp://ftp.x.org/contrib/utilities/ one can get JPEG, TIFF, G3, BMP, PCX,... (conversion can be done on the fly with appropriate filter definitions).

5.7 Colors

When I load a project saved with an earlier version of Xmgr (<4.0), symbols of all (some) sets are drawn in black.

Make sure you added a valid @VERSION versionid line to the beginning of the file.

How do I set the background color of a plot, outside of the graph frame?

This can be done using the "Plot/Plot appearance" popup.

This changes the background of the entire canvas, not only the background of graphs.

6. Basic Concepts

6.1 What is a set?

A set is a collection of points with x and y coordinates and optional dx, dy (error bars) or other parameters, e.g. a comment.

6.2 What is a graph?

A graph consists of a graph frame, axes, a title, a number of sets and additional objects like strings, lines, boxes and ellipses.

6.3 What is a project?

A project is a file which contains all information necessary to restore a Graph created by Grace.

6.4 What is a parameter file?

A parameter file contains informations about settings. Every batch command of Grace is a valid line in a parameter file. A parameter file is essentially a project file without sets in a slightly different format (i.e. without leading @s).

6.5 Which data formats does Grace recognize?

You can read in several kinds of files where data is arranged in columns separated by spaces or tabs.

Files which are not in simple x y format must have a line @TYPE xytype before the actual data, where xytype stands for the set type. Refer to the User's Guide (question User's Guide) for details. Alternatively, the file format can be set with a command line switch.

For example, if you have several sets with the same x values and different y values, you can read them in using:

            @TYPE NXY
            # then data in the form:
            X Y1 Y2 Y3 Y4 ...
          

6.6 What is block data?

The option Read Block Data can be used to read in files where the values are organized in columns (up to 30). You can interactively select the type of set to be created and which columns should be used. Refer to the User's Guide (question User's Guide) for details.

6.7 How can I use pipes with Grace?

A named pipe is a pseudo file to which one application writes data which another one reads from it.

Applications like measurement programs can write data to a pipe and make it thus available to Grace which reads from the pipe. So Grace can serve as data displayer for otherwise non-graphical programs.

Refer to the User's Guide (question User's Guide) or the tutorials (question Tutorials) for further information.

One example for using pipes is included in the `make tests' slide show.

6.8 Where is gracebat? How does batch printing work?

gracebat is simply a copy of Grace named gracebat or a symbolic link from gracebat to Grace. In the case of the symbolic link:

ln -s xmgrace gracebat

done wherever the Grace binary is located will do the trick (rehash or logout and login to make sure that gracebat shows up in your path). Executing gracebat with no command line parameters or data files will produce a hardcopy on the default printer.

6.9 How can I input data in date/time formats?

Currently, you can't.

The ISO8601 date format is currently being implemented into Grace and should appear soon.

Please use an external program to convert the data into the Julian Date format.

6.10 What is the Julian Date?

The Julian Date, not to be confused with the Julian calendar, is a format to represent the time in a single number. Julian Date 0 is a day way in the past, namely the 1st January 4713 before Christ (don't ask me why). The following days are numbered sequentially, each day starting at noon.

This numbering scheme is in wide use, especially in astronomy, and is used for the internal representation of dates in Grace.

Look at the files jul2greg.c and greg2jul.c in $GRACE_HOME/auxiliary/.

7. Mathematics

7.1 What algorithm is used for non-linear curve fitting?

It is the Levenberg-Marquardt algorithm, based on LMDIF from MINPACK, with some modifications.

8. Miscellaneous

8.1 Is Grace Year 2000 compliant?

Yes. No warranty, of course. But as far as the treatment of dates as data is concerned, years always have 4 digits. So `98' is the year Trajan became Emperor of Rome, not 1998.

Concerning an overflow of the system clock: being UNIX software, Grace uses a variable type called time_t (count of seconds since New Year's Day 1970) to represent time internally. On a 32-bit OS, this counter will overflow in early 2038, or (depending on implementation) in the next century, and not 2000. By that time, for sure, everyone will be running a 64- or higher- bit operating system, which would overflow in so distant future, that only cosmologists dare to think of it.

See also http://plasma-gate.weizmann.ac.il/Grace/y2k.html.

8.2 Can Grace plot 3d graphs?

No. Not yet, I should say. Be patient. It may take quite a while to implement it, though.

8.3 Which features are planned for the future?

Among the many features planned to be introduced in the future are 3D plots, a spreadsheet-like frontend for set operations, contour plots and XPM/GIF/JPEG image import and manipulations.

8.4 Are there things that Grace can't do?

Probably. If you have an idea for improvement, send mail to the mailing list (question Mailing Lists) or post it as a wish to the w3todo web page (see question Known Bugs).

8.5 What is Plotz?

Plotz is a neat web interface to Grace created by Susan Chacko and can be found at http://helix.nih.gov/plotz.html

8.6 I use lots of text strings/boxes/.... How can I increase the maximum number of the objects?

Use the -maxboxes/-maxellipses/-maxlines/-maxstr command line options.

8.7 What different kinds of sets can Grace plot?

The standard set is the regular (x,y) set, but there are others including error bars or descriptive strings. See the User's Guide (question User's Guide) for details.

8.8 How do I make a Grace image fit on a given paper size?

Select the correct paper size in the Device setup popup.

You can also try the command psresize from the psutils package in order to resize a postscript file generated by Grace.

9. Runtime Errors

9.1 I can't print (correctly) to my PostScript printer.

By default, the PS driver uses Level 2 features, while your printer may not be PostScript Level 2 compliant. You can force the use of PS Level 1 only features in the PostScript device setup, though output may be not exactly as expected (there will be no pattern fills, for example).

9.2 When I start Grace I get the message ``can't find library libXXX.so'' or similar.

For certain tasks, Grace needs external libraries which are neither provided by Grace nor the operating system. You will need to install these libraries yourself. This applies to Motif (see question Motif), PDF and GIF (see question Output Devices) and probably other libraries.

Can't find library libXm.so (on Linux)

If this message occurs, then you don't have Motif (the Xm libraries, see question Motif) installed (see the question above), or the linker doesn't know where it is. In the first case, try downloading Lesstif. In the second case, you have to tell your linker where it is. Look at the file /etc/ld.so.conf. It contains pathnames of the directories where dynamic libraries are stored. Add (as root) your directory to this file and run ldconfig -v. Now the libraries should be in the list.

For some versions of Motif, the ``soname'' (which identifies the version of the library and is stored somewhere in the library) on your computer doesn't match the soname of the library on the computer where your copy of Grace was compiled on. Then you should use a (semi)statically linked version or compile Grace on your computer.

9.3 I get errors like "X Error of failed request: BadValue (integer parameter out of range for operation)"

This means that Grace made an incorrect access to an X library. This is most probably not Grace's fault. Probably a not-yet-correctly-implemented LessTif function (see question Motif) caused this behaviour. If you use LessTif, try to get the latest version (see question Motif). If this error persists, report it as a bug (question Bug Reports).

9.4 I run Grace and get the following error messages: Warning: translation table syntax error: Unknown keysym name: osfPageLeft Warning: ... found while parsing '<Key>osfPageLeft:SWLeftPage()'

Get the XKeySymDB file from the X11R6 distribution. Put it somewhere where you can access it and set the XKEYSYMDB environment variable to "/place/where/you/put/XKeysymDB". See question Environment Variables on how to set environment variables.

9.5 I run Grace on a Solaris 2.5.1 box, and when I try to open a file, I can't read the names of the files (files section of the dialog) because Grace writes ALL the path of each file in the list and there is no horizontal scroll.

This is a known bug of Motif implementation on Solaris 2.5.1 (both Sparc and Intel hardware). Ask your vendor for a patch.

9.6 Grace cannot find font database and initialize the T1 library

You have probably tried to run Grace without installing it, just after compilation. You got the following message :

scanFontDBase(): Font Database
File not found T1_InitLib(): Fatal error scanning Font
Database File Initialization of t1-library failed!

Grace uses either the GRACE_HOME environment variable or a compiled in default path to find the font database. If the variable is not set and you have not installed the database with make install it cannot find it. If you want to test Grace before installing it, you should set the environment variable to the distribution directory (the one where the file configure lies), this is what the dotest script does when you run make check. The easiest thing to do however is to install everything with make install. See question Environment Variables on how to set environment variables.

10. Command Line Interface

10.1 Which non-interactive batch commands does Grace know?

Lots. Almost every mouseclick in the GUI has an equivalent in the batch language. See the User's Guide (question User's Guide) for details.

10.2 How can I do feature extraction non-interactively?

Currently not at all. This will be implemented in a later release.

10.3 How can I use non-linear fits in the batch mode?

Make a batch file with the following commands:

            fit formula "y = a0 + a1 * sin (a2 + x * pi / 180)"
            fit with 3 parameters
            fit prec 0.05
            a0 = 1
            a0 constraints off
            a1 = 1
            a1 constraints off
            a2 = 1
            a2 constraints off
            nonlfit (s0,100)
          

This assumes that your original curve is in set s0 and that you want to make 100 iterations.

nonlfit() doesn't produce any plots by itself. It only fits. I.e., at this point, you can use the fitted values A0, A1, A2...:

Plot a set, e.g.:

            activate s3 100
            s3.x=s0.x
            s3.y= a0 + a1 * sin (a2 + x * pi / 180)
          

Use for another fit as the initial values, or just ECHO them (to stdout) with ECHO A0.