MODULE YOMAFN

USE PARFPOS, ONLY : JPOSDYN, JPOSSCVA, JPOSPHY, JPOSVX2, JPOSFSU, &
 & JPOSAERO, JPOSGHG, JPOSGRG , JPOSTRAC, JPOSERA40, JPOSNOGW, &
 & JPOSAEROUT, JPOSUVP
USE FULLPOS_MIX, ONLY : FULLPOS_TYPE
USE TYPE_FPDSPHYS, ONLY : FPDSPHY

IMPLICIT NONE

SAVE

!  All fields for dynamics : 

TYPE(FULLPOS_TYPE) :: TFP_DYNDS(JPOSDYN)

!  Individual 3D dynamic :

TYPE(FULLPOS_TYPE) :: TFP_Z     ! Geopotential height
TYPE(FULLPOS_TYPE) :: TFP_T     ! Temperature
TYPE(FULLPOS_TYPE) :: TFP_U     ! U-momentum
TYPE(FULLPOS_TYPE) :: TFP_V     ! V-momentum
TYPE(FULLPOS_TYPE) :: TFP_Q     ! Specific Humidity
TYPE(FULLPOS_TYPE) :: TFP_HU    ! Relative Humidity
TYPE(FULLPOS_TYPE) :: TFP_VV    ! Vertical velocity
TYPE(FULLPOS_TYPE) :: TFP_VOR   ! Vorticity
TYPE(FULLPOS_TYPE) :: TFP_DIV   ! Divergence
TYPE(FULLPOS_TYPE) :: TFP_PSI   ! Velocity potential
TYPE(FULLPOS_TYPE) :: TFP_KHI   ! Stream function
TYPE(FULLPOS_TYPE) :: TFP_L     ! atmospheric liquid water
TYPE(FULLPOS_TYPE) :: TFP_I     ! atmospheric solid water
TYPE(FULLPOS_TYPE) :: TFP_SN    ! atmospheric snow
TYPE(FULLPOS_TYPE) :: TFP_RR    ! atmospheric rain (rain + snow in the case LPROCLD)
TYPE(FULLPOS_TYPE) :: TFP_GR    ! atmospheric graupel
TYPE(FULLPOS_TYPE) :: TFP_HL    ! atmospheric hail
TYPE(FULLPOS_TYPE) :: TFP_TKE   ! turbulent kinetic energy
TYPE(FULLPOS_TYPE) :: TFP_TH    ! Potential temperature
TYPE(FULLPOS_TYPE) :: TFP_THPW  ! wet bulb potential temperature
TYPE(FULLPOS_TYPE) :: TFP_CLF   ! cloud fraction
TYPE(FULLPOS_TYPE) :: TFP_O3MX  ! ozone mixing ratio
TYPE(FULLPOS_TYPE) :: TFP_CPF   ! convective precipitation flux
TYPE(FULLPOS_TYPE) :: TFP_SPF   ! stratiform precipitation flux
TYPE(FULLPOS_TYPE) :: TFP_WND   ! Wind velocity
TYPE(FULLPOS_TYPE) :: TFP_ETH   ! Equivalent potential temperature
TYPE(FULLPOS_TYPE) :: TFP_ABS   ! Absolute Vorticity
TYPE(FULLPOS_TYPE) :: TFP_STD   ! Stretching Deformation
TYPE(FULLPOS_TYPE) :: TFP_PV    ! Potential Vorticity
TYPE(FULLPOS_TYPE) :: TFP_SHD   ! Shearing Deformation
TYPE(FULLPOS_TYPE) :: TFP_P     ! Pressure
TYPE(FULLPOS_TYPE) :: TFP_MG    ! Montgomery geopotential
TYPE(FULLPOS_TYPE) :: TFP_PD    ! Pressure departure (NH)
TYPE(FULLPOS_TYPE) :: TFP_VD    ! Vertical Divergence (NH)
TYPE(FULLPOS_TYPE) :: TFP_VW    ! true vertical velocity w (NH)
TYPE(FULLPOS_TYPE) :: TFP_SRE   ! Simulated reflectivity (microphysics)
TYPE(FULLPOS_TYPE) :: TFP_THV   ! virtual theta (microphysics)
TYPE(FULLPOS_TYPE) :: TFP_ETAD  ! Etadot (trajectory calculations)

! Prognostic convection:
TYPE(FULLPOS_TYPE) :: TFP_DAL   ! Downdraught mesh fraction
TYPE(FULLPOS_TYPE) :: TFP_DOM   ! Downdraught velocity
TYPE(FULLPOS_TYPE) :: TFP_UAL   ! Updraught mesh fraction
TYPE(FULLPOS_TYPE) :: TFP_UOM   ! Updraught velocity
TYPE(FULLPOS_TYPE) :: TFP_UEN   ! Updraught entrainment
TYPE(FULLPOS_TYPE) :: TFP_UNEBH ! Pseudo historic convective cloud
!----------------------

TYPE(FULLPOS_TYPE) :: TFP_FUA(JPOSVX2)  ! Free upper air fields
TYPE(FULLPOS_TYPE) :: TFP_GFL(JPOSSCVA) ! Extra-GFL variables (passive scalars)
TYPE(FULLPOS_TYPE) :: TFP_GHG(JPOSGHG) ! Greenhouse Gases
TYPE(FULLPOS_TYPE) :: TFP_TRAC(JPOSTRAC) ! tracers (SF6 and Ra)
TYPE(FULLPOS_TYPE) :: TFP_GRG(JPOSGRG) ! Reactive Gases
TYPE(FULLPOS_TYPE) :: TFP_AERO(JPOSAERO) ! Aerosols
TYPE(FULLPOS_TYPE) :: TFP_LRCH4 ! CH4 loss rate
TYPE(FULLPOS_TYPE) :: TFP_CH4S  ! CH4 atm. sink

