SUBROUTINE SUAFN1

!**** *SUAFN1*  - INITIALIZE ARPEGE FIELD DESCRIPTORS: DEFAULT VALUES

!     PURPOSE.
!     --------
!        SETS DEFAULT VALUES.
!        Order of specification of variables must be as consistent as
!        possible between SUAFN1, SUAFN2, SUAFN3 for the different groups
!        of post-processable variables (GFL-DYN3D, other DYN3D, DYN2D,
!        PHYSOL, CFU, XFU).
!        In particuliar, in SUAFN1, list of variables under LECMWF should be
!        the same one (and in the same order) as the list of variables under
!        .NOT.LECMWF (paragraphs 1b, 2 and 3).

!**   INTERFACE.
!     ----------
!       *CALL* *SUAFN1*

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

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

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

!     EXTERNALS.
!     ----------
!      No external.
!      Called by SUAFN.

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

!     AUTHOR.
!     -------
!        K. YESSAD after routine SUAFN of RYAD EL KHATIB *METEO-FRANCE*

!     MODIFICATIONS.
!     --------------
!        ORIGINAL : 97-09-03
!        Modified by K. YESSAD and R. EL KHATIB (97-10-21):
!         - add NH and ISBA fields already introduced in AL07.
!        Modified by D. Giard (97-12-16) - frozen soil water
!        R. El Khatib : 98-04-06 simplifications
!        R. El Khatib : 98-04-06 Do not pack orography by default
!        C. Fischer : 98-09-10 change name of passive scalars
!        D. Giard   : 99-03-15 superficial frozen water
!        J.M. Piriou: 99-04-19 Moon radiation.
!        D.Dent     : 99-05-06 budget values
!        J. Teixeira : 99-03-26 Surface tiling
!        D. Paradis : 99-07-27 Introduce NBITPG and NBITCS use
!        D.Dent     : 00-04-04 Montgomery geopotential
!        R. El Khatib : 00-03-22 Support for new phys. fields
!        A. Beljaars: 00-0306 New fields TSRC,TTRC,SSRC,STRC,ES,SMLT,10FG,LSPF
!        D. Giard   : 00-10-25 Albedos for bare-ground and vegetation
!        R. El Khatib : 00-08-18 derived type for dynamic fields
!        R. El Khatib : 01-05-04 Duration of total precipitations, HUn, HUx
!        R. El Khatib : 01-08-07 Pruning options
!        F. Vana      : 02-07-03 Virtual potential temperature
!        R. El Khatib : 02-09-04 Iso -10 Celsius
!        D.Dent       : 02--5-15 Extend extra field options 
!        R. El Khatib : 03-04-17 Fullpos improvemnts
!        R. El Khatib : 03-05-13 test LECMWF.AND..NOT.LARPEGEF for c901
!                            + dirty fix yomfpc/namfpc
!        R. El Khatib : 03-08-08 gfl
!        R. El Khatib : 03-08-18 Roughness lengths not packed
!        M.Hamrud     : 03-10-01 CY28 Cleaning
!        M. Tudor     : 03-10-17 YXPF and YFAXPF in gfl
!        F. Taillefer : 04-05-26 Add ozone and aerosols fields
!        Y.Bouteloup  : 04-03-26 introduction of MTS radiance
!        M. Janiskova : 04-01-28 Cloud variables for stat.cloud schemes
!        A. Tompkins  : 11-02-04: adding TCLW, TCIW
!        G. Hello    : 05-01-26: adding snow,rain,graupel,tke
!        A. Untch : 15-03-2005   Aerosols (ECMWF)
!        R. Engelen  : 15-03-2005   Greenhouse Gases (ECMWF)
!        J. Flemming: 11-04-2005 Aerosols replaced with GRG (ECMWF)
!        R. El Khatib 10-May-2005 sst for MF, interpolation mask as an integer
!        R. El Ouaraini : 05-07-28: adding fields for the monitoring of update frequency of the coupling files for Aladin
!        A. Dethof:   15-Dec-05  Add total column GRG fields
!        A. Alias     : 05-12-21 Add sulfate and volcano aerosols fields
!        M. Bellus : 29-Sep-2006 Add prognostic convection variables (codded by L. Gerard 23-Aug-2005)
!        S. Serrar    : 05-06-23 CO2 surface fluxes added
!        S. Serrar    : 05-09-26 Add CO2 and SF6 total column
 
!        JJMorcrette 20060721 PP of clear-sky PAR and TOA incident solar radiation
!        JJMorcrette 20060807 PP of VIMD
!        R. Engelen   : 02-Jun-06  CO2 replaced by generic GHG
!        JJMorcrette 20060625 MODIS albedo
!        JJMorcrette 20060925 DU, BC, OM, SU, VOL, SOA climatological fields
!        G. Balsamo   20070115 Soil type
!        S. Serrar    : 20070322  physics tendencies post-processable as GFL fields for ERA40
!        S. Serrar    : New GEMS variables made post-processable (methane)
!        Y.Seity  20070115 add graupel and hail in CFU and XFU
!        G. Hello : 07-02 virtual theta
!        S. Serrar    :02-05-2008 test on LERA40 replaced by test on NERA40
!        G. Hello and J. Stein : 09-07 add brightness temperatures
!        Y. Seity :07-12 GFL Hail (YH)
!        P. Lopez : 26-Jun-2009 Added 100m wind components
!        JJMorcrette 20090217: PP of aerosol and UV processor outputs
!        P. Lopez : 22-Oct-2008 Added ducting diagnostic fields
!        S. Boussetta/G.Balsamo      May 2009   Added variable LAI field
!        K. Yessad: Jun 2009: ordering SUAFN2-compliant and fix bugs.
!        JJMorcrette 20091201 Total and clear-sky direct SW radiation flux at surface 
!        H. Hersbach   04-Dec-2009 10-m neutral wind and friction velocity
!        R. Forbes: 01-Mar-10 adding TCRW, TCSW
!        JJMorcrette 20100212: PP of CBASE, 0DEGL and VISIH 
!        T. Wilhelmsson: 25-Mar-2010 Add 6 hourly min/max fields
!     ------------------------------------------------------------------ 

USE PARKIND1  ,ONLY : JPIM     ,JPRB
USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
USE PARFPOS  , ONLY : JPOSSCVA ,JPOSVX2  ,JPOSFSU  , &
 & JPOSAERO ,JPOSGHG ,JPOSGRG, JPOSTRAC  ,JPOSERA40, &
 & JPOSNOGW ,JPOSAEROUT, JPOSUVP
USE YOMCT0   , ONLY : LELAM    ,LFPART2  ,LARPEGEF ,LNHDYN   ,LFPOS
USE YOMCT0B  , ONLY : LECMWF
USE YOMMSC   , ONLY : NREALEN
USE YOMFA    , ONLY : NBITPG   ,YFAQ     ,YFAL     ,YFAI     , &
 & YFAO3    ,YFACLF   ,YFAPSI  ,YFAKHI   ,YFAT     ,YFAPD    ,YFAVD    ,&
 & YFASP    ,YFAOROG  ,NBITCS  ,YFACPF   ,YFASPF   ,YFAS     ,YFAR     ,&
 & YFAG     ,YFATKE   ,YFAFSP1 ,YFAFSP2  ,YFAFSP3  ,YFAFSP4  ,YFAFSP5  ,&
 & YFADAL   ,YFADOM   ,YFAUAL  ,YFAUOM   ,YFAUEN   ,YFAUNEBH ,YFAH 

USE YOMGRB  , ONLY :   NGRB10FG ,NGRB10FG6,NGRB10U  ,NGRB10V  , &
 & NGRBDHR  ,NGRBDHVD ,NGRBDHCC ,NGRBDHLC ,NGRBVDZW ,NGRBVDMW , &
 & NGRBVDH  ,NGRBHTCC ,NGRBCRNH ,NGRB2D   ,NGRB2T   ,NGRBAL   , &
 & NGRBANOR ,NGRBASN  ,NGRBBLD  ,NGRBBLH  ,NGRBBV   ,NGRBCC   , &
 & NGRBCCC  ,NGRBCHNK ,NGRBCI   ,NGRBCIWC ,NGRBCLWC ,NGRBCP   , &
 & NGRBCSF  ,NGRBCVH  ,NGRBCVL  ,NGRBLAIL ,NGRBLAIH ,&
 & NGRBD    ,NGRBE    ,NGRBES   , &
 & NGRBEWSS ,NGRBFAL  ,NGRBFLSR ,NGRBFSR  ,NGRBGWD  ,NGRBHCC  , &
 & NGRBIE   ,NGRBIEWS ,NGRBINSS ,NGRBISHF ,NGRBISOR ,NGRBISTL1, &
 & NGRBISTL2,NGRBISTL3,NGRBISTL4,NGRBLCC  ,NGRBLGWS ,NGRBLNSP , &
 & NGRBLSF  ,NGRBLSM  ,NGRBLSP  ,NGRBLSPF ,NGRBLSRH ,NGRBMCC  , &
 & NGRBMGWS ,NGRBMN2T ,NGRBMN2T6,NGRBMONT ,NGRBMSL  ,NGRBMX2T ,NGRBMX2T6 , &
 & NGRBNSSS ,NGRBPRES,NGRBPV   ,NGRBR     ,NGRBRO   ,NGRBSRO  ,NGRBSSRO  , &
 & NGRBEMIS ,  &
 & NGRBRSN  ,NGRBSD   ,NGRBSDOR ,NGRBSF   ,NGRBSKT  ,NGRBSLHF , &
 & NGRBSLOR ,NGRBSMLT ,NGRBSP   ,NGRBSR   ,NGRBSRC  ,NGRBSSHF , &
 & NGRBSSR  ,NGRBSSRC ,NGRBSSRD ,NGRBSSTK  ,NGRBSTL1 ,NGRBSTL2 , &
 & NGRBSTL3 ,NGRBSTL4 ,NGRBSTR  ,NGRBSTRC ,NGRBSTRD ,NGRBSUND , &
 & NGRBSWVL1 ,NGRBSWVL2 ,NGRBSWVL3 ,NGRBSWVL4 ,NGRBT    ,NGRBTCC  , &
 & NGRBTCO3 ,NGRBTCGHG,NGRBTCGRG,NGRBTCTRAC,NGRBGRGSFC,NGRBUCUR,NGRBVCUR , &
 & NGRBTCW  ,NGRBTCWV ,NGRBPT   ,NGRBTP   ,NGRBTSN  ,NGRBTSR  , &
 & NGRBTSRC ,NGRBTTR  ,NGRBTTRC ,NGRBTVH  ,NGRBTVL  ,NGRBU    , &
 & NGRBV    ,NGRBVEG  ,NGRBVO   ,NGRBW    ,NGRBZ    , &
 & NGRBCAPE ,NGRBFDIR ,NGRBCDIR , &
 & NGRBTCLW ,NGRBTCIW ,NGRBTCRW ,NGRBTCSW , &
 & NGRBMINXTRA ,NGRBMAXXTRA ,NGRBMINERA ,&
 & NGRB080 ,NGRB118  ,NGRB119  ,NGRB120  ,NGRBSDFOR   , &
 & NGRBPAR ,NGRBTRACSFC, &
 & NGRBUVB  ,NGRBPARCS,NGRBTISR,&
 & NGRBCBASE,NGRB0DEGL,NGRBVISIH,&
 & NGRBCO2NBF ,NGRBCO2OF ,NGRBCO2APF ,NGRBCO2FIRE,&
 & NGRBSF6APF, &
 & NGRBALUVP,NGRBALUVD,NGRBALNIP,NGRBALNID                    , &
 & NGRBAERDEP,NGRBAERLTS,NGRBAERSCC                           , &
 & NGRBAERLS01,NGRBAERLS02,NGRBAERLS10,NGRBAERLS03,NGRBAERLS04,NGRBAERLS11, &
 & NGRBAERLS05,NGRBAERLS06,NGRBAERLS12,NGRBAERLS07,NGRBAERLS08,NGRBAERLS09 , &
 & NGRBVIMD ,NGRBSLT, NGRBETADOT,NGRBCH4F,NGRBCH4FIRE,&
 & NGRB100U, NGRB100V, NGRB10NU ,NGRB10NV, NGRBZUST, &
 & NGRBDNDZN, NGRBDNDZA, NGRBDCTB, NGRBTPLB, NGRBTPLT
USE YOMDIM   , ONLY : NFLEVG
USE YOMAFN
USE FULLPOS_MIX, ONLY : TFP_SU
USE TYPE_FPDSPHYS, ONLY : GFP_SU
USE YOMLUN   , ONLY : NULNAM
USE YOMFPC
USE YOM_YGFL, ONLY : YQ    ,YI       ,YL       ,YA       ,YO3        , &
 & NGFL_EXT  , YCPF, YSPF, YEXT, YAERO, NAERO, YGHG, NGHG, NGRG, YGRG, &
 & YTRAC , NTRAC, YERA40, NERA40, YLRCH4, YCH4S, &
 & YS, YR, YG, YH, YTKE, YNOGW, NNOGW, YAEROUT, NAEROUT, YUVP, NUVP, &
 & YDAL, YDOM, YUAL, YUOM, YUEN, YUNEBH
USE YOPHNC   , ONLY : LENCLD2
USE YOMCOSJO , ONLY : CVAR_GHG

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

IMPLICIT NONE

#include "namfpc.h"

INTEGER(KIND=JPIM) :: JGFL
INTEGER(KIND=JPIM) :: JVAR, IGRIB, IVAR
INTEGER(KIND=JPIM) :: IG   ! number of bits for current precision (Gridpoint)
INTEGER(KIND=JPIM) :: IS   ! number of bits for current precision (Spectral)
INTEGER(KIND=JPIM) :: IA   ! number of bits for full precision
INTEGER(KIND=JPIM) :: I0, I1, I2, I3 ! Spectral filters indicators
REAL(KIND=JPRB)    :: ZK, Z0         ! Spectral filters coefficients

