diff --git a/src/MNH/modd_spawn.f90 b/src/MNH/modd_spawn.f90
index c4a8c1a238ddaa956c9fbfeba17aa21f6facb3ce..41f83c8a1d5ede0151a11e0ca4c1329dd1a40150 100644
--- a/src/MNH/modd_spawn.f90
+++ b/src/MNH/modd_spawn.f90
@@ -65,6 +65,7 @@ CHARACTER (LEN=28) :: CDADSPAFILE ! DAD fm-file for spawning file
 REAL,DIMENSION(:),    SAVE,POINTER :: XXHAT1  => NULL()
 REAL,DIMENSION(:),    SAVE,POINTER :: XYHAT1  => NULL()
 REAL,DIMENSION(:),    SAVE,POINTER :: XZHAT1  => NULL()
+REAL,                 SAVE,POINTER :: XZTOP1  => NULL()
 REAL,DIMENSION(:,:),  SAVE,POINTER :: XZS1    => NULL()
 REAL,DIMENSION(:,:),  SAVE,POINTER :: XZSMT1  => NULL()
 REAL,DIMENSION(:,:,:),SAVE,POINTER :: XZZ1    => NULL()
diff --git a/src/MNH/spawn_grid2.f90 b/src/MNH/spawn_grid2.f90
index 25f6aa1b46727aae81c911838399cf12f7fb1eef..c1e938c6a440a49c179b11a99c53965b4b9ce801 100644
--- a/src/MNH/spawn_grid2.f90
+++ b/src/MNH/spawn_grid2.f90
@@ -10,7 +10,7 @@ MODULE MODI_SPAWN_GRID2
 INTERFACE
 !
      SUBROUTINE SPAWN_GRID2 (KXOR,KYOR,KXEND,KYEND,KDXRATIO,KDYRATIO,         &
-                             PLONOR,PLATOR,PXHAT,PYHAT,PZHAT,                 &
+                             PLONOR,PLATOR,PXHAT,PYHAT,PZHAT,PZTOP,           &
                              OSLEVE,PLEN1,PLEN2,                              &
                              PZS,PZSMT,PZS_LS,PZSMT_LS,                       &
                              TPDTMOD,TPDTCUR                                  )
@@ -27,6 +27,7 @@ REAL,                 INTENT(INOUT) :: PLATOR            ! Latitude of the origi
 REAL,                 INTENT(INOUT) :: PLONOR            ! Longitude of the origine point
 REAL, DIMENSION(:),   INTENT(INOUT) :: PXHAT,PYHAT,PZHAT ! positions x,y,z in the
                                      ! conformal plane or on the cartesian plane
+REAL,                 INTENT(OUT)   :: PZTOP             ! model top (m)
 LOGICAL,              INTENT(OUT)   :: OSLEVE            ! flag for SLEVE coordinate
 REAL,                 INTENT(OUT)   :: PLEN1             ! Decay scale for smooth topography
 REAL,                 INTENT(OUT)   :: PLEN2             ! Decay scale for small-scale topography deviation
@@ -48,7 +49,7 @@ END MODULE MODI_SPAWN_GRID2
 !
 !     #########################################################################
      SUBROUTINE SPAWN_GRID2 (KXOR,KYOR,KXEND,KYEND,KDXRATIO,KDYRATIO,         &
-                             PLONOR,PLATOR,PXHAT,PYHAT,PZHAT,                 &
+                             PLONOR,PLATOR,PXHAT,PYHAT,PZHAT,PZTOP,           &
                              OSLEVE,PLEN1,PLEN2,                              &
                              PZS,PZSMT,PZS_LS,PZSMT_LS,                       &
                              TPDTMOD,TPDTCUR                                  )
@@ -188,6 +189,7 @@ REAL,                 INTENT(INOUT) :: PLATOR            ! Latitude of the origi
 REAL,                 INTENT(INOUT) :: PLONOR            ! Longitude of the origine point
 REAL, DIMENSION(:),   INTENT(INOUT) :: PXHAT,PYHAT,PZHAT ! positions x,y,z in the
                                      ! conformal plane or on the cartesian plane
+REAL,                 INTENT(OUT)   :: PZTOP             ! model top (m)
 LOGICAL,              INTENT(OUT)   :: OSLEVE            ! flag for SLEVE coordinate
 REAL,                 INTENT(OUT)   :: PLEN1             ! Decay scale for smooth topography
 REAL,                 INTENT(OUT)   :: PLEN2             ! Decay scale for small-scale topography deviation
@@ -302,6 +304,7 @@ END IF
 !*       2.    INITIALIZATION OF THE GRID OF MODEL 2:
 !              --------------------------------------
 !
+PZTOP    = XZTOP1
 PZHAT(:) = XZHAT1(:) 
 OSLEVE   = LSLEVE1
 PLEN1    = XLEN11
diff --git a/src/MNH/spawn_model2.f90 b/src/MNH/spawn_model2.f90
index 8921287c5ad125c5d1804f53319c6814aec231ce..d920dbc0cf86068f1382448fc4e0a07c59680955 100644
--- a/src/MNH/spawn_model2.f90
+++ b/src/MNH/spawn_model2.f90
@@ -728,6 +728,7 @@ END IF
 !*       4.4   Grid variables (module MODD_GRID2 and MODD_METRICS2):
 !
 ALLOCATE(XXHAT(IIU),XYHAT(IJU),XZHAT(IKU))
+ALLOCATE(XZTOP)
 ALLOCATE(XMAP(IIU,IJU))
 ALLOCATE(XLAT(IIU,IJU))
 ALLOCATE(XLON(IIU,IJU))
@@ -1045,9 +1046,9 @@ ELSE
         NYEND_TMP = NYEND
 ENDIF
 XZS=0.
-CALL SPAWN_GRID2 (NXOR,NYOR,NXEND,NYEND,NDXRATIO,NDYRATIO,              &
-                  XLONORI,XLATORI,XXHAT,XYHAT,XZHAT,LSLEVE,XLEN1,XLEN2, &
-                  XZS,XZSMT,ZZS_LS,ZZSMT_LS,TDTMOD,TDTCUR               )
+CALL SPAWN_GRID2 (NXOR,NYOR,NXEND,NYEND,NDXRATIO,NDYRATIO,                    &
+                  XLONORI,XLATORI,XXHAT,XYHAT,XZHAT,XZTOP,LSLEVE,XLEN1,XLEN2, &
+                  XZS,XZSMT,ZZS_LS,ZZSMT_LS,TDTMOD,TDTCUR                     )
 !
 CALL MPPDB_CHECK2D(ZZS_LS,"SPAWN_MOD2:ZZS_LS",PRECISION)
 CALL MPPDB_CHECK2D(ZZSMT_LS,"SPAWN_MOD2:ZZSMT_LS",PRECISION)
diff --git a/src/MNH/spawning.f90 b/src/MNH/spawning.f90
index cbd533417e49d870d5fe4c3d69d9eec1978f9081..7ab352665080b6bc19ddcea1d8107ccae3e71e25 100644
--- a/src/MNH/spawning.f90
+++ b/src/MNH/spawning.f90
@@ -278,6 +278,7 @@ USE MODD_PRECIP_n
 XXHAT1 => XXHAT
 XYHAT1 => XYHAT
 XZHAT1 => XZHAT
+XZTOP1 => XZTOP
 XZS1 => XZS
 XZSMT1 => XZSMT
 XZZ1 => XZZ