*****************************************
Description of the program  A N R A Y P L
*****************************************

     Program ANRAYPL is designed for plotting of ray diagrams
(projections of rays into vertical and horizontal planes), travel
times and amplitudes of seismic body waves from any file which has
formating of data like the file LU1 generated for this purpose by
program ANRAY.

Short description of the program ANRAYPL
----------------------------------------
     Ray diagrams, travel times and amplitudes are plotted in separate
frames. For each elementary wave, for which computations were
performed, it is possible to plot all frames or only some of them.
Two ray diagram frames may be plotted for each elementary wave,
containing projections of rays into horizontal and vertical planes.
Three amplitude frames may be plotted for each elementary wave,
corresponding to three different components of the polarization vector:
vertical, x- and y-component (components into the x- and y-coordinates
of the model coordinate system, see description of ANRAY).

     The horizontal axis in the ray diagram frames coresponds to the
range. Vertical axis corresponds either to the depth (in case of
projections of rays into a vertical plane) or to the distance
transverse to range (in case of projections of rays into a horizontal
plane). The vertical axis is positive downwards. The horizontal axis
in the frames of travel times and ray amplitudes corresponds to the
range (in case of the profile with receivers situated along surface
or along an interface) or to the depth (in case of vertical profile
with receivers). The vertical axis, corresponding to travel times or
ray amplitudes, is positive upwards.
Note: Contours of interfaces are not plotted in ray diagrams.

    The travel times and amplitudes of vertical, x- or y-components
of displacement vector obtained experimentally or in some other way
can be plotted together with computed travel times and amplitudes.

    The following CALCOMP plotting routines are required: PLOTS,
PLOT, NUMBER and SYMBOL.

                                                     
Description of input and output data
------------------------------------

    Main input data are read from the standard input by list-directed
input (free format) and consist of a single line containing following
data:
    'LIN' 'LOU' 'LU1'/
Here:
    'LIN' is the name of the input data file LIN.
    'LOU' is the name of the output log file LOU.
    'LU1' is the name of the input data file LU1,
          generated by program ANRAY.
    / is a slash recomended in batch and script files to enable future
        extensions.
Defaults:
    'LIN'='anraypl.dat'
    'LOU'='anraypl.out'
Example of the main input data:
    'anraypl.ani' /
or
    'anraypl.qi' /

    Input data consist partially of the data obtained in the program
ANRAY, which are stored in the file LU1, and partially
of the additional data read by list-directed input (free format) and
specified by the user in the file LIN. Output data describing the
computations are stored in the file LOU. The program generates a
postscript file with the desired plot, see also the
SEP parameters controlling the form of the output PostScript file.

                                                      
The data stored at LU1
---------------------

    The data are stored in the file LU1 in the formatted form. For
details see the description of the content of the file LU1 in program
ANRAY.

1)  ICONT,NDST,ILOC                               FORMAT(26I3)
2)  ROS                                           FORMAT(8F10.5)
3)  NPN,NPN,NPN                                   FORMAT(26I3)
4)  APN,APN,APN,APN,APN                           FORMAT(5E15.5)
5)  XPRF,YPRF,0.,PROF                             FORMAT(8F10.5)
6)  (DST(I),I=1,NDST)                             FORMAT(8F10.5)
7)  N,II                                          FORMAT(26I3)
8)  T(I),X(I),Y(I),Z(I),(DD(L),L=1,12),I=1,N)     FORMAT(16E15.5)
9)  INDEX                                         FORMAT(26I3)
10) (INDI(I),XCOOR(I),ZCOOR(I),TIME(I),AMPX(1,I),AMPY(1,I),
    AMPZ(1,I),I=1,INDEX)                          FORMAT(I5,9E15.5)
11) IF(INDEX.LT.0) ((AMPX(2,I),AMPY(2,I),AMPZ(2,I),I=1,INDEX)
                                                  FORMAT(6E15.5)
12) (P(K),K=1,3)                                  FORMAT(3E15.5)
13) (POL(K),K=1,3)                                FORMAT(3E15.5)
14) IF(INDEX.LT.0) (POL1(K),K=1,3)                FORMAT(3E15.5)

    The sequence of data 1-14 repeats for each considered elementary
