MODULE YOM_AMV_REASSIGN

USE PARKIND1  ,ONLY : JPIM     ,JPRB

IMPLICIT NONE

SAVE

!  Module containing structures and parameters used for the pressure
!  reassignment scheme for AMVs/SATOBs

!  November 2000    Niels Bormann
!======================================================================

INTEGER(KIND=JPIM), PARAMETER     :: jpmax_nam_len=10     ! Length of predictor names
INTEGER(KIND=JPIM), PARAMETER     :: jpmax_regfile_len=128! Length of correction file names
INTEGER(KIND=JPIM), PARAMETER     :: jpmax_npreds=4       ! Maximum number of predictors
INTEGER(KIND=JPIM), PARAMETER     :: jpmax_regfiles=60    ! Maximum number of correction files

TYPE amv_pc_info                 ! Structure for the pressure reassignment info
INTEGER(KIND=JPIM)                              :: sat_id   ! Satellite ID
REAL(KIND=JPRB)                                 :: sat_lon  ! Satellite longitude
INTEGER(KIND=JPIM)                              :: comp_method ! AMV comp. method
INTEGER(KIND=JPIM)                              :: npreds   ! Number of predictors
CHARACTER(LEN=jpmax_nam_len), DIMENSION(jpmax_npreds) :: pred_name
REAL(KIND=JPRB), DIMENSION(0:jpmax_npreds)      :: coef     ! Coefficients
END TYPE amv_pc_info

TYPE(amv_pc_info), ALLOCATABLE, DIMENSION(:)            :: tpc_info
  ! Array containing the reassignment info to be used

INTEGER(KIND=JPIM)                :: npc_info  ! Number of reassignment infos to be used

END MODULE YOM_AMV_REASSIGN
