SUBROUTINE SUAFN

!**** *SUAFN*  - INITIALIZE ARPEGE FIELD DESCRIPTORS

!     PURPOSE.
!     --------
!        SETS DEFAULT VALUES, THEN READS NAMELIST NAMAFN.

!**   INTERFACE.
!     ----------
!       *CALL* *SUAFN*

!        EXPLICIT ARGUMENTS
!        --------------------
!        NONE

!        IMPLICIT ARGUMENTS
!        --------------------
!        See #include below.

!     METHOD.
!     -------
!        See documentation about FULL-POS. 

!     EXTERNALS.
!     ----------
!        Calls SUAFN1 and SUAFN2.
!        Is called by SU0YOMA.

!     REFERENCE.
!     ----------
!        ECMWF Research Department documentation of the IFS

!     AUTHOR.
!     -------
!        RYAD EL KHATIB *METEO-FRANCE*

!     MODIFICATIONS.
!     --------------
!        ORIGINAL : 94-04-08
!        Modified by K. YESSAD and J. NICOLAU (97-09-03):
!         - cleaning for CY18, modularisation into SUAFN1 and SUAFN2,
!           recoding as consequences of the removal of 'EQUIVALENCE' 
!           instructions in YOMAFN.
!        Modified by D. Giard (97-12-16) : frozen deep soil water
!        R. El Khatib : 98-04-08 SUAFN --> SUAFN+SUAFN3
!    R. El Khatib : 03-04-17 Fullpos improvemnts
!        M.Hamrud      01-Oct-2003 CY28 Cleaning
!     ------------------------------------------------------------------

USE PARKIND1  ,ONLY : JPIM     ,JPRB
USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK

USE YOMLUN   , ONLY : NULNAM
USE YOMAFN

IMPLICIT NONE

#include "namafn.h"

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

!*       1. SET DEFAULT VALUES
!           -------------------

REAL(KIND=JPRB) :: ZHOOK_HANDLE

#include "posnam.intfb.h"
#include "suafn1.intfb.h"
#include "suafn2.intfb.h"
#include "suafn3.intfb.h"
IF (LHOOK) CALL DR_HOOK('SUAFN',0,ZHOOK_HANDLE)
CALL SUAFN1

!*       2. READ NAMELIST
!           -------------

CALL POSNAM(NULNAM,'NAMAFN')
READ(NULNAM,NAMAFN)

!*       3. SET EQUIVALENCES
!           ----------------

CALL SUAFN2

!*       4. PRINT OUT FINAL VALUES
!           ----------------------

CALL SUAFN3

IF (LHOOK) CALL DR_HOOK('SUAFN',1,ZHOOK_HANDLE)
END SUBROUTINE SUAFN
