This top directory, and its subdirectories, were created when the
"pandora_kit" was un-tarred by you, thus recreating the directory
structure I chose to set up for you when preparing the "pandora_kit".
In this, and the other "Read_me" files found in some of the
subdirectories, and in the several Unix scripts I have included,
these directories are referred to by symbolic names that need to be
set up properly. I have provided the source file ".panrc" to do this;
however,  B E F O R E  you can "source" it, you must modify it as
explained in it. Modifying and then "sourcing" this file is the first
thing you need to do.

You should then be able to compile all the Pandora source files and
set up the Pandora executable file in directory main. To accomplish
this, read the script "Make_pandora", and run it.

If your f77 works like mine, and if your Fortran files are serviced
by your file system like mine are on hector, there should be no
problem. But since Unix is Unix isn't Unix, you never know . . .

"Make_pandora" may run for quite a while, since it has to compile
about 5000 modules. If it appears to run OK, you might try one
of the test runs in pantest, say "pan30". To do this, type "pan30 #"
(where # is a unique 4-or-5 digit number that will become part of
the name of every file produced by this run, and distinguishes the
files from various runs).

If the run seems to go OK and emits the message "PANDORA done", then
so far, so good. If not, then the fun starts.

The directories pan, sys, and zoo contain the three classes of source
files, while directories panlis, syslis, and zoolis contain the
compiler output listings that I saved from the last time each module
was compiled by me on hector. The listing of the main program,
pandora.lis in panlis, gives essential general information about the
general organization of the source code, about my "Pandora Development
Environment" on hector, and about how to change the memory requirements
of Pandora. Please read this.

This "pandora_kit" does not include the entire "Pandora Development
Environment", since I presume you just want to run the program, not to
tinker with it. Some aspects of the source files may look funny to you;
these files, however, are simply the output from the ALPHA preprocessor
(see comments in pandora.lis in panlis). I generally work with the code
in the form of the final "compilation output listings" found in panlis,
syslis and zoolis.

Please be alert to, and read, the "Read_me" files I have provided in
several of these directories.

If "Make_pandora" does not compile the sys modules (which are the
ones that I think are most likely to be system-dependent), then study
the modules in question and adapt them as necessary. If the modules
in zoo and pan give trouble, then maybe changing some of your compiler
options may be necessary. In general, you might try turning compilation
optimizations off until you have a working program; thereafter you can
experiment with turning them on again.

It is also possible that compiling and linking will appear to go OK,
but the program will not run more than a few seconds (if that long).
This may come about because your file system implements Fortran I/O
differently from mine. You will need to be quite knowledgeable about
this, or to find expert help. It is not likely that I will know how
your system does I/O; but I should be able to provide information about
what this or that module is intended to accomplish (if that is not
clear from the comments in the source code.)

If the test run works OK, the next thing I suggest you do is read the
user manual in writeup; then, study the demos discussed in the last
section (wup99) (the corresponding files are in directory demo). Next,
you may want to get the auxiliary program "lookat" running, to have a
convenient way of reading Pandora output files on a display screen
(see "Read_me" in main). Then, try running all the other test runs in
pantest. (You need to modify the two  FILE  statements in pan26.dat;
FILE statements are described in Section 5 of the user manual.)

Pandora uses double precision operands and calculations almost
exclusively; my system hector's cpu does floating point arithmetic
according to the IEEE standard---I do not know how the results from
your system might differ if yours does floating point differently.
Even if your system does floating point arithmetic according to the
IEEE standard also, you will likely note some differences in the 6th
(or even 5th) place when you compare your test runs output files (.aaa)
with mine in detail. This is because Pandora does use single precision
for some calculations (e.g. two of the three versions of the Voigt
function). The test run pan21, however, computes everything in double
precision; our output files should generally not differ in higher
than the 13th-14th place (mainly less); though some differences as
high as the 10th place might show up.

(The purpose of the pan.. test runs is to help me control ongoing
program development. They compute and display "checksums" as snapshots
of various stages of the calculations. Checksums are computed for
arrays of numbers, and my use of the term is somewhat misleading---
in fact, a Pandora "checksum" of an array is the sum of the logs of
the absolute values of all nonzero array members.)

So, if all the tests run to completion, and the results look "OK,"
it is a good sign: probably you are then up and running.

Last reviewed: 2006 Oct 04