C VELOCITY.FOR SUBROUTINE VELCTY( MH0I, MSEDI, SPEED, DH0I, DSEDI, & C0, Z0, C1, Z1) C C___________________________________________________________ C | C This routine interpolates the speed of sound. | C__________________________________________________________| C DOUBLE PRECISION SPEED( * ), DH0I, DSEDI, DIV, Z DOUBLE PRECISION C0(*), Z0(*), C1(*), Z1(*) DOUBLE PRECISION CREF, CNORM, CMIN COMMON /NA/ ND0, ND1, CMIN COMMON /REFSPD/ CREF C C WATER C MH0IP1=MH0I+1 N=1 CNORM=1.0D0/CREF I=2 DIV=(C0(2)-C0(1))/(Z0(2)-Z0(1)) SPEED(1)=C0(1)*CNORM DO 2000 N=2,MH0I Z=DH0I*(N-1) IF(Z.GT.Z0(I)) THEN 1000 CONTINUE I=I+1 IF(Z.GT.Z0(I)) GO TO 1000 DIV=(C0(I)-C0(I-1))/(Z0(I)-Z0(I-1)) END IF SPEED(N)=(DIV*(Z-Z0(I-1))+C0(I-1))*CNORM 2000 CONTINUE SPEED(MH0IP1)=C0(ND0)*CNORM C C SEDIMENT C IF(MSEDI.GT.0) THEN I=2 DIV=(C1(2)-C1(1))/(Z1(2)-Z1(1)) SPEED(MH0IP1+1)=C1(1)*CNORM DO 4000 N=2,MSEDI Z=DSEDI*(N-1)+1.D0 IF(Z.GT.Z1(I)) THEN 3000 CONTINUE I=I+1 IF(Z.GT.Z1(I)) GO TO 3000 DIV=(C1(I)-C1(I-1))/(Z1(I)-Z1(I-1)) END IF SPEED(MH0IP1+N)=(DIV*(Z-Z1(I-1))+C1(I-1))*CNORM 4000 CONTINUE SPEED(MH0IP1+MSEDI+1)=C1(ND1)*CNORM END IF RETURN END