CHARACTER(LEN=1)  :: CL
CHARACTER(LEN=16) :: CLFA,CLGHG,CLGRG,CLTRAC

LOGICAL :: LLNEWCL, LL_LRCH4, LL_CH4S
LOGICAL :: LLT=.TRUE., LLF=.FALSE.
REAL(KIND=JPRB) :: ZHOOK_HANDLE

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

#include "abor1.intfb.h"
#include "posnam.intfb.h"

!     ------------------------------------------------------------------
IF (LHOOK) CALL DR_HOOK('SUAFN1',0,ZHOOK_HANDLE)
!     ------------------------------------------------------------------ 

!        0. Preparations :

CL=' '
IA=8*NREALEN
IG=NBITPG
I0=0
I1=1
Z0=0._JPRB
SELECT CASE (LFPART2)
CASE (.TRUE.)
!   No filters at all, but spectral fit enabled
  I2=0
  I3=0
  ZK=0.0_JPRB
  IS=NBITCS
CASE DEFAULT
  I2=2
  I3=3
  SELECT CASE (LELAM)
  CASE (.TRUE.)
    ZK=6._JPRB
  CASE (.FALSE.)
    ZK=4._JPRB
  END SELECT
  CFPFMT=' '
  CALL POSNAM(NULNAM,'NAMFPC')
  READ(NULNAM,NAMFPC)
  SELECT CASE (CFPFMT)
  CASE ('MODEL')
    IS=NBITCS
  CASE DEFAULT
    IS=NBITPG
  END SELECT
END SELECT

!        1a. Gfl

LLNEWCL = .NOT.YL%LGP.AND..NOT.YI%LGP.AND..NOT.YA%LGP.AND.LENCLD2

LL_LRCH4 = YLRCH4%LACTIVE
LL_CH4S = YCH4S%LACTIVE

IF (LLNEWCL) THEN
  TFP_L   =TFP_SU(LLF,'CLOUDLIQ.WAT    ',NGRBCLWC, IS,IG,12,LLT,I1,Z0,0,CL)
  TFP_I   =TFP_SU(LLF,'CLOUDICECONT    ',NGRBCIWC, IS,IG,12,LLT,I1,Z0,0,CL)
  TFP_CLF =TFP_SU(LLF,'CLOUD_COVER     ',NGRBCC  , IS,IG,12,LLT,I1,Z0,0,CL)
ELSE
  TFP_L   =TFP_SU(LLF,YFAL%CLNAME  ,YL%IGRBCODE ,IS,IG,12,YL%LGP ,I1,Z0,0,CL)
  TFP_I   =TFP_SU(LLF,YFAI%CLNAME  ,YI%IGRBCODE ,IS,IG,12,YI%LGP ,I1,Z0,0,CL)
  TFP_CLF =TFP_SU(LLF,YFACLF%CLNAME,YA%IGRBCODE ,IS,IG,12,YA%LGP ,I1,Z0,0,CL)
ENDIF
TFP_Q   =TFP_SU(LLF,YFAQ%CLNAME  ,YQ%IGRBCODE ,IS,IG,12,YQ%LGP ,I1,Z0,0,CL)
TFP_O3MX=TFP_SU(LLF,YFAO3%CLNAME ,YO3%IGRBCODE,IS,IG,12,YO3%LGP,I1,Z0,0,CL)
TFP_CPF =TFP_SU(LLF,YFACPF%CLNAME,YCPF%IGRBCODE,IS,IG,12,YCPF%LGP,I1,Z0,0,CL)
TFP_SPF =TFP_SU(LLF,YFASPF%CLNAME,YSPF%IGRBCODE,IS,IG,12,YSPF%LGP,I1,Z0,0,CL)
TFP_SN  =TFP_SU(LLF,YFAS%CLNAME  ,YS%IGRBCODE ,IS,IG,12,YS%LGP ,I1,Z0,0,CL)
TFP_RR  =TFP_SU(LLF,YFAR%CLNAME  ,YR%IGRBCODE ,IS,IG,12,YR%LGP ,I1,Z0,0,CL)
TFP_GR  =TFP_SU(LLF,YFAG%CLNAME  ,YG%IGRBCODE ,IS,IG,12,YG%LGP ,I1,Z0,0,CL)
TFP_HL  =TFP_SU(LLF,YFAH%CLNAME  ,YH%IGRBCODE ,IS,IG,12,YH%LGP ,I1,Z0,0,CL)
TFP_TKE =TFP_SU(LLF,YFATKE%CLNAME,YTKE%IGRBCODE,IS,IG,12,YTKE%LGP,I1,Z0,0,CL)
! Prognostic convection
TFP_DAL =TFP_SU(LLF,YFADAL%CLNAME ,YDAL%IGRBCODE,IS,IG,12,YDAL%LGP,I1,Z0,0,CL)
TFP_DOM =TFP_SU(LLF,YFADOM%CLNAME ,YDOM%IGRBCODE,IS,IG,12,YDOM%LGP,I1,Z0,0,CL)
TFP_UAL =TFP_SU(LLF,YFAUAL%CLNAME ,YUAL%IGRBCODE,IS,IG,12,YUAL%LGP,I1,Z0,0,CL)
TFP_UOM =TFP_SU(LLF,YFAUOM%CLNAME ,YUOM%IGRBCODE,IS,IG,12,YUOM%LGP,I1,Z0,0,CL)
TFP_UEN =TFP_SU(LLF,YFAUEN%CLNAME ,YUEN%IGRBCODE,IS,IG,12,YUEN%LGP,I1,Z0,0,CL)
TFP_UNEBH =TFP_SU(LLF,YFAUNEBH%CLNAME ,YUNEBH%IGRBCODE,IS,IG,12,YUNEBH%LGP,I1,Z0,0,CL)
!------------------------------------

DO JGFL=1,JPOSGHG
  IF (JGFL <= NGHG) THEN
    TFP_GHG(JGFL)=TFP_SU(LLF,YGHG(JGFL)%CNAME,YGHG(JGFL)%IGRBCODE,IS,IG, &
     & 12,YGHG(JGFL)%LGP,I1,Z0,0,CL)
  ELSE
    WRITE(CLFA,'(''GHG'',I2.2,''       '')') JGFL
    IGRIB=-9999
    TFP_GHG(JGFL) = TFP_SU(LLF,CLFA,IGRIB,IS,IG,12, LLF,I1,Z0,0,CL)
  ENDIF
  TFP_GHG(JGFL)%IORDR = 0
ENDDO

DO JGFL=1,JPOSTRAC
  IF (JGFL <= NTRAC) THEN
    TFP_TRAC(JGFL)=TFP_SU(LLF,YTRAC(JGFL)%CNAME,YTRAC(JGFL)%IGRBCODE,IS,IG, &
     & 12,YTRAC(JGFL)%LGP,I1,Z0,0,CL)
  ELSE
    WRITE(CLFA,'(''TRAC'',I2.2,''       '')') JGFL
    IGRIB=-9999
    TFP_TRAC(JGFL) = TFP_SU(LLF,CLFA,IGRIB,IS,IG,12, LLF,I1,Z0,0,CL)
  ENDIF
  TFP_TRAC(JGFL)%IORDR = 0
ENDDO

DO JGFL=1,JPOSAERO
  IF (JGFL <= NAERO) THEN
    TFP_AERO(JGFL)=TFP_SU(LLF,YAERO(JGFL)%CNAME,YAERO(JGFL)%IGRBCODE,IS,IG, &
     & 12,YAERO(JGFL)%LGP,I1,Z0,0,CL)
  ELSE
    WRITE(CLFA,'(''AERO'',I2.2,''       '')') JGFL
    IGRIB=-9999
    TFP_AERO(JGFL) = TFP_SU(LLF,CLFA,IGRIB,IS,IG,12, LLF,I1,Z0,0,CL)
  ENDIF
  TFP_AERO(JGFL)%IORDR = 0
ENDDO

DO JGFL=1,JPOSGRG
  IF (JGFL <= NGRG) THEN
    TFP_GRG(JGFL)=TFP_SU(LLF,YGRG(JGFL)%CNAME,YGRG(JGFL)%IGRBCODE,IS,IG, &
     & 12,YGRG(JGFL)%LGP,I1,Z0,0,CL)
  ELSE
    WRITE(CLFA,'(''GRG'',I2.2,''       '')') JGFL
    IGRIB=-9999
    TFP_GRG(JGFL) = TFP_SU(LLF,CLFA,IGRIB,IS,IG,12, LLF,I1,Z0,0,CL)
  ENDIF
  TFP_GRG(JGFL)%IORDR = 0
ENDDO

IF(NGHG > 0 .AND. LL_LRCH4) THEN
  TFP_LRCH4=TFP_SU(LLF,YLRCH4%CNAME,YLRCH4%IGRBCODE,IS,IG,12,YLRCH4%LGP,I1,Z0,0,CL)
ENDIF
IF(NGHG > 0 .AND. LL_CH4S) THEN
  TFP_CH4S=TFP_SU(LLF,YCH4S%CNAME,YCH4S%IGRBCODE,IS,IG,12,YCH4S%LGP,I1,Z0,0,CL)
ENDIF

IF(NNOGW > 0) THEN
  DO JGFL=1,NNOGW
    TFP_NOGW(JGFL)=TFP_SU(LLF,YNOGW(JGFL)%CNAME,YNOGW(JGFL)%IGRBCODE,IS,IG,12,YNOGW(JGFL)%LGP,I1,Z0,0,CL)
  ENDDO
ELSE
  DO JGFL=1,JPOSNOGW
    WRITE(CLFA,'(''NOGW'',I3.3,''       '')') JGFL
    IGRIB=-9999
    TFP_NOGW(JGFL)=TFP_SU(LLF,CLFA,IGRIB,IS,IG,12, LLF,I1,Z0,0,CL)
  ENDDO
ENDIF

IF(NAEROUT > 0) THEN
  DO JGFL=1,NAEROUT
    TFP_AEROUT(JGFL)=TFP_SU(LLF,YAEROUT(JGFL)%CNAME,YAEROUT(JGFL)%IGRBCODE,IS,IG,12,YAEROUT(JGFL)%LGP,I1,Z0,0,CL)
  ENDDO
ELSE
  DO JGFL=1,JPOSAEROUT
    WRITE(CLFA,'(''AEROUT'',I3.3,''       '')') JGFL
    IGRIB=-9999
    TFP_AEROUT(JGFL)=TFP_SU(LLF,CLFA,IGRIB,IS,IG,12, LLF,I1,Z0,0,CL)
  ENDDO
ENDIF
IF(NUVP > 0) THEN
  DO JGFL=1,NUVP
    TFP_UVP(JGFL)=TFP_SU(LLF,YUVP(JGFL)%CNAME,YUVP(JGFL)%IGRBCODE,IS,IG,12,YUVP(JGFL)%LGP,I1,Z0,0,CL)
  ENDDO
ELSE
  DO JGFL=1,JPOSUVP
    WRITE(CLFA,'(''UVP'',I3.3,''       '')') JGFL
    IGRIB=-9999
    TFP_UVP(JGFL)=TFP_SU(LLF,CLFA,IGRIB,IS,IG,12, LLF,I1,Z0,0,CL)
  ENDDO
ENDIF

IF(NERA40 > 0) THEN
  IVAR=1
  IGRIB=NGRBMINERA
  TFP_ERA40(IVAR)=TFP_SU(LLF,'TEND.SW.RAD     ',IGRIB,IS,IG,12,YERA40(IVAR)%LGP,I1,Z0,0,CL)
  IVAR=IVAR+1
  IGRIB=NGRBMINERA + 1_JPIM
  TFP_ERA40(IVAR)=TFP_SU(LLF,'TEND.LW.RAD     ',IGRIB,IS,IG,12,YERA40(IVAR)%LGP,I1,Z0,0,CL)
  IVAR=IVAR+1
  IGRIB=NGRBMINERA + 2_JPIM
  TFP_ERA40(IVAR)=TFP_SU(LLF,'TEND.SW.RAD.CSKY',IGRIB,IS,IG,12,YERA40(IVAR)%LGP,I1,Z0,0,CL)
  IVAR=IVAR+1
  IGRIB=NGRBMINERA + 3_JPIM
  TFP_ERA40(IVAR)=TFP_SU(LLF,'TEND.LW.RAD.CSKY',IGRIB,IS,IG,12,YERA40(IVAR)%LGP,I1,Z0,0,CL)
  IVAR=IVAR+1
  IGRIB=NGRBMINERA + 4_JPIM
  TFP_ERA40(IVAR)=TFP_SU(LLF,'MASS.FLUX.UP    ',IGRIB,IS,IG,12,YERA40(IVAR)%LGP,I1,Z0,0,CL)
  IVAR=IVAR+1
  IGRIB=NGRBMINERA + 5_JPIM
  TFP_ERA40(IVAR)=TFP_SU(LLF,'MASS.FLUX.DOWN  ',IGRIB,IS,IG,12,YERA40(IVAR)%LGP,I1,Z0,0,CL)
  IVAR=IVAR+1
  IGRIB=NGRBMINERA + 6_JPIM
  TFP_ERA40(IVAR)=TFP_SU(LLF,'DET.RATE.UP     ',IGRIB,IS,IG,12,YERA40(IVAR)%LGP,I1,Z0,0,CL)
  IVAR=IVAR+1
  IGRIB=NGRBMINERA + 7_JPIM
  TFP_ERA40(IVAR)=TFP_SU(LLF,'DET.RATE.DOWN   ',IGRIB,IS,IG,12,YERA40(IVAR)%LGP,I1,Z0,0,CL)
  IVAR=IVAR+1
  IGRIB=NGRBMINERA + 8_JPIM
  TFP_ERA40(IVAR)=TFP_SU(LLF,'TOT.PREP.FLUX   ',IGRIB,IS,IG,12,YERA40(IVAR)%LGP,I1,Z0,0,CL)
  IVAR=IVAR+1
  IGRIB=NGRBMINERA + 9_JPIM
  TFP_ERA40(IVAR)=TFP_SU(LLF,'DIFFUSION.COEFF ',IGRIB,IS,IG,12,YERA40(IVAR)%LGP,I1,Z0,0,CL)
  IVAR=IVAR+1
  IGRIB=NGRBMINERA + 10_JPIM
  TFP_ERA40(IVAR)=TFP_SU(LLF,'TEND.TEMPERATURE',IGRIB,IS,IG,12,YERA40(IVAR)%LGP,I1,Z0,0,CL)
  IVAR=IVAR+1
  IGRIB=NGRBMINERA + 11_JPIM
  TFP_ERA40(IVAR)=TFP_SU(LLF,'TEND.SPE.HUMIDIT',IGRIB,IS,IG,12,YERA40(IVAR)%LGP,I1,Z0,0,CL)
  IVAR=IVAR+1
  IGRIB=NGRBMINERA + 12_JPIM
  TFP_ERA40(IVAR)=TFP_SU(LLF,'TEND.U          ',IGRIB,IS,IG,12,YERA40(IVAR)%LGP,I1,Z0,0,CL)
  IVAR=IVAR+1
  IGRIB=NGRBMINERA + 13_JPIM
  TFP_ERA40(IVAR)=TFP_SU(LLF,'TEND.V          ',IGRIB,IS,IG,12,YERA40(IVAR)%LGP,I1,Z0,0,CL)
