*-- Author : S.Burke / J.V. Morris
SUBROUTINE FKLPRO(JPL,IERR)
**********************************************************************
* *
* Project the state vector and its covariance from plane JPL to *
* plane JPL+1, including multiple scattering. *
* *
* ERROR CONDITIONS; *
* IERR = 0 ; normal termination *
* -> IERR = 101 ; no filtered vector at JPL *
* IERR = 5 ; projection to JPL+1 already done *
* -> IERR = 111 ; failure to invert projected covariance *
* *
* -> Fatal errors *
* *
**********************************************************************
*KEEP,FKECODE.
*KEND.
*
* Common block definitions
*
*KEEP,FKNPL.
*
* Per-track values can go in H1WORK; note that LTRUE and LFIRST must
* be set at least per event.
*
* This is about 36k words long; the remaining common blocks are
* about 3.6k in total. Some of this could be in /H1WORK/, but the
* blocks would have to be reorganised.
*
* /FKPROJ/
* /FKFILT/
* /FKSMTH/
* /FKINT/
* /FKRSID/
* /FKTRUE/
* /FKDBG/
*KEEP,FKCNTL.
*KEEP,FKCONS.
*KEEP,FKFLAG.
*KEEP,FKPROJ.
*KEEP,FKFILT.
*KEEP,FKINT.
*KEND.
**********************************************************************
*
* Local arrays etc ...
*
**********************************************************************
*
* Initialisation and checks ....
*
* no filtered data at plane JPL ... terminate!
CALL FKERR(IUTIL,IROUT,IFATAL,IINF1,IERR)
* Number of next plane
* Projection has already been made .... but do it anyway!
IF (LPRO(JPLN)) CALL FKERR(IUTIL,IROUT,IWARN,IDONE,IERR)
**********************************************************************
* Transform the state vector and covariance from JPL to JPL+1 ...
CALL FKTRAN(DZPL(JPL),ZPL(JPL),SFIL(1,JPL),SPRO(1,JPLN),D)
CALL FKMUL(CFIL(1,1,JPL),D,CPRO(1,1,JPLN))
* RADL and LRAD are defined in an asymmetrical way
* Compute the MS matrix
CALL FKSCAT(DZPL(JPL),SFIL(1,JPL),RADL(JPLR),D,QPRO(1,1,JPL))
* ... and add to the projected error matrix
CALL FKQADD(CPRO(1,1,JPLN),QPRO(1,1,JPL))
* Calculate QGAIN for the smoother
CALL FKQG(CPRO(1,1,JPLN),QPRO(1,1,JPL),QGAIN(1,1,JPL),IFAIL)
CALL FKERR(IUTIL,IROUT,IFATAL,IOCV,IERR)
* Projection is complete
*