wave. Indication of the end of information in LU1 is ICONT=0 in
line 1.

                                                      
The additional input data in the file LIN
-----------------------------------------

     These data are specified by the user. They control plotting of
ray, travel time and amplitude diagrams. The places, where the data
from LU1 are read in are denoted by **LU1/1, **LU1/2, etc.

1) IPRINT,XSHIFT,YSHIFT,PSTEXT

    IPRINT...   controls the output of some data and results into
                the file output file LOU and the type of the name of
                the postscript file with a plot.
                IPRINT.GE.0... automatic generation of postscript file
                names: plot00.ps, plot01.ps, etc.
                IPRINT.LT.0... postscript file name specified by the user,
                see PSTEXT.
                IPRINT=0: Only additional input data are reproduced.
                Default value.
                IABS(IPRINT)=1: In addition to the previous data, the
                tables of travel times and amplitudes are given.
                IABS(IPRINT)=2: In addition, the tables of rays are printed.

    XSHIFT,YSHIFT... shifts between individual pictures in x and y
                directions, in cm. Default XSHIFT=5., YSHIFT=3.

    PSTEXT...   the name of the postscript file specified by the user;
                it is used only if IPR.LT.0. If more than one figure
                are to be generated (see IPAGE), the name should contain
                a number; the successive figures will be given the names
                with the number always increased by 1 (for example, if
                PSTEXT=fig3.ps, the file fig3.ps will be followed by
                fig4.ps, etc.

**LU1/1
**LU1/2

2) TEXT

   Arbitrary alphanumerical text which is shown below the plots.
   Default 'ANRAYPL'.

3) NTICX,NTICY,NTICH,NTICT,NTICA,IPROF,NRAY,IBOUND,IRED,IRS,
   NDX,NDY,NDH,NDT,NDA,IPAGE
    NTICX...    NTICX.NE.0: The number of marked intervals on the
                x axis between two neighbouring tics with
                corresponding coordinate values.
                NTICX=0: Indication of termination of the plotting,
                independently of the content of LU1. Default value.

    NTICY...    NTICY.NE.0: The same as NTICX, but for the depth axis
                in the plot of the diagram of ray projections into the
                vertical plane containing the profile.
                NTICY=0:  No ray diagram is to be plotted. Default
                value.

    NTICH...    NTICH.NE.0: The same as NTICX, but for the transverse
                axis in the plot of the diagram of ray projections
                into the horizontal plane.
                NTICH=0:  No ray diagram is to be plotted. Default value.

    NTICT...    NTICT.NE.0: The same as NTICX, but for a time axis.
                NTICT=0:  No travel times are to be plotted. Default
                value.

    NTICA...    NTICA.NE.0: The same as NTICX, but for the amplitude
                axis.
                NTICA=0:  No amplitudes are to be plotted. Default value.

    IPROF...    dummy parameter in this version.

    NRAY...     controls the manual selection of rays for plotting.
                NRAY.NE.0: NRAY is a number of rays stored in LU1
                which are not to appear in the ray diagram. These
                rays are specified in card No.6.
                NRAY=0: Rays to all receivers along the considered
                profile are plotted. Default value.

    IBOUND...   dummy parameter in this version.

    IRED...     IRED=0:   No reduction of travel times. Default value.
                IRED=1:   Reduction of travel times; the reduction
                velocity is given in card No.7.

    IRS...      IRS=0:    Rays are plotted right from the source.
                Default value.
                IRS.NE.0: IRS+1 is the number of the point on any ray
                from which plot of the ray is to start.

    NDX,NDY,NDH,NDT,NDA...  control the precision of numbers describing
                the coordinate axes in the plots. NDX corresponds to
                range axis, NDY to the depth axis. NDH corresponds to
                the transverse axis in the plots of horizontal
                projections of rays. NDT and NDA correspond to the
                travel time and amplitude axes.
                ND.GT.0: The number of digits to the right of the
                decimal point.
                ND=0: Only integer portions of the numbers with
                decimal points. Default value.
                ND.LT.0:  Integers.

    IPAGE...    IPAGE=0: Plots for all computed elementary waves are
                in one postscript file. Default value.
                IPAGE.NE.0: Plots of each elementary wave are in
                a separate postscript file.

