SUBROUTINE OBSSQRT 1,2
#if defined (DOC)
*
*s/r OBSSQRT -CALCULATE SQRT OF OBS ERROR CORRELATION MATRIX
*
*Author : M. BUEHNER *CMC/AES Feb 2000
*Revision:
*
*Arguments
* none
*
#endif
C
IMPLICIT NONE
*implicits
#include "comlun.cdk"
#include "comcst.cdk"
#include "pardim.cdk"
#include "comdim.cdk"
#include "comgem.cdk"
#include "comnumbr.cdk"
#include "comstato.cdk"
#include "comstato2.cdk"
*
C
INTEGER IJ,JI,J,JTYP
INTEGER JBAND
REAL*8 ZVCOR(JPRLEV,JPRLEV),UVCOR(JPRLEV,JPRLEV),
+ ESVCOR(JPRLEV,JPRLEV)
REAL*8 DZCOR(JPSALEV,JPSALEV)
REAL*8 HUCOR(JPHLEV ,JPHLEV)
C
C ---------------------
C SATEM Correlations
C
DO JTYP =1,JPNTYP
C
DO J = 1, JPSALEV
DO JI=1,JPSALEV
DZCOR(JI,J)=DZOBSCOR(JI,J,JTYP)
END DO
END DO
C
CALL MATSQRT
(DZCOR ,JPSALEV,1.0d0)
C
DO J = 1, JPSALEV
DO JI=1,JPSALEV
DZOBSCOR2(JI,J,JTYP)=DZCOR(JI,J)
END DO
END DO
C
WRITE(*,*)" correlation matrix for satems"
WRITE(*,*)" ------------------------------------------------"
WRITE(*,1244)((DZOBSCOR(JI,J,JTYP),JI=1,JPSALEV),J=1,JPSALEV)
WRITE(*,1244)((DZOBSCOR2(JI,J,JTYP),JI=1,JPSALEV),J=1,JPSALEV)
WRITE(*,*)" ------------------------------------------------"
C
END DO
C
C ---------------------
C HUMSAT Correlations
C
DO J = 1, JPHLEV
DO JI=1,JPHLEV
HUCOR(JI,J)=HUOBSCOR(JI,J)
END DO
END DO
C
CALL MATSQRT
(HUCOR ,JPHLEV,1.0d0)
C
DO J = 1, JPHLEV
DO JI=1,JPHLEV
HUOBSCOR2(JI,J)=HUCOR(JI,J)
END DO
END DO
C
WRITE(*,*) " correlation matrix for humsat "
WRITE(*,*)" ------------------------------------------------"
WRITE(*,1244)( (HUOBSCOR(JI,J),JI=1,JPHLEV),J=1,JPHLEV)
WRITE(*,1244)( (HUOBSCOR2(JI,J),JI=1,JPHLEV),J=1,JPHLEV)
WRITE(*,*)" ------------------------------------------------"
C
1244 FORMAT( 7(1x,f5.2))
1245 FORMAT(16(1x,f5.2))
RETURN
END