diff --git a/src/MNH/prep_ideal_case.f90 b/src/MNH/prep_ideal_case.f90
index d58992df8fc4290b52b6f4fe32667a7f50303886..ad3c61606eacf15fd2b9964a411ae2b93e64957a 100644
--- a/src/MNH/prep_ideal_case.f90
+++ b/src/MNH/prep_ideal_case.f90
@@ -378,6 +378,7 @@ USE MODI_INI_NSV
 USE MODI_READ_PRE_IDEA_NAM_n
 USE MODI_CH_AER_INIT_SOA
 USE MODI_ZSMT_PIC
+USE MODI_ZSMT_PGD
 USE MODI_READ_VER_GRID
 USE MODI_READ_ALL_NAMELISTS
 USE MODI_GOTO_SURFEX
@@ -415,6 +416,8 @@ USE MODI_SET_RELFRC
 !
 USE MODI_INI_CST
 USE MODI_INI_NEB
+USE MODE_FMWRIT
+USE MODI_WRITE_HGRID
 !
 IMPLICIT NONE
 !
@@ -553,6 +556,7 @@ INTEGER::JK
 !
 REAL, DIMENSION(:),   ALLOCATABLE :: ZZS_ll
 INTEGER                           :: IJ 
+INTEGER           :: NZSFILTER=1          ! number of iteration for filter for fine   orography
 !
 !
 !*       0.2  Namelist declarations
@@ -1694,7 +1698,14 @@ IF (CSURF =='EXTE') THEN
   ! computed ...
   IF (LEN_TRIM(CPGD_FILE)==0 .OR. .NOT. LREAD_GROUND_PARAM) THEN
     CALL FMOPEN_ll(CINIFILEPGD,'WRITE',CLUOUT,NNPRAR,NTYPE,NVERB,NNINAR,NRESP)     
-    CALL WRITE_LFIFM_n(CINIFILEPGD,'                            ')                             
+    CALL FMWRIT(CINIFILEPGD,'PROGRAM     ',CLUOUT,'--',CPROGRAM,0,1,' ',NRESP)
+    CALL FMWRIT(CINIFILEPGD,'SURF        ',CLUOUT,'--','EXTE',0,1,' ',NRESP)
+    CALL FMWRIT(CINIFILEPGD,'L1D         ',CLUOUT,'--',L1D,0,1,' ',NRESP)
+    CALL FMWRIT(CINIFILEPGD,'L2D         ',CLUOUT,'--',L2D,0,1,' ',NRESP)
+    CALL FMWRIT(CINIFILEPGD,'PACK        ',CLUOUT,'--',LPACK,0,1,' ',NRESP)
+    CSTORAGE_TYPE='PG'
+    CALL WRITE_HGRID(1,CINIFILEPGD,' ')
+    CSTORAGE_TYPE='TT'
     CPGDFILE = CINIFILE
     CALL PGD_GRID_SURF_ATM('MESONH',CINIFILE,'MESONH',.TRUE.)
     CALL SPLIT_GRID('MESONH')
@@ -1721,14 +1732,17 @@ IF (CSURF =='EXTE') THEN
     NC_FILE='sf1'
     NC_WRITE=LNETCDF
     CALL WRITE_PGD_SURF_ATM_n('MESONH')
+    CALL ZSMT_PGD(CINIFILEPGD,NZSFILTER,NSLEVE,XSMOOTH_ZS)
     IF ( LNETCDF ) THEN
        DEF_NC=.FALSE.
        CALL WRITE_PGD_SURF_ATM_n('MESONH')
+       CALL ZSMT_PGD(CINIFILEPGD,NZSFILTER,NSLEVE,XSMOOTH_ZS)
        DEF_NC=.TRUE.
        NC_WRITE = .FALSE.
     END IF
 #else
     CALL WRITE_PGD_SURF_ATM_n('MESONH')
+    CALL ZSMT_PGD(CINIFILEPGD,NZSFILTER,NSLEVE,XSMOOTH_ZS)
 #endif
   ENDIF  
   !