diff --git a/src/SURFEX/ch_init_emissionn.F90 b/src/SURFEX/ch_init_emissionn.F90
index 71427a5a64531c8656ad7104323d7153deb56b16..6ff89e7e28da3b0891807d436b29e8c6cf3f5f9a 100644
--- a/src/SURFEX/ch_init_emissionn.F90
+++ b/src/SURFEX/ch_init_emissionn.F90
@@ -30,6 +30,7 @@
 !!      M.Leriche 04/2014  change length of CHARACTER for emission 6->12
 !!      M.Leriche & V. Masson 05/16 bug in write emis fields for nest
 !!      J. Pianezze 04/17 wrong length of YCOMMENT (100 instead of 40)
+!!      06/06/17    (V.Masson & M. Leriche) add emission time by species
 !-----------------------------------------------------------------------------
 !
 !*       0.    DECLARATIONS
@@ -76,12 +77,13 @@ REAL, DIMENSION(:),INTENT(IN)  :: PRHOA    ! air density
 !
 INTEGER             :: IRESP                 !   File 
 INTEGER             :: ILUOUT                ! output listing logical unit
-CHARACTER (LEN=LEN_HREC)  :: YRECFM                ! management
-CHARACTER (LEN=40) :: YCOMMENT              ! variables
+ CHARACTER (LEN=LEN_HREC)  :: YRECFM                ! management
+ CHARACTER (LEN=40) :: YCOMMENT              ! variables
 INTEGER             :: JSPEC                 ! Loop index for cover data
 INTEGER             :: IIND1,IIND2           ! Indices counter
-CHARACTER(LEN=40)                 :: YSPEC_NAME ! species name
-CHARACTER(LEN=LEN_HREC), DIMENSION(:),ALLOCATABLE :: YEMIS_NAME ! species name
+!
+ CHARACTER(LEN=40)                 :: YSPEC_NAME ! species name
+ CHARACTER(LEN=LEN_HREC), DIMENSION(:),ALLOCATABLE :: YEMIS_NAME ! species name
 INTEGER,DIMENSION(:),ALLOCATABLE  :: INBTIMES! number of emission times array
 INTEGER,DIMENSION(:),ALLOCATABLE  :: ITIMES  ! emission times for a species
 INTEGER,DIMENSION(:),ALLOCATABLE  :: IOFFNDX ! index array of offline emission species
@@ -89,7 +91,7 @@ INTEGER                           :: INBTS   ! number of emission times for a sp
 INTEGER                           :: INBOFF  ! Number of offline emissions
 INTEGER                           :: IVERB   ! verbose level
 INTEGER                           :: ICH      ! logical unit of input chemistry file
-CHARACTER(LEN=3)                  :: YSURF   ! surface type
+ CHARACTER(LEN=3)                  :: YSURF   ! surface type
 REAL, DIMENSION(:,:), ALLOCATABLE :: ZWORK2D ! work array to read emission fields
 !
 INTEGER           :: IVERSION       ! version of surfex file being read
@@ -138,7 +140,7 @@ ELSE
   WRITE(ILUOUT,*) 'CEMIS_NAME already allocated with SIZE :',SIZE(CHE%CEMIS_NAME)
 END IF
 
-IF (.NOT. ASSOCIATED(CHE%CEMIS_AREA))   ALLOCATE(CHE%CEMIS_AREA(CHE%NEMISPEC_NBR))
+IF (.NOT. ASSOCIATED(CHE%NEMIS_NBT))    ALLOCATE(CHE%NEMIS_NBT(CHE%NEMISPEC_NBR))
 IF (.NOT. ASSOCIATED(CHE%NEMIS_TIME))   ALLOCATE(CHE%NEMIS_TIME(CHE%NEMIS_NBR))
  CHE%NEMIS_TIME(:) = -1
 !
@@ -169,9 +171,6 @@ DO JSPEC = 1,CHE%NEMISPEC_NBR ! Loop on the number of species
     CALL ABOR1_SFX('CH_INIT_EMISSIONN: PROBLEM WHEN READING NAME OF EMITTED CHEMICAL SPECIES')
   END IF
 
-  WRITE(YRECFM,'("EMISAREA",I3.3)') JSPEC
-  CALL READ_SURF( &
-                HPROGRAM,YRECFM,YSURF,IRESP,YCOMMENT)
   WRITE(YRECFM,'("EMISNBT",I3.3)') JSPEC
   CALL READ_SURF( &
                 HPROGRAM,YRECFM,INBTS,IRESP,YCOMMENT)
