diff --git a/src/LIB/SURCOUCHE/src/mode_netcdf.f90 b/src/LIB/SURCOUCHE/src/mode_netcdf.f90
index 38ac393a886346945701efd929cca7436a60bc33..5df150185926a971566f108ef7ae1c1570b486ee 100644
--- a/src/LIB/SURCOUCHE/src/mode_netcdf.f90
+++ b/src/LIB/SURCOUCHE/src/mode_netcdf.f90
@@ -1293,7 +1293,7 @@ CALL IO_WRITE_FIELD_ATTR_NC4(TPFILE,TPFIELD,IVARID,GEXISTED)
 STATUS = NF90_PUT_VAR(INCID, IVARID, PFIELD)
 IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_X1[NF90_PUT_VAR] '//TRIM(TPFIELD%CMNHNAME),IRESP)
 
-DEALLOCATE(IVDIMS)
+IF(ALLOCATED(IVDIMS)) DEALLOCATE(IVDIMS)
 
 KRESP = IRESP
 END SUBROUTINE IO_WRITE_FIELD_NC4_X1
@@ -1384,7 +1384,7 @@ CALL IO_WRITE_FIELD_ATTR_NC4(TZFILE,TZFIELD,IVARID,GEXISTED,KSHAPE=INT(SHAPE(PFI
 STATUS = NF90_PUT_VAR(INCID, IVARID, PFIELD)
 IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_X2[NF90_PUT_VAR] '//TRIM(TZFIELD%CMNHNAME),IRESP)
  
-DEALLOCATE(IVDIMS)
+IF(ALLOCATED(IVDIMS)) DEALLOCATE(IVDIMS)
 
 KRESP = IRESP
 END SUBROUTINE IO_WRITE_FIELD_NC4_X2
@@ -1451,7 +1451,7 @@ CALL IO_WRITE_FIELD_ATTR_NC4(TPFILE,TPFIELD,IVARID,GEXISTED,KSHAPE=INT(SHAPE(PFI
 STATUS = NF90_PUT_VAR(INCID, IVARID, PFIELD)
 IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_X3[NF90_PUT_VAR] '//TRIM(TPFIELD%CMNHNAME),IRESP)
 
-DEALLOCATE(IVDIMS)
+IF(ALLOCATED(IVDIMS)) DEALLOCATE(IVDIMS)
 
 KRESP = IRESP
 END SUBROUTINE IO_WRITE_FIELD_NC4_X3
@@ -1518,7 +1518,7 @@ CALL IO_WRITE_FIELD_ATTR_NC4(TPFILE,TPFIELD,IVARID,GEXISTED,KSHAPE=INT(SHAPE(PFI
 STATUS = NF90_PUT_VAR(INCID, IVARID, PFIELD)
 IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_X4[NF90_PUT_VAR] '//TRIM(TPFIELD%CMNHNAME),IRESP)
 
-DEALLOCATE(IVDIMS)
+IF(ALLOCATED(IVDIMS)) DEALLOCATE(IVDIMS)
 
 KRESP = IRESP
 END SUBROUTINE IO_WRITE_FIELD_NC4_X4
@@ -1585,7 +1585,7 @@ CALL IO_WRITE_FIELD_ATTR_NC4(TPFILE,TPFIELD,IVARID,GEXISTED,KSHAPE=INT(SHAPE(PFI
 STATUS = NF90_PUT_VAR(INCID, IVARID, PFIELD)
 IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_X5[NF90_PUT_VAR] '//TRIM(TPFIELD%CMNHNAME),IRESP)
 
-DEALLOCATE(IVDIMS)
+IF(ALLOCATED(IVDIMS)) DEALLOCATE(IVDIMS)
 
 KRESP = IRESP
 END SUBROUTINE IO_WRITE_FIELD_NC4_X5
@@ -1652,7 +1652,7 @@ CALL IO_WRITE_FIELD_ATTR_NC4(TPFILE,TPFIELD,IVARID,GEXISTED,KSHAPE=INT(SHAPE(PFI
 STATUS = NF90_PUT_VAR(INCID, IVARID, PFIELD)
 IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_X6[NF90_PUT_VAR] '//TRIM(TPFIELD%CMNHNAME),IRESP)
 
-DEALLOCATE(IVDIMS)
+IF(ALLOCATED(IVDIMS)) DEALLOCATE(IVDIMS)
 
 KRESP = IRESP
 END SUBROUTINE IO_WRITE_FIELD_NC4_X6
@@ -1805,7 +1805,7 @@ CALL IO_WRITE_FIELD_ATTR_NC4(TPFILE,TPFIELD,IVARID,GEXISTED)
 STATUS = NF90_PUT_VAR(INCID, IVARID, KFIELD)
 IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_N1[NF90_PUT_VAR] '//TRIM(TPFIELD%CMNHNAME),IRESP)
 
-DEALLOCATE(IVDIMS)
+IF(ALLOCATED(IVDIMS)) DEALLOCATE(IVDIMS)
 
 KRESP = IRESP
 END SUBROUTINE IO_WRITE_FIELD_NC4_N1
@@ -1872,7 +1872,7 @@ CALL IO_WRITE_FIELD_ATTR_NC4(TPFILE,TPFIELD,IVARID,GEXISTED,KSHAPE=INT(SHAPE(KFI
 STATUS = NF90_PUT_VAR(INCID, IVARID, KFIELD)
 IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_N2[NF90_PUT_VAR] '//TRIM(TPFIELD%CMNHNAME),IRESP)
 
-DEALLOCATE(IVDIMS)
+IF(ALLOCATED(IVDIMS)) DEALLOCATE(IVDIMS)
 
 KRESP = IRESP
 END SUBROUTINE IO_WRITE_FIELD_NC4_N2
@@ -1938,7 +1938,7 @@ CALL IO_WRITE_FIELD_ATTR_NC4(TPFILE,TPFIELD,IVARID,GEXISTED,KSHAPE=INT(SHAPE(KFI
 STATUS = NF90_PUT_VAR(INCID, IVARID, KFIELD)
 IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_N3[NF90_PUT_VAR] '//TRIM(TPFIELD%CMNHNAME),IRESP)
 
-DEALLOCATE(IVDIMS)
+IF(ALLOCATED(IVDIMS)) DEALLOCATE(IVDIMS)
 
 KRESP = IRESP
 END SUBROUTINE IO_WRITE_FIELD_NC4_N3
@@ -2071,7 +2071,7 @@ CALL IO_WRITE_FIELD_ATTR_NC4(TPFILE,TPFIELD,IVARID,GEXISTED)
 STATUS = NF90_PUT_VAR(INCID, IVARID, IFIELD)
 IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_L1[NF90_PUT_VAR] '//TRIM(TPFIELD%CMNHNAME),IRESP)
 
-DEALLOCATE(IVDIMS)
+IF(ALLOCATED(IVDIMS)) DEALLOCATE(IVDIMS)
 
 KRESP = IRESP
 END SUBROUTINE IO_WRITE_FIELD_NC4_L1