! Individual 2D dynamic :

TYPE(FULLPOS_TYPE) :: TFP_SP    ! Surface pressure
TYPE(FULLPOS_TYPE) :: TFP_MSL   ! Mean sea level pressure
TYPE(FULLPOS_TYPE) :: TFP_CUF1  ! Filtred ln(Ps), NCUFNR=1
TYPE(FULLPOS_TYPE) :: TFP_CUF2  ! Filtred ln(Ps), NCUFNR=2
TYPE(FULLPOS_TYPE) :: TFP_CUF3  ! Filtred ln(Ps), NCUFNR=3
TYPE(FULLPOS_TYPE) :: TFP_CUF4  ! Filtred ln(Ps), NCUFNR=4
TYPE(FULLPOS_TYPE) :: TFP_CUF5  ! Filtred ln(Ps), NCUFNR=5
TYPE(FULLPOS_TYPE) :: TFP_FIS   ! Spectral Surface geopotential
TYPE(FULLPOS_TYPE) :: TFP_GM    ! Map factor
TYPE(FULLPOS_TYPE) :: TFP_FOL   ! Tropopause Folding Indicator
TYPE(FULLPOS_TYPE) :: TFP_WWS   ! Surface vertical velocity (NH)
TYPE(FULLPOS_TYPE) :: TFP_LNSP  ! Log of surface pressure
TYPE(FULLPOS_TYPE) :: TFP_UCLS  ! U cls
TYPE(FULLPOS_TYPE) :: TFP_VCLS  ! V cls
TYPE(FULLPOS_TYPE) :: TFP_TCLS  ! T cls
TYPE(FULLPOS_TYPE) :: TFP_QCLS  ! Q cls
TYPE(FULLPOS_TYPE) :: TFP_RCLS  ! HU cls
TYPE(FULLPOS_TYPE) :: TFP_FCLS  ! module of wind cls
TYPE(FULLPOS_TYPE) :: TFP_TX    ! maxi temperature
TYPE(FULLPOS_TYPE) :: TFP_TN    ! mini temperature
TYPE(FULLPOS_TYPE) :: TFP_CAPE  ! CAPE
TYPE(FULLPOS_TYPE) :: TFP_CIEN  ! CIEN
TYPE(FULLPOS_TYPE) :: TFP_MOCO  ! MOCON
TYPE(FULLPOS_TYPE) :: TFP_TWV   ! Total water vapour
TYPE(FULLPOS_TYPE) :: TFP_UGST  ! U gusts
TYPE(FULLPOS_TYPE) :: TFP_VGST  ! V gusts
TYPE(FULLPOS_TYPE) :: TFP_FGST  ! module of gusts
TYPE(FULLPOS_TYPE) :: TFP_HCLP  ! Height of the PBL
TYPE(FULLPOS_TYPE) :: TFP_UJET  ! ICAO jet U
TYPE(FULLPOS_TYPE) :: TFP_VJET  ! ICAO jet V
TYPE(FULLPOS_TYPE) :: TFP_PJET  ! ICAO jet pressure
TYPE(FULLPOS_TYPE) :: TFP_TCAO  ! ICAO tropopause temperature
TYPE(FULLPOS_TYPE) :: TFP_PCAO  ! ICAO tropopause pressure
TYPE(FULLPOS_TYPE) :: TFP_PT0B  ! Pressure of iso-T=0 Kelvin, from bottom
TYPE(FULLPOS_TYPE) :: TFP_HT0B  ! altitude of iso-T=0 Kelvin, from bottom
TYPE(FULLPOS_TYPE) :: TFP_HTPW  ! altitude of iso-T'w=0 Kelvin, from bottom
TYPE(FULLPOS_TYPE) :: TFP_HUX   ! Recomputed maximum relative moisture at 2 meters
TYPE(FULLPOS_TYPE) :: TFP_HUN   ! Recomputed minimum relative moisture at 2 meters
TYPE(FULLPOS_TYPE) :: TFP_IET   ! Isobaric equivalent temperature (for ALARO)
TYPE(FULLPOS_TYPE) :: TFP_PT1B  ! Pressure of iso-T=-10 Celsius, from bottom
TYPE(FULLPOS_TYPE) :: TFP_HT1B  ! Altitude of iso-T=-10 Celsius, from bottom
TYPE(FULLPOS_TYPE) :: TFP_SMC   ! Surface moisture convergence
TYPE(FULLPOS_TYPE) :: TFP_ASMC  ! Analysed surface moisture convergence
TYPE(FULLPOS_TYPE) :: TFP_FSU(JPOSFSU) ! Free surface field
TYPE(FULLPOS_TYPE) :: TFP_MSAT7C1, TFP_MSAT7C2 
                                ! Meteosat 7 MVIRI channel 1 and 2
TYPE(FULLPOS_TYPE) :: TFP_MSAT8C1,TFP_MSAT8C2,TFP_MSAT8C3,TFP_MSAT8C4
                                ! Meteosat 8 SEVIRI channels 1 to 4
TYPE(FULLPOS_TYPE) :: TFP_MSAT8C5,TFP_MSAT8C6,TFP_MSAT8C7,TFP_MSAT8C8
                                ! Meteosat 8 SEVIRI channels 5 to 8
