SUBROUTINE SURF_INQ(KNVTYPES,PRRCSOIL,PRWSAT,PRWCAP,PRWPWP,PRQWEVAP,PRQWSBCR,&
                  & PRQSNCR,PRWLMAX,PRTF1,PRTF2,PRTF3,PRTF4,&
                  & PRTFREEZSICE,PRTMELTSICE,PRCIMIN,PRALFMINSN,&
                  & PRALFMAXSN,PRHOMINSN,PRHOMAXSN,PRDAT,&
                  & PRDAW,PRRCSICE,PRALBSEAD,PREPALB,PRVCOV,PRVLAI,&
                  & PRVROOTSA,PRVLAMSK,PRVLAMSKS,PRVTRSR,PRCHAR,PREPUST)

!**   *SURF_INQ*  Extract information from the surface package

!     Purpose.
!     --------
!     Interface routine for extracting information from the surf pack.

!**   Interface.
!     ----------
!     CALL SURFINQ(...)
!     Explicit arguments : All arguments are optional.
!     --------------------

!     Method.
!     -------

!     Externals: none

!     Author.
!     -------
!        JF Estrade *ECMWF*

!     Modifications.
!     --------------
!        Original : 03-10-01
!     ------------------------------------------------------------------

USE PARKIND1  ,ONLY : JPIM     ,JPRB


IMPLICIT NONE

! Declaration of arguments

INTEGER(KIND=JPIM) ,OPTIONAL, INTENT(OUT) :: KNVTYPES
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRRCSOIL
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRWSAT
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRQWSBCR
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRWCAP
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRWPWP
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRQWEVAP
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRQSNCR
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRWLMAX
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRTFREEZSICE
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRTMELTSICE
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRCIMIN
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRALFMINSN
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRALFMAXSN
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRHOMINSN
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRHOMAXSN
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRDAT(:)
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRDAW(:)
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRALBSEAD
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PREPALB
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRVCOV(:) 
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRVLAI(:) 
REAL(KIND=JPRB)    ,OPTIONAL,INTENT(OUT)  :: PRCHAR
REAL(KIND=JPRB)    ,OPTIONAL,INTENT(OUT)  :: PREPUST
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRTF1
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRTF2
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRTF3
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRTF4
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRRCSICE
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRVROOTSA(:,:)
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRVLAMSK(:)
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRVLAMSKS(:)
REAL(KIND=JPRB)    ,OPTIONAL, INTENT(OUT) :: PRVTRSR(:)


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

END SUBROUTINE SURF_INQ
