

C-----------------------------------------------------------------------------

      SUBROUTINE AWCNL 

C-----------------------------------------------------------------------------

C     DISPERSION RELATION FOR ACOUSTIC WAVES WITH CURRENT, NO LOSSES

C     COMMON DECK "RKAM" INSERTED HERE 

      implicit double precision (a-h,o-z)

      DOUBLE PRECISION KR,KTH,KPH

      COMMON//R,TH,PH,KR,KTH,KPH,RKVARS(14),TPULSE,CSTEP,DRDT(20)

C     COMMON DECK "CC" INSERTED HERE

      DOUBLE PRECISION MODC

      COMMON/CC/MODC(4),CS,PCST,PCSR,PCSTH,PCSPH

C     COMMON DECK "CONST" INSERTED HERE

      COMMON/PCONST/CREF,RGAS,GAMMA

      COMMON/MCONST/PI,PIT2,PID2,DEGS,RAD,ALN10

C     COMMON DECK "RK" INSERTED HERE

C     DEFINE SIZE REQUIRED FOR RAY STATE SAVE ARRAY

      PARAMETER (LRKAMS=87+2*100,NXRKMS=12+LRKAMS,MXEQPT=21)

      PARAMETER (NRKSAV=NXRKMS+MXEQPT-1)

      COMMON /RK/ NEQS,STEP,MODE,E1MAX,E1MIN,E2MAX,E2MIN,FACT,RSTART

C     COMMON DECK "RINREAL" INSERTED HERE

      LOGICAL SPACE

      DOUBLE PRECISION LPOLAR,LPOLRI,KPHK,KPHKI,KAY2,KAY2I

      CHARACTER DISPM*6,modrin*64

      COMMON/RINPL/DISPM 

      COMMON /RIN/ MODRIN,RAYNAME(2,3),TYPE(3),SPACE  

      COMMON/RIN/OMEGMIN,OMEGMAX,KAY2,KAY2I,

     1              H,HI,PHT,PHTI,PHR,PHRI,PHTH,PHTHI,PHPH,PHPHI

     2, PHOW,PHOWI,PHKR,PHKRI,PHKTH,PHKTI, PHKPH,PHKPI

     3 ,KPHK,KPHKI,POLAR,POLARI,LPOLAR,LPOLRI,SGN

C     COMMON DECK "UU" INSERTED HERE

      DOUBLE PRECISION MODU

      COMMON/UU/MODU(4)

     1  ,V  ,PVT  ,PVR  ,PVTH  ,PVPH

     2  ,VR ,PVRT ,PVRR ,PVRTH ,PVRPH

     3  ,VTH,PVTHT,PVTHR,PVTHTH,PVTHPH

     4  ,VPH,PVPHT,PVPHR,PVPHTH,PVPHPH

      COMMON/WW/dum(10),MAXW,W(1000)

      DOUBLE PRECISION MAXSTP,MAXERR,INTYP,LLAT,LLON

      DOUBLE PRECISION KS,KV

      DOUBLE PRECISION KVECT(24)

      EQUIVALENCE(KVECT,KAY2),(ow,w(6))

      DOUBLE PRECISION TBPE( 3)

      CHARACTER DLSPM*5

      DATA DLSPM/'AWCNL'/

      DATA TBPE/3*1H1 /

C

C

      ENTRY SETDSP 

	modrin = 'ACOUSTIC WAVE --- WITH CURRENT --- NO LOSSES'

      DISPM=DLSPM

      CALL RMOVE(TYPE,TBPE, 3)

      CALL SETSPD

      CALL SETWND

      CALL SETRCV

      CALL SETTOP

      CALL SETSUR

      RETURN     

c

      ENTRY IDISPER

      CALL ISPEED

      CALL IWINDR

      CALL IRECVR

      CALL ITOPOG

      CALL ISURFAC

      RETURN 

C

      ENTRY DISPER

      SPACE=.FALSE.

      KS=KR*KR+KTH*KTH+KPH*KPH

C     WIND VELOCITY

      CALL WINDR 

      KV=KR*VR+KTH*VTH+KPH*VPH

      VLS=KV*KV/KS 

C     SOUND SPEED 

      CALL SPEED 

      OWS=OW*OW 

      KAY2=OWS/(dSQRT(CS)+KV/dSQRT(KS))**2

      OWI=OW-KV

      H=OWI*OWI - CS*KS  

      POWIT=-KR*PVRT - KTH*PVTHT - KPH*PVPHT

      PHT=2.d0*OWI*POWIT - KS*PCST 

      POWIR=-KR*PVRR - KTH*PVTHR - KPH*PVPHR

      PHR=2.d0*OWI*POWIR - KS*PCSR

      POWITH=-KR*PVRTH - KTH*PVTHTH - KPH*PVPHTH

      PHTH=2.d0*OWI*POWITH - KS*PCSTH

      POWIPH=-KR*PVRPH - KTH*PVTHPH - KPH*PVPHPH

      PHPH=2.d0*OWI*POWIPH - KS*PCSPH 

      PHOW=2.d0*OWI

      PHKR=-2.d0*(OWI*VR + CS*KR)

      PHKTH=-2.d0*(OWI*VTH + CS*KTH)

      PHKPH=-2.d0*(OWI*VPH + CS*KPH)

      KPHK=-2.d0*(OWI*KV + CS*KS)

      RETURN

      END 

                                                                                



