*-- 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 *