TYPE(FULLPOS_TYPE) :: TFP_MSAT9C1,TFP_MSAT9C2,TFP_MSAT9C3,TFP_MSAT9C4
                                ! Meteosat 9 SEVIRI channels 1 to 4
TYPE(FULLPOS_TYPE) :: TFP_MSAT9C5,TFP_MSAT9C6,TFP_MSAT9C7,TFP_MSAT9C8
                                ! Meteosat 9 SEVIRI channels 5 to 8
TYPE(FULLPOS_TYPE) :: TFP_GOES11C1,TFP_GOES11C2,TFP_GOES11C3,TFP_GOES11C4
                                ! GOES 11 Imager channels 1 to 4
TYPE(FULLPOS_TYPE) :: TFP_GOES12C1,TFP_GOES12C2,TFP_GOES12C3,TFP_GOES12C4
                                ! GOES 12 Imager channels 1 to 4
TYPE(FULLPOS_TYPE) :: TFP_MTSAT1C1,TFP_MTSAT1C2,TFP_MTSAT1C3,TFP_MTSAT1C4
                                ! MTSAT-1R Imager channels 1 to 4
                                                                       

TYPE(FULLPOS_TYPE) :: TFP_LCL  ! Lifting Condenstation level
TYPE(FULLPOS_TYPE) :: TFP_FCL  ! Free convection level
TYPE(FULLPOS_TYPE) :: TFP_EL   ! Equilibrium level

TYPE(FULLPOS_TYPE) :: TFP_NOGW(JPOSNOGW) ! noro gwd scheme fields
TYPE(FULLPOS_TYPE) :: TFP_AEROUT(JPOSAEROUT)! aerosol output fields
TYPE(FULLPOS_TYPE) :: TFP_UVP(JPOSUVP)   ! UV-processor output fields

! ERA40 diagnostic fields

TYPE(FULLPOS_TYPE) :: TFP_ERA40(JPOSERA40) 

!  All fields for physics :

TYPE(FPDSPHY) :: GFP_PHYDS(JPOSPHY)

! Individual surface physical fields :

