diff --git a/src/MNH/mode_mnh_zwork.f90 b/src/MNH/mode_mnh_zwork.f90
index d9046e79db2a59a560913611f2b6a2850a94d0c2..e1d826d1de6a04d14b08fc0c68d1b44b431e693f 100644
--- a/src/MNH/mode_mnh_zwork.f90
+++ b/src/MNH/mode_mnh_zwork.f90
@@ -169,6 +169,7 @@ MODULE MODE_MNH_ZWORK
 
   INTERFACE MNH_RELEASE_FLAT
     MODULE PROCEDURE :: MNH_REL_ZT1DFLAT
+    MODULE PROCEDURE :: MNH_REL_ZT1DFLAT_N0
   END INTERFACE MNH_RELEASE_FLAT
 
 CONTAINS
@@ -1503,19 +1504,19 @@ CONTAINS
   END FUNCTION MNH_GET_ZT1DFLAT
 
 
-  SUBROUTINE MNH_REL_ZT1DFLAT( KINDEX )
+  SUBROUTINE MNH_REL_ZT1DFLAT_N0( KINDEX )
 
     USE MODD_PARAMETERS, ONLY: NNEGUNDEF
 
     IMPLICIT NONE
 
-    INTEGER :: KINDEX
+    INTEGER, INTENT(IN) :: KINDEX
 
     NCALL_MNH_REL_ZT1DFLAT = NCALL_MNH_REL_ZT1DFLAT + 1
 
     !Release only if last block
     IF ( KINDEX /= NT1DFLAT_TOP_R ) &
-      call Print_msg( NVERB_FATAL, 'GEN', 'MNH_REL_ZT1DFLAT', 'trying to release block that is not the last one' )
+      call Print_msg( NVERB_FATAL, 'GEN', 'MNH_REL_ZT1DFLAT_N0', 'trying to release block that is not the last one' )
 
     NTOT_RELSIZE_ZT1DFLAT = NTOT_RELSIZE_ZT1DFLAT + NT1DFLAT_SIZE_R( KINDEX )
 
@@ -1525,6 +1526,40 @@ CONTAINS
     NT1DFLAT_POOL_R( KINDEX ) = NNEGUNDEF
     NT1DFLAT_SIZE_R( KINDEX ) = NNEGUNDEF
 
+  END SUBROUTINE MNH_REL_ZT1DFLAT_N0
+
+
+  SUBROUTINE MNH_REL_ZT1DFLAT( KTEMP1,  KTEMP2,  KTEMP3,  KTEMP4,  KTEMP5,  KTEMP6,  KTEMP7,  KTEMP8,  KTEMP9,  KTEMP10, &
+                               KTEMP11, KTEMP12, KTEMP13, KTEMP14, KTEMP15, KTEMP16, KTEMP17, KTEMP18, KTEMP19, KTEMP20)
+
+    IMPLICIT NONE
+
+    INTEGER,           INTENT(IN) :: KTEMP1, KTEMP2
+    INTEGER, OPTIONAL, INTENT(IN) :: KTEMP3, KTEMP4, KTEMP5, KTEMP6, KTEMP7, KTEMP8, KTEMP9
+    INTEGER, OPTIONAL, INTENT(IN) :: KTEMP10, KTEMP11, KTEMP12, KTEMP13, KTEMP14, KTEMP15, KTEMP16, KTEMP17, KTEMP18
+    INTEGER, OPTIONAL, INTENT(IN) :: KTEMP19, KTEMP20
+
+    IF ( PRESENT( KTEMP20 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP20 )
+    IF ( PRESENT( KTEMP19 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP19 )
+    IF ( PRESENT( KTEMP18 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP18 )
+    IF ( PRESENT( KTEMP17 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP17 )
+    IF ( PRESENT( KTEMP16 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP16 )
+    IF ( PRESENT( KTEMP15 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP15 )
+    IF ( PRESENT( KTEMP14 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP14 )
+    IF ( PRESENT( KTEMP13 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP13 )
+    IF ( PRESENT( KTEMP12 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP12 )
+    IF ( PRESENT( KTEMP11 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP11 )
+    IF ( PRESENT( KTEMP10 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP10 )
+    IF ( PRESENT( KTEMP9  ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP9  )
+    IF ( PRESENT( KTEMP8  ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP8  )
+    IF ( PRESENT( KTEMP7  ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP7  )
+    IF ( PRESENT( KTEMP6  ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP6  )
+    IF ( PRESENT( KTEMP5  ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP5  )
+    IF ( PRESENT( KTEMP4  ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP4  )
+    IF ( PRESENT( KTEMP3  ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP3  )
+    CALL MNH_REL_ZT1DFLAT_N0( KTEMP2  )
+    CALL MNH_REL_ZT1DFLAT_N0( KTEMP1 )
+
   END SUBROUTINE MNH_REL_ZT1DFLAT