diff --git a/src/MNH/check_zhat.f90 b/src/MNH/check_zhat.f90
index 589de31d509d0a7e2a392f70386fa8892dd5d068..a0027bb66d919c201d9a922ef3097ffab9255968 100644
--- a/src/MNH/check_zhat.f90
+++ b/src/MNH/check_zhat.f90
@@ -1,6 +1,6 @@
 !MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
 !#####################
@@ -95,7 +95,6 @@ CHARACTER(LEN=*),    INTENT(INOUT) :: HDAD_NAME ! true name of the Mesonh input
 !              ------------------------------
 !
 INTEGER             :: IKMAX                ! vertical dimension in input file
-INTEGER             :: IMASDEV              ! Masdev version
 REAL, DIMENSION(:), ALLOCATABLE :: ZZHAT    ! vertical grid in input file
 LOGICAL             :: GSLEVE               ! flag for sleve coordinate
 REAL                :: ZLEN1                ! Decay scale for smooth topography
@@ -121,8 +120,7 @@ CALL IO_READ_FIELD(TZFMFILE,'KMAX',IKMAX)
 ALLOCATE(ZZHAT(IKMAX+2*JPVEXT))
 CALL IO_READ_FIELD(TZFMFILE,'ZHAT',ZZHAT)
 CALL IO_READ_FIELD(TZFMFILE,'THINSHELL',GTHINSHELL)
-CALL IO_READ_FIELD(TZFMFILE,'MASDEV',IMASDEV)
-IF (IMASDEV<=46) THEN
+IF ( TZFMFILE%NMNHVERSION(1)<4 .OR. (TZFMFILE%NMNHVERSION(1)==4 .AND. TZFMFILE%NMNHVERSION(2)<=6) ) THEN
   GSLEVE = .FALSE.
 ELSE
   CALL IO_READ_FIELD(TZFMFILE,'SLEVE',GSLEVE)
diff --git a/src/MNH/compare_dad.f90 b/src/MNH/compare_dad.f90
index 62398468fe0c174f4cc63cd916c6ea41bc66bc8d..5446348efd96ba60b4c0b8ade73aef7b9c8aaec7 100644
--- a/src/MNH/compare_dad.f90
+++ b/src/MNH/compare_dad.f90
@@ -1,6 +1,6 @@
 !MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
 !######################## 
@@ -91,7 +91,6 @@ INTEGER,           INTENT(OUT) :: KRESP
 INTEGER :: IID
 INTEGER :: IRESP    ! Return codes in FM routines
 INTEGER :: ILUOUT   ! Logical unit number for the output listing 
-INTEGER :: IMASDEV
 !
 INTEGER             :: IIU_1,IIU_2    ! Upper dimension in x direction
 INTEGER             :: IJU_1,IJU_2    ! Upper dimension in y direction
@@ -166,9 +165,8 @@ IF (.NOT.LCARTESIAN) THEN
   CALL IO_READ_FIELD(TZDADINIFILE,'RPK',ZRPK_1)
   CALL IO_READ_FIELD(TZDADINIFILE,'LATORI',ZLATORI_1)
   CALL IO_READ_FIELD(TZDADINIFILE,'LONORI',ZLONORI_1)
-  CALL IO_READ_FIELD(TZDADINIFILE,'MASDEV',IMASDEV)
   !
-  IF (IMASDEV<=45) THEN
+  IF (TZDADINIFILE%NMNHVERSION(1)<4 .OR. (TZDADINIFILE%NMNHVERSION(1)==4 .AND. TZDADINIFILE%NMNHVERSION(2)<=5) ) THEN
     CALL FIND_FIELD_ID_FROM_MNHNAME('LONORI',IID,IRESP)
     TZFIELD = TFIELDLIST(IID)
     TZFIELD%CMNHNAME = 'LONOR'
@@ -223,9 +221,8 @@ IF (.NOT.LCARTESIAN) THEN
   CALL IO_READ_FIELD(TZDADSPAFILE,'RPK',ZRPK_2)
   CALL IO_READ_FIELD(TZDADSPAFILE,'LATORI',ZLATORI_2)
   CALL IO_READ_FIELD(TZDADSPAFILE,'LONORI',ZLONORI_2)
-  CALL IO_READ_FIELD(TZDADSPAFILE,'MASDEV',IMASDEV)
   !
-  IF (IMASDEV<=45) THEN
+  IF (TZDADSPAFILE%NMNHVERSION(1)<4 .OR. (TZDADSPAFILE%NMNHVERSION(1)==4 .AND. TZDADSPAFILE%NMNHVERSION(2)<=5)) THEN
     CALL FIND_FIELD_ID_FROM_MNHNAME('LONORI',IID,IRESP)
     TZFIELD = TFIELDLIST(IID)
     TZFIELD%CMNHNAME = 'LONOR'
diff --git a/src/MNH/ini_lb.f90 b/src/MNH/ini_lb.f90
index 34a5e012f224a09a1a4dc3ced31cd2fcec90ae3f..eb93466cf480caafe489156463fb6eeef365a339 100644
--- a/src/MNH/ini_lb.f90
+++ b/src/MNH/ini_lb.f90
@@ -1,6 +1,6 @@
 !MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
 !     ######################
@@ -227,7 +227,6 @@ LOGICAL :: GHORELAX_R, GHORELAX_SV ! switch for the horizontal relaxation
 CHARACTER (LEN= LEN(HGETRVM)), DIMENSION (7) :: YGETRXM ! Arrays with  the get indicators 
                                                         !  for the moist variables
 CHARACTER (LEN=1), DIMENSION (7) :: YC    ! array with the prefix of the moist variables
-INTEGER :: IMASDEV                                                      
 CHARACTER(LEN=2)  :: INDICE ! to index CCN and IFN fields of LIMA scheme
 TYPE(TFIELDDATA)  :: TZFIELD
 !-------------------------------------------------------------------------------
@@ -235,8 +234,7 @@ TYPE(TFIELDDATA)  :: TZFIELD
 !
 !*       0.    READ CPL_AROME to know which LB_fileds there are to read
 !              --------------------
-CALL IO_READ_FIELD(TPINIFILE,'MASDEV',IMASDEV)
-IF (IMASDEV > 48) THEN
+IF ((TPINIFILE%NMNHVERSION(1)==4 .AND. TPINIFILE%NMNHVERSION(2)>8) .OR. TPINIFILE%NMNHVERSION(1)>4) THEN
   CALL IO_READ_FIELD(TPINIFILE,'CPL_AROME',LCPL_AROME)
 ELSE
   LCPL_AROME=.FALSE.
diff --git a/src/MNH/ini_modeln.f90 b/src/MNH/ini_modeln.f90
index c16588e4a3c1b65e9c29478d52ffb6bb7b810479..84f0fea5d09a84f8503047f62cac9360d958975d 100644
--- a/src/MNH/ini_modeln.f90
+++ b/src/MNH/ini_modeln.f90
@@ -1,6 +1,6 @@
 !MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
 !     #######################
@@ -462,7 +462,6 @@ TYPE(TFILEDATA),  INTENT(IN)   :: TPINIFILE ! Initial file
 INTEGER             :: JSV     ! Loop index
 INTEGER             :: IRESP   ! Return code of FM routines
 INTEGER             :: ININAR  ! File management variable
