MODULE YOMECTAB

USE PARKIND1  ,ONLY : JPIM

USE PARDIMO

IMPLICIT NONE

SAVE

!**----------------------------------------------------------------
!** CD YOMECTAB : OBSERVATIONS TABLES DEFINITION (ECMWF ONLY)
!** ---------     DEFINITION DES TABLEAUX D'OBSERVATIONS (ECMWF
!**               SEULEMENT)
!*  AUTEURS               : D. VASILJEVIC                15/06/90
!**----------------------------------------------------------------
!*
!*  COMMENTS
!*  ----------
!*
!*    M..... : "INTEGER" POINTED ARRAY
!*    NM.... : "INTEGER" CORRESPONDING NON POINTED ARRAY
!*
!*    NOOPOT : ARRAY GIVING TOTAL NUMBER OF OBSERVATIONS PER OBS.
!*             TYPE
!*    NOBSPROFS : NUMBER OF OBS.EQ. PROFILES PER OBS. TYPE
!*    NTSLOTNO: CURRENT TIME SLOT NO. (IN THE RANGE)
!*    NTSLOTNOS: START TIME SLOT NO. (IN THE RANGE)
!*    NTSLOTNOE: END TIME SLOT NO. (IN THE RANGE)
!*    NTSLPT : ARRAY HOLDING ADDRESSES FOR DIFFERENT TIME SLOTS
!*    NTSLTOB: ARRAY HOLDING NO. OF OBS. FOR DIFFERENT TIME SLOTS
!*    NTSLTOBOFF:SUM(NTSLTOB(1:NTSLOTNO-1))
!*    NTSLTOBG: SUM OF NTSLTOB FOR ALL PROCESSORS
!*    NTSLTOBM: MAX OF NTSLTOB OVER ALL PROCESSORS
!*    NTSLTOV: ARRAY HOLDING NO. OF TOVS FOR DIFFERENT TIME SLOTS
!*    NTSLTOVOFF:SUM(NTSLTOV(1:NTSLOTNO-1))
!*    NTSLNTV: ARRAY HOLDING NO. OF NON-TOVS FOR DIFFERENT TIME SLOTS
!*    NTSLNTVOFF:SUM(NTSLNTV(1:NTSLOTNO-1))
!*    NTSLSCA: ARRAY HOLDING NO. OF SCATT. FOR DIFFERENT TIME SLOTS
!*    NTSLSCAOFF:SUM(NTSLSCA(1:NTSLOTNO-1))
!*    NTSLVSTST: TIMESLOT VS TIMESTEP
!*
!*    MAD... : ADDRESS OF THE ARRAY CORRESPONDING TO ... ( REFER TO
!*             THE COMMANDS "POINTER (  ,  )" )
!*
!* VARIABLES AND PARAMETERS USED AS DIMENSIONS IN THESE ARRAYS ARE
!* RESPECTIVELY DEFINED IN THE COMDECKS "YOMDIM"/"YOMDIMO" AND
!* "PARDIM"/"PARDIMO", OR ALSO IN THE GENERAL COMDECKS OF THE MODEL.
!*
!**----------------------------------------------------------------

INTEGER(KIND=JPIM),ALLOCATABLE:: MPROMOBS(:)

INTEGER(KIND=JPIM) :: NOOPOT(JPNOTP)
INTEGER(KIND=JPIM) :: NOBSPROFS(JPNOTP)
INTEGER(KIND=JPIM) :: NTSLPT(JPXTIM)
INTEGER(KIND=JPIM) :: NTSLPROF(JPXTIM)
INTEGER(KIND=JPIM) :: NTSLTOB(JPXTIM)
INTEGER(KIND=JPIM) :: NTSLTOBOFF(JPXTIM)
INTEGER(KIND=JPIM) :: NTSLTOBG(JPXTIM)
INTEGER(KIND=JPIM) :: NTSLTOBM(JPXTIM)
INTEGER(KIND=JPIM) :: NTSLTOV(JPXTIM)
INTEGER(KIND=JPIM) :: NTSLTOVOFF(JPXTIM)
INTEGER(KIND=JPIM) :: NTSLNTV(JPXTIM)
INTEGER(KIND=JPIM) :: NTSLNTVOFF(JPXTIM)
INTEGER(KIND=JPIM) :: NTSLSCA(JPXTIM)
INTEGER(KIND=JPIM) :: NTSLSCAOFF(JPXTIM)
INTEGER(KIND=JPIM) :: NTSL2DO(JPXTIM)
INTEGER(KIND=JPIM) :: NTSL2DOOFF(JPXTIM)
INTEGER(KIND=JPIM) :: NTSLVSTST(JPXTIM)

INTEGER(KIND=JPIM) :: NTSLOTNO
INTEGER(KIND=JPIM) :: NTSLOTNOS
INTEGER(KIND=JPIM) :: NTSLOTNOE

!     ------------------------------------------------------------------

END MODULE YOMECTAB
