From 2a1a4b5acfcfa0307d62400b6cf991f41ec8fc05 Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Fri, 19 Mar 2021 14:29:39 +0100
Subject: [PATCH] Philippe 19/03/2021: bugfix for intel bug workaround

---
 src/LIB/SURCOUCHE/src/mode_io_tools_nc4.f90 | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/LIB/SURCOUCHE/src/mode_io_tools_nc4.f90 b/src/LIB/SURCOUCHE/src/mode_io_tools_nc4.f90
index 99d9d62e7..544dc32ce 100644
--- a/src/LIB/SURCOUCHE/src/mode_io_tools_nc4.f90
+++ b/src/LIB/SURCOUCHE/src/mode_io_tools_nc4.f90
@@ -16,7 +16,7 @@
 !  P. Wautelet 10/11/2020: new data structures for netCDF dimensions
 !  P. Wautelet 26/11/2020: IO_Vdims_fill_nc4: support for empty kshape
 !  P. Wautelet 08/12/2020: add nbutotwrite
-!  P. Wautelet 18/03/2021: workaround for an intel compiler bug (corrected in 19.1.2)
+!  P. Wautelet 18/03/2021: workaround for an intel compiler bug
 !-----------------------------------------------------------------
 #ifdef MNH_IOCDF4
 module mode_io_tools_nc4
@@ -693,11 +693,11 @@ if ( kidx == - 1 ) then
     call IO_Err_handle_nc4( istatus, 'IO_Dim_find_create_nc4', 'NF90_DEF_DIM', Trim( tzncdims(inewsize)%cname) )
 
 #if 0
-  !Disabled here due to a bug in the Intel compiler (corrected in the 19.1.2 version)
+  !Disabled here due to a probable bug in the Intel compiler
   call Move_alloc( from = tzncdims, to = tpfile%tncdims%tdims )
 #else
   !Do the Move_alloc by hand...
-  Deallocate( tpfile%tncdims%tdims )
+  if ( Allocated( tpfile%tncdims%tdims ) ) Deallocate( tpfile%tncdims%tdims )
   Allocate( tpfile%tncdims%tdims(Size( tzncdims )) )
   tpfile%tncdims%tdims(:) = tzncdims
   Deallocate( tzncdims )
@@ -759,11 +759,11 @@ if ( idx == -1 ) then
     call IO_Err_handle_nc4( istatus, 'IO_Strdimid_get_nc4', 'NF90_DEF_DIM', Trim( tzncdims(inewsize)%cname) )
 
 #if 0
-  !Disabled here due to a bug in the Intel compiler (corrected in the 19.1.2 version)
+  !Disabled here due to a probable bug in the Intel compiler
   call Move_alloc( from = tzncdims, to = tpfile%tncdims%tdims_str )
 #else
   !Do the Move_alloc by hand...
-  Deallocate( tpfile%tncdims%tdims_str )
+  if ( Allocated( tpfile%tncdims%tdims_str ) ) Deallocate( tpfile%tncdims%tdims_str )
   Allocate( tpfile%tncdims%tdims_str(Size( tzncdims )) )
   tpfile%tncdims%tdims_str(:) = tzncdims(:)
   Deallocate( tzncdims )
-- 
GitLab