-INTEGER             :: IMASDEV ! version of MESONH in the input file
 INTEGER             :: ILUOUT  ! Logical unit number of output-listing
 CHARACTER(LEN=28)   :: YNAME
 INTEGER             :: IIU     ! Upper dimension in x direction (local)
@@ -550,7 +549,6 @@ NULLIFY(TZINITHALO3D_ll)
 !
 ILUOUT = TLUOUT%NLU
 !
-CALL IO_READ_FIELD(TPINIFILE,'MASDEV',IMASDEV)
 !-------------------------------------------------------------------------------
 !
 !*       2.   END OF READING
@@ -1662,7 +1660,7 @@ IF (CCLOUD=='LIMA') CALL INIT_AEROSOL_PROPERTIES
 !              --------------------------------
 !
 CALL MPPDB_CHECK3D(XUT,"INI_MODEL_N-before read_field::XUT",PRECISION)
-CALL READ_FIELD(TPINIFILE,IMASDEV, IIU,IJU,IKU,XTSTEP,                        &
+CALL READ_FIELD(TPINIFILE,IIU,IJU,IKU,XTSTEP,                                 &
                 CGETTKET,CGETRVT,CGETRCT,CGETRRT,CGETRIT,CGETCIT,             &
                 CGETRST,CGETRGT,CGETRHT,CGETSVT,CGETSRCT,CGETSIGS,CGETCLDFR,  &
                 CGETBL_DEPTH,CGETSBL_DEPTH,CGETPHC,CGETPHR,CUVW_ADV_SCHEME,   &
@@ -2049,7 +2047,7 @@ ALLOCATE(ZSCA_ALB(IIU,IJU,NSWB_MNH))
 ALLOCATE(ZEMIS  (IIU,IJU,NLWB_MNH))
 ALLOCATE(ZTSRAD (IIU,IJU))
 !
-IF (IMASDEV>=46) THEN
+IF ((TPINIFILE%NMNHVERSION(1)==4 .AND. TPINIFILE%NMNHVERSION(2)>=6) .OR. TPINIFILE%NMNHVERSION(1)>4) THEN
   CALL IO_READ_FIELD(TPINIFILE,'SURF',CSURF)
 ELSE
   CSURF = "EXTE"
diff --git a/src/MNH/ini_segn.f90 b/src/MNH/ini_segn.f90
index 48e2a16bdbf6aa26b906b12f85a2338a5cadea05..a8e99f7c106eeb41eb70a88d1bc74444ed2780e7 100644
--- a/src/MNH/ini_segn.f90
+++ b/src/MNH/ini_segn.f90
@@ -1,6 +1,6 @@
 !MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
 !     ###################
@@ -209,7 +209,6 @@ REAL,DIMENSION(:),          INTENT(INOUT) :: PTSTEP_ALL   ! Time STEP of ALL mod
 LOGICAL            :: GFOUND              ! Return code when searching namelist
 CHARACTER (LEN=28) :: YINIFILE                    ! name of initial file
 CHARACTER (LEN=2)  :: YMI                         ! string for model index
-INTEGER            :: IMASDEV                     ! version of MESOHN file  
 INTEGER            :: ILUOUT                      ! Logical unit number
                                                   ! associated with CLUOUT 
                                                   !
@@ -384,10 +383,8 @@ END IF
 !*      6.    READ in the LFI file SOME VARIABLES of MODD_CONF
 !             ------------------------------------------------
 !
-CALL IO_READ_FIELD(TPINIFILE,'MASDEV',IMASDEV)
-!
 IF (CPROGRAM=='MESONH' .OR. CPROGRAM=='SPAWN ') THEN
-  IF (IMASDEV > 49) THEN
+  IF ((TPINIFILE%NMNHVERSION(1)==4 .AND. TPINIFILE%NMNHVERSION(2)>9) .OR. TPINIFILE%NMNHVERSION(1)>4) THEN
     CALL IO_READ_FIELD(TPINIFILE,'COUPLING',LCOUPLING)
     IF (LCOUPLING) THEN
       WRITE(ILUOUT,*) 'Error with the initial file'
@@ -413,7 +410,7 @@ IF (KMI == 1) THEN
 ! Read the thinshell approximation
   CALL IO_READ_FIELD(TPINIFILE,'THINSHELL',LTHINSHELL)
 !
-  IF (IMASDEV>=46) THEN
+  IF ((TPINIFILE%NMNHVERSION(1)==4 .AND. TPINIFILE%NMNHVERSION(2)>=6) .OR. TPINIFILE%NMNHVERSION(1)>4) THEN
    CALL IO_READ_FIELD(TPINIFILE,'L1D',L1D,IRESP)
    IF (IRESP/=0)  L1D=.FALSE.
 !
@@ -427,7 +424,7 @@ IF (KMI == 1) THEN
    L2D=.FALSE.
    LPACK=.TRUE.
   END IF
-  IF (IMASDEV>=410) THEN
+  IF ((TPINIFILE%NMNHVERSION(1)==4 .AND. TPINIFILE%NMNHVERSION(2)>=10) .OR. TPINIFILE%NMNHVERSION(1)>4) THEN
    CALL IO_READ_FIELD(TPINIFILE,'LBOUSS',LBOUSS)
   END IF
 !
diff --git a/src/MNH/ini_size_spawn.f90 b/src/MNH/ini_size_spawn.f90
index 7e9e119aa1b5fb58b1edf6b34d458e24ecb87d7e..5e9dcd590e7dd73d0f2799ea585c1356df5efc9d 100644
--- a/src/MNH/ini_size_spawn.f90
+++ b/src/MNH/ini_size_spawn.f90
@@ -1,6 +1,6 @@
 !MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
 !#########################
@@ -116,7 +116,6 @@ TYPE(TFILEDATA),                INTENT(IN)    :: TPINIFILE   ! Model 1 file
 INTEGER :: IRESP    ! Return codes in FM routines
 INTEGER :: ILUOUT   ! Logical unit number for the output listing
 INTEGER :: ININAR   ! Number of articles present in the LFIFM file
-INTEGER :: IMASDEV
 CHARACTER(LEN=2)    :: YDIR   ! Type  of the data field in LFIFM file
 !
 CHARACTER (LEN=5)  :: YPRESOPT        ! Pressure solver option of model 1
@@ -263,9 +262,7 @@ IF (LEN_TRIM(CDOMAIN)>0) THEN
   ALLOCATE(XPGDYHAT(DIM_MODEL(1)%NJMAX+2*JPHEXT))
   CALL IO_READ_FIELD(TPINIFILE,'YHAT',XPGDYHAT)
   !
-  CALL IO_READ_FIELD(TPINIFILE,'MASDEV',IMASDEV)
-  !
-  IF (IMASDEV<=45) THEN
+  IF (TPINIFILE%NMNHVERSION(1)<4 .OR. (TPINIFILE%NMNHVERSION(1)==4 .AND. TPINIFILE%NMNHVERSION(2)<=5)) THEN
     CALL FIND_FIELD_ID_FROM_MNHNAME('LONORI',IID,IRESP)
     TZFIELD = TFIELDLIST(IID)
     TZFIELD%CMNHNAME = 'LONOR'
diff --git a/src/MNH/init_for_convlfi.f90 b/src/MNH/init_for_convlfi.f90
index 1651fe8bcadf58b5b18a0a9b76a2ebd441aca251..d302211ec3d11f56f8a669b7cad85eaac39eb67e 100644
--- a/src/MNH/init_for_convlfi.f90
+++ b/src/MNH/init_for_convlfi.f90
@@ -1,6 +1,6 @@
 !MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
 !###########################
@@ -117,7 +117,6 @@ REAL                         :: ZLATORI, ZLONORI ! lat and lon of left-bottom po
 INTEGER             :: IIU,IJU       ! Upper dimension in x,y direction (local)
 INTEGER             :: IKU           ! Upper dimension in z direction
 INTEGER             :: IINFO_ll      ! return code of // routines
-INTEGER             :: IMASDEV       ! masdev of the file
 INTEGER             :: IID
 TYPE(TFIELDDATA)    :: TZFIELD
 !
@@ -193,12 +192,11 @@ CALL IO_READ_FIELD(TPINIFILE,'XHAT',XXHAT)
 CALL IO_READ_FIELD(TPINIFILE,'YHAT',XYHAT)
 !
 IF (.NOT.LCARTESIAN) THEN
-  CALL IO_READ_FIELD(TPINIFILE,'MASDEV',IMASDEV)
   CALL IO_READ_FIELD(TPINIFILE,'RPK',XRPK)
   CALL IO_READ_FIELD(TPINIFILE,'LONORI',XLONORI)
   CALL IO_READ_FIELD(TPINIFILE,'LATORI',XLATORI)
   !
-  IF (IMASDEV<=45) THEN
+  IF (TPINIFILE%NMNHVERSION(1)<4 .OR. (TPINIFILE%NMNHVERSION(1)==4 .AND. TPINIFILE%NMNHVERSION(2)<=5)) THEN
     CALL FIND_FIELD_ID_FROM_MNHNAME('LONORI',IID,IRESP)
     TZFIELD = TFIELDLIST(IID)
     TZFIELD%CMNHNAME = 'LONOR'
diff --git a/src/MNH/mesonh.f90 b/src/MNH/mesonh.f90
index 6234bbf8cd45a4c0799e49497d6ad80786e4c188..b058f104ff5dbfcc4988b5a2d48e067250a7238c 100644
--- a/src/MNH/mesonh.f90
+++ b/src/MNH/mesonh.f90
@@ -1,6 +1,6 @@
 !MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
 !     ##############
@@ -42,7 +42,7 @@
 !!    IMPLICIT ARGUMENTS
 !!    ------------------ 
 !!
-!!    MODD_CONF:     NMODEL, NMASDEV, CPROGRAM
+!!    MODD_CONF:     NMODEL, CPROGRAM
 !!    MODD_CONF_n:   CSTORAGE_TYPE
 !!                   
 !!
diff --git a/src/MNH/prep_surfex.f90 b/src/MNH/prep_surfex.f90
index 6b8ed11cd488f50fd0858727452991e2b6db54f7..69040521e955c96f05312eeab4e62ebd18061d98 100644
--- a/src/MNH/prep_surfex.f90
+++ b/src/MNH/prep_surfex.f90
@@ -1,6 +1,6 @@
 !MNH_LIC Copyright 2004-2018 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 ---------------------------------------------------------------
 !     #############################
@@ -31,7 +31,7 @@
 !*       0.    DECLARATIONS
 !              ------------
 !
-USE MODD_CONF,        ONLY : CPROGRAM,NMASDEV,NBUGFIX,CBIBUSER,&
+USE MODD_CONF,        ONLY : CPROGRAM,&
                              L1D, L2D, LPACK
 USE MODD_CONF_n,      ONLY : CSTORAGE_TYPE
 USE MODD_IO_ll,       ONLY : TFILEDATA, NIO_VERB, NVERB_DEBUG, TFILE_SURFEX
diff --git a/src/MNH/read_all_data_mesonh_case.f90 b/src/MNH/read_all_data_mesonh_case.f90
index 8fe3c43b02633c6923ff11a354b573d06e275091..0b619c2a13c02f3d698c93e9e32f93cb49da2153 100644
--- a/src/MNH/read_all_data_mesonh_case.f90
+++ b/src/MNH/read_all_data_mesonh_case.f90
@@ -1,6 +1,6 @@
 !MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
 !####################################
@@ -185,8 +185,6 @@ CHARACTER(LEN=28) :: YPGD_NAME, YPGD_DAD_NAME
 CHARACTER(LEN=28) :: YOUTFILE
 CHARACTER(LEN=2)  :: YPGD_TYPE
 !
-INTEGER           :: IMASDEV       ! Masdev version
-!
 !* temporary namelist configuration variables
 !
 INTEGER                           :: IVERB      ! verbosity level
@@ -312,8 +310,7 @@ CALL IO_READ_FIELD(TPPGDFILE,'ZS',XZS)
 CALL ZS_BOUNDARY(XZS,XZS_LS)
 !
 ALLOCATE(XZSMT(IISUP_LS-IIINF_LS+1,IJSUP_LS-IJINF_LS+1))
-CALL IO_READ_FIELD(TPPGDFILE,'MASDEV',IMASDEV)
-IF (IMASDEV<=46) THEN
+IF (TPPGDFILE%NMNHVERSION(1)<4 .OR. (TPPGDFILE%NMNHVERSION(1)==4 .AND. TPPGDFILE%NMNHVERSION(2)<=6)) THEN
   XZSMT = XZS
 ELSE
   CALL IO_READ_FIELD(TPPGDFILE,'ZSMT',XZSMT)
diff --git a/src/MNH/read_dummy_gr_fieldn.f90 b/src/MNH/read_dummy_gr_fieldn.f90
index 3f7cd684255864349b1dd3c663c7ba876d1af5a7..be766bd67b5efec20925e2b75e27a9a556ddf911 100644
--- a/src/MNH/read_dummy_gr_fieldn.f90
+++ b/src/MNH/read_dummy_gr_fieldn.f90
@@ -1,6 +1,6 @@
 !MNH_LIC Copyright 1995-2018 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
 MODULE MODI_READ_DUMMY_GR_FIELD_n
@@ -99,8 +99,6 @@ CHARACTER (LEN=20 ) :: YSTRING20   ! string
 CHARACTER (LEN=3  ) :: YSTRING03   ! string
 INTEGER             :: JDUMMY      ! Loop index for cover data
 !
-INTEGER             :: IMASDEV ! masdev used for creation of input FM file
-!
 REAL, DIMENSION(:,:), ALLOCATABLE :: ZWORK  ! work array read in the file
 INTEGER                           :: IIWORK ! 1st dimension of work array
 INTEGER                           :: IJWORK ! 2nd dimension of work array
@@ -112,15 +110,7 @@ TYPE(TFIELDDATA)                  :: TZFIELD
 !
 !-------------------------------------------------------------------------------
 !
-!*       1..   TEST MASDEV VERSION OF INPUT FILE
-!              ---------------------------------
-!
-CALL IO_READ_FIELD(TPINIFILE,'MASDEV',IMASDEV,IRESP)
-IF (IRESP /= 0) IMASDEV=33
-!
-!-------------------------------------------------------------------------------
-!
-!*       2..   READ DIMENSIONS IN THE FILE
+!*       1..   READ DIMENSIONS IN THE FILE
 !              ---------------------------
 !
 IF (OREAD_ALL) THEN
@@ -152,11 +142,11 @@ END IF
 !
 !-------------------------------------------------------------------------------
 !
-!*       3..    READ DUMMY VARIABLES
+!*       2..    READ DUMMY VARIABLES
 !              ----------------------
 !
 !
-IF (IMASDEV>=40) THEN
+IF (TPINIFILE%NMNHVERSION(1)>=4) THEN
   TZFIELD%CMNHNAME   = 'DUMMY_GR_NBR'
   TZFIELD%CSTDNAME   = ''
   TZFIELD%CLONGNAME  = 'DUMMY_GR_NBR'
diff --git a/src/MNH/read_field.f90 b/src/MNH/read_field.f90
index 355c4cf6ccc05315a294cc8e32d9248fe07546b6..10730a3ead87e0d0197687351e0b17f8e5ce34fd 100644
--- a/src/MNH/read_field.f90
+++ b/src/MNH/read_field.f90
@@ -1,6 +1,6 @@
 !MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !     ######################
       MODULE MODI_READ_FIELD
@@ -8,7 +8,7 @@
 !
 INTERFACE 
 !
-      SUBROUTINE READ_FIELD(TPINIFILE,KMASDEV,KIU,KJU,KKU,PTSTEP,            &
+      SUBROUTINE READ_FIELD(TPINIFILE,KIU,KJU,KKU,PTSTEP,                    &
             HGETTKET,HGETRVT,HGETRCT,HGETRRT,HGETRIT,HGETCIT,                &
             HGETRST,HGETRGT,HGETRHT,HGETSVT,HGETSRCT,HGETSIGS,HGETCLDFR,     &
             HGETBL_DEPTH,HGETSBL_DEPTH,HGETPHC,HGETPHR,HUVW_ADV_SCHEME,      &
@@ -35,8 +35,6 @@ USE MODD_TIME ! for type DATE_TIME
 !
 !
 TYPE(TFILEDATA),           INTENT(IN)  :: TPINIFILE    !Initial file
-INTEGER,                   INTENT(IN)  :: KMASDEV
-                             ! version of the input file
 INTEGER,                   INTENT(IN)  :: KIU, KJU, KKU   
                              ! array sizes in x, y and z  directions
 REAL,                      INTENT(IN)  :: PTSTEP       
@@ -126,7 +124,7 @@ END INTERFACE
 END MODULE MODI_READ_FIELD
 !
 !     ########################################################################
-      SUBROUTINE READ_FIELD(TPINIFILE,KMASDEV,KIU,KJU,KKU,PTSTEP,            &
+      SUBROUTINE READ_FIELD(TPINIFILE,KIU,KJU,KKU,PTSTEP,                    &
             HGETTKET,HGETRVT,HGETRCT,HGETRRT,HGETRIT,HGETCIT,                &
             HGETRST,HGETRGT,HGETRHT,HGETSVT,HGETSRCT,HGETSIGS,HGETCLDFR,     &
             HGETBL_DEPTH,HGETSBL_DEPTH,HGETPHC,HGETPHR,HUVW_ADV_SCHEME,      &
@@ -293,8 +291,6 @@ IMPLICIT NONE
 !
 !
 TYPE(TFILEDATA),           INTENT(IN)  :: TPINIFILE    !Initial file
-INTEGER,                   INTENT(IN)  :: KMASDEV
-                             ! version of the input file
 INTEGER,                   INTENT(IN)  :: KIU, KJU, KKU   
                              ! array sizes in x, y and z  directions
 REAL,                      INTENT(IN)  :: PTSTEP       
@@ -412,7 +408,7 @@ ZWORK = 0.0
 !
 !*       2.1  Time t:
 !
-IF (KMASDEV<50) THEN
+IF (TPINIFILE%NMNHVERSION(1)<5) THEN
   CALL FIND_FIELD_ID_FROM_MNHNAME('UT',IID,IRESP)
   TZFIELD = TFIELDLIST(IID)
   TZFIELD%CMNHNAME = 'UM'
@@ -447,7 +443,7 @@ ENDIF
 !
 SELECT CASE(HGETTKET)                   
   CASE('READ')
-    IF (KMASDEV<50) THEN
+    IF (TPINIFILE%NMNHVERSION(1)<5) THEN
       CALL FIND_FIELD_ID_FROM_MNHNAME('TKET',IID,IRESP)
       TZFIELD = TFIELDLIST(IID)
       TZFIELD%CMNHNAME = 'TKEM'
@@ -455,7 +451,8 @@ SELECT CASE(HGETTKET)
     ELSE
       CALL IO_READ_FIELD(TPINIFILE,'TKET',PTKET)
     END IF
-    IF (KMASDEV>50 .AND. (CCONF == 'RESTA') .AND. LSPLIT_CFL) THEN
+    IF ( ( (TPINIFILE%NMNHVERSION(1)==5 .AND. TPINIFILE%NMNHVERSION(2)>0) .OR. TPINIFILE%NMNHVERSION(1)>5 ) &
+        .AND. (CCONF == 'RESTA') .AND. LSPLIT_CFL) THEN
       CALL IO_READ_FIELD(TPINIFILE,'TKEMS',PRTKEMS)
     END IF
   CASE('INIT')
@@ -465,7 +462,7 @@ END SELECT
 !
 SELECT CASE(HGETRVT)             ! vapor
   CASE('READ')
-    IF (KMASDEV<50) THEN
+    IF (TPINIFILE%NMNHVERSION(1)<5) THEN
       CALL FIND_FIELD_ID_FROM_MNHNAME('RVT',IID,IRESP)
       TZFIELD = TFIELDLIST(IID)
       TZFIELD%CMNHNAME = 'RVM'
@@ -479,7 +476,7 @@ END SELECT
 !
 SELECT CASE(HGETRCT)             ! cloud 
   CASE('READ') 
-    IF (KMASDEV<50) THEN
+    IF (TPINIFILE%NMNHVERSION(1)<5) THEN
       CALL FIND_FIELD_ID_FROM_MNHNAME('RCT',IID,IRESP)
       TZFIELD = TFIELDLIST(IID)
       TZFIELD%CMNHNAME = 'RCM'
@@ -493,7 +490,7 @@ END SELECT
 !
 SELECT CASE(HGETRRT)             ! rain 
   CASE('READ') 
-    IF (KMASDEV<50) THEN
+    IF (TPINIFILE%NMNHVERSION(1)<5) THEN
       CALL FIND_FIELD_ID_FROM_MNHNAME('RRT',IID,IRESP)
       TZFIELD = TFIELDLIST(IID)
       TZFIELD%CMNHNAME = 'RRM'
@@ -507,7 +504,7 @@ END SELECT
 !
 SELECT CASE(HGETRIT)             ! cloud ice
   CASE('READ') 
-    IF (KMASDEV<50) THEN
+    IF (TPINIFILE%NMNHVERSION(1)<5) THEN
       CALL FIND_FIELD_ID_FROM_MNHNAME('RIT',IID,IRESP)
       TZFIELD = TFIELDLIST(IID)
       TZFIELD%CMNHNAME = 'RIM'
@@ -521,7 +518,7 @@ END SELECT
 !
 SELECT CASE(HGETRST)             ! snow
   CASE('READ')
-    IF (KMASDEV<50) THEN
+    IF (TPINIFILE%NMNHVERSION(1)<5) THEN
       CALL FIND_FIELD_ID_FROM_MNHNAME('RST',IID,IRESP)
       TZFIELD = TFIELDLIST(IID)
       TZFIELD%CMNHNAME = 'RSM'
@@ -535,7 +532,7 @@ END SELECT
 !
 SELECT CASE(HGETRGT)             ! graupel
   CASE('READ') 
-    IF (KMASDEV<50) THEN
+    IF (TPINIFILE%NMNHVERSION(1)<5) THEN
       CALL FIND_FIELD_ID_FROM_MNHNAME('RGT',IID,IRESP)
       TZFIELD = TFIELDLIST(IID)
       TZFIELD%CMNHNAME = 'RGM'
@@ -549,7 +546,7 @@ END SELECT
 !
 SELECT CASE(HGETRHT)             ! hail
   CASE('READ') 
-    IF (KMASDEV<50) THEN
+    IF (TPINIFILE%NMNHVERSION(1)<5) THEN
       CALL FIND_FIELD_ID_FROM_MNHNAME('RHT',IID,IRESP)
       TZFIELD = TFIELDLIST(IID)
       TZFIELD%CMNHNAME = 'RHM'
diff --git a/src/MNH/read_grid_time_mesonh_case.f90 b/src/MNH/read_grid_time_mesonh_case.f90
index e083859bacbd8a87ca81ded0ae6ea4ca0028fac1..9c2c6669ee73b63f80a483ca4007bcedb86eb5a5 100644
--- a/src/MNH/read_grid_time_mesonh_case.f90
+++ b/src/MNH/read_grid_time_mesonh_case.f90
@@ -1,6 +1,6 @@
 !MNH_LIC Copyright 1996-2018 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
 !#####################################
@@ -118,7 +118,6 @@ CHARACTER(LEN=*),  INTENT(OUT):: HDAD_NAME! dad name of the FM file
 REAL               :: ZEPS       ! a little number
 INTEGER            :: IRESP      ! return-code
 INTEGER            :: ILUOUT0    ! logical number for listing file
-INTEGER            :: IMASDEV    ! Masdev version
 INTEGER            :: JL         ! loop controls
 INTEGER            :: ILMAX_LS
 !
@@ -223,9 +222,8 @@ ILMAX_LS=ILMAX_LS+2*JPVEXT
 ALLOCATE(XZHAT_LS(ILMAX_LS))
 CALL IO_READ_FIELD(TZFMFILE,'ZHAT',XZHAT_LS)
 !
-CALL IO_READ_FIELD(TZFMFILE,'MASDEV',IMASDEV)
 CALL DEFAULT_SLEVE(LSLEVE_LS,XLEN1_LS,XLEN2_LS)
-IF (IMASDEV<=46) THEN
+IF (TZFMFILE%NMNHVERSION(1)<4 .OR. (TZFMFILE%NMNHVERSION(1)==4 .AND. TZFMFILE%NMNHVERSION(2)<=6)) THEN
   LSLEVE_LS = .FALSE.
 ELSE
   CALL IO_READ_FIELD(TZFMFILE,'SLEVE',LSLEVE_LS)
diff --git a/src/MNH/read_hgrid.f90 b/src/MNH/read_hgrid.f90
index e8b64f378a1a62fc8df5e9ef70bbdde47baf08dc..b501ea10088792d607002228cf6c7a30611a220f 100644
--- a/src/MNH/read_hgrid.f90
+++ b/src/MNH/read_hgrid.f90
@@ -1,6 +1,6 @@
 !MNH_LIC Copyright 1996-2018 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
 !     ######################
@@ -111,7 +111,6 @@ CHARACTER(LEN=2) , INTENT(OUT) :: HSTORAGE_TYPE
 !*       0.2   declarations of local variables
 !
 INTEGER                :: IRESP
-INTEGER                :: IMASDEV
 INTEGER                :: IID, IMI
 LOGICAL                :: G1D,G2D,GPACK
 INTEGER                :: IINFO_ll
@@ -152,7 +151,6 @@ END IF
 CALL IO_READ_FIELD(TPFMFILE,'MY_NAME',     HMY_NAME)
 CALL IO_READ_FIELD(TPFMFILE,'DAD_NAME',    HDAD_NAME)
 CALL IO_READ_FIELD(TPFMFILE,'STORAGE_TYPE',HSTORAGE_TYPE)
-CALL IO_READ_FIELD(TPFMFILE,'MASDEV',      IMASDEV)
 !
 !*       2.2    Grid information :
 !               ----------------
@@ -199,7 +197,7 @@ IF (IRESP/=0) GPACK=.TRUE.
 !
 CALL SET_FMPACK_ll(G1D,G2D,GPACK)
 !-------------------------------------------------------------------------------
-IF (IMASDEV<=45) THEN
+IF (TPFMFILE%NMNHVERSION(1)<4 .OR. (TPFMFILE%NMNHVERSION(1)==4 .AND. TPFMFILE%NMNHVERSION(2)<=5)) THEN
   CALL FIND_FIELD_ID_FROM_MNHNAME('LONORI',IID,IRESP)
   TZFIELD = TFIELDLIST(IID)
   TZFIELD%CMNHNAME = 'LONOR'
diff --git a/src/MNH/read_hgridn.f90 b/src/MNH/read_hgridn.f90
index 6d10da610fbf6e97c0863410f7ae23361f7e47ae..4429ec2faa4e895c8e65efb3b3f6f32357bf6e1b 100644
--- a/src/MNH/read_hgridn.f90
+++ b/src/MNH/read_hgridn.f90
@@ -1,6 +1,6 @@
 !MNH_LIC Copyright 1996-2018 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
 !     #######################
@@ -108,7 +108,6 @@ INTEGER             :: ILUOUT
 INTEGER             :: IRESP
 REAL                :: ZLAT0,ZLON0,ZRPK,ZBETA
 REAL                :: ZEPS = 1.E-10
-INTEGER             :: IMASDEV
 INTEGER             :: IID, IMI
 !
 !-------------------------------------------------------------------------------
@@ -121,6 +120,7 @@ INTEGER             :: IXOR, IYOR, IXEND, IYEND
 INTEGER             :: IJPHEXT
 TYPE(TFIELDDATA)    :: TZFIELD
 !
+print *,'PW: READ_HGRIDn called'
 ILUOUT = TLUOUT%NLU
 !
 !*       1.     General information :
@@ -129,12 +129,12 @@ ILUOUT = TLUOUT%NLU
 CALL IO_READ_FIELD(TPFMFILE,'MY_NAME',     HMY_NAME)
 CALL IO_READ_FIELD(TPFMFILE,'DAD_NAME',    HDAD_NAME)
 CALL IO_READ_FIELD(TPFMFILE,'STORAGE_TYPE',HSTORAGE_TYPE)
-CALL IO_READ_FIELD(TPFMFILE,'MASDEV',      IMASDEV)
 !
 !*       2.     Grid information :
 !               ----------------
 !
-IF(IMASDEV<=45 .AND. HSTORAGE_TYPE == 'PG') THEN
+IF( (TPFMFILE%NMNHVERSION(1)<4 .OR. (TPFMFILE%NMNHVERSION(1)==4 .AND. TPFMFILE%NMNHVERSION(2)<=5)) &
+   .AND. HSTORAGE_TYPE == 'PG') THEN
   LCARTESIAN=.FALSE.
 ELSE
   CALL IO_READ_FIELD(TPFMFILE,'CARTESIAN',LCARTESIAN)
@@ -268,7 +268,7 @@ IF (.NOT. (ASSOCIATED(XZSMT))) ALLOCATE(XZSMT(NIMAX+2*JPHEXT,NJMAX+2*JPHEXT))
 ENDIF
 !JUAN REALZ
 
-IF (IMASDEV<=46) THEN
+IF (TPFMFILE%NMNHVERSION(1)<4 .OR. (TPFMFILE%NMNHVERSION(1)==4 .AND. TPFMFILE%NMNHVERSION(2)<=6)) THEN
   XZSMT = XZS
 ELSE
   CALL IO_READ_FIELD(TPFMFILE,'ZSMT',XZSMT)
@@ -276,7 +276,7 @@ ELSE
 END IF
 !
 !-------------------------------------------------------------------------------
-IF (IMASDEV<=45) THEN
+IF (TPFMFILE%NMNHVERSION(1)<4 .OR. (TPFMFILE%NMNHVERSION(1)==4 .AND. TPFMFILE%NMNHVERSION(2)<=5)) THEN
   CALL FIND_FIELD_ID_FROM_MNHNAME('LONORI',IID,IRESP)
   TZFIELD = TFIELDLIST(IID)
   TZFIELD%CMNHNAME = 'LONOR'
diff --git a/src/MNH/read_surf_mnh.f90 b/src/MNH/read_surf_mnh.f90
index e2a5d849762cc77591d69896330c6880c355b677..21ddfeba6708d033295a94378d08843ffff32332 100644
--- a/src/MNH/read_surf_mnh.f90
+++ b/src/MNH/read_surf_mnh.f90
@@ -1,6 +1,6 @@
 !MNH_LIC Copyright 2003-2018 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
 ! Modifications:
@@ -164,7 +164,6 @@ CHARACTER(LEN=100),     INTENT(OUT) :: HCOMMENT ! comment
 INTEGER           :: IGRID          ! IGRID : grid indicator
 INTEGER           :: ILENCH         ! ILENCH : length of comment string
 INTEGER           :: ILUOUT
-INTEGER           :: IMASDEV
 INTEGER           :: IID,IRESP
 INTEGER           :: IIMAX,IJMAX
 REAL,DIMENSION(:), ALLOCATABLE :: ZXHAT,ZYHAT
@@ -178,8 +177,7 @@ CALL PRINT_MSG(NVERB_DEBUG,'IO','READ_SURFX0_MNH',TRIM(TPINFILE%CNAME)//': readi
 ILUOUT = TOUT%NLU
 !
 IF (HREC=='LONORI' .OR. HREC=='LATORI') THEN
-  CALL IO_READ_FIELD(TPINFILE,'MASDEV',IMASDEV)
-  IF (IMASDEV<=45) THEN
+  IF (TPINFILE%NMNHVERSION(1)<4 .OR. (TPINFILE%NMNHVERSION(1)==4 .AND. TPINFILE%NMNHVERSION(2)<=5)) THEN
       ZLATORI = XUNDEF
       ZLONORI = XUNDEF
       !* saves projection parameters of MODD_GRID
@@ -333,7 +331,6 @@ REAL, DIMENSION(:,:), ALLOCATABLE :: ZWORK  ! work array read in the file
 REAL, DIMENSION(:),   ALLOCATABLE :: ZWORK1D! work array read in the file
 REAL                              :: ZW     ! work value
 
-INTEGER           :: IMASDEV
 CHARACTER(LEN=LEN_HREC) :: YREC
 CHARACTER(LEN=2)  :: YSTORAGE_TYPE
 !
@@ -470,8 +467,7 @@ ELSE
   YREC = ' '
   YREC(1:LEN(HREC)) = HREC
   IF (HREC(1:8)=='Q_CANYON') THEN
-    CALL IO_READ_FIELD(TPINFILE,'MASDEV',IMASDEV)
-    IF (IMASDEV<=45) THEN
+    IF (TPINFILE%NMNHVERSION(1)<4 .OR. (TPINFILE%NMNHVERSION(1)==4 .AND. TPINFILE%NMNHVERSION(2)<=5)) THEN
       CALL IO_READ_FIELD(TPINFILE,'STORAGE_TYPE',YSTORAGE_TYPE)
       IF (YSTORAGE_TYPE=='TT') THEN
         PFIELD = 0.
@@ -483,15 +479,15 @@ ELSE
     END IF
   END IF
   IF (HREC(1:8)=='T_CANYON') THEN
-    CALL IO_READ_FIELD(TPINFILE,'MASDEV',IMASDEV)
-    IF (IMASDEV<=45) THEN
+    IF (TPINFILE%NMNHVERSION(1)<4 .OR. (TPINFILE%NMNHVERSION(1)==4 .AND. TPINFILE%NMNHVERSION(2)<=5)) THEN
       CALL IO_READ_FIELD(TPINFILE,'STORAGE_TYPE',YSTORAGE_TYPE)
       IF (YSTORAGE_TYPE=='TT') YREC = 'T_ROAD1             '
     END IF
   END IF
   IF (HREC(1:7)=='SSO_DIR') THEN
-    CALL IO_READ_FIELD(TPINFILE,'MASDEV',IMASDEV)
-    IF (IMASDEV<=45) YREC = 'SSO_DIRECTION       '
+    IF (TPINFILE%NMNHVERSION(1)<4 .OR. (TPINFILE%NMNHVERSION(1)==4 .AND. TPINFILE%NMNHVERSION(2)<=5)) THEN
+      YREC = 'SSO_DIRECTION       '
+    END IF
   END IF
 !
   ALLOCATE(ZWORK(IIU,IJU))
@@ -1328,7 +1324,6 @@ INTEGER           :: IGRID          ! IGRID : grid indicator
 INTEGER           :: ILENCH         ! ILENCH : length of comment string
 INTEGER           :: ILUOUT
 !
-INTEGER           :: IMASDEV      ! mesonh version of the input file
 INTEGER           :: ILUDES       ! .des file logical unit
 !
 LOGICAL           :: GFOUND
@@ -1343,72 +1338,73 @@ CALL PRINT_MSG(NVERB_DEBUG,'IO','READ_SURFC0_MNH',TRIM(TPINFILE%CNAME)//': readi
 !
 KRESP = 0
 ILUOUT = TOUT%NLU
-! On lit la version de Mesonh usilisée pour fabriquer le fichier
 !
-CALL IO_READ_FIELD(TPINFILE,'MASDEV',IMASDEV)
-
-IF (HREC=='SNOW_VEG_TYPE'.AND.IMASDEV<46) THEN
-  HFIELD='D95'
-ELSE IF (HREC=='SNOW_ROAD_TYPE'.AND.IMASDEV<46) THEN
-  HFIELD='1-L'
-ELSE IF (HREC=='SNOW_ROOF_TYPE'.AND.IMASDEV<46) THEN
-  HFIELD='1-L'
-ELSE IF (HREC=='PHOTO'.AND.IMASDEV<46) THEN
-  HFIELD='NON'
-ELSE IF ( HREC=='GRID_TYPE'.AND. (IMASDEV<46 .OR. &
+IF (TPINFILE%NMNHVERSION(1)<4 .OR. (TPINFILE%NMNHVERSION(1)==4 .AND. TPINFILE%NMNHVERSION(2)<6)) THEN
+  SELECT CASE(TRIM(HREC))
+    CASE('SNOW_VEG_TYPE')
+      HFIELD='D95'
+    CASE('SNOW_ROAD_TYPE')
+      HFIELD='1-L'
+    CASE('SNOW_ROOF_TYPE')
+      HFIELD='1-L'
+    CASE('PHOTO')
+      HFIELD='NON'
+    CASE('ISBA')
+      HFIELD = '3-L'
+    CASE('GRID_TYPE')
+      IF (LCARTESIAN) THEN
+        HFIELD="CARTESIAN "
+      ELSE
+        HFIELD='CONF PROJ '
+      END IF
+    CASE('NATURE','SEA','WATER','TOWN')
+      IF (CPROGRAM=='REAL  ' .OR. CPROGRAM=='IDEAL ') THEN
+        CGROUND='ISBA'
+      ELSE
+        CGROUND='NONE'
+        ILUDES = TPINFILE%TDESFILE%NLU
+        CALL POSNAM(ILUDES,'NAM_PARAMN',GFOUND,ILUOUT)
+        IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_PARAMn)
+      END IF
+      IF (CGROUND=='NONE') THEN
+        HFIELD ='NONE  '
+      ELSE IF (CGROUND=='FLUX') THEN
+        HFIELD ='FLUX  '
+      ELSE IF (CGROUND=='ISBA') THEN
+        IF(HREC=='SEA   ') HFIELD ='SEAFLX'
+        IF(HREC=='WATER ') HFIELD ='WATFLX'
+        IF(HREC=='NATURE') HFIELD ='ISBA  '
+        IF(HREC=='TOWN  ') HFIELD ='TEB   '
+      ELSE
+        CALL PRINT_MSG(NVERB_FATAL,'IO','READ_SURFC0_MNH',TRIM(TPINFILE%CNAME)//': error when reading article '//TRIM(HREC)// &
+                       ' with CGROUND='//TRIM(CGROUND))
+      END IF
+    CASE DEFAULT
+      CALL PREPARE_METADATA_READ_SURF(HREC,'--',0,TYPECHAR,0,'READ_SURFC0_MNH',TZFIELD)
+      CALL IO_READ_FIELD(TPINFILE,TZFIELD,HFIELD,KRESP)
+      !
+      IF (KRESP /=0) THEN
+        CALL PRINT_MSG(NVERB_FATAL,'IO','READ_SURFC0_MNH',TRIM(TPINFILE%CNAME)//': error when reading article '//TRIM(HREC)// &
+                       ' default value may be used, who knows???')
+      ENDIF
+  END SELECT
+ELSE IF ( HREC=='GRID_TYPE'.AND. ( &
                            (CPROGRAM=='IDEAL ' .AND. .NOT.ASSOCIATED(TPGDFILE,TOUT)) .OR. &
                            (CPROGRAM=='SPAWN ' .AND. .NOT.ASSOCIATED(TPGDFILE,TOUT)) .OR. &
-                           CPROGRAM=='ZOOMPG'                         )) THEN
+                            CPROGRAM=='ZOOMPG'                         )) THEN
   IF (LCARTESIAN) THEN
     HFIELD="CARTESIAN "
   ELSE
     HFIELD='CONF PROJ '
   END IF
-ELSE IF ( HREC=='ISBA  ' .AND.IMASDEV<46) THEN
-  HFIELD = '3-L'
-ELSE IF ( (HREC=='NATURE'.OR.HREC=='SEA   '.OR.HREC=='WATER ' &
-            .OR.HREC=='TOWN  ') .AND.IMASDEV<46) THEN
-     IF (CPROGRAM=='REAL  ' .OR. CPROGRAM=='IDEAL ') THEN
-       CGROUND='ISBA'
-     ELSE
-       CGROUND='NONE'
-       ILUDES = TPINFILE%TDESFILE%NLU
-       CALL POSNAM(ILUDES,'NAM_PARAMN',GFOUND,ILUOUT)
-       IF (GFOUND) READ(UNIT=ILUDES,NML=NAM_PARAMn)
-     END IF
-     IF (CGROUND=='NONE') THEN
-       HFIELD ='NONE  '
-     ELSE IF (CGROUND=='FLUX') THEN
-       HFIELD ='FLUX  '
-     ELSE IF (CGROUND=='ISBA') THEN
-       IF(HREC=='SEA   ') HFIELD ='SEAFLX'
-       IF(HREC=='WATER ') HFIELD ='WATFLX'
-       IF(HREC=='NATURE') HFIELD ='ISBA  '
-       IF(HREC=='TOWN  ') HFIELD ='TEB   '
-     ELSE
-       WRITE(ILUOUT,*) ' '
-       WRITE(ILUOUT,*) 'error when reading article', HREC,'KRESP=',KRESP
-       WRITE(ILUOUT,*) 'avec CGROUND = "',CGROUND,'"'
- !callabortstop
-CALL ABORT
-       STOP
-     END IF
-
 ELSE
-   CALL PREPARE_METADATA_READ_SURF(HREC,'--',0,TYPECHAR,0,'READ_SURFC0_MNH',TZFIELD)
-   CALL IO_READ_FIELD(TPINFILE,TZFIELD,HFIELD,KRESP)
-   !
-   IF (KRESP /=0) THEN
-      WRITE(ILUOUT,*) 'WARNING'
-      WRITE(ILUOUT,*) '-------'
-      WRITE(ILUOUT,*) 'error when reading article ', HREC,'KRESP=',KRESP
-      WRITE(ILUOUT,*) 'default value may be used, who knows???'
-      WRITE(ILUOUT,*) ' '
- !callabortstop
-CALL ABORT
-      STOP
-   ENDIF
-
+  CALL PREPARE_METADATA_READ_SURF(HREC,'--',0,TYPECHAR,0,'READ_SURFC0_MNH',TZFIELD)
+  CALL IO_READ_FIELD(TPINFILE,TZFIELD,HFIELD,KRESP)
+  !
+  IF (KRESP /=0) THEN
+        CALL PRINT_MSG(NVERB_FATAL,'IO','READ_SURFC0_MNH',TRIM(TPINFILE%CNAME)//': error when reading article '//TRIM(HREC)// &
+                       ' default value may be used, who knows???')
+  ENDIF
 ENDIF
 !
 !-------------------------------------------------------------------------------
@@ -1591,7 +1587,6 @@ CHARACTER(LEN=100),     INTENT(OUT) :: HCOMMENT ! comment
 !
 !*      0.2   Declarations of local variables
 !
-INTEGER           :: IMASDEV        ! MESONH version
 INTEGER           :: ILUOUT
 TYPE(TFIELDDATA)  :: TZFIELD
 !-------------------------------------------------------------------------------
@@ -1600,8 +1595,7 @@ CALL PRINT_MSG(NVERB_DEBUG,'IO','READ_SURFL0_MNH',TRIM(TPINFILE%CNAME)//': readi
 ILUOUT = TOUT%NLU
 !
 IF (HREC(1:4)=='BUDC') THEN
-  CALL IO_READ_FIELD(TPINFILE,'MASDEV',IMASDEV)
-  IF (IMASDEV<=45) THEN
+  IF (TPINFILE%NMNHVERSION(1)<4 .OR. (TPINFILE%NMNHVERSION(1)==4 .AND. TPINFILE%NMNHVERSION(2)<=5)) THEN
     OFIELD = .FALSE.
     KRESP = 0
     RETURN
@@ -1609,8 +1603,7 @@ IF (HREC(1:4)=='BUDC') THEN
 END IF
 !
 IF (HREC=='ECOCLIMAP') THEN
-  CALL IO_READ_FIELD(TPINFILE,'MASDEV',IMASDEV)
-  IF (IMASDEV<=46) THEN
+  IF (TPINFILE%NMNHVERSION(1)<4 .OR. (TPINFILE%NMNHVERSION(1)==4 .AND. TPINFILE%NMNHVERSION(2)<=6)) THEN
     OFIELD = .TRUE.
     KRESP = 0
     RETURN
@@ -1703,7 +1696,6 @@ CHARACTER(LEN=LEN_HREC)        :: YRECFM     ! Name of the article to be written
 CHARACTER(LEN=40)              :: YFILETYPE40! MESONH file type
 CHARACTER(LEN=2)               :: YFILETYPE2 ! MESONH file type
 INTEGER, DIMENSION(3)  :: ITDATE
-INTEGER                :: IMASDEV           ! MESONH version
 TYPE(TFIELDDATA)       :: TZFIELD
 TYPE(DATE_TIME)        :: TZDATETIME
 !-------------------------------------------------------------------------------
@@ -1712,8 +1704,7 @@ CALL PRINT_MSG(NVERB_DEBUG,'IO','READ_SURFT0_MNH',TRIM(TPINFILE%CNAME)//': readi
 !
 ILUOUT = TOUT%NLU
 !
-CALL IO_READ_FIELD(TPINFILE,'MASDEV',IMASDEV)
-IF (IMASDEV<46) THEN
+IF (TPINFILE%NMNHVERSION(1)<4 .OR. (TPINFILE%NMNHVERSION(1)==4 .AND. TPINFILE%NMNHVERSION(2)<6)) THEN
   CALL IO_READ_FIELD(TPINFILE,'STORAGE_TYPE',YFILETYPE2)
 ELSE
   TZFIELD%CMNHNAME   = 'STORAGETYPE'
@@ -1830,7 +1821,6 @@ CHARACTER(LEN=LEN_HREC)        :: YRECFM     ! Name of the article to be written
 CHARACTER(LEN=40)              :: YFILETYPE40! MESONH file type
 CHARACTER(LEN=2)               :: YFILETYPE2 ! MESONH file type
 INTEGER, DIMENSION(3,KL1)  :: ITDATE
-INTEGER                :: IMASDEV           ! MESONH version
 TYPE(TFIELDDATA)       :: TZFIELD
 !-------------------------------------------------------------------------------
 !
@@ -1838,8 +1828,7 @@ CALL PRINT_MSG(NVERB_DEBUG,'IO','READ_SURFT1_MNH',TRIM(TPINFILE%CNAME)//': readi
 !
 ILUOUT = TOUT%NLU
 !
-CALL IO_READ_FIELD(TPINFILE,'MASDEV',IMASDEV)
-IF (IMASDEV<46) THEN
+IF (TPINFILE%NMNHVERSION(1)<4 .OR. (TPINFILE%NMNHVERSION(1)==4 .AND. TPINFILE%NMNHVERSION(2)<6)) THEN
   CALL IO_READ_FIELD(TPINFILE,'STORAGE_TYPE',YFILETYPE2)
 ELSE
   TZFIELD%CMNHNAME   = 'STORAGETYPE'
diff --git a/src/MNH/set_grid.f90 b/src/MNH/set_grid.f90
index 9951b1470eabbebe8aa4ad7ab4a72bd187400adb..0880b974cd302c996e1bb4d1b9ca62e8ffbc9edc 100644
--- a/src/MNH/set_grid.f90
+++ b/src/MNH/set_grid.f90
@@ -335,12 +335,9 @@ INTEGER                :: IIUP,IJUP ,ISUP=1         ! size  of working
                                                     ! window arrays,
                                                     ! supp. time steps
 !
-INTEGER                :: IMASDEV                   ! masdev of the file
 TYPE(TFIELDDATA)       :: TZFIELD
 !-------------------------------------------------------------------------------
 !
-CALL IO_READ_FIELD(TPINIFILE,'MASDEV',IMASDEV)
-!
 !*       1.    READ GRID  VARIABLES IN INITIAL FILE
 !              ------------------------------------
 !
@@ -369,7 +366,7 @@ CALL IO_READ_FIELD(TPINIFILE,'YHAT',PYHAT)
 IF (.NOT.LCARTESIAN) THEN
   CALL IO_READ_FIELD(TPINIFILE,'RPK',XRPK)
   !
-  IF (IMASDEV > 45) THEN
+  IF ( (TPINIFILE%NMNHVERSION(1)==4 .AND. TPINIFILE%NMNHVERSION(2)>5) .OR. TPINIFILE%NMNHVERSION(1)>4 ) THEN
     CALL IO_READ_FIELD(TPINIFILE,'LONORI',PLONORI)
     CALL IO_READ_FIELD(TPINIFILE,'LATORI',PLATORI)
   !
@@ -403,7 +400,7 @@ CALL IO_READ_FIELD(TPINIFILE,'ZTOP',PZTOP)
 !
 CALL DEFAULT_SLEVE(OSLEVE,PLEN1,PLEN2)
 !
-IF (IMASDEV<=46) THEN
+IF ( TPINIFILE%NMNHVERSION(1)<4 .OR. (TPINIFILE%NMNHVERSION(1)==4 .AND. TPINIFILE%NMNHVERSION(2)<=6) ) THEN
   PZSMT  = PZS
   OSLEVE = .FALSE.
 ELSE
diff --git a/src/MNH/zoom_pgd.f90 b/src/MNH/zoom_pgd.f90
index e9312af77e59630bb05a65745b075435312dfa86..af620d5b8b42d0197d85d8ce18f6ffeddc23258d 100644
--- a/src/MNH/zoom_pgd.f90
+++ b/src/MNH/zoom_pgd.f90
@@ -46,8 +46,7 @@
 !*    0.     DECLARATION
 !            -----------
 !
-USE MODD_CONF,   ONLY : CPROGRAM, NMASDEV, NBUGFIX, CBIBUSER, &
-                        L1D, L2D, LPACK
+USE MODD_CONF,   ONLY : CPROGRAM, L1D, L2D, LPACK
 USE MODD_IO_ll,  ONLY:  NIO_VERB,NVERB_DEBUG,TFILE_OUTPUTLISTING,TFILEDATA
 USE MODD_LUNIT,  ONLY : CLUOUT0, TLUOUT0, TOUTDATAFILE
 USE MODD_PARAMETERS, ONLY : XUNDEF, NUNDEF, JPVEXT, JPHEXT, JPMODELMAX