ELSE
  DO JVAR=1,JPOSERA40
    WRITE(CLFA,'(''ERA40.'',I3.3,''       '')') JVAR
    IGRIB=-9999
    TFP_ERA40(JVAR) = TFP_SU(LLF,CLFA,IGRIB,IS,IG,12, LLT,I1,Z0,0,CL)
  ENDDO
ENDIF

DO JGFL=1,JPOSSCVA
  IF (JGFL <= NGFL_EXT) THEN
    TFP_GFL(JGFL) = TFP_SU(LLF,YEXT(JGFL)%CNAME,YEXT(JGFL)%IGRBCODE,IS,IG, &
   & 12,YEXT(JGFL)%LGP,I1,Z0,0,CL)
  ELSE
    WRITE(CLFA,'(''EXTGFL.'',I2.2,''       '')') JGFL
    IGRIB=-9999
    TFP_GFL(JGFL) = TFP_SU(LLF,CLFA,IGRIB,IS,IG,12, LLF,I1,Z0,0,CL)
  ENDIF
  TFP_GFL(JGFL)%IORDR = 0
ENDDO

IF (LECMWF.AND..NOT.LARPEGEF) THEN

!        1b. Upper air dynamic fields (other than GFL): ECMWF

  TFP_KHI =TFP_SU(LLF,YFAKHI%CLNAME     ,NGRBHTCC,  IS,IG,12,LLF  ,I1,Z0,0,'VPSF')
  TFP_U   =TFP_SU(LLF,'U-VELOCITY      ',NGRBU,    IS,IG,12,LLF  ,I1,Z0,+1,'ATM')
  TFP_V   =TFP_SU(LLF,'V-VELOCITY      ',NGRBV,    IS,IG,12,LLF  ,I1,Z0,-1,'ATM')
  TFP_PSI =TFP_SU(LLF,YFAPSI%CLNAME     ,NGRBVDH,  IS,IG,12,LLF  ,I1,Z0,0,'VPSF')
  TFP_T   =TFP_SU(LLF,YFAT%CLNAME       ,NGRBT,    IS,IG,12,LLF  ,I1,Z0,0,CL)
  TFP_Z   =TFP_SU(LLF,'GEOPOTENTIAL    ',NGRBZ,    IS,IG,12,LLF  ,I1,Z0,0,CL)
  TFP_WND =TFP_SU(LLF,'XXXXXXXXXXXX    ',-99999,   IS,IG,12,LLF  ,I1,Z0,0,CL)
  TFP_HU  =TFP_SU(LLF,'RELATIVE_HUM    ',NGRBR,    IS,IG,12,LLF  ,I1,Z0,0,CL)
  TFP_TH  =TFP_SU(LLF,'POT_TEMPERAT    ',NGRBPT,   IS,IG,12,LLF  ,I1,Z0,0,CL)
  TFP_THPW=TFP_SU(LLF,'THETA_PRIM_W    ',NGRBCRNH,  IS,IG,12,LLF  ,I1,Z0,0,CL)
  TFP_ETH =TFP_SU(LLF,'XXXXXXXXXXXX    ',-99999,   IS,IG,12,LLF  ,I1,Z0,0,CL)
  TFP_IET =TFP_SU(LLF,'XXXXXXXXXXXX    ',-99999,   IS,IG,12,LLF  ,I1,Z0,0,CL)
  TFP_SRE =TFP_SU(LLF,'XXXXXXXXXXXX    ',-99999,   IS,IG,12,LLF  ,I1,Z0,0,CL)
  TFP_THV =TFP_SU(LLF,'XXXXXXXXXXXX    ',-99999,   IS,IG,12,LLF  ,I1,Z0,0,CL)
  TFP_P   =TFP_SU(LLF,'PRESSURE        ',NGRBPRES,IS,IG,12,LLF  ,I1,Z0,0,CL)
  TFP_PD  =TFP_SU(LLF,YFAPD%CLNAME      ,NGRB118,  IS,IG,12,LLF  ,I1,Z0,0,CL)
  TFP_VD  =TFP_SU(LLF,YFAVD%CLNAME      ,NGRB119,  IS,IG,12,LLF  ,I1,Z0,0,CL)
  TFP_MG  =TFP_SU(LLF,'MONTGOMERY G    ',NGRBMONT, IS,IG,12,LLF  ,I1,Z0,0,CL)
  TFP_VW  =TFP_SU(LLF,'VERT.VELOCIT    ',NGRB120,  IS,IG,12,LLF  ,I1,Z0,0,CL)
  TFP_PV  =TFP_SU(LLF,'POT_VORTICIT    ',NGRBPV,   IS,IG,12,LLT  ,I0,Z0,0,CL)
  TFP_VV  =TFP_SU(LLF,'VERTVELOCITY    ',NGRBW,    IS,IG,12,LLF  ,I1,Z0,0,CL)
  TFP_ETAD=TFP_SU(LLF,'ETADOT          ',NGRBETADOT, IS,IG,12,LLF  ,I1,Z0,0,CL)
  TFP_STD =TFP_SU(LLF,'XXXXXXXXXXXX    ',-99999,   IS,IG,12,LLF  ,I1,Z0,2,CL)
  TFP_SHD =TFP_SU(LLF,'XXXXXXXXXXXX    ',-99999,   IS,IG,12,LLF  ,I1,Z0,2,CL)
  TFP_ABS =TFP_SU(LLF,'XXXXXXXXXXXX    ',-99999,   IS,IG,12,LLF  ,I1,Z0,2,CL)
  TFP_VOR =TFP_SU(LLF,'VORTICITY       ',NGRBVO,   IS,IG,12,LLF  ,I1,Z0,2,CL)
  TFP_DIV =TFP_SU(LLF,'DIVERGENCE      ',NGRBD,    IS,IG,12,LLF  ,I1,Z0,2,CL)

  DO JVAR=1,JPOSVX2
    IGRIB=NGRBMINXTRA+JVAR-1
    IF (IGRIB <= NGRBMAXXTRA) THEN
      WRITE(CLFA,'(''UPPER_AIR.'',I2.2,''    '')') JVAR
      TFP_FUA(JVAR)=TFP_SU(LLF,CLFA,IGRIB,IS,IG,12,LLT,I1,ZK,0,CL)
    ELSE
      CLFA='XXXXXXXXXXXX    '
      TFP_FUA(JVAR)=TFP_SU(LLF,CLFA,-99999,IS,IG,12,LLT,I1,ZK,0,CL)
    ENDIF
  ENDDO

!        2. Surface dynamic fields : ECMWF

  TFP_SP  =TFP_SU(LLT,YFASP%CLNAME      ,NGRBSP,  IS,IG,12,LLF,I1,Z0,0,CL)
  TFP_LNSP=TFP_SU(LLT,'LOG.SURF.PRESSIO',NGRBLNSP,IS,IG,12,LLF,I1,Z0,0,CL)
  TFP_MSL =TFP_SU(LLT,'MSLPRESSURE     ',NGRBMSL, IS,IG,12,LLF,I1,Z0,0,CL)
  TFP_CUF1=TFP_SU(LLT,YFAFSP1%CLNAME    ,-99999,  IS,IG,12,LLF,I0,Z0,0,CL)
  TFP_CUF2=TFP_SU(LLT,YFAFSP2%CLNAME    ,-99999,  IS,IG,12,LLF,I0,Z0,0,CL)
  TFP_CUF3=TFP_SU(LLT,YFAFSP3%CLNAME    ,-99999,  IS,IG,12,LLF,I0,Z0,0,CL)
  TFP_CUF4=TFP_SU(LLT,YFAFSP4%CLNAME    ,-99999,  IS,IG,12,LLF,I0,Z0,0,CL)
  TFP_CUF5=TFP_SU(LLT,YFAFSP5%CLNAME    ,-99999,  IS,IG,12,LLF,I0,Z0,0,CL)
  TFP_FIS =TFP_SU(LLT,YFAOROG%CLNAME    ,NGRBZ,   IA,IA,12,LLF,I1,Z0,0,CL)
  TFP_WWS =TFP_SU(LLT,'SURFVERT.VELOCIT',NGRB080, IS,IG,12,LLF,I1,Z0,0,CL)
  TFP_PJET=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_TCAO=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_PCAO=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_PT0B=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_HT0B=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_PT1B=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_HT1B=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_HTPW=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_GM  =TFP_SU(LLT,'MAP_FACTOR      ',126,     IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_FOL =TFP_SU(LLT,'TROPO_FOLD_INDIC',125,     IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_UCLS=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,+1,'CLS')
  TFP_VCLS=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,-1,'CLS')
  TFP_TCLS=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_QCLS=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_RCLS=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_FCLS=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_TX  =TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_TN  =TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_HUX =TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_HUN =TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_CAPE=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_CIEN=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MOCO=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_TWV =TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_UGST=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,+1,'GST')
  TFP_VGST=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,-1,'GST')
  TFP_FGST=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_HCLP=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_SMC =TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLF,I1,Z0,2,CL)
  TFP_ASMC=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLF,I1,Z0,2,CL)
  TFP_MSAT7C1=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT7C2=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT8C1=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT8C2=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT8C3=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT8C4=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT8C5=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT8C6=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT8C7=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT8C8=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT9C1=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT9C2=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT9C3=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT9C4=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT9C5=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT9C6=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT9C7=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT9C8=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_GOES11C1=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_GOES11C2=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_GOES11C3=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_GOES11C4=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_GOES12C1=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_GOES12C2=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_GOES12C3=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_GOES12C4=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MTSAT1C1=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MTSAT1C2=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MTSAT1C3=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MTSAT1C4=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_LCL =TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_FCL =TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_EL  =TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  DO JVAR=1,JPOSFSU
    SELECT CASE (JVAR)
    CASE (1)
      IGRIB = 124
    CASE (2)
      IGRIB = 123
    CASE (3)
      IGRIB = 122
    CASE (4)
      IGRIB = 121
    CASE DEFAULT
      IGRIB = -99999
    END SELECT 
    IF (IGRIB > 0) THEN
      WRITE(CLFA,'(''SURF2D.'',I2.2,''       '')') JVAR
    ELSE
      CLFA='XXXXXXXXXXXXXXXX'
    ENDIF
    TFP_FSU(JVAR)=TFP_SU(LLT,CLFA,IGRIB,IS,IG,12,LLT,I1,Z0,0,CL)
  ENDDO
  TFP_UJET=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,+1,'JET')
  TFP_VJET=TFP_SU(LLT,'XXXXXXXXXXXXXXXX',-99999,  IS,IG,12,LLT,I0,Z0,-1,'JET')

