      SUBROUTINE FORMLT (ISN,JSN,B,C,DLDT)                     

*** COMPUTE OBS. EQ. COEFFICIENTS FOR DL/DT AND                     
***    COMPUTE VALUE FOR DL/DT WHERE L DENOTES
***    LINE LENGTH (KIND = 31)

      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
      IMPLICIT INTEGER (I-N)
      COMMON /CONST/ PI,PI2,RAD,RADSEC,TWOPI
      DIMENSION B(*)
      DIMENSION C(31)
      DIMENSION WEI1(2,2),WEI2(2,2)
      DIMENSION R1(3,3), R2(3,3)
      DIMENSION VEL1(2,2,3), VEL2(2,2,3)
      DIMENSION UNIT(3)
      COMMON /CDGRID/ GRDLX,GRDUX,GRDLY,GRDUY,ICNTX,ICNTY,
     1                ITREF

      UNIT(1) = RADSEC
      UNIT(2) = RADSEC
      UNIT(3) = 1.D0

*** GET NECESSARY INFORMATION
      CALL BUILDG(R1,GLAT1,GLON1,DTIME,X1,Y1,Z1,ISN,ITREF,B)
      CALL BUILDG(R2,GLAT2,GLON2,DTIME,X2,Y2,Z2,JSN,ITREF,B)
      CALL GRDPOS(GLON1,GLAT1,I1,J1)
      CALL GRDPOS(GLON2,GLAT2,I2,J2)
      CALL GRDWEI(GLON1,GLAT1,I1,J1,WEI1)
      CALL GRDWEI(GLON2,GLAT2,I2,J2,WEI2)
      CALL GRDVEC(I1,J1,VEL1,B)
      CALL GRDVEC(I2,J2,VEL2,B)

      DELX = X2 - X1
      DELY = Y2 - Y1
      DELZ = Z2 - Z1
      DIST = DSQRT(DELX*DELX + DELY*DELY + DELZ*DELZ)
      XL = DELX/DIST
      YL = DELY/DIST
      ZL = DELZ/DIST
 
      DLDT = 0.0D0
      INDEX = 0

      DO 30 IGRD = 1,2
        DO 20 JGRD = 1,2
          DO 10 IVEC = 1,3
             INDEX = INDEX + 1
             C(INDEX) = (-R1(IVEC,1)*XL -R1(IVEC,2)*YL
     &           -R1(IVEC,3)*ZL) * WEI1(IGRD,JGRD)
             DLDT = DLDT + C(INDEX)*VEL1(IGRD,JGRD,IVEC)*UNIT(IVEC)
   10     CONTINUE
   20   CONTINUE
   30 CONTINUE

      DO 60 IGRD = 1,2
        DO 50 JGRD = 1,2
          DO 40 IVEC = 1,3
             INDEX = INDEX + 1
             C(INDEX) = (R2(IVEC,1)*XL + R2(IVEC,2)*YL
     &             + R2(IVEC,3)*ZL) * WEI2(IGRD,JGRD)
             DLDT = DLDT + C(INDEX)*VEL2(IGRD,JGRD,IVEC)*UNIT(IVEC)
   40     CONTINUE
   50   CONTINUE
   60 CONTINUE

      RETURN
      END
