head	4.1;
access;
symbols;
locks
	cal103:4.1; strict;
comment	@# @;


4.1
date	2005.08.19.14.07.45;	author cal103;	state Exp;
branches;
next	4.0;

4.0
date	2005.02.04.12.15.35;	author cal103;	state Exp;
branches;
next	3.6;

3.6
date	2004.08.24.08.57.07;	author cal103;	state Exp;
branches;
next	3.5;

3.5
date	2004.06.28.05.27.25;	author mcalabre;	state Exp;
branches;
next	3.4;

3.4
date	2004.02.10.23.56.37;	author mcalabre;	state Exp;
branches;
next	3.3;

3.3
date	2003.10.22.08.44.20;	author mcalabre;	state Exp;
branches;
next	3.2;

3.2
date	2003.09.09.07.50.21;	author mcalabre;	state Exp;
branches;
next	3.1;

3.1
date	2003.04.28.05.02.10;	author mcalabre;	state Exp;
branches;
next	1.2;

1.2
date	2001.02.19.02.18.18;	author mcalabre;	state Exp;
branches;
next	1.1;

1.1
date	99.12.14.04.36.55;	author mcalabre;	state Exp;
branches;
next	;


desc
@Explanatory notes for PGCRVL.
@


4.1
log
@PGSBOX 4.1
@
text
@------------------------------------------------------------------------------
                                  PGSBOX 4.1
------------------------------------------------------------------------------
    PGSBOX 4.1 - a non-linear coordinate axis plotter for PGPLOT.
    Copyright (C) 1997-2005, Mark Calabretta

    PGSBOX is free software; you can redistribute it and/or modify it under
    the terms of the GNU General Public License as published by the Free
    Software Foundation; either version 2 of the License, or (at your option)
    any later version.

    PGSBOX is distributed in the hope that it will be useful, but WITHOUT ANY
    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
    details.

    You should have received a copy of the GNU General Public License along
    with PGSBOX; if not, write to the Free Software Foundation, Inc.,
    59 Temple Place, Suite 330, Boston, MA  02111-1307, USA

    Correspondence concerning WCSLIB may be directed to:
       Internet email: mcalabre@@atnf.csiro.au
       Postal address: Dr. Mark Calabretta
                       Australia Telescope National Facility, CSIRO
                       PO Box 76
                       Epping NSW 1710
                       AUSTRALIA
------------------------------------------------------------------------------

PGSBOX is a PGPLOT routine (FORTRAN) that draws and labels curvilinear
coordinate grids.  Example PGSBOX grids can be seen at

   http://www.atnf.csiro.au/~mcalabre/WCS/PGSBOX/index.html

PGSBOX is provided as part of WCSLIB which is available from

   http://www.atnf.csiro.au/~mcalabre/WCS


Manifest
--------
   Makefile     GNU makefile for compiling PGSBOX.
   README       This file.
   CHANGES      List of changes made to PGSBOX.

   pgsbox.f     PGSBOX source code.
   pgcrvl.f     PGCRVL, a driver routine for PGSBOX provided for backwards
                compatibility.

   cpgsbox.c    C wrapper function for PGSBOX.
   cpgsbox.h    Header file for cpgsbox().

   pgwcsl.c     C function pgwcsl_() with FORTRAN-like interface defines an
                interface to WCSLIB 3.x for PGSBOX to draw celestial
                coordinate grids.
   pgwcsl.h     Header file for pgwcsl_().

   pgcrfn.f     Subroutine PGCRFN defines separable pairs of non-linear
                coordinate systems for PGSBOX.  Linear, logarithmic and
                power-law axis types are currently defined.  Further types may
                be added as required.

   pgtest.f     FORTRAN test and demo program and coding example.
   cpgtest.f    C test and demo program and coding example.
   fscan.f      Defines a non-linear coordinate grid for PGTEST and cpgtest.
   lngvel.f     Defines a non-linear coordinate grid for PGTEST and cpgtest.


Usage notes
-----------
The prologue to pgsbox.f contains usage instructions.  pgtest.f and cpgtest.c
serve as test and demonstration programs and also as well-documented examples
of usage.


FORTRAN and C
-------------
PGPLOT is implemented as a FORTRAN library with a set of C wrapper routines
that are generated by a software tool.

PGSBOX has a more complicated interface than any of the standard PGPLOT
routines, especially in having an EXTERNAL function in its argument list.
Consequently, PGSBOX has been implemented in FORTRAN but with a hand-coded C
wrapper.

While there are no formal standards for calling FORTRAN from C, there are some
fairly well established conventions.  Nevertheless, it's possible that you may
need to modify the code if you use a combination of FORTRAN and C compilers
with linkage conventions that differ from that of the GNU compilers, gcc and
g77.

As an example, in this suite the C test/demo program, cpgtest, calls the C
wrapper, cpgsbox(), passing it a pointer to a C function, pgwcsl_(), that has
a FORTRAN-like interface but links to WCSLIB 3.x, a C library.  In turn,
cpgsbox() calls PGSBOX, which invokes pgwcsl_() as an EXTERNAL subroutine.
In this sequence, a complicated C struct defined by cpgtest is passed through
PGSBOX to pgwcsl_() as an INTEGER array.


Installation notes
------------------
A GNU makefile is provided; GNU make (referred to below as gmake) must be
used.  A few variables that you may need to tailor for your purposes are
defined at the start of the makefile; instructions are given in the makefile
itself.

It is suggested that pgsbox.o and pgcrfn.o be inserted in libpgplot.a;
cpgsbox.o in libcpgplot.a; and pgwcsl.o in libwcs.a.  cpgsbox.h should reside
with your other PGPLOT header files.