!        3. Physics: ECMWF

  GFP_SDFOR=GFP_SU(NGRBSDFOR,IG,12,0,0,1,LLF,LLT,'SD FILTERED OROG',CL) 
  GFP_CO2NBF=GFP_SU(NGRBCO2NBF ,IG,12,0,0,1,LLF,LLT,'CO2.BIOS.FLUX  ',CL)
  GFP_CO2OF =GFP_SU(NGRBCO2OF ,IG,12,0,0,1,LLF,LLT,'CO2.OCEA.FLUX  ',CL)
  GFP_CO2APF=GFP_SU(NGRBCO2APF ,IG,12,0,0,1,LLF,LLT,'CO2.ANTH.EMIS  ',CL)
  GFP_CO2FIRE=GFP_SU(NGRBCO2FIRE ,IG,12,0,0,1,LLF,LLT,'CO2.FIRE.EMIS  ',CL)
  GFP_CH4AG =GFP_SU(NGRBCH4F ,IG,12,0,0,1,LLF,LLT,'CH4.SURF.FLUX ',CL)
  GFP_CH4F =GFP_SU(NGRBCH4FIRE ,IG,12,0,0,1,LLF,LLT,'CH4.FIRE.EMIS ',CL)
  GFP_SF6   =GFP_SU(NGRBSF6APF  ,IG,12,0,0,1,LLF,LLT,'SF6.ANTH.EMIS  ',CL)
  GFP_10FG =GFP_SU(NGRB10FG ,IG,12,0,0,1,LLF,LLT,'WIND GUST 10 M  ',CL)
  GFP_10FG6=GFP_SU(NGRB10FG6,IG,12,0,0,1,LLF,LLT,'W.G. 10M LAST 6H',CL)
  GFP_10U  =GFP_SU(NGRB10U  ,IG,12,0,0,1,LLF,LLT,'10M.UWIND       ',CL)
  GFP_10V  =GFP_SU(NGRB10V  ,IG,12,0,0,1,LLF,LLT,'10M.VWIND       ',CL)
  GFP_100U =GFP_SU(NGRB100U ,IG,12,0,0,1,LLF,LLT,'100M.UWIND      ',CL)
  GFP_100V =GFP_SU(NGRB100V ,IG,12,0,0,1,LLF,LLT,'100M.VWIND      ',CL)
  GFP_ZUST =GFP_SU(NGRBZUST ,IG,12,0,0,1,LLF,LLT,'FRICT. VELOCITY ',CL)
  GFP_10NU =GFP_SU(NGRB10NU ,IG,12,0,0,1,LLF,LLT,'10M.NEUTRL UWIND',CL)
  GFP_10NV =GFP_SU(NGRB10NV ,IG,12,0,0,1,LLF,LLT,'10M.NEUTRL VWIND',CL)
  GFP_2D   =GFP_SU(NGRB2D   ,IG,12,0,0,1,LLF,LLT,'2M.DEWPOINT     ',CL)
  GFP_2T   =GFP_SU(NGRB2T   ,IG,12,0,0,1,LLF,LLT,'2M.TEMPERATURE  ',CL)
  GFP_ACOT =GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_AL   =GFP_SU(NGRBAL   ,IG,12,0,0,1,LLF,LLT,'SURFALBEDO      ',CL)
  GFP_ALB  =GFP_SU(NGRBFAL  ,IG,12,0,0,1,LLF,LLT,'ALBEDO          ',CL)
  GFP_ALS  =GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_ALSN =GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_ALUVP=GFP_SU(NGRBALUVP,IG,12,0,0,1,LLF,LLT,'ALB.UVis PARALL.',CL)
  GFP_ALUVD=GFP_SU(NGRBALUVD,IG,12,0,0,1,LLF,LLT,'ALB.UVis DIFFUSE',CL)
  GFP_ALNIP=GFP_SU(NGRBALNIP,IG,12,0,0,1,LLF,LLT,'ALB.N-IR PARALL.',CL)
  GFP_ALNID=GFP_SU(NGRBALNID,IG,12,0,0,1,LLF,LLT,'ALB.N-IR DIFFUSE',CL)

  !- aerosol climatological fields
  GFP_AERDEP=GFP_SU(NGRBAERDEP,IG,12,0,0,1,LLF,LLT,'Dust emiss.poten',CL)
  GFP_AERLTS=GFP_SU(NGRBAERLTS,IG,12,0,0,1,LLF,LLT,'Lift.Thres.speed',CL)
  GFP_AERSCC=GFP_SU(NGRBAERSCC,IG,12,0,0,1,LLF,LLT,'Soil clay contnt',CL)

  GFP_BCBF =GFP_SU(NGRBAERLS01,IG,12,0,0,1,LLF,LLT,'BlackCarbBiogFlx',CL)
  GFP_BCFF =GFP_SU(NGRBAERLS02,IG,12,0,0,1,LLF,LLT,'BlackCarbFsslFlx',CL)
  GFP_BCGF =GFP_SU(NGRBAERLS10,IG,12,0,0,1,LLF,LLT,'BlackCarbGFEDFlx',CL)
  GFP_OMBF =GFP_SU(NGRBAERLS03,IG,12,0,0,1,LLF,LLT,'Org.MattBiogFlux',CL)
  GFP_OMFF =GFP_SU(NGRBAERLS04,IG,12,0,0,1,LLF,LLT,'Org.MattFosslFlx',CL)
  GFP_OMGF =GFP_SU(NGRBAERLS11,IG,12,0,0,1,LLF,LLT,'Org.MattrGFEDFlx',CL)
  GFP_SO2L =GFP_SU(NGRBAERLS05,IG,12,0,0,1,LLF,LLT,'SulphateLowLEmis',CL)
  GFP_SO2H =GFP_SU(NGRBAERLS06,IG,12,0,0,1,LLF,LLT,'SulphateHighLEms',CL)
  GFP_SOGF =GFP_SU(NGRBAERLS12,IG,12,0,0,1,LLF,LLT,'SulphateGFED Ems',CL)
  GFP_VOLC =GFP_SU(NGRBAERLS07,IG,12,0,0,1,LLF,LLT,'Volc. Continuous',CL)
  GFP_VOLE =GFP_SU(NGRBAERLS08,IG,12,0,0,1,LLF,LLT,'Volc. Explosive ',CL)
  GFP_SOA  =GFP_SU(NGRBAERLS09 ,IG,12,0,0,1,LLF,LLT,'SecondOr/gaMatter',CL)
  DO JGFL=1,JPOSGRG
    IF (JGFL <= NGRG) THEN
    CLGRG='SURFACE FLUX '//TRIM(YGRG(JGFL)%CNAME)
    GFP_GRGFLX(JGFL) = &
     & GFP_SU(NGRBGRGSFC(JGFL),IG,12,0,0,1,LLF,LLT,CLGRG,CL)
    ENDIF
  ENDDO
  DO JGFL=1,JPOSTRAC
    IF (JGFL <= NTRAC) THEN
    CLTRAC='SURFACE FLUX '//TRIM(YTRAC(JGFL)%CNAME) 
    GFP_TRACFLX(JGFL) = &
     & GFP_SU(NGRBTRACSFC(JGFL),IG,12,0,0,1,LLF,LLT,CLTRAC,CL)
    ENDIF
  ENDDO

  GFP_ALV  =GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_ANOR =GFP_SU(NGRBANOR ,IG,12,0,0,1,LLF,LLT,'ANGLE.SUB.SOROG ',CL)
  GFP_ARG  =GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_ASN  =GFP_SU(NGRBASN  ,IG,12,0,0,1,LLF,LLT,'SNOW ALBEDO     ',CL)
  GFP_BAAL =GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_BLD  =GFP_SU(NGRBBLD  ,IG,12,0,0,1,LLF,LLT,'PBL.DISSIP.     ',CL)
  GFP_BLH  =GFP_SU(NGRBBLH  ,IG,12,0,0,1,LLF,LLT,'BOUND.LAY.HEIGHT',CL)
  GFP_BSR  =GFP_SU(-9999    ,IA,12,0,0,1,LLF,LLT,'BARE.SURF.ROUG.G',CL)
  GFP_BV   =GFP_SU(NGRBBV   ,IG,12,0,0,1,LLF,LLT,'BUDGET VALUES   ',CL)
  GFP_CBASE=GFP_SU(NGRBCBASE,IG,12,0,0,1,LLF,LLT,'CLOUD BASE LEVEL',CL)
  GFP_CCC  =GFP_SU(NGRBCCC  ,IG,12,0,0,1,LLF,LLT,'CONV.CC         ',CL)
  GFP_CDSW =GFP_SU(NGRBDHR  ,IG,12,0,0,1,LLF,LLT,'PROFPROP.RMAX.EA',CL)
  GFP_CHAR =GFP_SU(NGRBCHNK ,IG,12,0,0,1,LLF,LLT,'CHARNOCK.PARAM  ',CL)
  GFP_CI   =GFP_SU(NGRBCI   ,IG,12,0,0,1,LLF,LLT,'SEA ICE COVER   ',CL)
  GFP_CP   =GFP_SU(NGRBCP   ,IG,12,0,0,1,LLF,LLT,'CONV.PRECIP.    ',CL)
  GFP_CSF  =GFP_SU(NGRBCSF  ,IG,12,0,0,1,LLF,LLT,'CONV.SNOWFALL   ',CL)
  GFP_CSSW =GFP_SU(NGRBDHVD  ,IG,12,0,0,1,LLF,LLT,'SURFPROP.RMAX.EA',CL)
  GFP_CVH  =GFP_SU(NGRBCVH  ,IG,12,0,0,1,LLF,LLT,'HIGH VEG. COVER ',CL)
  GFP_CVL  =GFP_SU(NGRBCVL  ,IG,12,0,0,1,LLF,LLT,'LOW VEG. COVER  ',CL)
  GFP_LAIH =GFP_SU(NGRBLAIH ,IG,12,0,0,1,LLF,LLT,'LAI HIGH VEG.   ',CL)
  GFP_LAIL =GFP_SU(NGRBLAIL ,IG,12,0,0,1,LLF,LLT,'LAI LOW VEG.    ',CL)
  GFP_D2   =GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_D2MX =GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_DPAT =GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_DST  =GFP_SU(NGRBVDMW  ,IG,12,0,1,1,LLF,LLT,'PROFTEMPERATURE ',CL)
  GFP_DSW  =GFP_SU(NGRBDHLC  ,IG,12,0,1,1,LLF,LLT,'PROFRESERV.EAU  ',CL)
  GFP_E    =GFP_SU(NGRBE    ,IG,12,0,0,1,LLF,LLT,'EVAPORATION     ',CL)
  GFP_EMIS =GFP_SU(NGRBEMIS ,IG,12,0,0,1,LLF,LLT,'SURFEMISSIVITE  ',CL)
  GFP_ES   =GFP_SU(NGRBES   ,IG,12,0,0,1,LLF,LLT,'EVA. SNOW       ',CL)
  GFP_EWSS =GFP_SU(NGRBEWSS ,IG,12,0,0,1,LLF,LLT,'U-STRESS        ',CL)
  GFP_FDSW =GFP_SU(-9999    ,IG,12,0,1,1,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_FSSW =GFP_SU(-9999    ,IG,12,0,1,1,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_GFIS =GFP_SU(NGRBZ    ,IA,12,0,0,0,LLF,LLT,'SURFGEOPOTENTIEL',CL)
  GFP_GWD  =GFP_SU(NGRBGWD  ,IG,12,0,0,1,LLF,LLT,'GRAV.WAVE.DISSIP',CL)
  GFP_HCC  =GFP_SU(NGRBHCC  ,IG,12,0,0,1,LLF,LLT,'HIGH.CC         ',CL)
  GFP_HV   =GFP_SU(-9999    ,IG,12,0,0,1,LLT,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_IC   =GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_IDZ0 =GFP_SU(-9999    ,IA,12,0,0,1,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_IE   =GFP_SU(NGRBIE   ,IG,12,0,0,1,LLF,LLT,'INST.S.MOI.FLUX ',CL)
  GFP_IEWSS=GFP_SU(NGRBIEWS ,IG,12,0,0,1,LLF,LLT,'INST.X-SURF.ST. ',CL)
  GFP_INCHN=GFP_SU(-9999    ,IG, 0,0,0,1,LLF,LLT,'SURFINCREMENT.HN',CL)
  GFP_INCHX=GFP_SU(-9999    ,IG, 0,0,0,1,LLF,LLT,'SURFINCREMENT.HX',CL)
  GFP_INCTN=GFP_SU(-9999    ,IG, 0,0,0,1,LLF,LLT,'SURFINCREMENT.TN',CL)
  GFP_INCTX=GFP_SU(-9999    ,IG, 0,0,0,1,LLF,LLT,'SURFINCREMENT.TX',CL)
  GFP_INSSS=GFP_SU(NGRBINSS ,IG,12,0,0,1,LLF,LLT,'INST.Y-SURF.ST. ',CL)
  GFP_ISOR =GFP_SU(NGRBISOR ,IG,12,0,0,1,LLF,LLT,'ANISO.SUB.SOROG ',CL)
  GFP_ISSHF=GFP_SU(NGRBISHF ,IG,12,0,0,1,LLF,LLT,'INST.S.HEAT.FLUX',CL)
  GFP_ISTL1=GFP_SU(NGRBISTL1,IG,12,0,0,1,LLF,LLT,'ICE SURF.TEMP. 1',CL)
  GFP_ISTL2=GFP_SU(NGRBISTL2,IG,12,0,0,1,LLF,LLT,'ICE SURF.TEMP. 2',CL)
  GFP_ISTL3=GFP_SU(NGRBISTL3,IG,12,0,0,1,LLF,LLT,'ICE SURF.TEMP. 3',CL)
  GFP_ISTL4=GFP_SU(NGRBISTL4,IG,12,0,0,1,LLF,LLT,'ICE SURF.TEMP. 4',CL)
  GFP_ITZ0 =GFP_SU(-9999    ,IA,12,0,0,1,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_IVEG =GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_LAI  =GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_LAN  =GFP_SU(-9999    ,IG,12,0,0,0,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_LCC  =GFP_SU(NGRBLCC  ,IG,12,0,0,1,LLF,LLT,'LOW.CC          ',CL)
  GFP_LGWS =GFP_SU(NGRBLGWS ,IG,12,0,0,1,LLF,LLT,'LAT.GRAV.WAVE.ST',CL)
  GFP_LSF  =GFP_SU(NGRBLSF  ,IG,12,0,0,1,LLF,LLT,'LARGE.SCALE.SNOW',CL)
  GFP_LSM  =GFP_SU(NGRBLSM  ,IG,12,0,0,0,LLF,LLT,'SURFIND.TERREMER',CL)
  GFP_LSP  =GFP_SU(NGRBLSP  ,IG,12,0,0,1,LLF,LLT,'LARGESCAPRECIP. ',CL)
  GFP_LSPF =GFP_SU(NGRBLSPF ,IG,12,0,0,1,LLF,LLT,'LSC PREC. FRACT.',CL)
  GFP_LSRH =GFP_SU(NGRBLSRH ,IA,12,0,0,1,LLF,LLT,'LOG.SURF.ROUGH  ',CL)
  GFP_LZ0H =GFP_SU(NGRBFLSR ,IA,12,0,0,1,LLF,LLT,'LOG.S.ROUGH.HEAT',CL)
  GFP_MCC  =GFP_SU(NGRBMCC  ,IG,12,0,0,1,LLF,LLT,'MEDIUM.CC       ',CL)
  GFP_MGWS =GFP_SU(NGRBMGWS ,IG,12,0,0,1,LLF,LLT,'MER.GRAV.WAVE.ST',CL)
  GFP_MN2T =GFP_SU(NGRBMN2T ,IG,12,0,0,1,LLF,LLT,'MIN.TEMP.       ',CL)
  GFP_MN2T6=GFP_SU(NGRBMN2T6,IG,12,0,0,1,LLF,LLT,'MIN.TEMP.LAST 6H',CL)
  GFP_MSLD =GFP_SU(NGRBMSL  ,IG,12,0,0,1,LLF,LLT,'MSL             ',CL)
  GFP_SP   =GFP_SU(NGRBSP   ,IG,12,0,0,1,LLF,LLT,'SURFACE PRESSURE',CL)
  GFP_MX2T =GFP_SU(NGRBMX2T ,IG,12,0,0,1,LLF,LLT,'MAX.TEMP.       ',CL)
  GFP_MX2T6=GFP_SU(NGRBMX2T6,IG,12,0,0,1,LLF,LLT,'MAX.TEMP.LAST 6H',CL)
  GFP_NSSS =GFP_SU(NGRBNSSS ,IG,12,0,0,1,LLF,LLT,'V-STRESS        ',CL)
  GFP_PADOU=GFP_SU(-9999    ,IG,12,+1,0,1,LLF,LLT,'XXXXXXXXXXXXXXXX','DIR')
  GFP_PADOV=GFP_SU(-9999    ,IG,12,-1,0,1,LLF,LLT,'XXXXXXXXXXXXXXXX','DIR')
  GFP_PCAAG=GFP_SU(-9999    ,IG,12,0,0,0,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_PCAPG=GFP_SU(-9999    ,IG,12,0,0,0,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_PSRHU=GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_PURB =GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_PVGMX=GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_RDST =GFP_SU(NGRBVDZW  ,IG,12,0,0,1,LLF,LLT,'INTSURFTEMPERATU',CL)
  GFP_RDSW =GFP_SU(NGRBDHCC  ,IG,12,0,0,1,LLF,LLT,'RELAPROP.RMAX.EA',CL)
  GFP_RO   =GFP_SU(NGRBRO   ,IG,12,0,0,1,LLF,LLT,'TOTAL RUNOFF    ',CL)
  GFP_SRO  =GFP_SU(NGRBSRO  ,IG,12,0,0,1,LLF,LLT,'SURFACE RUNOFF  ',CL) 
  GFP_SSRO =GFP_SU(NGRBSSRO ,IG,12,0,0,1,LLF,LLT,'SUB-SURF. RUNOFF',CL)
  GFP_RSMIN=GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_RSN  =GFP_SU(NGRBRSN  ,IG,12,0,0,1,LLF,LLT,'SNOW DENSITY    ',CL)
  GFP_SAB  =GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_SD   =GFP_SU(NGRBSD   ,IG,12,0,1,1,LLF,LLT,'SNOWDEPTH       ',CL)
  GFP_SDOG =GFP_SU(NGRBSDOR ,IG,12,0,0,0,LLF,LLT,'STD.DEV.OROGRAPH',CL)
  GFP_SF   =GFP_SU(NGRBSF   ,IG,12,0,0,1,LLF,LLT,'SNOWFALL        ',CL)
  GFP_SFIS =GFP_SU(-9999    ,IA,12,0,0,0,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_SKT  =GFP_SU(NGRBSKT  ,IG,12,0,0,1,LLF,LLT,'SKINTEMPERATURE ',CL)
  GFP_SLHF =GFP_SU(NGRBSLHF ,IG,12,0,0,1,LLF,LLT,'S.L.HEAT.FLUX.  ',CL)
  GFP_SLOR =GFP_SU(NGRBSLOR ,IG,12,0,0,1,LLF,LLT,'SLOPE.SUB.SOROG ',CL)
  GFP_SMLT =GFP_SU(NGRBSMLT ,IG,12,0,0,1,LLF,LLT,'SNOW MELT       ',CL)
  GFP_SNDE =GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_SOTY =GFP_SU(NGRBSLT ,IG,12,0,0,1,LLF,LLT,'SOIL TYPE       ',CL)
  GFP_SR   =GFP_SU(NGRBSR   ,IA,12,0,0,1,LLF,LLT,'SURFACEROUGHN.G ',CL)
  GFP_SRC  =GFP_SU(NGRBSRC  ,IG,12,0,0,1,LLF,LLT,'SKINRESERV.EAU  ',CL)
  GFP_SSHF =GFP_SU(NGRBSSHF ,IG,12,0,0,1,LLF,LLT,'S.S.HEAT.FLUX.  ',CL)
  GFP_SSR  =GFP_SU(NGRBSSR  ,IG,12,0,0,1,LLF,LLT,'S.SOLAR.RAD.    ',CL)
  GFP_SSRC =GFP_SU(NGRBSSRC ,IG,12,0,0,1,LLF,LLT,'SURF SOLAR CLEAR',CL)
  GFP_SSRD =GFP_SU(NGRBSSRD ,IG,12,0,0,1,LLF,LLT,'S.SOLAR.RAD.DOWN',CL)
  GFP_SST  =GFP_SU(NGRBSSTK  ,IG,12,0,0,1,LLF,LLT,'SEA SURF. TEMP. ',CL)
  GFP_SSW  =GFP_SU(-9999    ,IG,12,0,1,1,LLF,LLT,'SURFRESERV.EAU  ',CL)
  GFP_ST   =GFP_SU(-9999    ,IG,12,0,1,1,LLF,LLT,'SURFTEMPERATURE ',CL)
  GFP_UCUR =GFP_SU(NGRBUCUR ,IG,12,0,0,1,LLF,LLT,'U-OCEAN CURRENT ',CL)
  GFP_VCUR =GFP_SU(NGRBVCUR ,IG,12,0,0,1,LLF,LLT,'V-OCEAN CURRENT ',CL)
  GFP_STL1 =GFP_SU(NGRBSTL1 ,IG,12,0,0,1,LLF,LLT,'LEV1TEMPERATURE ',CL)
  GFP_STL2 =GFP_SU(NGRBSTL2 ,IG,12,0,0,1,LLF,LLT,'LEV2TEMPERATURE ',CL)
  GFP_STL3 =GFP_SU(NGRBSTL3 ,IG,12,0,0,1,LLF,LLT,'LEV3TEMPERATURE ',CL)
  GFP_STL4 =GFP_SU(NGRBSTL4 ,IG,12,0,0,1,LLF,LLT,'LEV4TEMPERATURE ',CL)
  GFP_STR  =GFP_SU(NGRBSTR  ,IG,12,0,0,1,LLF,LLT,'S.THERMAL.RAD.  ',CL)
  GFP_STRC =GFP_SU(NGRBSTRC ,IG,12,0,0,1,LLF,LLT,'SURF THERM CLEAR',CL)
  GFP_STRD =GFP_SU(NGRBSTRD ,IG,12,0,0,1,LLF,LLT,'S.THERM.RAD.DOWN',CL)
  GFP_SUND =GFP_SU(NGRBSUND ,IG,12,0,0,1,LLF,LLT,'SUNSHI. DURATION',CL)
  GFP_SWL1 =GFP_SU(NGRBSWVL1 ,IG,12,0,0,1,LLF,LLT,'LEV1RESERV.EAU  ',CL)
  GFP_SWL2 =GFP_SU(NGRBSWVL2 ,IG,12,0,0,1,LLF,LLT,'LEV2RESERV.EAU  ',CL)
  GFP_SWL3 =GFP_SU(NGRBSWVL3 ,IG,12,0,0,1,LLF,LLT,'LEV3RESERV.EAU  ',CL)
  GFP_SWL4 =GFP_SU(NGRBSWVL4 ,IG,12,0,0,1,LLF,LLT,'LEV4RESERV.EAU  ',CL)
  GFP_TCC  =GFP_SU(NGRBTCC  ,IG,12,0,0,1,LLF,LLT,'TOTAL.CC        ',CL)
  GFP_TCO3 =GFP_SU(NGRBTCO3 ,IG,12,0,0,1,LLF,LLT,'TOT.COL.OZON    ',CL)
  GFP_VISIH=GFP_SU(NGRBVISIH,IG,12,0,0,1,LLF,LLT,'HORIZ.VISIBILITY',CL)
  GFP_0DEGL=GFP_SU(NGRB0DEGL,IG,12,0,0,1,LLF,LLT,'ZERO DEG. LEVEL ',CL)

  DO JGFL=1,JPOSGHG
    CLGHG='TOT.COL.GHG  '//CVAR_GHG(JGFL)
    GFP_TCGHG(JGFL) = &
     & GFP_SU(NGRBTCGHG(JGFL),IG,12,0,0,1,LLF,LLT,CLGHG,CL)
  ENDDO
  DO JGFL=1,JPOSTRAC
    IF (JGFL <= NTRAC) THEN
    CLTRAC='TOT.COL.TRAC '//TRIM(YTRAC(JGFL)%CNAME)
    GFP_TCTRAC(JGFL) = &
     & GFP_SU(NGRBTCTRAC(JGFL),IG,12,0,0,1,LLF,LLT,CLTRAC,CL)
    ENDIF
  ENDDO
  DO JGFL=1,JPOSGRG
    IF (JGFL <= NGRG) THEN
    CLGRG='TOT.COL.GRG  '//TRIM(YGRG(JGFL)%CNAME)
    GFP_TCGRG(JGFL) = &
     & GFP_SU(NGRBTCGRG(JGFL),IG,12,0,0,1,LLF,LLT,CLGRG,CL)
    ENDIF
  ENDDO
  GFP_TCW  =GFP_SU(NGRBTCW  ,IG,12,0,0,1,LLF,LLT,'TOT.COL.WATER   ',CL)
  GFP_TCWV =GFP_SU(NGRBTCWV ,IG,12,0,0,1,LLF,LLT,'TOT.COL.WATVAPOU',CL)
  GFP_TCLW =GFP_SU(NGRBTCLW ,IG,12,0,0,1,LLF,LLT,'TOT.COL.LIQ.WAT ',CL)
  GFP_TCIW =GFP_SU(NGRBTCIW ,IG,12,0,0,1,LLF,LLT,'TOT.COL.ICE.WAT ',CL)
  GFP_TCRW =GFP_SU(NGRBTCRW ,IG,12,0,0,1,LLF,LLT,'TOT.COL.RAIN.WAT',CL)
  GFP_TCSW =GFP_SU(NGRBTCSW ,IG,12,0,0,1,LLF,LLT,'TOT.COL.SNOW.WAT',CL)
  GFP_TP   =GFP_SU(NGRBTP   ,IG,12,0,0,1,LLF,LLT,'TOTAL.PRECIP.   ',CL)
  GFP_TSN  =GFP_SU(NGRBTSN  ,IG,12,0,0,1,LLF,LLT,'TEMP.SNOWLAYER  ',CL)
  GFP_TSR  =GFP_SU(NGRBTSR  ,IG,12,0,0,1,LLF,LLT,'T.SOLAR.RAD.    ',CL)
  GFP_TSRC =GFP_SU(NGRBTSRC ,IG,12,0,0,1,LLF,LLT,'TOP SOLAR  CLEAR',CL)
  GFP_TTR  =GFP_SU(NGRBTTR  ,IG,12,0,0,1,LLF,LLT,'T.THERMAL.RAD.  ',CL)
  GFP_TTRC =GFP_SU(NGRBTTRC ,IG,12,0,0,1,LLF,LLT,'TOP THERMALCLEAR',CL)
  GFP_TVH  =GFP_SU(NGRBTVH  ,IG,12,0,0,1,LLF,LLT,'HIG VEG. TYPE   ',CL)
  GFP_TVL  =GFP_SU(NGRBTVL  ,IG,12,0,0,1,LLF,LLT,'LOW VEG. TYPE   ',CL)
  GFP_VEG  =GFP_SU(NGRBVEG  ,IG,12,0,0,1,LLF,LLT,'PERCENTAGE_VEG  ',CL)
  GFP_VIMD =GFP_SU(NGRBVIMD ,IG,12,0,0,1,LLF,LLT,'VertIntegMassDiv',CL)
  GFP_Z0F  =GFP_SU(NGRBFSR  ,IA,12,0,0,1,LLF,LLT,'SURF.ROUGHNESS  ',CL)
  GFP_Z0H  =GFP_SU(-9999    ,IA,12,0,0,1,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_Z0V  =GFP_SU(-9999    ,IA,12,0,0,1,LLF,LLT,'XXXXXXXXXXXXXXXX',CL)
  GFP_ASEA =GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'SURFAEROS.SEA   ',CL)
  GFP_ALAN =GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'SURFAEROS.LAND  ',CL)
  GFP_ASOO =GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'SURFAEROS.SOOT  ',CL)
  GFP_ADES =GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'SURFAEROS.DESERT',CL)
  GFP_ASUL =GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'SURFAEROS.SULFAT',CL)
  GFP_AVOL =GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'SURFAEROS.VOLCAN',CL)
  GFP_O3A  =GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'SURFA.OF.OZONE  ',CL)
  GFP_O3B  =GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'SURFB.OF.OZONE  ',CL)
  GFP_O3C  =GFP_SU(-9999    ,IG,12,0,0,1,LLF,LLT,'SURFC.OF.OZONE  ',CL)
  GFP_SPAR =GFP_SU(NGRBPAR ,IG,12,0,0,1,LLF,LLT,'PHOTO.ACTIVE.RAD',CL)
  GFP_SUVB =GFP_SU(NGRBUVB ,IG,12,0,0,1,LLF,LLT,'UV-B RADIATION  ',CL)
  GFP_CAPE =GFP_SU(NGRBCAPE ,IG,12,0,0,1,LLF,LLT,'CONV.AV.POT.ENER',CL)
  GFP_SPARC=GFP_SU(NGRBPARCS,IG,12,0,0,1,LLF,LLT,'C-S PHOT.ACT.RAD',CL)
  GFP_STINC=GFP_SU(NGRBTISR,IG,12,0,0,1,LLF,LLT,'TOA INC.SOL. RAD',CL)
  GFP_SFDIR=GFP_SU(NGRBFDIR ,IG,12,0,0,1,LLF,LLT,'SUR.TOT-SKY DIRD',CL)
  GFP_SCDIR=GFP_SU(NGRBCDIR ,IG,12,0,0,1,LLF,LLT,'SUR.CLR-SKY DIRD',CL)
  GFP_DNDZN=GFP_SU(NGRBDNDZN,IG,12,0,0,1,LLF,LLT,'Min Refrac Grad ',CL)
  GFP_DNDZA=GFP_SU(NGRBDNDZA,IG,12,0,0,1,LLF,LLT,'Mean Refrac Grad',CL)
  GFP_DCTB =GFP_SU(NGRBDCTB ,IG,12,0,0,1,LLF,LLT,'Duct Base Height',CL)
  GFP_TPLB =GFP_SU(NGRBTPLB ,IG,12,0,0,1,LLF,LLT,'Trap Layer Base ',CL)
  GFP_TPLT =GFP_SU(NGRBTPLT ,IG,12,0,0,1,LLF,LLT,'Trap Layer Top  ',CL)

  DO JVAR=1,JPOSVX2
    IGRIB=NGRBMINXTRA+JVAR-1
! GRG SFC field get GRIB numbers from extra field range until defined properly
! therefore no pre-definition here  
    IF (IGRIB <= NGRBMAXXTRA .AND. (.NOT. ANY(IGRIB == YGRG(:)%IGRIBSFC))) THEN
      WRITE(CLFA,'(''SURFEXTRAFIELD'',I2.2)') JVAR
      GFP_VX2(JVAR)=GFP_SU(IGRIB,IG,12,0,0,1,LLF,LLT,CLFA,CL)
    ELSE
      CLFA='XXXXXXXXXXXXXXXX'
      GFP_VX2(JVAR)=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CLFA,CL)
    ENDIF
  ENDDO
  DO JVAR=1,JPOSFSU
    WRITE(CLFA,'(''SURFFREE.FIELD'',I2.2)') JVAR
    GFP_FSU(JVAR)=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CLFA,CL)
  ENDDO