4) XMIN,XMAX,XLEN,DTICX,SC,AROT

    XMIN,XMAX... the minimum and maximum values along the range axis (in
                the user length units, e.g. km). Remember, the epicenter
                is automatically considered to be situated at x=0. XMIN
                should not be less than 0.

    XLEN...     length of the x axis, in cm.

    DTICX...    the distance between two neighbouring tics on the
                x axis which are denoted by the corresponding
                coordinate values (in the user length units).
                DTICX.GT.0.0: Tic marks starting from XMIN and
                appearing at the subsequent points XMIN+DTICX,
                XMIN+2.0*DTICX,...
                DTICX.LT.0.0: Tic marks start and continue to be
                plotted from the first integer multiple of
                ABS(DTICX) greater than XMIN.

    SC...       scaling factor, controls the scales of tics and
                alphanumeric texts. For SC=1.0, the tics are 0.15
                cm long and coordinates and text describing the
                plot are 0.4 and 0.45 cm high, respectively.
                Default SC=1.

    AROT...     an angle, in radians, by which the horizontal coordinate
                axes of the recording coordinate system  are to be
                rotated.
                For  AROT=0., the recording coordinate system
                coincides with the "model" coordinate system. For
                AROT.NE.0, the axes of the recording system are
                rotated  anticlockwise in the horizontal plane by
                the angle AROT. Default AROT=0.


5) YMIN,YMAX,YLEN,DTICY,HMIN,HMAX,HLEN,DTICH

                The same as in card No.4, but for the depth axis in
                the frame for the diagram of ray projections into the
                vertical plane (quantities with Y) and for the diagram
                of ray projections into the horizontal plane
                (quantities with H).

**LU1/3
**LU1/4
**LU1/5
**LU1/6

6) This card is included only when NRAY.NE.0.

   (NR(I),I=1,NRAY)

    NR(I)...    successive numbers of rays, which are not to be
                plotted in the ray diagrams. Rays are numbered by the
                indices of receivers to which rays arrive, see the
                field DST in the data stored in LU1, line 6.


**LU1/7
**LU1/8
**LU1/9
**LU1/10
**LU1/11
**LU1/12
**LU1/13
**LU1/14

7) This card is included only when NTICT.NE.0.

   TMIN,TMAX,TLEN,DTICT,VRED

    The same meaning as in the case of the x axis, but for travel
    time axis. VRED is the reduction velocity. For IRED=1, all the
    above input quantities correspond to the reduced travel times.
    Default value VRED=6..

8) This card is included only when NTICT.NE.0.

   NEXP

    NEXP...     NEXP.NE.0: Number of points of the additional
                travel-time curve which is to be plotted in one frame
                together with the computed travel-time curve.
                NEXP=0:   No additional travel-time points are to be
                plotted. Default value.

9) This card is included only when NTICT.NE.0 and NEXP.NE.0.

   (X(I),T(I),I=1,NEXP)

    X(I),T(I)... x coordinates and corresponding travel times in an
                additional travel-time curve. The times should be in
                a non-reduced form. In the plot, they will be reduced
                in the same way as the computed travel times.

10) This card is included only when NTICA.NE.0.

   AMIN,AMAX,ALEN,DTICA,ICOMP,MSOUR

    AMIN,AMAX,ALEN,DTICA... the same meaning as in the case of the
                x axis, but for the amplitude axis (decadic loga-
                rithms of amplitudes).
                ALEN=0.: Indication of the end of plotting
                amplitude-distance curves for the considered
                elementary wave.

    ICOMP...    ICOMP=0:  Amplitudes of the vertical component.
                Default value.
                ICOMP=1:  Amplitudes of the radial component.
                ICOMP=2:  Amplitudes of the transverse component.

    MSOUR...    MSOUR=0:  Unit isotropic radiation pattern. Default
                value.
                MSOUR=1:  Single force.
                MSOUR=2:  Double couple.
                MSOUR=3:  Explosive (implosive) source.
                MSOUR=4:  Moment tensor specified by its components.

