Miscellaneous software
**********************

A wealth of software is available on the Unix Cluster.  The following include very brief descriptions of the software together with pointer to additional documentation.

emacs
=====

Emacs is powerful text editor.  If running under X, it will normally use its own window, so you would start it in the background with

     emacs &

To prevent emacs from using its own window, specify the -nw option as in

     emacs -nw FILE

Emacs is fully documented in Overview (The Emacs Manual).  However, for most people, 90% of what they need is covered by the online tutorial which is accessed by typing C-h t (control-H followed by the letter t) while in emacs. In addition here's a handy reference card (../../comp/emacs-refcard.ps).  Print this on a duplex printer, if you have access to one.

TeX
===

TeX is a scientific typesetting package.  We run the teTeX distribution version 1.0.  This is documented at http://w3.pppl.gov/misc/teTeX.  LaTeX latex,1 is the recommended macro package.  The run it, use the command

     latex file.tex

Useful (indispensible) books are:

  * LaTeX, a Document Preparation System, by Leslie Lamport (2nd Ed, Addison Wesley, 1994)

  * The LaTeX Companion, by M. Goosens, F. Mittelbach, and A. Samarin (Addison Wesley, 1994)

  * The LaTeX Graphics Companion, by M. Goosens, S. Rahtz, and F. Mittelbach (Addison Wesley, 1997)

If you have problems running TeX, please check your environment variables, in particular TEXINPUTS.  Make sure these do NOT contain references to /usr/local/share/texmf/..., /usr/local/lib/texmf, etc.  If you have private macro files in ~/tex, then you will want to define

     TEXINPUTS=.:~/tex: export TEXINPUTS
     setenv TEXINPUTS .:~/tex:

in sh or csh syntax.  (The default TEXINPUTS will be implicitly inserted after the trailing colon).