ELSE

!        1b. Upper air dynamic fields (other than GFL):

  TFP_U   =TFP_SU(LLF,'VENT_ZONAL      ',-99999,IS,IG,12,LLF,I1,ZK,+1,'ATM')
  TFP_V   =TFP_SU(LLF,'VENT_MERIDIE    ',-99999,IS,IG,12,LLF,I1,ZK,-1,'ATM')
  TFP_KHI =TFP_SU(LLF,YFAKHI%CLNAME     ,-99999,IS,IG,12,LLF,I1,Z0,0,'VPSF')
  TFP_PSI =TFP_SU(LLF,YFAPSI%CLNAME     ,-99999,IS,IG,12,LLF,I1,ZK,0,'VPSF')
  TFP_T   =TFP_SU(LLF,YFAT%CLNAME       ,-99999,IS,IG,12,LLF,I2,ZK,0,CL)
  TFP_Z   =TFP_SU(LLF,'GEOPOTENTIEL    ',-99999,IS,IG,12,LLF,I2,ZK,0,CL)
  TFP_WND =TFP_SU(LLF,'WIND_VELOCIT    ',-99999,IS,IG,12,LLF,I1,ZK,0,CL)
  TFP_HU  =TFP_SU(LLF,'HUMI_RELATIV    ',-99999,IS,IG,12,LLF,I2,ZK,0,CL)
  TFP_TH  =TFP_SU(LLF,'TEMPE_POTENT    ',-99999,IS,IG,12,LLF,I1,ZK,0,CL)
  TFP_THPW=TFP_SU(LLF,'THETA_PRIM_W    ',-99999,IS,IG,12,LLF,I1,ZK,0,CL)
  TFP_ETH =TFP_SU(LLF,'THETA_EQUIVA    ',-99999,IS,IG,12,LLF,I1,ZK,0,CL)
  TFP_IET =TFP_SU(LLF,'VIRT_P_TEMPE    ',-99999,IS,IG,12,LLF,I1,ZK,0,CL)
  TFP_SRE =TFP_SU(LLF,'SIM_REFLECTI    ',-99999,IS,IG,12,LLF,I2,ZK,0,CL)
  TFP_THV =TFP_SU(LLF,'THETA_VIRTUA    ',-99999,IS,IG,12,LLF,I2,ZK,0,CL)
  TFP_P   =TFP_SU(LLF,'PRESSURE        ',-99999,IS,IG,12,LLF,I1,ZK,0,CL)
  TFP_PD  =TFP_SU(LLF,YFAPD%CLNAME      ,-99999,IS,IG,12,LLF,I1,ZK,0,CL)
  TFP_VD  =TFP_SU(LLF,YFAVD%CLNAME      ,-99999,IS,IG,12,LLF,I1,ZK,0,CL)
  TFP_MG  =TFP_SU(LLF,'MONTGOMERY G    ',-99999,IS,IG,12,LLF,I1,ZK,0,CL)
  TFP_VW  =TFP_SU(LLF,'VERT.VELOCIT    ',-99999,IS,IG,12,LLF,I1,ZK,0,CL)
  TFP_PV  =TFP_SU(LLF,'POT_VORTICIT    ',-99999,IS,IG,12,LLF,I3,ZK,0,CL)
  TFP_VV  =TFP_SU(LLF,'VITESSE_VERT    ',-99999,IS,IG,12,LLF,I3,ZK,0,CL)
  TFP_ETAD=TFP_SU(LLF,'ETADOT          ',-99999,IS,IG,12,LLF,I3,ZK,0,CL)
  TFP_STD =TFP_SU(LLF,'STRET_DEFORM    ',-99999,IS,IG,12,LLF,I3,ZK,2,CL)
  TFP_SHD =TFP_SU(LLF,'SHEAR_DEFORM    ',-99999,IS,IG,12,LLF,I3,ZK,2,CL)
  TFP_ABS =TFP_SU(LLF,'ABS_VORTICIT    ',-99999,IS,IG,12,LLF,I3,ZK,2,CL)
  TFP_VOR =TFP_SU(LLF,'VORTICITY       ',-99999,IS,IG,12,LLF,I3,ZK,2,CL)
  TFP_DIV =TFP_SU(LLF,'DIVERGENCE      ',-99999,IS,IG,12,LLF,I3,ZK,2,CL)

  DO JVAR=1,JPOSVX2
    WRITE(CLFA,'(''UPPER_AIR.'',I2.2,''    '')') JVAR
    TFP_FUA(JVAR)=TFP_SU(LLF,CLFA,-99999,IS,IG,12,LLF,I1,ZK,0,CL)
  ENDDO