11) Specification of parameters of the radiation pattern. This card
    is included only when MSOUR.NE.0.

   IPAR(1),...,IPAR(4),PAR(1),...,PAR(6)

MSOUR=1 - single force:

    IPAR(1)-IPAR(4)... free parameters.
    PAR(1)...   force azimuth - the angle, in radians, made by the
                force vector and the positive x axis.
    PAR(2)...   magnitude of the force.
    PAR(3)...   force declination - the angle, in radians, made by
                the force vector and the horizontal plane.
    PAR(4)-PAR(6)... free parameters.

MSOUR=2 - double couple:

    IPAR(1)-IPAR(4)... free parameters.
    PAR(1)...  dip angle, in radians.
    PAR(2)...  source moment.
    PAR(3)...  strike angle, in radians.
    PAR(4)...  rake angle, inradians.
    PAR(5)-PAR(6)... free parameters.

    Note: The formulae for the double couple follow the definition
    in Aki and Richards (1980).

MSOUR=3 - explosive (implosive) source:

    IPAR(1)=1 (-1)... for explosive (implosive) source.
    IPAR(2)-IPAR(4)... free parameters.
    PAR(1)...  magnitude of the source.
    PAR(2)-PAR(6)... free parameters.

MSOUR=4 - moment tensor (MIJ) specified by its components:

    IPAR(1)-IPAR(4)... free parameters.
    PAR(1)=M11, PAR(2)=M12, PAR(3)=M13, PAR(4)=M22, PAR(5)=M23,
    PAR(6)=M33.

12) This card is included only when NTICA.NE.0.

   NEXP

    NEXP...     NEXP.NE.0: Number of points in the additional
                amplitude-distance curve which is to be plotted in
                the same frame as the computed amplitude-distance
                curve.
                NEXP=0: No additional amplitude-distance curve is to
                be plotted. Default value.

13) This card is included only when NTICA.NE.0 and NEXP.NE.0.

   (X(I),Y(I),I=1,NEXP)

    X(I),Y(I)... x coordinates and coresponding amplitudes of the
                additional amplitude-distance curve. Real amplitudes,
                not logarithms of amplitudes should be specified.

Example of data LIN, data for plots of qS waves in anisotropic model
Example of data LIN, data for plots of S wave in isotropic model

Termination of computations:
----------------------------

    Input data cards No.10,11,12 and 13 can be repeated for the given
elementary wave several times (to perform plotting of amplitude-
distance curves of the elementary wave corresponding to different
components of the polarization vector, or for different types and
orientations of point sources). The last card should be a blank card
(to guarantee ALEN=0.). After the blank card, a new system of cards
2-13 for a new elementary wave stored in the file LU1 may follow.
    As soon as ICONT=0 is found in LU1, plotting from the file LU1
terminates. The plotting from LU1 may be also terminated if we put
NTICX=0 in the card No.3, even if LU1 still contains some other data.
In both cases, the file is closed and the computations terminate.

                                                      
Output to the file LOU
----------------------

    All  the  input  data  are  reproduced  in  the file LOU. The
storage  of other  data is  controlled by  the parameter  IPRINT,
see additional input data line No.2.
    For IPRINT=0, the data LU1/1 and LU1/5 are stored.
    For IABS(IPRINT)=1,  LU1/9 and  LU1/10 are stored in addition
to the above data.
    For IABS(IPRINT)=2, LU1/7, LU1/8 and  amplitudes  and  phases
including effects of the considered source are stored in addition
to the above data.
    For IABS(IPRINT)=3, LU1/3, LU1/4, LU1/5 and  LU1/6 are stored
in addition to the above data.