@@ -205,13 +204,12 @@ DO JSPEC = 1,CHE%NEMISPEC_NBR ! Loop on the number of species
 !
  CHE%NTIME_MAX = MAXVAL(CHE%NEMIS_TIME)
 !
-! INBTIMES, CEMIS_AREA and CEMIS_NAME 
+! INBTIMES  and CEMIS_NAME 
 ! are updated for ALL species
   CHE%CEMIS_NAME(JSPEC) = YSPEC_NAME
-  CHE%CEMIS_AREA(JSPEC) = YSURF
 !
 !*      2.     Simple reading of emission fields
-!
+
   IF (HINIT /= "ALL") THEN
     YRECFM='E_'//TRIM(ADJUSTL(YSPEC_NAME))
     ALLOCATE(ZWORK2D(KLU,INBTS))
@@ -223,6 +221,8 @@ DO JSPEC = 1,CHE%NEMISPEC_NBR ! Loop on the number of species
 ! 
 END DO
 !
+CHE%NEMIS_NBT(:) = INBTIMES(:)
+
 WRITE(ILUOUT,*) '---- Nunmer of OFFLINE species = ',INBOFF
 WRITE(ILUOUT,*) 'INBTIMES=',INBTIMES
 WRITE(ILUOUT,*) 'IOFFNDX=',IOFFNDX
diff --git a/src/SURFEX/modd_ch_emis_fieldn.F90 b/src/SURFEX/modd_ch_emis_fieldn.F90
index 4afe98c79b3172ced1ceb53e223f6aba7c60a44f..daf991dcee06f7fa22a4033778e121c36b4bf28f 100644
--- a/src/SURFEX/modd_ch_emis_fieldn.F90
+++ b/src/SURFEX/modd_ch_emis_fieldn.F90
@@ -30,6 +30,7 @@
 !!    -------------
 !!      Original    08/03/2001                      
 !!      01/12/03    (D.Gazen) change emissions handling for surf. externalization
+!!      06/06/17    (V.Masson & M. Leriche) add emission time by species
 !-------------------------------------------------------------------------------
 !
 !*       0.   DECLARATIONS
@@ -63,6 +64,8 @@ TYPE CH_EMIS_FIELD_t
   CHARACTER(LEN=40), DIMENSION(:), POINTER :: CEMIS_COMMENT ! comment
   CHARACTER(LEN=40), DIMENSION(:), POINTER :: CEMIS_NAME
 !                          ! name of the chemical pgd fields (emitted species)
+!
+  INTEGER,           DIMENSION(:), POINTER :: NEMIS_NBT    ! number of emission time by species
 !
   INTEGER,           DIMENSION(:), POINTER :: NEMIS_TIME   ! emission time
 !
@@ -94,6 +97,7 @@ IF (LHOOK) CALL DR_HOOK("MODD_CH_EMIS_FIELD_N:CH_EMIS_FIELD_INIT",0,ZHOOK_HANDLE
   NULLIFY(YCH_EMIS_FIELD%CEMIS_AREA)
   NULLIFY(YCH_EMIS_FIELD%CEMIS_COMMENT)
   NULLIFY(YCH_EMIS_FIELD%CEMIS_NAME)
+  NULLIFY(YCH_EMIS_FIELD%NEMIS_NBT)
   NULLIFY(YCH_EMIS_FIELD%NEMIS_TIME)
   NULLIFY(YCH_EMIS_FIELD%XEMIS_FIELDS)
   NULLIFY(YCH_EMIS_FIELD%TSEMISS)
diff --git a/src/SURFEX/pgd_chemistry.F90 b/src/SURFEX/pgd_chemistry.F90
index 1d073fd886f7d14ee740a07c31153be7579c7cc9..4bd8051b887391af172a471b031764fbe0a0f57f 100644
--- a/src/SURFEX/pgd_chemistry.F90
+++ b/src/SURFEX/pgd_chemistry.F90
@@ -34,6 +34,8 @@
 !!    ------------
 !!
 !!    Original    10/12/97
+!!    (V.Masson & M.Leriche) 06/06/17 add a missed value in NEMISPEC_NBR
+!!                to count the number of emitted species in case of writing pgd
 !!
 !----------------------------------------------------------------------------
 !
@@ -152,6 +154,7 @@ IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_CH_EMIS_PGD)
 !*    3.      Allocation
 !             ----------
 !