!        2. 2D dynamic fields :

  TFP_SP  =TFP_SU(LLT,YFASP%CLNAME      ,-99999,IS,IG,12,LLF,I1,ZK,0,CL)
  TFP_LNSP=TFP_SU(LLT,'LOG.SURF.PRESSIO',-99999,IS,IG,12,LLF,I1,ZK,0,CL)
  TFP_MSL =TFP_SU(LLT,'MSLPRESSURE     ',-99999,IS,IG,12,LLF,I2,ZK,0,CL)
  TFP_CUF1=TFP_SU(LLT,YFAFSP1%CLNAME    ,-99999,IS,IG,12,LLF,I0,Z0,0,CL)
  TFP_CUF2=TFP_SU(LLT,YFAFSP2%CLNAME    ,-99999,IS,IG,12,LLF,I0,Z0,0,CL)
  TFP_CUF3=TFP_SU(LLT,YFAFSP3%CLNAME    ,-99999,IS,IG,12,LLF,I0,Z0,0,CL)
  TFP_CUF4=TFP_SU(LLT,YFAFSP4%CLNAME    ,-99999,IS,IG,12,LLF,I0,Z0,0,CL)
  TFP_CUF5=TFP_SU(LLT,YFAFSP5%CLNAME    ,-99999,IS,IG,12,LLF,I0,Z0,0,CL)
  TFP_FIS =TFP_SU(LLT,YFAOROG%CLNAME    ,-99999,IA,IA,12,LLF,I1,ZK,0,CL)
  TFP_WWS =TFP_SU(LLT,'SURFVERT.VELOCIT',-99999,IS,IG,12,LLF,I1,ZK,0,CL)
  TFP_PJET=TFP_SU(LLT,'JETPRESSURE     ',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_TCAO=TFP_SU(LLT,'ICAOTROP.TEMPERA',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_PCAO=TFP_SU(LLT,'ICAOTROP.PRESSUR',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_PT0B=TFP_SU(LLT,'SURFISOT0.PRESSU',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_HT0B=TFP_SU(LLT,'SURFISOT0.MALTIT',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_PT1B=TFP_SU(LLT,'SURFISOTM10.PRES',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_HT1B=TFP_SU(LLT,'SURFISOTM10.MALT',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_HTPW=TFP_SU(LLT,'SURFISOTPW0.MALT',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_GM  =TFP_SU(LLT,'MAP_FACTOR      ',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_FOL =TFP_SU(LLT,'TROPO_FOLD_INDIC',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_UCLS=TFP_SU(LLT,'CLSVENT_ZONA.POS',-99999,IS,IG,12,LLT,I0,Z0,+1,'CLS')
  TFP_VCLS=TFP_SU(LLT,'CLSVENT_MERI.POS',-99999,IS,IG,12,LLT,I0,Z0,-1,'CLS')
  TFP_TCLS=TFP_SU(LLT,'CLSTEMPERATU.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_QCLS=TFP_SU(LLT,'CLSHU.SPECIF.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_RCLS=TFP_SU(LLT,'CLSHU.RELATI.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_FCLS=TFP_SU(LLT,'CLSWIND_VELO.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_TX  =TFP_SU(LLT,'CLSTEMPE.MAX.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_TN  =TFP_SU(LLT,'CLSTEMPE.MIN.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_HUX =TFP_SU(LLT,'CLSHUREL.MAX.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_HUN =TFP_SU(LLT,'CLSHUREL.MIN.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_CAPE=TFP_SU(LLT,'SURFCAPE.POS.F00',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_CIEN=TFP_SU(LLT,'SURFCIEN.POS.F00',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MOCO=TFP_SU(LLT,'CLPMOCON.POS    ',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_TWV =TFP_SU(LLT,'SURFTOT.WAT.VAPO',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_UGST=TFP_SU(LLT,'CLSURAFALES.POS ',-99999,IS,IG,12,LLT,I0,Z0,+1,'GST')
  TFP_VGST=TFP_SU(LLT,'CLSVRAFALES.POS ',-99999,IS,IG,12,LLT,I0,Z0,-1,'GST')
  TFP_FGST=TFP_SU(LLT,'CLSRAFALES.POS  ',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_HCLP=TFP_SU(LLT,'CLPMHAUT.POS    ',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_SMC =TFP_SU(LLT,'SURFMOCON.POS   ',-99999,IS,IG,12,LLF,I3,ZK,2,CL)
  TFP_ASMC=TFP_SU(LLT,'SURFANAMOCON.POS',-99999,IS,IG,12,LLF,I3,ZK,2,CL)
  TFP_MSAT7C1=TFP_SU(LLT,'C001_METEOSAT_07_MVIRI.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT7C2=TFP_SU(LLT,'C002_METEOSAT_07_MVIRI.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT8C1=TFP_SU(LLT,'C001_METEOSAT_08_SEVIRI.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT8C2=TFP_SU(LLT,'C002_METEOSAT_08_SEVIRI.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT8C3=TFP_SU(LLT,'C003_METEOSAT_08_SEVIRI.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT8C4=TFP_SU(LLT,'C004_METEOSAT_08_SEVIRI.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT8C5=TFP_SU(LLT,'C005_METEOSAT_08_SEVIRI.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT8C6=TFP_SU(LLT,'C006_METEOSAT_08_SEVIRI.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT8C7=TFP_SU(LLT,'C007_METEOSAT_08_SEVIRI.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT8C8=TFP_SU(LLT,'C008_METEOSAT_08_SEVIRI.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT9C1=TFP_SU(LLT,'C001_METEOSAT_09_SEVIRI.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT9C2=TFP_SU(LLT,'C002_METEOSAT_09_SEVIRI.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT9C3=TFP_SU(LLT,'C003_METEOSAT_09_SEVIRI.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT9C4=TFP_SU(LLT,'C004_METEOSAT_09_SEVIRI.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT9C5=TFP_SU(LLT,'C005_METEOSAT_09_SEVIRI.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT9C6=TFP_SU(LLT,'C006_METEOSAT_09_SEVIRI.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT9C7=TFP_SU(LLT,'C007_METEOSAT_09_SEVIRI.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MSAT9C8=TFP_SU(LLT,'C008_METEOSAT_09_SEVIRI.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_GOES11C1=TFP_SU(LLT,'C001_GOES_11_IMAGE.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_GOES11C2=TFP_SU(LLT,'C002_GOES_11_IMAGE.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_GOES11C3=TFP_SU(LLT,'C003_GOES_11_IMAGE.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_GOES11C4=TFP_SU(LLT,'C004_GOES_11_IMAGE.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_GOES12C1=TFP_SU(LLT,'C001_GOES_12_IMAGE.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_GOES12C2=TFP_SU(LLT,'C002_GOES_12_IMAGE.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_GOES12C3=TFP_SU(LLT,'C003_GOES_12_IMAGE.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_GOES12C4=TFP_SU(LLT,'C004_GOES_12_IMAGE.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MTSAT1C1=TFP_SU(LLT,'C001_MTSAT_01_IMAGE.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MTSAT1C2=TFP_SU(LLT,'C002_MTSAT_01_IMAGE.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MTSAT1C3=TFP_SU(LLT,'C003_MTSAT_01_IMAGE.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_MTSAT1C4=TFP_SU(LLT,'C004_MTSAT_01_IMAGE.POS',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_LCL =TFP_SU(LLT,'SURFLIFTCONDLEV ',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_FCL =TFP_SU(LLT,'SURFFREECONVLEV ',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  TFP_EL  =TFP_SU(LLT,'SURFEQUILIBRLEV ',-99999,IS,IG,12,LLT,I0,Z0,0,CL)
  DO JVAR=1,JPOSFSU
    WRITE(CLFA,'(''SURF2D.'',I2.2,''       '')') JVAR
    TFP_FSU(JVAR)=TFP_SU(LLT,CLFA,-99999,IS,IG,12,LLF,I1,ZK,0,CL)
  ENDDO
  TFP_UJET=TFP_SU(LLT,'JETVENT_ZONAL   ',-99999,IS,IG,12,LLT,I0,Z0,+1,'JET')
  TFP_VJET=TFP_SU(LLT,'JETVENT_MERIDIEN',-99999,IS,IG,12,LLT,I0,Z0,-1,'JET')

!        3. Physics:

  GFP_SDFOR=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SD FILTERED OROG',CL)
  GFP_CO2NBF=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_CO2OF =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_CO2APF=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_CO2FIRE=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_CH4AG =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_CH4F =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_SF6   =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_10FG =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_10FG6=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_10U  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_10V  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_2D   =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_2T   =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_ACOT =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFVAR.GEOP.ANI',CL)
  GFP_AL   =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFALBEDO      ',CL)
  GFP_ALB  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_ALS  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFALBEDO.SOLNU',CL)
  GFP_ALSN =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFALBEDO NEIGE',CL)
  GFP_ALUVP=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_ALUVD=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_ALNIP=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_ALNID=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)

  !- aerosol climatological fields
  GFP_AERDEP=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_AERLTS=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_AERSCC=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)

  GFP_BCBF =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_BCFF =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_BCGF =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_OMBF =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_OMFF =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_OMGF =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_SO2L =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_SO2H =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_SOGF =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_VOLC =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_VOLE =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_SOA  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  DO JGFL=1,JPOSGRG
    GFP_GRGFLX(JGFL) = GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  ENDDO
  DO JGFL=1,JPOSTRAC
    GFP_TRACFLX(JGFL) = GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  ENDDO

  GFP_ALV  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFALBEDO.VEG  ',CL)
  GFP_ANOR =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_ARG  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFPROP.ARGILE ',CL)
  GFP_ASN  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_BAAL =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFALBEDO.COMPL',CL)
  GFP_BLD  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_BLH  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_BSR  =GFP_SU(-9999,IA,12,0,0,1,LLF,LLT,'SURFZ0REL.FOIS.G',CL)
  GFP_BV   =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_CBASE=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_CCC  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_CDSW =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'PROFPROP.RMAX.EA',CL)
  GFP_CHAR =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_CI   =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_CP   =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_CSF  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_CSSW =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFPROP.RMAX.EA',CL)
  GFP_CVH  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_CVL  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_LAIH =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_LAIL =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_D2   =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFEPAIS.SOL   ',CL)
  GFP_D2MX =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFEPAI.SOL.MAX',CL)
  GFP_DPAT =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFVAR.GEOP.DIR',CL)
  GFP_DST  =GFP_SU(-9999,IG,12,0,1,1,LLF,LLT,'PROFTEMPERATURE ',CL)
  GFP_DSW  =GFP_SU(-9999,IG,12,0,1,1,LLF,LLT,'PROFRESERV.EAU  ',CL)
  GFP_E    =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_EMIS =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFEMISSIVITE  ',CL)
  GFP_ES   =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_EWSS =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_FDSW =GFP_SU(-9999,IG,12,0,1,1,LLF,LLT,'PROFRESERV.GLACE',CL)
  GFP_FSSW =GFP_SU(-9999,IG,12,0,1,1,LLF,LLT,'SURFRESERV.GLACE',CL)
  GFP_GFIS =GFP_SU(-9999,IA,12,0,0,0,LLF,LLT,'SURFGEOPOTENTIEL',CL)
  GFP_GWD  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_HCC  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_HV   =GFP_SU(-9999,IG,12,0,0,1,LLT,LLT,'SURFRES.EVAPOTRA',CL)
  GFP_IC   =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFRESERV.INTER',CL)
  GFP_IDZ0 =GFP_SU(-9999,IA,12,0,0,1,LLT,LLT,'INTSURFZ0.FOIS.G',CL)
  GFP_IE   =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_IEWSS=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_INCHN=GFP_SU(-9999,IG, 0,0,0,1,LLF,LLT,'SURFINCREMENT.HN',CL)
  GFP_INCHX=GFP_SU(-9999,IG, 0,0,0,1,LLF,LLT,'SURFINCREMENT.HX',CL)
  GFP_INCTN=GFP_SU(-9999,IG, 0,0,0,1,LLF,LLT,'SURFINCREMENT.TN',CL)
  GFP_INCTX=GFP_SU(-9999,IG, 0,0,0,1,LLF,LLT,'SURFINCREMENT.TX',CL)
  GFP_INSSS=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_ISOR =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_ISSHF=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_ISTL1=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_ISTL2=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_ISTL3=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_ISTL4=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_ITZ0 =GFP_SU(-9999,IA,12,0,0,1,LLT,LLT,'INTSURFGZ0.THERM',CL)
  GFP_IVEG =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFIND.VEG.DOMI',CL)
  GFP_LAI  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFIND.FOLIAIRE',CL)
  GFP_LAN  =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SURFPROP.TERRE  ',CL)
  GFP_LCC  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_LGWS =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_LSF  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_LSM  =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SURFIND.TERREMER',CL)
  GFP_LSP  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_LSPF =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_LSRH =GFP_SU(-9999,IA,12,0,0,1,LLF,LLT,CL,CL)
  GFP_LZ0H =GFP_SU(-9999,IA,12,0,0,1,LLF,LLT,CL,CL)
  GFP_MCC  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_MGWS =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_MN2T =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_MN2T6=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_MSLD =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_MX2T =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_MX2T6=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_NSSS =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_PADOU=GFP_SU(-9999,IG,12,+1,0,1,LLF,LLT,'SURF.U.ANISO.DIR','DIR')
  GFP_PADOV=GFP_SU(-9999,IG,12,-1,0,1,LLF,LLT,'SURF.V.ANISO.DIR','DIR')
  GFP_PCAAG=GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SURFETA.GEOPOTEN',CL)
  GFP_PCAPG=GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SURFETP.GEOPOTEN',CL)
  GFP_PSRHU=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFHUMI.RELATIV',CL)
  GFP_PURB =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFPROP.URBANIS',CL)
  GFP_PVGMX=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFPROP.VEG.MAX',CL)
  GFP_RDST =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'INTSURFTEMPERATU',CL)
  GFP_RDSW =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'RELAPROP.RMAX.EA',CL)
  GFP_RO   =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_SRO  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_SSRO =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_RSMIN=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFRESI.STO.MIN',CL)
  GFP_RSN  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_SAB  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFPROP.SABLE  ',CL)
  GFP_SD   =GFP_SU(-9999,IG,12,0,1,1,LLF,LLT,'SURFRESERV.NEIGE',CL)
  GFP_SDOG =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SURFET.GEOPOTENT',CL)
  GFP_SF   =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_SFIS =GFP_SU(-9999,IA,12,0,0,0,LLF,LLT,'INTSURFGEOPOTENT',CL)
  GFP_SKT  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_SLHF =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_SLOR =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_SMLT =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_SNDE =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFDENSIT.NEIGE',CL)
  GFP_SOTY =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_SR   =GFP_SU(-9999,IA,12,0,0,1,LLF,LLT,'SURFZ0.FOIS.G   ',CL)
  GFP_SRC  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_SSHF =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_SSR  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_SSRC =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_SSRD =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_SST  =GFP_SU(-9999,IG,12,0,0,2,LLF,LLT,'SEASURFTEMPERATU',CL)
  GFP_SSW  =GFP_SU(-9999,IG,12,0,1,1,LLF,LLT,'SURFRESERV.EAU  ',CL)
  GFP_ST   =GFP_SU(-9999,IG,12,0,1,1,LLF,LLT,'SURFTEMPERATURE ',CL)
  GFP_UCUR =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_VCUR =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_STL1 =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_STL2 =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_STL3 =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_STL4 =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_STR  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_STRC =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_STRD =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_SUND =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_SWL1 =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_SWL2 =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_SWL3 =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_SWL4 =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_TCC  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_TCO3 =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_VISIH=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_0DEGL=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  DO JGFL=1,JPOSGHG
    GFP_TCGHG(JGFL) = GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  ENDDO
  DO JGFL=1,JPOSTRAC
    GFP_TCTRAC(JGFL) = GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  ENDDO
  DO JGFL=1,JPOSGRG
    GFP_TCGRG(JGFL) = GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  ENDDO
  GFP_TCW  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_TCWV =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_TCLW =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_TCIW =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_TCRW =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_TCSW =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_TP   =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_TSN  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_TSR  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_TSRC =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_TTR  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_TTRC =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_TVH  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_TVL  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CL,CL)
  GFP_VEG  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFPROP.VEGETAT',CL)
  GFP_VIMD =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'VertIntegMassDiv',CL)
  GFP_Z0F  =GFP_SU(-9999,IA,12,0,0,1,LLF,LLT,CL,CL)
  GFP_Z0H  =GFP_SU(-9999,IA,12,0,0,1,LLF,LLT,'SURFGZ0.THERM   ',CL)
  GFP_Z0V  =GFP_SU(-9999,IA,12,0,0,1,LLF,LLT,'SURFZ0VEG.FOIS.G',CL)
  GFP_ASEA =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFAEROS.SEA   ',CL)
  GFP_ALAN =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFAEROS.LAND  ',CL)
  GFP_ASOO =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFAEROS.SOOT  ',CL)
  GFP_ADES =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFAEROS.DESERT',CL)
  GFP_ASUL =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFAEROS.SULFAT',CL)
  GFP_AVOL =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFAEROS.VOLCAN',CL)
  GFP_O3A  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFA.OF.OZONE  ',CL)
  GFP_O3B  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFB.OF.OZONE  ',CL)
  GFP_O3C  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFC.OF.OZONE  ',CL)
  GFP_SPAR =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'PHOTO.ACTIVE.RAD',CL)
  GFP_SUVB =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'UV-B RADIATION  ',CL)
  GFP_CAPE =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'CONV.AV.POT.ENER',CL)
  GFP_SPARC=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'C-S PHO.ACT. RAD',CL)
  GFP_STINC=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'TOA INC.SOL. RAD',CL)
  GFP_SFDIR=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SUR.TOT.SKY DIRD',CL)
  GFP_SCDIR=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SUR.CLR-SKY DIRD',CL)
  GFP_DNDZN=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'Min Refrac Grad ',CL)
  GFP_DNDZA=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'Mean Refrac Grad',CL)
  GFP_DCTB =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'Duct Base Height',CL)
  GFP_TPLB =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'Trap Layer Base ',CL)
  GFP_TPLT =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'Trap Layer Top  ',CL)

  DO JVAR=1,JPOSVX2
    WRITE(CLFA,'(''SURFEXTRAFIELD'',I2.2)') JVAR
    GFP_VX2(JVAR)=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CLFA,CL)
  ENDDO
  DO JVAR=1,JPOSFSU
    WRITE(CLFA,'(''SURFFREE.FIELD'',I2.2)') JVAR
    GFP_FSU(JVAR)=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,CLFA,CL)
  ENDDO

ENDIF

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

!        4. Cumulated fluxes

GFP_CLSP =GFP_SU(-9999,IG,12,0,0,0,LLT,LLT,'SURFPREC.EAU.GEC',CL)
GFP_CCP  =GFP_SU(-9999,IG,12,0,0,0,LLT,LLT,'SURFPREC.EAU.CON',CL)
GFP_CLSS =GFP_SU(-9999,IG,12,0,0,0,LLT,LLT,'SURFPREC.NEI.GEC',CL)
GFP_CCSF =GFP_SU(-9999,IG,12,0,0,0,LLT,LLT,'SURFPREC.NEI.CON',CL)
GFP_CLSG =GFP_SU(-9999,IG,12,0,0,0,LLT,LLT,'SURFPREC.GRA.GEC',CL)
GFP_CCSG =GFP_SU(-9999,IG,12,0,0,0,LLT,LLT,'SURFPREC.GRA.CON',CL)
GFP_CLSH =GFP_SU(-9999,IG,12,0,0,0,LLT,LLT,'SURFPREC.GRE.GEC',CL)
GFP_CCSH =GFP_SU(-9999,IG,12,0,0,0,LLT,LLT,'SURFPREC.GRE.CON',CL)
GFP_CUSS =GFP_SU(-9999,IG,12,+1,0,1,LLF,LLT,'SURFTENS.TURB.ZO','CSS')
GFP_CVSS =GFP_SU(-9999,IG,12,-1,0,1,LLF,LLT,'SURFTENS.TURB.ME','CSS')
GFP_CSSH =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SURFFLU.CHA.SENS',CL)
GFP_CSLH =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SURFCHAL LATENTE',CL)
GFP_CTSP =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SURFPRESSION SOL',CL)
GFP_CTCC =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'ATMONEBUL.TOTALE',CL)
GFP_CBLD =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFDISSIP SURF ',CL)
GFP_CSSR =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SURFFLU.RAY.SOLA',CL)
GFP_CSTR =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SURFFLU.RAY.THER',CL)
GFP_CTSR =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SOMMFLU.RAY.SOLA',CL)
GFP_CTTR =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SOMMFLU.RAY.THER',CL)
GFP_CCCC =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'ATMONEBUL.CONVEC',CL)
GFP_CHCC =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'ATMONEBUL.HAUTE ',CL)
GFP_CMCC =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'ATMONEBUL.MOYENN',CL)
GFP_CLCC =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'ATMONEBUL.BASSE ',CL)
GFP_CUGW =GFP_SU(-9999,IG,12,+1,0,1,LLF,LLT,'SURFTENS.DMOG.ZO','CGW')
GFP_CVGW =GFP_SU(-9999,IG,12,-1,0,1,LLF,LLT,'SURFTENS.DMOG.ME','CGW')
GFP_CE   =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SURFFLU.MEVAP.EA',CL)
GFP_CS   =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SURFFLU.MSUBL.NE',CL)
GFP_CLHE =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SURFFLU.LAT.MEVA',CL)
GFP_CLHS =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SURFFLU.LAT.MSUB',CL)
GFP_CWS  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFCONTENU EAU ',CL)
GFP_CSNS =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFRESERV NEIGE',CL)
GFP_CQTO =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'ATMOHUMI TOTALE ',CL)
GFP_CTO3 =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'ATMOOZONE TOTALE',CL)
GFP_CTME =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'TOPMESO ENTH    ',CL)
GFP_CICE =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'ATMOHUMI SOLIDE ',CL)
GFP_CLI  =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'ATMOHUMI LIQUIDE',CL)
GFP_CCVU =GFP_SU(-9999,IG,12,+1,0,1,LLF,LLT,'SURFTENS.CONV.ZO','CCV')
GFP_CCVV =GFP_SU(-9999,IG,12,-1,0,1,LLF,LLT,'SURFTENS.CONV.ME','CCV')
GFP_CCVQ =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFCFU.Q.CONVEC',CL)
GFP_CCVS =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFCFU.CT.CONVE',CL)
GFP_CTUQ =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFCFU.Q.TURBUL',CL)
GFP_CTUS =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFCFU.CT.TURBU',CL)
GFP_CSOC =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SURFRAYT SOL CL ',CL)
GFP_CTHC =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SURFRAYT THER CL',CL)
GFP_CSOP =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SURFRAYT DIR SUR',CL)
GFP_CTOP =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'TOPRAYT DIR SOM ',CL)
GFP_CSOD =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SURFRAYT SOLA DE',CL)
GFP_CTHD =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SURFRAYT THER DE',CL)
GFP_CFON =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFFONTE NEIGE ',CL)
GFP_CCHS =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFCHAL. DS SOL',CL)
GFP_CEAS =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFEAU DANS SOL',CL)
GFP_CSRU =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFRUISSELLEMEN',CL)
GFP_CDRU =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'PROFRUISSELLEMEN',CL)
GFP_CIRU =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFRUISS. INTER',CL)
GFP_CETP =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFEVAPOTRANSPI',CL)
GFP_CTP  =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'SURFTRANSPIRATIO',CL)
GFP_CSMR =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SURFRAYT.LUNE.DE',CL)
GFP_CTSOC=GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SOMMRAYT SOL CL ',CL)
GFP_CTTHC=GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SOMMRAYT THER CL',CL)
GFP_CDUTP=GFP_SU(-9999,IG,12,0,0,0,LLT,LLT,'SURFTIME.PREC.TO',CL)

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

!        5. Instantaneous fluxes

GFP_XTCC =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SURFNEBUL.TOTALE',CL)
GFP_X10U =GFP_SU(-9999,IG,12,+1,0,1,LLF,LLT,'CLSVENT.ZONAL   ','CLS')
GFP_X10V =GFP_SU(-9999,IG,12,-1,0,1,LLF,LLT,'CLSVENT.MERIDIEN','CLS')
GFP_X2T  =GFP_SU(-9999,IG,12,0,1,1,LLF,LLT,'CLSTEMPERATURE  ',CL)
GFP_X2SH =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'CLSHUMI.SPECIFIQ',CL)
GFP_X2RH =GFP_SU(-9999,IG,12,0,1,1,LLF,LLT,'CLSHUMI.RELATIVE',CL)
GFP_XCCC =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SURFNEBUL.CONVEC',CL)
GFP_XHCC =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SURFNEBUL.HAUTE ',CL)
GFP_XMCC =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SURFNEBUL.MOYENN',CL)
GFP_XLCC =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SURFNEBUL.BASSE ',CL)
GFP_XX2T =GFP_SU(-9999,IG, 0,0,1,1,LLF,LLT,'CLSMAXI.TEMPERAT',CL)
GFP_XN2T =GFP_SU(-9999,IG, 0,0,1,1,LLF,LLT,'CLSMINI.TEMPERAT',CL)
GFP_XCVU =GFP_SU(-9999,IG,12,+1,0,1,LLF,LLT,'S000FL.U  CONVEC','XCV')
GFP_XCVV =GFP_SU(-9999,IG,12,-1,0,1,LLF,LLT,'S000FL.V  CONVEC','XCV')
GFP_XCVQ =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'S000FL.Q  CONVEC',CL)
GFP_XCVS =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'S000FL.CT CONVEC',CL)
GFP_XTUU =GFP_SU(-9999,IG,12,+1,0,1,LLF,LLT,'S000FL.U  TURBUL','XTU')
GFP_XTUV =GFP_SU(-9999,IG,12,-1,0,1,LLF,LLT,'S000FL.V  TURBUL','XTU')
GFP_XTUQ =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'S000FL.Q  TURBUL',CL)
GFP_XTUS =GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'S000FL.CT TURBUL',CL)
GFP_XGDU =GFP_SU(-9999,IG,12,+1,0,1,LLF,LLT,'S000FL.U ONDG.OR','XGD')
GFP_XGDV =GFP_SU(-9999,IG,12,-1,0,1,LLF,LLT,'S000FL.V ONDG.OR','XGD')
GFP_XLSP =GFP_SU(-9999,IG,12,0,0,0,LLT,LLT,'S000PLUIE STRATI',CL)
GFP_XCP  =GFP_SU(-9999,IG,12,0,0,0,LLT,LLT,'S000PLUIE CONVEC',CL)
GFP_XLSS =GFP_SU(-9999,IG,12,0,0,0,LLT,LLT,'S000NEIGE STRATI',CL)
GFP_XCSF =GFP_SU(-9999,IG,12,0,0,0,LLT,LLT,'S000NEIGE CONVEC',CL)
GFP_XLSG =GFP_SU(-9999,IG,12,0,0,0,LLT,LLT,'S000GRAUP STRATI',CL)
GFP_XCSG =GFP_SU(-9999,IG,12,0,0,0,LLT,LLT,'S000GRAUP CONVEC',CL)
GFP_XLSH =GFP_SU(-9999,IG,12,0,0,0,LLT,LLT,'S000GRELE STRATI',CL)
GFP_XCSH =GFP_SU(-9999,IG,12,0,0,0,LLT,LLT,'S000GRELE CONVEC',CL)
GFP_XSSR =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'S000RAYT.SOLAIRE',CL)
GFP_XSTR =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'S000RAYT.TERREST',CL)
GFP_XTSR =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SOMMRAYT.SOLAIRE',CL)
GFP_XTTR =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SOMMRAYT.TERREST',CL)
GFP_X10FF=GFP_SU(-9999,IG,12,0,0,1,LLF,LLT,'CLSWIND.VELOCITY',CL)
GFP_XCAPE=GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'SURFCAPE.MOD.XFU',CL)
GFP_XMOCO=GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'CLPMOCON.MOD.XFU',CL)
GFP_XCLPH=GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'CLPMHAUT.MOD.XFU',CL)
GFP_XGUST=GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'CLSRAFAL.MOD.XFU',CL)
GFP_XUGST=GFP_SU(-9999,IG,12,+1,0,0,LLF,LLT,'CLSU.RAF.MOD.XFU','GST')
GFP_XVGST=GFP_SU(-9999,IG,12,-1,0,0,LLF,LLT,'CLSV.RAF.MOD.XFU','GST')
GFP_XX2HU=GFP_SU(-9999,IG, 0,0,1,1,LLF,LLT,'CLSMAXI.HUMI.REL',CL)
GFP_XN2HU=GFP_SU(-9999,IG, 0,0,1,1,LLF,LLT,'CLSMINI.HUMI.REL',CL)
GFP_XTHW =GFP_SU(-9999,IG,12,0,0,0,LLF,LLT,'THETAPWP_FLUX',CL)

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