Author
------
Mark Calabretta, Australia Telescope National Facility
mcalabre@@atnf.csiro.au

$Id: README,v 4.0 2005/02/04 12:15:35 cal103 Exp cal103 $
@


4.0
log
@PGSBOX 4.0: added a GPL copyright notice.
@
text
@d2 1
a2 1
                                  PGSBOX 4.0
d4 1
a4 1
    PGSBOX 4.0 - a non-linear coordinate axis plotter for PGPLOT.
d6 1
a6 1
 
d11 1
a11 1
 
d16 1
a16 1
 
d20 1
a20 1
 
d42 3
a44 3
   Makefile	GNU makefile for compiling PGSBOX.
   README	This file.
   CHANGES	List of changes made to PGSBOX.
d117 1
a117 1
$Id: README,v 3.6 2004/08/24 08:57:07 cal103 Exp cal103 $
@


3.6
log
@PGSBOX 3.6: Revised the installation notes.
@
text
@d2 1
a2 1
                                  PGSBOX 3.6
d4 26
d117 1
a117 1
$Id: README,v 3.5 2004/06/28 05:27:25 mcalabre Exp mcalabre $
@


3.5
log
@PGSBOX 3.5
@
text
@d2 1
a2 1
                                  PGSBOX 3.5
d4 1
a4 1
PGSBOX is a PGPLOT routine (FORTRAN) which draws and labels curvilinear
d9 1
a9 1
PGSBOX is provided as part of WCSLIB which available from
d76 4
a79 5
A simple-minded GNU makefile is provided; GNU make must be used.  It assumes
that you will be compiling with gcc and g77 and that WCSLIB 3.x has already
been built in ../C, and the FORTRAN and C include files reside in ../FORTRAN
and ../C (as in the distribution kit).  It's quite likely that you will to
modify the makefile for your own purposes.
a80 3
The makefile compiles pgsbox.o as a dependency of pgtest, and cpgsbox.o as a
dependency of cpgtest.

d91 1
a91 1
$Id: README,v 3.4 2004/02/10 23:56:37 mcalabre Exp mcalabre $
@


3.4
log
@PGSBOX 3.4
@
text
@d2 1
a2 1
                                  PGSBOX 3.4
d95 1
a95 1
$Id: README,v 3.3 2003/10/22 08:44:20 mcalabre Exp mcalabre $
@


3.3
log
@PGSBOX 3.3
@
text
@d2 1
a2 1
                                  PGSBOX 3.3
d95 1
a95 1
$Id: README,v 3.2 2003/09/09 07:50:21 mcalabre Exp mcalabre $
@


3.2
log
@PGSBOX 3.2
@
text
@d2 1
a2 1
                                  PGSBOX 3.2
d18 2
d30 2
d95 1
a95 1
$Id: README,v 3.1 2003/04/28 05:02:10 mcalabre Exp mcalabre $
@


3.1
log
@PGSBOX 3.1
@
text
@d2 1
a2 1
                                  PGSBOX 3.1
d91 1
a91 1
$Id: README,v 1.2 2001/02/19 02:18:18 mcalabre Exp mcalabre $
@


1.2
log
@PGCRVL -> PGSBOX.
@
text
@d2 1
a2 1
                                    PGSBOX
d7 1
a7 1
   http://www.atnf.csiro.au/~mcalabre/pgsbox.html
d9 1
a9 1
PGSBOX is provided as part of WCSLIB, available from
d11 1
a11 1
   ftp://ftp.atnf.csiro.au/pub/software/wcslib
a12 1
mirrored at
a13 3
   ftp://fits.cv.nrao.edu/fits/src/wcs.


d22 6
a27 2
   pgwcsl.f     Subroutine PGWCSL defines an interface to WCSLIB for PGSBOX to
                draw celestial coordinate grids.
d33 4
a36 3
   pgtest.f     Test and demo program and coding example.
   fscan.f      Defines a non-linear coordinate grid for PGTEST.
   lngvel.f     Defines a non-linear coordinate grid for PGTEST.
d41 27
a67 2
The prologue to pgsbox.f contains usage instructions.  pgtest.f serves as a
test and demonstration program and also as a well-documented example of usage.
d72 12
a83 3
A simple-minded GNU makefile is provided; GNU make must be used.  The makefile
compiles pgsbox.o as a dependency of PGTEST.  It assumes that the FORTRAN
version of WCSLIB has been installed as /usr/local/lib/libwcs_f.a.
d91 1
a91 1
$Id: README,v 1.1 1999/12/14 04:36:55 mcalabre Exp mcalabre $
@


1.1
log
@Initial revision
@
text
@d2 1
a2 1
                                    PGCRVL
d4 2
a5 2
PGCRVL is a PGPLOT routine (FORTRAN) which draws and labels curvilinear
coordinate grids.  Example PGCRVL grids can be seen at
d7 1
a7 1
   http://www.atnf.csiro.au/~mcalabre/pgcrvl.html
d9 1
a9 1
PGCRVL is provided as part of WCSLIB, available from
d20 1
a20 1
   Makefile	GNU makefile for compiling PGCRVL.
d22 3
a24 1
   pgcrvl.f     PGCRVL
d26 1
a26 1
   pgwcsl.f     Subroutine PGWCSL defines an interface to WCSLIB for PGCRVL to
d29 1
a29 1
                coordinate systems for PGCRVL.  Linear, logarithmic and
d40 1
a40 1
The prologue to pgcrvl.f contains usage instructions.  pgtest.f serves as a
d47 1
a47 1
compiles pgcrvl.o as a dependency of PGTEST.  It assumes that the FORTRAN
d56 1
a56 1
$Id$
@
