diff --git a/src/LIB/SURCOUCHE/src/mode_io_tools.f90 b/src/LIB/SURCOUCHE/src/mode_io_tools.f90
index d6b55d2b1865368738ec96c5e0465729887ef600..b48b26b7b02f25e0503295ededc9ec19fd70a292 100644
--- a/src/LIB/SURCOUCHE/src/mode_io_tools.f90
+++ b/src/LIB/SURCOUCHE/src/mode_io_tools.f90
@@ -105,12 +105,12 @@ SUBROUTINE IO_Dim_main_to_box( TPFIELD )
               CALL Print_msg( NVERB_ERROR, 'IO', 'IO_Dim_main_to_box',               &
                               trim(tpfield%cmnhname) // ': unexpected 1st dimension' )
             TPFIELD%NDIMLIST(1) = NMNHDIM_BOX_NI
-          CASE( 2 )
+          CASE( 2, 5, 6, 8 )
             IF ( TPFIELD%NDIMLIST(1)/= NMNHDIM_NI_U )                                &
               CALL Print_msg( NVERB_ERROR, 'IO', 'IO_Dim_main_to_box',               &
                               trim(tpfield%cmnhname) // ': unexpected 1st dimension' )
             TPFIELD%NDIMLIST(1) = NMNHDIM_BOX_NI_U
-          CASE( 3 )
+          CASE( 3, 7 )
             IF ( TPFIELD%NDIMLIST(1)/= NMNHDIM_NI_V )                                &
               CALL Print_msg( NVERB_ERROR, 'IO', 'IO_Dim_main_to_box',               &
                               trim(tpfield%cmnhname) // ': unexpected 1st dimension' )
@@ -126,12 +126,12 @@ SUBROUTINE IO_Dim_main_to_box( TPFIELD )
               CALL Print_msg( NVERB_ERROR, 'IO', 'IO_Dim_main_to_box',               &
                               trim(tpfield%cmnhname) // ': unexpected 1st dimension' )
             TPFIELD%NDIMLIST(1) = NMNHDIM_BOX_NJ
-          CASE( 2 )
+          CASE( 2, 6 )
             IF ( TPFIELD%NDIMLIST(1)/= NMNHDIM_NJ_U )                                &
               CALL Print_msg( NVERB_ERROR, 'IO', 'IO_Dim_main_to_box',               &
                               trim(tpfield%cmnhname) // ': unexpected 1st dimension' )
             TPFIELD%NDIMLIST(1) = NMNHDIM_BOX_NJ_U
-          CASE( 3 )
+          CASE( 3, 5, 7, 8 )
             IF ( TPFIELD%NDIMLIST(1)/= NMNHDIM_NJ_V )                                &
               CALL Print_msg( NVERB_ERROR, 'IO', 'IO_Dim_main_to_box',               &
                               trim(tpfield%cmnhname) // ': unexpected 1st dimension' )
@@ -142,12 +142,12 @@ SUBROUTINE IO_Dim_main_to_box( TPFIELD )
 
       CASE ( 'ZZ' )
         SELECT CASE ( TPFIELD%NGRID )
-          CASE( 1, 2, 3 )
+          CASE( 1, 2, 3, 5 )
             IF ( TPFIELD%NDIMLIST(1)/= NMNHDIM_LEVEL )                               &
               CALL Print_msg( NVERB_ERROR, 'IO', 'IO_Dim_main_to_box',               &
                               trim(tpfield%cmnhname) // ': unexpected 1st dimension' )
             TPFIELD%NDIMLIST(1) = NMNHDIM_BOX_LEVEL
-          CASE( 4 )
+          CASE( 4, 6, 7, 8 )
             IF ( TPFIELD%NDIMLIST(1)/= NMNHDIM_LEVEL_W )                             &
               CALL Print_msg( NVERB_ERROR, 'IO', 'IO_Dim_main_to_box',               &
                               trim(tpfield%cmnhname) // ': unexpected 1st dimension' )
@@ -169,12 +169,12 @@ SUBROUTINE IO_Dim_main_to_box( TPFIELD )
           CALL Print_msg( NVERB_ERROR, 'IO', 'IO_Dim_main_to_box',               &
                           trim(tpfield%cmnhname) // ': unexpected 1st dimension' )
         TPFIELD%NDIMLIST(1) = NMNHDIM_BOX_NI
-      CASE( 2 )
+      CASE( 2, 5, 6, 8 )
         IF ( TPFIELD%NDIMLIST(1)/= NMNHDIM_NI_U )                                &
           CALL Print_msg( NVERB_ERROR, 'IO', 'IO_Dim_main_to_box',               &
                           trim(tpfield%cmnhname) // ': unexpected 1st dimension' )
         TPFIELD%NDIMLIST(1) = NMNHDIM_BOX_NI_U
-      CASE( 3 )
+      CASE( 3, 7 )
         IF ( TPFIELD%NDIMLIST(1)/= NMNHDIM_NI_V )                                &
           CALL Print_msg( NVERB_ERROR, 'IO', 'IO_Dim_main_to_box',               &
                           trim(tpfield%cmnhname) // ': unexpected 1st dimension' )
@@ -191,12 +191,12 @@ SUBROUTINE IO_Dim_main_to_box( TPFIELD )
           CALL Print_msg( NVERB_ERROR, 'IO', 'IO_Dim_main_to_box',               &
                           trim(tpfield%cmnhname) // ': unexpected 2nd dimension' )
         TPFIELD%NDIMLIST(2) = NMNHDIM_BOX_NJ
-      CASE( 2 )
+      CASE( 2, 6 )
         IF ( TPFIELD%NDIMLIST(2)/= NMNHDIM_NJ_U )                                &
           CALL Print_msg( NVERB_ERROR, 'IO', 'IO_Dim_main_to_box',               &
                           trim(tpfield%cmnhname) // ': unexpected 2nd dimension' )
         TPFIELD%NDIMLIST(2) = NMNHDIM_BOX_NJ_U
-      CASE( 3 )
+      CASE( 3, 5, 7, 8 )
         IF ( TPFIELD%NDIMLIST(2)/= NMNHDIM_NJ_V )                                &
           CALL Print_msg( NVERB_ERROR, 'IO', 'IO_Dim_main_to_box',               &
                           trim(tpfield%cmnhname) // ': unexpected 2nd dimension' )
@@ -206,12 +206,12 @@ SUBROUTINE IO_Dim_main_to_box( TPFIELD )
 
   IF ( TPFIELD%NDIMS >= 3 ) THEN
     SELECT CASE ( TPFIELD%NGRID )
-      CASE( 1, 2, 3 )
+      CASE( 1, 2, 3, 5 )
         IF ( TPFIELD%NDIMLIST(3)/= NMNHDIM_LEVEL )                               &
           CALL Print_msg( NVERB_ERROR, 'IO', 'IO_Dim_main_to_box',               &
                           trim(tpfield%cmnhname) // ': unexpected 3rd dimension' )
         TPFIELD%NDIMLIST(3) = NMNHDIM_BOX_LEVEL
-      CASE( 4 )
+      CASE( 4, 6, 7, 8 )
         IF ( TPFIELD%NDIMLIST(3)/= NMNHDIM_LEVEL_W )                             &
           CALL Print_msg( NVERB_ERROR, 'IO', 'IO_Dim_main_to_box',               &
                           trim(tpfield%cmnhname) // ': unexpected 3rd dimension' )