! To be set AFTER calling TFP_SU (then inside)
TFP_FIS%ILMOD=1
TFP_LNSP%ILMOD=1
TFP_U%ILMOD=NFLEVG
TFP_V%ILMOD=NFLEVG
TFP_T%ILMOD=NFLEVG
IF (LNHDYN) THEN
  TFP_PD%ILMOD=NFLEVG
  TFP_VW%ILMOD=NFLEVG
  TFP_WWS%ILMOD=1
ENDIF
IF (YQ%LACTIVE) THEN
  TFP_Q%ILMOD=NFLEVG
ENDIF
IF (YL%LACTIVE) THEN
  TFP_L%ILMOD=NFLEVG
ENDIF
IF (YI%LACTIVE) THEN
  TFP_I%ILMOD=NFLEVG
ENDIF
IF (YA%LACTIVE) THEN
  TFP_CLF%ILMOD=NFLEVG
ENDIF
IF (YS%LACTIVE) THEN
  TFP_SN%ILMOD=NFLEVG
ENDIF
IF (YR%LACTIVE) THEN
  TFP_RR%ILMOD=NFLEVG
ENDIF
IF (YG%LACTIVE) THEN
  TFP_GR%ILMOD=NFLEVG
ENDIF
IF (YH%LACTIVE) THEN
  TFP_HL%ILMOD=NFLEVG
