C     COMMON.INC


      PARAMETER ( NOPT=18, ICF=6, KSRD=10,
     & NK2=NOPT*KSRD*2, NOPT3=NOPT*3, NDEP=201,
     & NDEP2=NDEP*2, MAXPRF=8193 )

      PARAMETER ( ISD=5, ISD2=ISD*2, MODNP=5,
     & NFF=101, NRP=5, NR1=100, MODULO=10 )


      PARAMETER ( IDUMMY= 9 * NPOINT +    ( MODEN*MAXNRD)/2   )
C                                        SIZE OF ARRAY "PHIR"
      PARAMETER ( IPRSS= IDUMMY/NRANGE )
      PARAMETER ( NINC= 30 )

      PARAMETER( IOFF1= 9*NPOINT+1 )

      INTEGER OPTSD(NOPT)
      INTEGER INDX( NRANGE ), INDY(MSPMAX)
      INTEGER REORD1(NOPT), REORD2(NOPT)
      INTEGER NDIVP2(MAXPRF)

      CHARACTER*5 ALPHA1(NOPT)

      REAL BIASUM(MAXPRF)

      DOUBLE PRECISION WORK(IDUMMY)     
      DOUBLE PRECISION ADA(NPOINT), SPEED(NPOINT), EIGF(NPOINT),
     &       A3(NPOINT), B3(NPOINT), C3(NPOINT),
     &       EE(NPOINT), ZZ(NPOINT), SSOLD(NPOINT)
      DOUBLE PRECISION ISO(MODEN), MY(MAXMSH,MODEN)

      COMPLEX PRDEP( MAXNRD )

      COMMON /CFIELD/ FLDRD(3),PULRD(3)
C   FLDRD AND PULRD ARE USED TO STORE MIN AND MAX RECEIVER DEPTH AND 
C   STEP FOR OPTIONS "FIELD" AND "PULSE"

      EQUIVALENCE ( NDIVP2(1), BIASUM(1) )

      EQUIVALENCE 
     & (WORK(         1),  ADA(1)), (WORK(  NPOINT+1),SPEED(1)),
     & (WORK(2*NPOINT+1), EIGF(1)), (WORK(3*NPOINT+1)   ,A3(1)),
     & (WORK(4*NPOINT+1),   B3(1)), (WORK(5*NPOINT+1)   ,C3(1)),
     & (WORK(6*NPOINT+1),   EE(1)), (WORK(7*NPOINT+1)   ,ZZ(1)),
     & (WORK(8*NPOINT+1),SSOLD(1))
      EQUIVALENCE
     & (WORK(IOFF1),  ISO(1)), (WORK(IOFF1+MODEN),MY(1,1))

      LOGICAL EXCH(NPOINT)

      REAL ALFA(MODEN), MODAVR(MODEN)
      REAL RCOUPL(MAXPRF), RPROF(MAXPRF), RFILE(MAXPRF),
     &     BATHY(MAXPRF)
      REAL SUM2A(MAXPRF)

      DOUBLE PRECISION C0(NDEP2), Z0(NDEP2)
      DOUBLE PRECISION C1(NDEP2), Z1(NDEP2)
      DOUBLE PRECISION Z0NRM(NDEP2), Z1NRM(NDEP2)
      DOUBLE PRECISION EK(MODEN)

      REAL SRD(NOPT,KSRD,2), FF(NFF), SECD(NOPT,3), STORE(NOPT),
     &     FLAG(NOPT,ICF), AX(NOPT,6), AY(NOPT,7), AS(5)
C
C ****
      REAL TLOSS(NRANGE)
C

C     ARRAYS FOR RANGE DEPENDENT CALCULATION
      COMPLEX CK(MODEN), CKTAIL(MODEN)
      real PHIR(MODEN,MAXNRD)
C array PRSS is used to read back the TL computed in EVALCM
C      REAL PRSS(NRANGE,MAXNRD)
C      REAL PRSS(NRANGE, IDUMMY/NRANGE)
      REAL PRSS(NRANGE, IPRSS)
      EQUIVALENCE
     & (WORK(1)                   , PRSS(1,1) ),
     & (WORK(IOFF1)               , PHIR(1,1) )

C

C ****
      REAL RDAR( MAXNRD ), QRD( MAXNRD, 2 ), RDTMP( 2*MAXNRD )
      REAL RNG(NRANGE), QRNG(NRANGE,2), RNGTMP( 2*NRANGE )
      PARAMETER (IOFFA= MAXNRD*2 + NRANGE*2 )
      EQUIVALENCE
     & (WORK(1)             ,  QRD(1,1) ),
     & (WORK(MAXNRD*2 + 1)  ,  QRNG(1,1)),
     & (WORK(IOFFA + 1)             ,  RDTMP(1) ),
     & (WORK(IOFFA + MAXNRD*2 + 1)  ,  RNGTMP(1))

      REAL XTS(12,MSPMAX)
      EQUIVALENCE
     & (WORK( IOFF1)                      ,  XTS(1,1) )

C ****
C PROFL ONLY
      REAL ZY(NDEP2), CX(NDEP2)
C
      EQUIVALENCE
     & (WORK(      1)   ,      ZY(1)),
     & (WORK(NDEP2+1)   ,      CX(1))

C     END