TYPE(FPDSPHY) :: GFP_ALUVP !MODIS-derived parallel albedo UV-vis  (ECMWF)
TYPE(FPDSPHY) :: GFP_ALUVD !MODIS-derived diffuse albedo UV-vis   (ECMWF)
TYPE(FPDSPHY) :: GFP_ALNIP !MODIS-derived parallel albedo Near-IR (ECMWF)
TYPE(FPDSPHY) :: GFP_ALNID !MODIS-derived diffuse albedo Near-IR  (ECMWF)
TYPE(FPDSPHY) :: GFP_SDFOR !Standard deviation of filtered subgrid orography (units m)
TYPE(FPDSPHY) :: GFP_CO2NBF  !CO2 surface flux - biosphere
TYPE(FPDSPHY) :: GFP_CO2OF  !CO2 surface flux - ocean
TYPE(FPDSPHY) :: GFP_CO2APF  !CO2 surface flux - anthropogenic emission
TYPE(FPDSPHY) :: GFP_CO2FIRE  !CO2 surface flux - fire emissions
TYPE(FPDSPHY) :: GFP_CH4AG   !CH4 surface fluxes - all sources aggregated except fire emissions
TYPE(FPDSPHY) :: GFP_CH4F    !CH4 surface fluxes - fire emissions
TYPE(FPDSPHY) :: GFP_SF6   !SF6 surface flux
TYPE(FPDSPHY) :: GFP_Ra   !Radon surface flux
TYPE(FPDSPHY) :: GFP_LSM   !Land/sea mask
TYPE(FPDSPHY) :: GFP_GFIS  !OUTPUT Grid-point orography (times g)
TYPE(FPDSPHY) :: GFP_SFIS  !INPUT Grid-point orography (times g)
TYPE(FPDSPHY) :: GFP_ST    !Surface temperature
TYPE(FPDSPHY) :: GFP_DST   !Deep soil temperature
TYPE(FPDSPHY) :: GFP_RDST  !INTERPOLATED surface temperature
TYPE(FPDSPHY) :: GFP_SSW   !Surface soil wetness
TYPE(FPDSPHY) :: GFP_DSW   !Deep soil wetness
TYPE(FPDSPHY) :: GFP_FSSW  !Frozen superficial soil wetness
TYPE(FPDSPHY) :: GFP_FDSW  !Frozen deep soil wetness
TYPE(FPDSPHY) :: GFP_RDSW  !Climatology relaxation relative soil wetness
TYPE(FPDSPHY) :: GFP_CSSW  !Climatology relative surface soil wetness
TYPE(FPDSPHY) :: GFP_CDSW  !Climatology relative deep soil wetness
TYPE(FPDSPHY) :: GFP_SD    !Snow depth
TYPE(FPDSPHY) :: GFP_SR    !Surface roughness (times g)
TYPE(FPDSPHY) :: GFP_BSR   !Roughness length of the bare surface (times g)
TYPE(FPDSPHY) :: GFP_AL    !Albedo
TYPE(FPDSPHY) :: GFP_EMIS  !Emissivity
TYPE(FPDSPHY) :: GFP_SDOG  !Standart deviation of orography (times g)
TYPE(FPDSPHY) :: GFP_VEG   !percentage of vegetation
TYPE(FPDSPHY) :: GFP_SOTY  !soil type 
TYPE(FPDSPHY) :: GFP_LAN   !percentage of land
TYPE(FPDSPHY) :: GFP_ACOT  !Anisotropy coefficient of topography
TYPE(FPDSPHY) :: GFP_DPAT  !Direction of the principal axis of the topography
TYPE(FPDSPHY) :: GFP_IVEG  !Stomatal minimum resistance
TYPE(FPDSPHY) :: GFP_RSMIN !Stomatal minimum resistance
TYPE(FPDSPHY) :: GFP_ARG   !Percentage of clay within soil
TYPE(FPDSPHY) :: GFP_SAB   !Percentage of sand within soil
TYPE(FPDSPHY) :: GFP_D2    !Soil Depth
TYPE(FPDSPHY) :: GFP_LAI   !Leaf area index
TYPE(FPDSPHY) :: GFP_HV    !Resistance to evapotranspiration
TYPE(FPDSPHY) :: GFP_Z0H   !Roughness length for heat (times g)
TYPE(FPDSPHY) :: GFP_IC    !Interception content
TYPE(FPDSPHY) :: GFP_ALSN  !Surface snow albedo
TYPE(FPDSPHY) :: GFP_SNDE  !Surface snow density
TYPE(FPDSPHY) :: GFP_BAAL  !Albedo of the bare surface (old)
TYPE(FPDSPHY) :: GFP_ALS   !Albedo of bare ground
TYPE(FPDSPHY) :: GFP_ALV   !Albedo of vegetation
TYPE(FPDSPHY) :: GFP_PSRHU !Surface relative moisture
TYPE(FPDSPHY) :: GFP_PADOU !U-component of vector anisotropy
TYPE(FPDSPHY) :: GFP_PADOV !V-component of vector anisotropy
TYPE(FPDSPHY) :: GFP_PCAAG !Analysed RMS of geopotential (out of CANARI)
TYPE(FPDSPHY) :: GFP_PCAPG !Forecasted RMS of geopotential (out of CANARI)
TYPE(FPDSPHY) :: GFP_IDZ0  !Interpolated dynamic surface roughness length 
TYPE(FPDSPHY) :: GFP_ITZ0  !Interpolated thermal surface roughness length
TYPE(FPDSPHY) :: GFP_PVGMX !Maximum proportion of vegetation
TYPE(FPDSPHY) :: GFP_Z0V   !Roughness length for vegetation (times g)
TYPE(FPDSPHY) :: GFP_PURB  !Proportion of urbanisation
TYPE(FPDSPHY) :: GFP_D2MX  !Maximum soil depth
TYPE(FPDSPHY) :: GFP_STL1  !Soil first level temperature (ECMWF)
TYPE(FPDSPHY) :: GFP_STL2  !Soil second level temperature (ECMWF)
TYPE(FPDSPHY) :: GFP_STL3  !Soil third level temperature (ECMWF)
TYPE(FPDSPHY) :: GFP_STL4  !Soil fourth level temperature (ECMWF)
TYPE(FPDSPHY) :: GFP_SWL1  !Soil first level wetness (ECMWF)
TYPE(FPDSPHY) :: GFP_SWL2  !Soil second level wetness (ECMWF)
TYPE(FPDSPHY) :: GFP_SWL3  !Soil third level wetness (ECMWF)
TYPE(FPDSPHY) :: GFP_SWL4  !Soil fourth level wetness (ECMWF)
TYPE(FPDSPHY) :: GFP_TSN   !Temperature of snow layer (ECMWF)
TYPE(FPDSPHY) :: GFP_ISOR  !Anisotropy of surface orography (ECMWF)
TYPE(FPDSPHY) :: GFP_ANOR  !Angle of surface orography (ECMWF)
TYPE(FPDSPHY) :: GFP_SLOR  !Slope of surface orography (ECMWF)
TYPE(FPDSPHY) :: GFP_LSRH  !Logarithm of surface roughness (ECMWF)
TYPE(FPDSPHY) :: GFP_SRC   !Skin wetness (ECMWF)
TYPE(FPDSPHY) :: GFP_SKT   !Skin temperature (ECMWF)
TYPE(FPDSPHY) :: GFP_LSP   !Large scale precipitation (ECMWF)
TYPE(FPDSPHY) :: GFP_CP    !Convective precipitation (ECMWF)
TYPE(FPDSPHY) :: GFP_TP    !Total precipitation (ECMWF)
TYPE(FPDSPHY) :: GFP_SF    !Snowfall (ECMWF)
TYPE(FPDSPHY) :: GFP_BLD   !Boundary layer dissipation (ECMWF)
TYPE(FPDSPHY) :: GFP_SSHF  !Surface sensible heat flux (ECMWF)
TYPE(FPDSPHY) :: GFP_SLHF  !Surface latent heat flux (ECMWF)
TYPE(FPDSPHY) :: GFP_MSLD  !Mean sea level pressure (ECMWF)
TYPE(FPDSPHY) :: GFP_SP    !Surface pressure (ECMWF)
TYPE(FPDSPHY) :: GFP_TCC   !Total cloud cover (ECMWF)
TYPE(FPDSPHY) :: GFP_10U   !U-wind at 10 m (ECMWF)
TYPE(FPDSPHY) :: GFP_10V   !V-wind at 10 m (ECMWF)
TYPE(FPDSPHY) :: GFP_2T    !Temperature at 2 m (ECMWF)
TYPE(FPDSPHY) :: GFP_2D    !Dewpoint at 2 m (ECMWF)
TYPE(FPDSPHY) :: GFP_SSR   !Surface solar radiation (ECMWF)
TYPE(FPDSPHY) :: GFP_STR   !Surface thermal radiation (ECMWF)
TYPE(FPDSPHY) :: GFP_TSR   !Top solar radiation (ECMWF)
TYPE(FPDSPHY) :: GFP_TTR   !Top thermal radiation (ECMWF)
TYPE(FPDSPHY) :: GFP_EWSS  !U-wind stress (ECMWF)
TYPE(FPDSPHY) :: GFP_NSSS  !Instantaneous surface meridian component of stress.
TYPE(FPDSPHY) :: GFP_E     !Water evaporation (ECMWF)
TYPE(FPDSPHY) :: GFP_CCC   !Convective cloud cover (ECMWF)
TYPE(FPDSPHY) :: GFP_LCC   !Low cloud cover (ECMWF)
TYPE(FPDSPHY) :: GFP_MCC   !Medium cloud cover (ECMWF)
TYPE(FPDSPHY) :: GFP_HCC   !High cloud cover (ECMWF)
TYPE(FPDSPHY) :: GFP_LGWS  !Zonal gravity wave stress (ECMWF)
TYPE(FPDSPHY) :: GFP_MGWS  !Meridian gravity wave stress (ECMWF)
TYPE(FPDSPHY) :: GFP_GWD   !Gravity wave dissipation (ECMWF)
TYPE(FPDSPHY) :: GFP_MX2T  !Maximum temperature at 2 m since last p.p. (ECMWF)
TYPE(FPDSPHY) :: GFP_MN2T  !Minimum temperature at 2 m since last p.p. (ECMWF)
TYPE(FPDSPHY) :: GFP_MX2T6 !Maximum temperature at 2 m since last 6 hours (ECMWF)
TYPE(FPDSPHY) :: GFP_MN2T6 !Minimum temperature at 2 m since last 6 hours (ECMWF)
TYPE(FPDSPHY) :: GFP_RO    !Runoff (total) (ECMWF)
TYPE(FPDSPHY) :: GFP_SRO   !Surface Runoff (ECMWF)
TYPE(FPDSPHY) :: GFP_SSRO  !Sub-Surface Runoff (ECMWF)
TYPE(FPDSPHY) :: GFP_ALB   !Albedo (ECMWF)
TYPE(FPDSPHY) :: GFP_IEWSS !Instantaneous surface zonal component of stress
TYPE(FPDSPHY) :: GFP_INSSS !Instantaneous surface meridian component of stress
TYPE(FPDSPHY) :: GFP_ISSHF !Instantaneous surface heat flux
TYPE(FPDSPHY) :: GFP_IE    !Instantaneous surface moisture flux (ECMWF)
TYPE(FPDSPHY) :: GFP_CSF   !Convective snow fall (ECMWF)
TYPE(FPDSPHY) :: GFP_LSF   !Large scale snowfall (ECMWF)
TYPE(FPDSPHY) :: GFP_Z0F   !Surface roughness (ECMWF)
TYPE(FPDSPHY) :: GFP_LZ0H  !Logarithm of z0 times heat flux (ECMWF)
TYPE(FPDSPHY) :: GFP_TCW   !Total water content in a vertical column (ECMWF)
TYPE(FPDSPHY) :: GFP_TCWV  !Total water vapor content in a vertical column (ECMWF)
TYPE(FPDSPHY) :: GFP_SSRD  !Downward surface solar radiation (ECMWF)
TYPE(FPDSPHY) :: GFP_STRD  !Downward surface thermic radiation (ECMWF)
TYPE(FPDSPHY) :: GFP_TCO3  !Total ozone content in a vertical column (ECMWF)
TYPE(FPDSPHY) :: GFP_TCGHG(JPOSGHG) ! Total column greenhouse Gases
TYPE(FPDSPHY) :: GFP_TCGRG(JPOSGRG) ! Total column reactive Gases
TYPE(FPDSPHY) :: GFP_TCTRAC(JPOSTRAC) ! Total column tracers (SF6 and Ra)
TYPE(FPDSPHY) :: GFP_SUND  !Sunshine duration (ECMWF)
TYPE(FPDSPHY) :: GFP_CHAR  !Charnock parameter (ECMWF)
TYPE(FPDSPHY) :: GFP_BLH   !Height of boundary layer (ECMWF)
TYPE(FPDSPHY) :: GFP_BV    !Budget values
TYPE(FPDSPHY) :: GFP_TCLW  !Total column liquid water
TYPE(FPDSPHY) :: GFP_TCIW  !Total column ice water
TYPE(FPDSPHY) :: GFP_TCRW  !Total column rain water
TYPE(FPDSPHY) :: GFP_TCSW  !Total column snow water
TYPE(FPDSPHY) :: GFP_VX2(JPOSVX2) ! Extra surface fields
TYPE(FPDSPHY) :: GFP_FSU(JPOSFSU) ! Free surface fields
TYPE(FPDSPHY) :: GFP_CVL   !Low vegetation cover
TYPE(FPDSPHY) :: GFP_CVH   !High vegetation cover
TYPE(FPDSPHY) :: GFP_TVL   !Low vegetation type
TYPE(FPDSPHY) :: GFP_TVH   !High vegetation type
TYPE(FPDSPHY) :: GFP_LAIL   !Low vegetation LAI
TYPE(FPDSPHY) :: GFP_LAIH   !High vegetation LAI
TYPE(FPDSPHY) :: GFP_CI    !Sea ice cover
TYPE(FPDSPHY) :: GFP_ASN   !Snow albedo
TYPE(FPDSPHY) :: GFP_RSN   !Snow density
TYPE(FPDSPHY) :: GFP_SST   !Sea surface temperature
TYPE(FPDSPHY) :: GFP_ISTL1 !Ice surface temperature - layer 1
TYPE(FPDSPHY) :: GFP_ISTL2 !Ice surface temperature - layer 2
TYPE(FPDSPHY) :: GFP_ISTL3 !Ice surface temperature - layer 3
TYPE(FPDSPHY) :: GFP_ISTL4 !Ice surface temperature - layer 4
TYPE(FPDSPHY) :: GFP_TSRC  !Top solar radiation clear sky
TYPE(FPDSPHY) :: GFP_TTRC  !Top thermal radiation clear sky
TYPE(FPDSPHY) :: GFP_SSRC  !Surface solar radiation clear sky
TYPE(FPDSPHY) :: GFP_STRC  !Surface thermal radiation clear sky
TYPE(FPDSPHY) :: GFP_ES    !Evaporation of snow
TYPE(FPDSPHY) :: GFP_SMLT  !Snow melt
TYPE(FPDSPHY) :: GFP_LSPF  !large scale precipitation fraction
TYPE(FPDSPHY) :: GFP_10FG  !Wind gust at 10 m (max since previous p.p.)
TYPE(FPDSPHY) :: GFP_10FG6 !Wind gust at 10 m (max since last 6 hours)
TYPE(FPDSPHY) :: GFP_ASEA  !Marine aerosols
TYPE(FPDSPHY) :: GFP_ALAN  !Continental aerosols
TYPE(FPDSPHY) :: GFP_ASOO  !Carbone aerosols
TYPE(FPDSPHY) :: GFP_ADES  !Desert aerosols
TYPE(FPDSPHY) :: GFP_ASUL  !Sulfate aerosols
TYPE(FPDSPHY) :: GFP_AVOL  !Volcano aerosols
TYPE(FPDSPHY) :: GFP_O3A   !First ozone profile (A one)
TYPE(FPDSPHY) :: GFP_O3B   !Second ozone profile (B one)
TYPE(FPDSPHY) :: GFP_O3C   !Third ozone profile (C one)
TYPE(FPDSPHY) :: GFP_SPAR  !Surface PARadiation
TYPE(FPDSPHY) :: GFP_SUVB  !Surface UV-B radiation
TYPE(FPDSPHY) :: GFP_CAPE  !Conv.avail.potential energy
TYPE(FPDSPHY) :: GFP_SPARC !Surface clear-sky PARadiation
TYPE(FPDSPHY) :: GFP_STINC !TOA incident solar radiation
TYPE(FPDSPHY) :: GFP_SFDIR !Surface total sky direct SW 
TYPE(FPDSPHY) :: GFP_SCDIR !Surface clear sky direct SW 
TYPE(FPDSPHY) :: GFP_VIMD  !Vertically integrated mass divergence
TYPE(FPDSPHY) :: GFP_CBASE !Cloud base level
TYPE(FPDSPHY) :: GFP_0DEGL !Zero deg. level
TYPE(FPDSPHY) :: GFP_VISIH !Horizontal visibility