ENDIF
IF (YTKE%LACTIVE) THEN
  TFP_TKE%ILMOD=NFLEVG
ENDIF
IF (YO3%LACTIVE) THEN
  TFP_O3MX%ILMOD=NFLEVG
ENDIF
IF (YCPF%LACTIVE) THEN
  TFP_CPF%ILMOD=NFLEVG
ENDIF
IF (YSPF%LACTIVE) THEN
  TFP_SPF%ILMOD=NFLEVG
ENDIF
! Prognostic convection
IF (YDAL%LACTIVE) THEN
  TFP_DAL%ILMOD=NFLEVG
ENDIF
IF (YDOM%LACTIVE) THEN
  TFP_DOM%ILMOD=NFLEVG
ENDIF
IF (YUAL%LACTIVE) THEN
  TFP_UAL%ILMOD=NFLEVG
ENDIF
IF (YUOM%LACTIVE) THEN
  TFP_UOM%ILMOD=NFLEVG
ENDIF
IF (YUEN%LACTIVE) THEN
  TFP_UEN%ILMOD=NFLEVG
ENDIF
IF (YUNEBH%LACTIVE) THEN
  TFP_UNEBH%ILMOD=NFLEVG
ENDIF
!-----------------------------------
IF(NGHG > 0 .AND. LL_LRCH4) THEN
  TFP_LRCH4%ILMOD=NFLEVG
ENDIF
IF(NGHG > 0 .AND. LL_CH4S) THEN
  TFP_CH4S%ILMOD=NFLEVG 
ENDIF
IF(NERA40 > 0) THEN
  DO JVAR=1,NERA40
    TFP_ERA40(JVAR)%ILMOD=NFLEVG
  ENDDO
ENDIF
IF(NNOGW > 0) THEN
  DO JVAR=1,NNOGW
    TFP_NOGW(JVAR)%ILMOD=NFLEVG
  ENDDO
ENDIF
IF(NAEROUT > 0) THEN
  DO JVAR=1,NAEROUT
    TFP_AEROUT(JVAR)%ILMOD=NFLEVG
  ENDDO
ENDIF
IF(NUVP > 0) THEN
  DO JVAR=1,NUVP
    TFP_UVP(JVAR)%ILMOD=NFLEVG
  ENDDO
ENDIF
IF (NGHG > 0) THEN
  IF (NGHG <= JPOSGHG) THEN
    DO JVAR=1,NGHG
      TFP_GHG(JVAR)%ILMOD=NFLEVG
    ENDDO
  ELSE
    IF (LFPOS) CALL ABOR1('SUAFN1 : TOO MANY GHG GFLs FOR POST-PROCESSING')
  ENDIF
ENDIF
IF (NTRAC > 0) THEN
  IF (NTRAC <= JPOSTRAC) THEN
    DO JVAR=1,NTRAC
      TFP_TRAC(JVAR)%ILMOD=NFLEVG
    ENDDO
  ELSE
    IF (LFPOS) CALL ABOR1('SUAFN1 : TOO MANY TRAC GFLs FOR POST-PROCESSING')
  ENDIF
ENDIF
IF (NAERO > 0) THEN
  IF (NAERO <= JPOSAERO) THEN
    DO JVAR=1,NAERO
      TFP_AERO(JVAR)%ILMOD=NFLEVG
    ENDDO
  ELSE
    IF (LFPOS) CALL ABOR1('SUAFN1 : TOO MANY AEROSOL GFLs FOR POST-PROCESSING')
  ENDIF
ENDIF
IF (NGRG > 0) THEN
  IF (NGRG <= JPOSGRG) THEN
    DO JVAR=1,NGRG
      TFP_GRG(JVAR)%ILMOD=NFLEVG
    ENDDO
  ELSE
    IF (LFPOS) CALL ABOR1('SUAFN1 : TOO MANY GEMS-GRG  GFLs FOR POST-PROCESSING')
  ENDIF
ENDIF
IF (NGFL_EXT > 0) THEN
  IF (NGFL_EXT <= JPOSSCVA) THEN
    DO JVAR=1,NGFL_EXT
      TFP_GFL(JVAR)%ILMOD=NFLEVG
    ENDDO
  ELSE
    IF (LFPOS) CALL ABOR1('SUAFN1 : TOO MANY EXTRA GFL FOR POST-PROCESSING')
  ENDIF
ENDIF

!     ------------------------------------------------------------------ 
IF (LHOOK) CALL DR_HOOK('SUAFN1',1,ZHOOK_HANDLE)
END SUBROUTINE SUAFN1