This version provides better support for producing documents for online viewing:

 1. pdflatex produces a pdf file instead of a dvi file.

 2. the hyperref package has support for carrying the cross-reference information and references to URLs in a TeX document over to the dvi or pdf file;  for example, you reference your home page like this

          \href{http://w3.pppl.gov/~jsmith}{J. Smith}

 3. xdvi can follow links (cross-refs and URLs).

The following are possible ways of producing pdf files from LaTeX

 1. In the .tex file, put

          \usepackage{times}
          \usepackage{hyperref}

     Process with latex, then with dvips -Pwww -z, then with distill.

 2. In the .tex file, put

          \usepackage{times}
          \usepackage[dvips]{hyperref}

     Process with latex, then with dvips -Pwww, then with distill.

 3. In the .tex file, put

          \usepackage{times}
          \usepackage[pdftex]{hyperref}

     Process with pdflatex.

When you view the .dvi file produced in method (1) with xdvi, the links will be underlined (and you click on them to follow them).

python
======

Python is an interpreted, interactive, object-oriented programming language.  Version 1.5.1 is installed on the Unix Cluster (under /usr/local) and on hecate (under /usr/pppl).

The main documentation is python,1.  The web site is http://www.python.org.  There's a reference manual available at python-1.5.1/Doc/ref/ref.ps.  Our local expert is Greg Hammett.

In addition we have the LLNL Python Extensions (release 6) installed. These are describe at http://xfiles.llnl.gov/python.htm. In order to use these you will need to specify

     PYTHONPATH=/usr/local/lib/python1.5/NumPy export PYTHONPATH
     setenv PYTHONPATH /usr/local/lib/python1.5/NumPy

in sh or csh syntax.  The extensions that we have installed are

  * Numerical: provides a fast numerical facility for Python

  * Graphics: enables use of gist,1 from Python

  * PyPDB: an interface to PACT/PDB database files. See pact.

  * PyHistory:  time history data from Python simulations

  * RNG: random number distributions for Python

pact
====

pact is a ``portable  application code toolkit''.  See http://www.llnl.gov/def_sci/pact for details. To use this at PPPL, you will need

     PACT=/usr/local/pact export PACT
     setenv PACT /usr/local/pact

in sh or csh syntax.

ghostview
=========

ghostview is a viewer for PostScript and PDF files.  It may be invoked as gv or ghostview.  We are running version 3.5.8.  Documentation is via the man page gv,1.  There is also documentation available at gv-3.5.8/gv.html.  The main web site is http://wwwthep.physik.uni-mainz.de/~plass/gv/.

MATLAB
======

(From the documentation:)

MATLAB is a high-performance language for technical computing. It integrates computation, visualization, and programming in an easy-to-use environment where problems and solutions are expressed in familiar mathematical notation. Typical uses include:

  * Math and computation

  * Algorithm development

  * Modeling, simulation, and prototyping

  * Data analysis, exploration, and visualization

  * Scientific and engineering graphics

  * Application development, including Graphical User Interface building

To run MATLAB, type

     matlab

We are running version 5.3 (also known as Release 11).  Matlab is supported on all the computers in the Unix Cluster.  PPPL has a single floating license for this product.  However, if this license is in use, MATLAB will automatically use one of the Princeton University licenses, which should only be used for educational purposes.

Documentation is obtained from matlab,1, the command matlabdoc (type matlabdoc -h for documentation), and at http://w3.pppl.gov/misc/matlab/helpdesk.html.  The last includes manuals in PDF format.  You can see many examples of using MATLAB by typing demo when running the program.

The vendor's web site is http://www.mathworks.com/products/matlab/.

MexCDF
======

(From the documentation:)

What is MexCDF?

MexCDF is a mex-file interface between NetCDF and MATLAB that invokes the complete C-Language NetCDF interface, as described in the NetCDF Users Guide. This allows MATLAB users to read, write, and manipulate NetCDF data files in a general, efficient manner.

Access to m-netcdf files is obtained by typing

     addpath /usr/local/mexcdf/netcdf
     ncstartup

somewhere at the top of the MATLAB scripts.

Web sites are

http://crusty.er.usgs.gov/~cdenham/MexCDF/nc4ml5_guide.html http://crusty.er.usgs.gov/mexcdf.html

Maple
=====

Maple is a system for doing algebra.  We are running Maple V Release 5 under a University Site which lets it be run on any Unix Cluster machine (as well as PC's, personal Linux machines, etc.)  The are two interfaces

  bullet text-only---accessed with the command maple (see maple,1)

  bullet graphical---accessed with the command xmaple or maple -x

The main documentation for Maple V are the books published by Springer-Verlag (1991--91):

  bullet Maple V, First Leaves: A Tutorial Introduction

  bullet Maple V, Language Reference Manual

  bullet Maple V, Library Reference Manual

In addition to the man pages, the graphical interface has a Help menu.

The vendor's web site is http://www.maplesoft.com.

Mathematica
===========

Mathematica is a system for doing algebra.  We are running version 3.0.2.  PPPL has a 4-user node-locked license for taurus.  It can also be used for educational purpose on other Solaris systems using one of the Princeton University licenses.  There are two interfaces

  bullet text-only---accessed with the command math (see math,1)

  bullet graphical---accessed with the command mathematica (see mathematica,1)

The main documentation for Mathematica is the book ``Mathematica, a System for Doing Mathematics by Computer'', by Stephen Wolfram, Addison-Wesley (1988).

In addition to the man pages, the graphical interface has a Help menu.

The vendor's web site is http://www.wolfram.com/products/mathematica/.

TotalView
=========

The TotalView debugger is part of a suite of software development tools for debugging, analyzing, and tuning the performance of programs, including multiprocess multithreaded programs.

As of July 5, 2001, the current release of Totalview is version 5.

The vendor's web site is http://www.etnus.com.

Man pages man be read by typing

     man -M /usr/local/totalview/man totalview
     man -M /usr/local/totalview/man tvdsvr

THE TotalView programs and its library  are in

     /usr/local/bin/totalview
     /usr/local/bin/totalviewcli
     /usr/local/bin/visualizer
     /usr/local/lib/libdbfork.a

Totalview is available on the Unix Cluster Linux Alpha, Linus Intel, Digital Unix and Solaris platforms. Documentation including a user guide is in:

file:///usr/local/totalview/doc/pdf

file:///usr/local/totalview/doc/html

The Release Notes describe new features, have a list of known problems, and how to describe report new problems.

The CLI Guide describes the new Command Line Interface.

The User_Guide is a 350+ page manual describing all features.

xbp Restoring files
===================

The Netbackup Utility backups files on the Unix Cluster. User home directories and the scratch disk directories are amongst those backed up. Netbackup currently runs on the Solaris and on the Digital Unix systems.

Man pages describing the system are bp, xbp, bpbackup, bprestore, bparchive, and bplist.

xbp is used to restore backed up files. The following files give complete documenation.

     file:///usr/openv/netbackup/help/xbp/Tutorial

     file:///usr/openv/netbackup/help/xbp/Altpath

     file:///usr/openv/netbackup/help/xbp/Config

     file:///usr/openv/netbackup/help/xbp/Confirm

     file:///usr/openv/netbackup/help/xbp/Help

     file:///usr/openv/netbackup/help/xbp/Index

     file:///usr/openv/netbackup/help/xbp/Main

     file:///usr/openv/netbackup/help/xbp/Progress

     file:///usr/openv/netbackup/help/xbp/Viewselect

EXAMPLE:

To restore backed up files that were in your home directory:

       o Go to computer where home directory resides (now orion)

         % ssh orion

       o Change to the directory where the files were located.

         % cd ~/TestMDSplus/LRanderson_004

       o Invoke xbp

         % xbp -r &

       In xbp

         Choose File/Browse backups (restore)
         Choose Edit/Update Display
         In files directory
           Highlight (click) files to restore -- Note archive date
         In Backup Images
           Highlight (control-click) 'Standard Class'  images to use for
           restore. Incr means incremental backup, Cinc means cumulative
           incremental backup, and Full means full backup.
         Choose Restore/Restore selected files and directories...
           Note the log filename.
           Highlist 'Overwrite existing files' if appropriate.
           Click on OK
         Select Restore/Report progress of restore...
           Enter name of Log file
           Click on Automatic Refresh

axiom
=====

axiom is a system for doing algebra.  We are running version 2.1.  PPPL has a site license as part of the NAG Academic Site License Initiative. It can be run on any Unix Cluster machine and on Linux and Windows PCs. To run it, type axiom (see axiom,1).  This brings up a documenation browser.  It's also documented in the book ``Axiom, the Scientific Computation System'', by Richard Jenks, and Robert Sutor (Springer-Verlag, 1992).

The vendor's web site is http://www.nag.com/sumbolic/AX.html.

Alpha Linux Fortran
===================

The alpha linux machines are currently loki, machine3, thor, freda, and tyr. You can verify you are on a linux alpha machine by:

     $ uname -ms
     Linux alpha

The recommended fortran compiler is the Compaq Fortran Compiler for Linux Alpha. It is accessed via the FORT command. Sources with .F, .FOR, or .FOR suffixes are assumed to be FORTRAN 77. Sources with .F90 or .F90 suffixes are assumed to be Fortran 90 source files.  This fortran compiler  closely resembles the Fortran used on the Digital Unix machines (i.e. the planets). One difference is that when compiling Fortran 99 sources, the switch -assume no2underscores is generally required.

Compaq Fortran documentation is in

  * file:///usr/local/doc/alphalinux/Fortran/index.html

  * file:///usr/local/doc/alphalinux/Fortran/docs/cf/index.html

  * file:///usr/local/doc/alphalinux/Fortran/docs/cxml/index.html

  * file:///usr/local/doc/alphalinux/Fortran/docs/cpml/index.html

Man pages are invoked on the alpha linux machines via:

     % man fort
     % man -S3f intro

Currently available libraries include blas, lapack, nag, ncar, and netcdf. These are available in directory /usr/local/lib.Documentation can be found in directory /usr/local/doc. MP, the Message Passing Interface, is available in directory /usr/local/mpich. The mpich users guide is in file /usr/local/mipch/doc/guide.ps.gz.

Hard copies of the fortran documentation are also available.

  * The Fortran Language Users Guide  is at file:///usr/local/doc/alphalinux/Fortran/docs/cf/dfuum.ps

  * The Fortran Language Reference Manual is at file:///usr/local/doc/alphalinux/Fortran/docs/cf/dflrm.ps

  * The Extended Math Library documentation is at file:///usr/local/doc/alphalinux/Fortran/docs/cxml/cxml-ref.ps

  * The Fortran Intristic Functions documentation is at  file:///usr/local/doc/alphalinux/Fortran/docs/cpml/cpml-ref.ps

Linux Fortran
=============

For the results of a study of Linux Fortran compilers made here during February 2000 see:  http://w3.pppl.gov/~dmccune/papers-reports/linux_f90.txt

Available on the Linux Intel members of the Unix Cluster are:

 1. Fujitsu Fortran

 2. Lahey-Fujitsu Fortran

 3. Portland Group Fortran

 4. Numerical Algorithms Group (NAG) Fortran

 5. Message Passing interface (MPI)

 6. Fortran specific libraries such as blas, lapack, nag, and netcdf.

A description follows.

 1. The Fujitsu Fortran Linux compiler is invoked via:

           % setenv PATH            /usr/local/ffc/bin:$PATH
           % setenv LD_LIBRARY_PATH /usr/local/ffc/lib
           % f90 -o test_example test_example.f

       * FRT, F90, and F95 are equivalent commands used to compile

       * The Fujitsu debugger is invoked via FDB

       * Fujitsu Fortran specific libraries are in /usr/local/ffc/lib/...

     See the following for Fujitsu Fortran documentaion

       * User and Reference manuals are in /usr/local/ffc/doc/...

       * Man pages are in /usr/local/ffc/man. As an example, to obtain documentation on program F90 or on subroutine IFIX:

                % man -M /usr/local/ffc/man f90
                % man -M /usr/local/ffc/man ifix

          Available subroutines can be listed via:

                % ls /usr/local/ffc/man/man3

       * Vendor web site is at  http://www.fujitsufortran.com

 2. The Lahey-Fujitsu Fortran Linux compiler is invoked via:

           % setenv PATH            /usr/local/lff95/bin:$PATH
           % setenv LD_LIBRARY_PATH /usr/local/lff95/lib
           % lf95 -o test_example test_example.f

       * LF95 is the command used to compile

       * The Lahey-Fujitsu debugger is invoked via FDB

       * Lahey-Fujitsu Fortran specific libraries are in /usr/local/lff95/lib/...

     See the following for Lahey-Fujitsu Fortran documentaion

       * User and Reference manuals are in /usr/local/lff95/doc/...

       * Man pages are in /usr/local/lff95/man. As an example, to obtain documentation on program LF95 or on subroutine IFIX:

                % man -M /usr/local/lff95/man lf95
                % man -M /usr/local/lff95/man ifix

          Available subroutines can be listed via:

                % ls /usr/local/lff95/man/man3

       * Vendor web site is at  http://www.laheyonline.com

 3. The Portland Group Fortran Linux compiler is invoked via:

           % setenv PATH            /usr/local/pgf90/bin:$PATH
           % setenv LD_LIBRARY_PATH /usr/local/pgf90/lib
           % f90 -o test_example test_example.f

       * F90 or PGF90 are equivalent commands used to compile.

       * TOTALVIEW will invoke the TotalView debugger.

       * The Portland Group F90 Fortran specific libraries are in /usr/local/pgf90/lib.

     See the following for Portland Group Fortran documentation

       * man pages at: pgf77,1, pgf90,1. pghpf,1, pgprof,1, pgdbg,1, and Xpgdbg,1.

       * Vendor documenation at: /usr/local/pgf90/doc/....

       * Vendor WEB documentation at: http://w3.pppl.gov/misc/pgi.

       * Vendor web site at: http://www.pgroup.com.

 4. The NAG Fortran compiler is invoked via:

           % setenv PATH            /usr/local/nagf95/bin:$PATH
           % setenv LD_LIBRARY_PATH /usr/local/nagf95/lib
           % f95 -o test_example test_example.f

       * F77, F90, and F95 are equivalent commands used to compile.

       * DBX90 will invoke the dbx debugger.

       * The NAG F95 Fortran specific libraries are in /usr/local/nagf95/lib.

     See the following for NAG Fortran documentation

       * Man pages are in /usr/local/nagf95/man. As an example, to obtain documentation on program F95:

                % man -M /usr/local/nagf95/man f95

       * Vendor web site at: http://www.nag.com.

 5. The Message Passing Interface

     MPI, the Message Passing Interface, is specific to each Fortran compiler. Depending of the compiler use either /usr/local/ffc/mpich/... , /usr/local/lff95/mpich-1.2.1/... /usr/local/pgf90/mpich-1.2.1/..., or /usr/local/nagf95/mpich-1.2.1/...

     See the following for Message Passing Interface documentation

       * A Users Guide is at /usr/local/ffc/mpich/doc/guide.ps.gz

       * Man pages are in /usr/local/ffc/mpich/man. As an example, to obtain documentation on program MPIF90 or on subroutine MPI_BCAST:

                 % man -M /usr/local/ffc/mpich/man mpif90
                 % man -M /usr/local/ffc/mpich/man MPI_Bcast

          Names of available MPI man pages can be listed via:

                 % man -M /usr/local/ffc/mpicn/man -k MPI

       * WEB documentation is at

          http://www-unix.mcs.anl.gov/mpi/index.html

          http://WWW.ERC.MsState.Edu/labs/hpcl/projects/mpi/

 6. Fortran specific libraries

     Fortran libraries specific to each Fortran compiler are in /usr/local/ffc/lib, /usr/local/lff95/lib, /usr/local/pgf90/lib, and /usr/local/nagf95/lib .

     Current available libraries include blas, lapack, nag, and netcdf.

AVS
===

AVS Express is a high-end visualization systems.  We are running version 4.2.  It runs on Solaris and OSF/1 platforms.  We are licensed for 6 concurrent users and for 1 user of the ``developer'' version.  To use it, type

     express
     express -nohw
     express -usage

The first form is for display supporting 3-d graphics hardware.  The second form is for other X displays.  The final form types out a usage message.  Extensive documentation is available via the help menu while running AVS express.  There are also printed manuals available.

Our local expert is Scott Klasky.  To use the developers edition, type

     env XP_FEATURE=EXPRESS express

Please coordinate this use with Scott.

AVS is an older product whose use is discouraged.  We are running version 5.4.  We have a one user license that can be used on Solaris and OSF/1 machines.  Documentation is in the manpage avs,1.

NCAR Graphics Library
=====================

The NCAR Graphics Library is a Fortran and C callable Graphics library. PPPL has a site license which provides the library on all Unix Cluster machines (Sun, Digital, Linux) and on hecate.princeton.edu (the Origin 2000 machine on campus).  We are running version 4.1.1.  The Linux version assumes the use of g77.  This will be changed to use the Portland Group Compiler.

Before using NCAR Graphics you need to define

     NCARG_ROOT=/usr/local export TEXINPUTS
     setenv NCARG_ROOT=/usr/local

in sh or csh syntax.

On hecate replace /usr/local with /usr/pppl.  On hecate, you will also need $NCARG_ROOT/bin in your PATH and $NCARG_ROOT/man in your MANPATH.

Online documentation is available via the WWW at http://w3.pppl.gov/ngdoc/ng/ngdochome.html (also at http://ngwww.ucar.edu/ngdoc/ng/ngdochome.html).

The vendor's web site is http://ngwww.ucar.edu/index.html

There are also manpages in $NCARG_ROOT/man.  Start with ncargintro,5.

Postscript versions of the documentation are available at http://w3.pppl.gov/ngdoc/ng/nggenrl/psdocs or in the directory file:/c/usr/local/doc/ncarg.

The sources for this version of NCAR Graphics are in the directory file:/c/usr/sources/ncarg.

To compile and link, use ncargf77,1 and ncargcc,1 in place of f77,1 and cc,1.  To view the ``CGM'' graphics files produced by NCAR Graphics use ctrans,1 or ictrans,1.  CGM files can be printed directly with the lpr command on the PPPL Unix Cluster (ctrans will be invoked by the spooler).

Examples can be run with ncargex,1 and ng4ex,1, e.g.,

     cd /tmp
     ncargex wmex14
     ng4ex cn12f

Swing
=====

swing is part of the java development kit. Vendor's web site is http://java.sun.com/products/jfc and http://java.sun.com/products/jfc/swingdoc-api-1.1.1/

The swing area on the unix cluster is /usr/local/swing-1.1.1. For further information, see /usr/local/swing-1.1.1/README.txt.

Java
====

Java is available on the Digital Unix, Solaris, and Linux members of the unix cluster.

On COMPAQ Tru64 UNIX (Digital UNIX)

       % /bin/java -version
       java version "1.1.8-1"

       % /bin/man java

WWW page is: http://www.digital.com/java/

On Solaris

       % /bin/java -version
       java version "1.1.7"

       % /bin/man java

WWW page is: http://java.sun.com/products/jdk/1.2/docs/index.html

On Linux

       % /usr/local/jdk1.1.7/bin/java -version
       java version "1.1.7B"

       % /bin/cat /usr/local/jdk1.1.7/README.linux

WWW page is: http://www.blackdown.org/java-linux/docs.html

StarOffice
==========

StarOffice 5.1 is a desktop office product.

A network installtion of StarOffice 5.1 is availabe for User Installation on Solaris and Linux members of the Unix Cluster.

Web sites are

http://www.sun.com/products/staroffice/overview.html http://www.sun.com/products/staroffice/faq.html

An installation manual is available in /usr/local/doc/staroffice51/setup.pdf (file:///usr/local/doc/staroffice51/setup.pdf)

An example user installation is:

     On TAURUS
     $ /bin/mkdir /u/<username>/sun5
     $ cd  /usr/local/staroffice51/bin
     $ ./setup

     $ cd /u/<username>/sun5/Office51/bin
     $ ./soffice

grace
=====

Grace is a WYSIWYG tool to make two-dimensional plots of scientific data.  We are running version 5.0.4, which is install on all Unix Cluster machines.  The main WEB site for grace is http://plasma-gate.weizmann.ac.il/Grace/.

Documenation is via the manpages: grace,1, xmgrace,1, gracebat,1, and grconvert,1.

Other information is in (these are also available under the Help menu in xmgrace):

  * Tutorial (http://w3.pppl.gov/misc/grace/Tutorial.html) (hard copy version (http://w3.pppl.gov/misc/grace/Tutorial.dvi)).

  * Users' Guide (http://w3.pppl.gov/misc/grace/UsersGuide.html) (hard copy version (http://w3.pppl.gov/misc/grace/UsersGuide.dvi)).

  * FAQ (http://w3.pppl.gov/misc/grace/FAQ.html) (hard copy version (http://w3.pppl.gov/misc/grace/FAQ.dvi)).

Examples are available in the under Help menu in xmgrace.

pgplot
======

Pgplot is a Graphics Subroutine Library.  We are running version 5.2 which is installed on Solaris and OSF/1 machines in the Unix Cluster. The main WEB site for pgplot is http://astro.caltech.edu/~tjp/pgplot/.  The users' manual is http://astro.caltech.edu/~tjp/pgplot/contents.html

To use pgplot, set

     PGPLOT_DIR=/usr/local/pgplot export PGPLOT_DIR
     PGPLOT_DEV=/xwin export PGPLOT_DEV

or

     setenv PGPLOT_DIR /usr/local/pgplot
     setenv PGPLOT_DEV /xwin

depending on whether your shell understands sh or csh syntax.  Setting PGPLOT_DEV is optional---it just provides the default device type.

C programs will need the header file

     #include <cpgplot.h>

and will need to be compiled with

     -I$PGPLOT_DIR

To link Fortran and C programs, use

     -L$PGPLOT_DIR -lpgplot -lX11
     -L$PGPLOT_DIR -lcpgplot -lX11

respectively.

A summary of routines is available in http://w3.pppl.gov/misc/pgplot/pgplot.html (also available as a text version (http://w3.pppl.gov/misc/pgplot/pgplot.doc) and as a hardcopy version (http://w3.pppl.gov/misc/pgplot/pgplot-routines.ps)).