From 356e6bb39809eb0ff574e32f9b0f5cd295da7485 Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Wed, 10 Jul 2024 09:46:48 +0200
Subject: [PATCH] Philippe 10/07/2024: IO: bugfix: buffer size was wrong for 1D
 cases with ldimreduced=T

---
 src/LIB/SURCOUCHE/src/mode_io_field_read.f90 | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/LIB/SURCOUCHE/src/mode_io_field_read.f90 b/src/LIB/SURCOUCHE/src/mode_io_field_read.f90
index fabd602b3..d0d6ad4ee 100644
--- a/src/LIB/SURCOUCHE/src/mode_io_field_read.f90
+++ b/src/LIB/SURCOUCHE/src/mode_io_field_read.f90
@@ -626,7 +626,7 @@ IF (IRESP==0) THEN
           tzfield%ndimlist(2)  = tzfield%ndimlist(4) !Necessary if time dimension
           tzfield%ndimlist(3:) = NMNHDIM_UNUSED
         end if
-        allocate( zfield1d(size(pfield,2)) )
+        allocate( zfield1d(size(pfield,3)) )
         if ( gnc4 ) call IO_Field_read_nc4( tpfile, tzfield, zfield1d, iresp )
         if ( glfi ) call IO_Field_read_lfi( tpfile, tzfield, zfield1d, iresp )
         if ( iresp == 0 .or. iresp == -111 ) &
@@ -963,7 +963,7 @@ IF (IRESP==0) THEN
           tzfield%ndimlist(3)  = tzfield%ndimlist(5) !Necessary if time dimension
           tzfield%ndimlist(4:) = NMNHDIM_UNUSED
         end if
-        allocate( zfield2d(size(pfield,2), size(pfield,3)) )
+        allocate( zfield2d(size(pfield,3), size(pfield,4)) )
         if ( gnc4 ) call IO_Field_read_nc4( tpfile, tzfield, zfield2d, iresp )
         if ( glfi ) call IO_Field_read_lfi( tpfile, tzfield, zfield2d, iresp )
         if ( iresp == 0 .or. iresp == -111 ) &
@@ -1684,7 +1684,7 @@ IF (IRESP==0) THEN
           tzfield%ndimlist(2)  = tzfield%ndimlist(4) !Necessary if time dimension
           tzfield%ndimlist(3:) = NMNHDIM_UNUSED
         end if
-        allocate( ifield1d(size(kfield,2)) )
+        allocate( ifield1d(size(kfield,3)) )
         if ( gnc4 ) call IO_Field_read_nc4( tpfile, tzfield, ifield1d, iresp )
         if ( glfi ) call IO_Field_read_lfi( tpfile, tzfield, ifield1d, iresp )
         if ( iresp == 0 .or. iresp == -111 ) &
-- 
GitLab