TYPE(FPDSPHY) :: GFP_BCBF  ! Black carbon biogenic flux        (ECMWF)
TYPE(FPDSPHY) :: GFP_BCFF  ! Black carbon fossil fuel flux     (ECMWF)
TYPE(FPDSPHY) :: GFP_OMBF  ! Organic matter biogenic flux      (ECMWF)
TYPE(FPDSPHY) :: GFP_OMFF  ! Organic matter fossil fuel flux   (ECMWF)
TYPE(FPDSPHY) :: GFP_SO2L  ! Sulphate low-level flux           (ECMWF)
TYPE(FPDSPHY) :: GFP_SO2H  ! Sulphate high-level flux          (ECMWF)
TYPE(FPDSPHY) :: GFP_VOLC  ! Volcanic continuous flux          (ECMWF)
TYPE(FPDSPHY) :: GFP_VOLE  ! Volcanic explosive flux           (ECMWF)
TYPE(FPDSPHY) :: GFP_SOA   ! Secondary organic components flux (ECMWF)
TYPE(FPDSPHY) :: GFP_BCGF  ! Black carbon GFED flux            (ECMWF)
TYPE(FPDSPHY) :: GFP_GRGFLX(JPOSGRG) ! surface flux reactive Gases (ECMWF)
TYPE(FPDSPHY) :: GFP_TRACFLX(JPOSTRAC) ! surface flux flexible tracers (ECMWF)
TYPE(FPDSPHY) :: GFP_OMGF  ! Organic matter GFED flux          (ECMWF)
TYPE(FPDSPHY) :: GFP_SOGF  ! Sulphate GFED flux                (ECMWF)
TYPE(FPDSPHY) :: GFP_AERDEP! Dust emission potential           (ECMWF)
TYPE(FPDSPHY) :: GFP_AERLTS! Lifting threshold speed           (ECMWF)
TYPE(FPDSPHY) :: GFP_AERSCC! Soil clay content                 (ECMWF)
TYPE(FPDSPHY) :: GFP_UCUR  ! Ocean current u component         (ECMWF)
TYPE(FPDSPHY) :: GFP_VCUR  ! Ocean current v component         (ECMWF)
TYPE(FPDSPHY) :: GFP_100U  ! U-wind at 100 m                   (ECMWF)
TYPE(FPDSPHY) :: GFP_100V  ! V-wind at 100 m                   (ECMWF)
TYPE(FPDSPHY) :: GFP_ZUST  ! Friction velocity                 (ECMWF)
TYPE(FPDSPHY) :: GFP_10NU  ! Neutral u-wind at 10 m            (ECMWF)
TYPE(FPDSPHY) :: GFP_10NV  ! Neutral v-wind at 10 m            (ECMWF)
TYPE(FPDSPHY) :: GFP_DNDZN ! Minimum vertical refractivity gradient 
!                            inside trapping layer             (ECMWF)
TYPE(FPDSPHY) :: GFP_DNDZA ! Mean vertical refractivity gradient 
!                            inside trapping layer             (ECMWF)
TYPE(FPDSPHY) :: GFP_DCTB ! Duct base height                   (ECMWF)
TYPE(FPDSPHY) :: GFP_TPLB ! Trapping layer base height         (ECMWF)
TYPE(FPDSPHY) :: GFP_TPLT ! Trapping layer top height          (ECMWF)