+ CHE%NEMISPEC_NBR = -999  ! will be counted in writesurf_ch_emisn.f90
  CHE%NEMIS_NBR = NEMIS_PGD_NBR
 !
  CALL GET_SURF_SIZE_n(DTCO, U, &
diff --git a/src/SURFEX/writesurf_ch_emisn.F90 b/src/SURFEX/writesurf_ch_emisn.F90
index d542424409f387c0bb01605eef10cc783e8a270f..bbc577915a578a59b40ab5309440413d70f6c9f6 100644
--- a/src/SURFEX/writesurf_ch_emisn.F90
+++ b/src/SURFEX/writesurf_ch_emisn.F90
@@ -21,6 +21,8 @@
 !!    -------------
 !!      Original    03/2004
 !!      M.Moge    01/2016  using WRITE_SURF_FIELD2D/3D for 2D/3D surfex fields writes
+!!      V.Masson & M. Leriche 06/06/17 do not count emitted species in nest case
+!!                                     do not write CEMIS_AREA no longer used
 !-------------------------------------------------------------------------------
 !
 !*       0.    DECLARATIONS
@@ -90,6 +92,7 @@ YCOMMENT='Total number of 2D emission files.'
                  HPROGRAM,YRECFM,CHE%NEMIS_NBR,IRESP,HCOMMENT=YCOMMENT)
 !
 ! count emitted species 
+IF (CHE%NEMISPEC_NBR==-999) THEN
 IEMISPEC_NBR = 0
 DO JI=1,CHE%NEMIS_NBR
   YNAME = TRIM(ADJUSTL(CHE%CEMIS_NAME(JI)))
@@ -114,6 +117,25 @@ DO JI=1,CHE%NEMIS_NBR
     INBTIMES(JSPEC) = INBTIMES(JSPEC)+1
   END IF
 END DO
+ELSE
+  IEMISPEC_NBR=CHE%NEMISPEC_NBR
+  INBTIMES(:CHE%NEMISPEC_NBR)=CHE%NEMIS_NBT(:)
+  YEMISPEC_NAMES(:IEMISPEC_NBR) = CHE%CEMIS_NAME(:)
+  IFIRST=1
+  ILAST=0
+  INEXT=0
+  JI=0
+  DO JSPEC=1,IEMISPEC_NBR
+    IF (JSPEC>1) IFIRST(JSPEC)=ILAST(JSPEC-1)+1
+    ILAST(JSPEC) = IFIRST(JSPEC) + INBTIMES(JSPEC) - 1
+    JI=JI+1
+    IF (JSPEC>1) INEXT(ILAST(JSPEC-1))=0
+    DO JT=2,INBTIMES(JSPEC)
+      JI=JI+1
+      INEXT(JI-1) = JI
+    END DO
+  END DO
+END IF
 !
 YRECFM='EMISPEC_NBR '
 YCOMMENT='Number of emitted chemical species.'
@@ -176,18 +198,13 @@ END DO
 ! Now fill the ZWORK2D array for writing
 ZWORK2D(:,:) = CHE%XEMIS_FIELDS(:,IINDEX(:))
 ! 
-! Write NAME of species JSPEC with AREA and number of emission times 
+! Write NAME of species JSPEC with number of emission times 
 ! stored in the commentary
 WRITE(YRECFM,'("EMISNAME",I3.3)') JSPEC
-WRITE(YCOMMENT,'(A3,", emission times number:",I5)') CHE%CEMIS_AREA(IINDEX(1)),KSIZE
+YCOMMENT = "Emission species name" 
  CALL WRITE_SURF(DGU, U, &
                  HPROGRAM,YRECFM,YEMISPEC_NAMES(JSPEC),IRESP,HCOMMENT=YCOMMENT)
 ! 
-WRITE(YRECFM,'("EMISAREA",I3.3)') JSPEC
-YCOMMENT = "Emission area" 
- CALL WRITE_SURF(DGU, U, &
-                 HPROGRAM,YRECFM,CHE%CEMIS_AREA(IINDEX(1)),IRESP,HCOMMENT=YCOMMENT)
-!
 WRITE(YRECFM,'("EMISNBT",I3.3)') JSPEC
 YCOMMENT = "Emission times number" 
  CALL WRITE_SURF(DGU, U, &