SUBROUTINE FKLSPR
*-- Author : S.Burke
      SUBROUTINE FKLSPR(SFIL,CFIL,Z,DZ,RADL,QPRO,QGAIN,SPRO,CPRO,IERR)
**********************************************************************                                        
*                                                                    *                                        
* Translate a state vector and its covariance, including multiple    *                                        
* scattering (simple version of FKLPRO)                              *                                        
*                                                                    *                                        
* ERROR CONDITIONS;                                                  *                                        
*       IERR =   0 ; normal termination                              *                                        
*   ->  IERR = 111 ; failure to invert projected covariance          *                                        
*                                                                    *                                        
*   ->  Fatal errors                                                 *                                        
*                                                                    *                                        
**********************************************************************                                        
                                                                        
      IMPLICIT DOUBLE PRECISION (A-H,O-Z)                               
                                                                        
      PARAMETER (IUTIL=0,IROUT=11)                                      
*KEEP,FKECODE.                                                                                                
      PARAMETER (IWARN=0,IFATAL=1,IFPRO=2,IFFLT=3,IFSMO=4,IFPRS=5,      
     &           IFPAS=6,IFPAF=7)                                       
      PARAMETER (IINF1=1,IINF2=2,IINF3=3,IINV=4,IDONE=5)                
      PARAMETER (IICV=6,IMCV=7,IOCV=11,IRCV=12,IOVCV=13,                
     &           ITHGP2=16,ITHG1=17)                                    
      PARAMETER (IFREE=20,IFREE1=30,IFREE2=40,IFREE3=50)                
*KEND.                                                                                                        
                                                                        
      DIMENSION SFIL(5),CFIL(5,5),QPRO(5,5),QGAIN(5,5)                  
     &,         SPRO(5),CPRO(5,5)                                       
      DIMENSION DTRAN(5,5)                                              
                                                                        
**********************************************************************                                        
                                                                        
      IERR = 0                                                          
                                                                        
* Transform the state vector and covariance from Z to Z+DZ                                                    
      CALL FKTRAN(DZ,Z,SFIL,SPRO,DTRAN)
      CALL FKMUL(CFIL,DTRAN,CPRO)
                                                                        
* Compute the MS matrix and add to the projected error matrix                                                 
      CALL FKSCAT(DZ,SFIL,RADL,DTRAN,QPRO)
      CALL FKQADD(CPRO,QPRO)
                                                                        
* Calculate QGAIN for the smoother                                                                            
      CALL FKQG(CPRO,QPRO,QGAIN,IFAIL)
      IF (IFAIL.NE.0) CALL FKERR(IUTIL,IROUT,IFATAL,IOCV,IERR)
                                                                        
      RETURN                                                            
      END                                                               
*