! Individual surface cumulated fluxes :

TYPE(FPDSPHY) :: GFP_CLSP  !Large Scale Precipitation
TYPE(FPDSPHY) :: GFP_CCP   !Convective precipitation
TYPE(FPDSPHY) :: GFP_CLSS  !Large Scale Snow fall
TYPE(FPDSPHY) :: GFP_CCSF  !Convective Snow Fall
TYPE(FPDSPHY) :: GFP_CLSG  !Large Scale Graupel fall
TYPE(FPDSPHY) :: GFP_CCSG  !Convective Graupel Fall
TYPE(FPDSPHY) :: GFP_CLSH  !Large Scale Hail fall
TYPE(FPDSPHY) :: GFP_CCSH  !Convective Hail Fall
TYPE(FPDSPHY) :: GFP_CUSS  !U-stress
TYPE(FPDSPHY) :: GFP_CVSS  !V-stress
TYPE(FPDSPHY) :: GFP_CSSH  !Surface Sensible Heat Flux
TYPE(FPDSPHY) :: GFP_CSLH  !Surface Latent Heat Flux
TYPE(FPDSPHY) :: GFP_CTSP  !Tendency of Surface pressure
TYPE(FPDSPHY) :: GFP_CTCC  !Total Cloud cover
TYPE(FPDSPHY) :: GFP_CBLD  !Boundary Layer Dissipation
TYPE(FPDSPHY) :: GFP_CSMR  !Surface downward moon radiation
TYPE(FPDSPHY) :: GFP_CSSR  !Surface solar radiation
TYPE(FPDSPHY) :: GFP_CSTR  !Surface Thermal radiation
TYPE(FPDSPHY) :: GFP_CTSR  !Top Solar radiation
TYPE(FPDSPHY) :: GFP_CTTR  !Top Thermal radiation
TYPE(FPDSPHY) :: GFP_CCCC  !Convective Cloud Cover
TYPE(FPDSPHY) :: GFP_CHCC  !High Cloud Cover
TYPE(FPDSPHY) :: GFP_CMCC  !Medium Cloud ;over
TYPE(FPDSPHY) :: GFP_CLCC  !Low Cloud Cover
TYPE(FPDSPHY) :: GFP_CUGW  !U-Gravity-Wave Stress
TYPE(FPDSPHY) :: GFP_CVGW  !V-Gravity-Wave Stress
TYPE(FPDSPHY) :: GFP_CE    !Water Evaporation
TYPE(FPDSPHY) :: GFP_CS    !Snow Sublimation
TYPE(FPDSPHY) :: GFP_CLHE  !Latent Heat Evaporation
TYPE(FPDSPHY) :: GFP_CLHS  !Latent Heat Sublimation
TYPE(FPDSPHY) :: GFP_CWS   !Soil Moisture
TYPE(FPDSPHY) :: GFP_CSNS  !Snow mass
TYPE(FPDSPHY) :: GFP_CQTO  !Total precipitable water
TYPE(FPDSPHY) :: GFP_CTO3  !Total Ozone
TYPE(FPDSPHY) :: GFP_CTME  !Top mesospheric enthalpy
TYPE(FPDSPHY) :: GFP_CICE  !Solid specific moisture
TYPE(FPDSPHY) :: GFP_CLI   !Liquid specific moisture
TYPE(FPDSPHY) :: GFP_CCVU  !Contribution of Convection to U
TYPE(FPDSPHY) :: GFP_CCVV  !Contribution of Convection to V
TYPE(FPDSPHY) :: GFP_CCVQ  !Contribution of Convection to Q
TYPE(FPDSPHY) :: GFP_CCVS  !Contribution of Convection to Cp.T
TYPE(FPDSPHY) :: GFP_CTUQ  !Contribution of Turbulence to Q
TYPE(FPDSPHY) :: GFP_CTUS  !Contribution of Turbulence to Cp.T
TYPE(FPDSPHY) :: GFP_CSOC  !Surface clear sky shortwave radiative flux
TYPE(FPDSPHY) :: GFP_CTSOC !Top clear sky shortwave radiative flux
TYPE(FPDSPHY) :: GFP_CTHC  !Surface clear sky longwave radiative flux
TYPE(FPDSPHY) :: GFP_CTTHC !Top clear sky longwave radiative flux
TYPE(FPDSPHY) :: GFP_CSOP  !Surface parallel solar flux
TYPE(FPDSPHY) :: GFP_CTOP  !Top parallel solar flux
TYPE(FPDSPHY) :: GFP_CSOD  !Surface down solar flux
TYPE(FPDSPHY) :: GFP_CTHD  !Surface down thermic flux
TYPE(FPDSPHY) :: GFP_CFON  !Melt snow
TYPE(FPDSPHY) :: GFP_CCHS  !Heat flux in soil
TYPE(FPDSPHY) :: GFP_CEAS  !Water flux in soil
TYPE(FPDSPHY) :: GFP_CSRU  !Surface soil runoff
TYPE(FPDSPHY) :: GFP_CDRU  !Deep soil runoff
TYPE(FPDSPHY) :: GFP_CIRU  !Interception soil layer runoff
TYPE(FPDSPHY) :: GFP_CETP  !Evapotranspiration flux
TYPE(FPDSPHY) :: GFP_CTP   !Transpiration flux
TYPE(FPDSPHY) :: GFP_CDUTP !Duration of total precipitations

