MODULE YOMMCUF

USE PARKIND1  ,ONLY : JPIM     ,JPRB
USE PARMCUF   ,ONLY : JPMFNR   ,JPMFOR

IMPLICIT NONE

SAVE

!     Specifications of the digital filter for monitoring 
!     coupling-update frequency

!     NCUFNR  : number of filters applied         (NCUFNR<=JPMFNR)
!     NCUFOR  : the order of the recursive filter (NCUFOR<=JPMFOR)
!     LMCUF   : LOGICAL to switch on the monitoring
!     LREACUF : LOGICAL to read Coupling Update Frequency fields. 
!     RMCUFI  : the coupling-update time interval(s) under interest
!     RMCUFSP : to store the previous surface pressures
!     RMCUFFP : to store the filtered surface pressures in Spectral Space.
!              - first index for the different coefficients
!              - second index: different filters
!     RMCUFGP1: to store the filtered Ps in Gridpoint space, NCUFNR=1.
!     RMCUFA  : A coefficients of the recursive filter
!     RMCUFB  : B coefficients of the recursive filter
!     SPFSP   : the resulting filtered field

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

REAL(KIND=JPRB), ALLOCATABLE :: RMCUFSP(:,:)       ,RMCUFFP(:,:,:)
REAL(KIND=JPRB), ALLOCATABLE :: RMCUFGP1(:),RMCUFGP2(:),RMCUFGP3(:)  , &
                              & RMCUFGP4(:),RMCUFGP5(:)
REAL(KIND=JPRB)              :: RMCUFA(0:JPMFOR,1:JPMFNR)  , &
                              & RMCUFB(1:JPMFOR,1:JPMFNR)  , &
                              & RMCUFI(1:JPMFNR)
INTEGER(KIND=JPIM)           :: NCUFOR   ,NCUFNR
LOGICAL                      :: LMCUF    ,LREACUF

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

END MODULE YOMMCUF