! Individual surface instantaneous fluxes/diagnostics :

TYPE(FPDSPHY) :: GFP_XTCC  !Total Cloud cover
TYPE(FPDSPHY) :: GFP_X10U  !10 meters U
TYPE(FPDSPHY) :: GFP_X10V  !10 meters V
TYPE(FPDSPHY) :: GFP_X10FF !10 meters wind
TYPE(FPDSPHY) :: GFP_X2T   !2 meters Temerature
TYPE(FPDSPHY) :: GFP_X2SH  !2 meters Specific Humidity
TYPE(FPDSPHY) :: GFP_X2RH  !2 meters Relative Humidity
TYPE(FPDSPHY) :: GFP_XCCC  !Convective Cloud Cover
TYPE(FPDSPHY) :: GFP_XHCC  !High Cloud Cover
TYPE(FPDSPHY) :: GFP_XMCC  !Medium Cloud ;over
TYPE(FPDSPHY) :: GFP_XLCC  !Low Cloud Cover
TYPE(FPDSPHY) :: GFP_XX2T  !Maximum Temperature at 2 meters since previous p.p
TYPE(FPDSPHY) :: GFP_XN2T  !Minimum Temperature at 2 meters since previous p.p.
TYPE(FPDSPHY) :: GFP_XCVU  !Contribution of Convection to U
TYPE(FPDSPHY) :: GFP_XCVV  !Contribution of Convection to V
TYPE(FPDSPHY) :: GFP_XCVQ  !Contribution of Convection to Q
TYPE(FPDSPHY) :: GFP_XCVS  !Contribution of Convection to Cp.T
TYPE(FPDSPHY) :: GFP_XTUU  !Contribution of Turbulence to U
TYPE(FPDSPHY) :: GFP_XTUV  !Contribution of Turbulence to V
TYPE(FPDSPHY) :: GFP_XTUQ  !Contribution of Turbulence to Q
TYPE(FPDSPHY) :: GFP_XTUS  !Contribution of Turbulence to Cp.T
TYPE(FPDSPHY) :: GFP_XGDU  !Contribution of Gravity Wave drag to U
TYPE(FPDSPHY) :: GFP_XGDV  !Contribution of Gravity Wave drag to V
TYPE(FPDSPHY) :: GFP_XLSP  !Large Scale Precipitation
TYPE(FPDSPHY) :: GFP_XCP   !Convective precipitation
TYPE(FPDSPHY) :: GFP_XLSS  !Large Scale Snow fall
TYPE(FPDSPHY) :: GFP_XCSF  !Convective Snow Fall
TYPE(FPDSPHY) :: GFP_XLSG  !Large Scale Graupel fall
TYPE(FPDSPHY) :: GFP_XCSG  !Convective Graupel Fall
TYPE(FPDSPHY) :: GFP_XLSH  !Large Scale Hail fall
TYPE(FPDSPHY) :: GFP_XCSH  !Convective Hail Fall
TYPE(FPDSPHY) :: GFP_XSSR  !Surface solar radiation
TYPE(FPDSPHY) :: GFP_XSTR  !Surface Thermal radiation
TYPE(FPDSPHY) :: GFP_XTSR  !Top Solar radiation
TYPE(FPDSPHY) :: GFP_XTTR  !Top Thermal radiation
TYPE(FPDSPHY) :: GFP_XCAPE !CAPE out of the model
TYPE(FPDSPHY) :: GFP_XMOCO !MOCON out of the model
TYPE(FPDSPHY) :: GFP_XCLPH !Height (in meters) of the PBL out of the model
TYPE(FPDSPHY) :: GFP_XGUST !Gusts out of the model
TYPE(FPDSPHY) :: GFP_XUGST !U-momentum of gusts out of the model
TYPE(FPDSPHY) :: GFP_XVGST !V-momentum of gusts out of the model
TYPE(FPDSPHY) :: GFP_XX2HU !Maximum relative moisture at 2 meters
TYPE(FPDSPHY) :: GFP_XN2HU !Minimum relative moisture at 2 meters
TYPE(FPDSPHY) :: GFP_INCTX !Increment to maxi temperature (ECMWF)
TYPE(FPDSPHY) :: GFP_INCTN !Increment to mini temperature (ECMWF)
TYPE(FPDSPHY) :: GFP_INCHX !Increment to maxi relative moisture (ECMWF)
TYPE(FPDSPHY) :: GFP_INCHN !Increment to mini relative moisture (ECMWF)
TYPE(FPDSPHY) :: GFP_XTHW  ! Theta'w' surface flux (AROME)

!     ------------------------------------------------------------------
END MODULE YOMAFN
