From a0abda59d453285573b470c2f19aed151c7b1737 Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Wed, 7 Feb 2024 11:27:12 +0100
Subject: [PATCH] Philippe 07/02/2024: IO: add attributes in written netCDF
 files for compression and float precision reduction

---
 src/LIB/SURCOUCHE/src/mode_io_write_nc4.f90 | 27 +++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/src/LIB/SURCOUCHE/src/mode_io_write_nc4.f90 b/src/LIB/SURCOUCHE/src/mode_io_write_nc4.f90
index ef95fa496..01d333dba 100644
--- a/src/LIB/SURCOUCHE/src/mode_io_write_nc4.f90
+++ b/src/LIB/SURCOUCHE/src/mode_io_write_nc4.f90
@@ -2395,6 +2395,33 @@ IF (TPFILE%LMASTER)  THEN
     istatus = NF90_PUT_ATT( tpfile%nncid, NF90_GLOBAL, 'MNH_REDUCE_DIMENSIONS_IN_FILES', '0')
   endif
 
+  ! Add attributes for compression and float precision reduction
+#if (MNH_REAL == 4)
+  ISTATUS = NF90_PUT_ATT( TPFILE%NNCID, NF90_GLOBAL, 'MNH_REDUCE_FLOAT_PRECISION', '0' )
+#else
+  IF ( TPFILE%LNCREDUCE_FLOAT_PRECISION ) THEN
+    ISTATUS = NF90_PUT_ATT( TPFILE%NNCID, NF90_GLOBAL, 'MNH_REDUCE_FLOAT_PRECISION', '1' )
+  ELSE
+    ISTATUS = NF90_PUT_ATT (TPFILE%NNCID, NF90_GLOBAL, 'MNH_REDUCE_FLOAT_PRECISION', '0' )
+  END IF
+#endif
+  IF ( ISTATUS /= NF90_NOERR ) &
+    CALL IO_Err_handle_nc4( istatus, 'IO_FILE_WRITE_HEADER', 'NF90_PUT_ATT', 'MNH_REDUCE_FLOAT_PRECISION' )
+
+  IF ( TPFILE%LNCCOMPRESS ) THEN
+    ISTATUS = NF90_PUT_ATT( TPFILE%NNCID, NF90_GLOBAL, 'MNH_COMPRESS', '1' )
+  ELSE
+    ISTATUS = NF90_PUT_ATT( TPFILE%NNCID, NF90_GLOBAL, 'MNH_COMPRESS', '0' )
+  END IF
+  IF ( ISTATUS /= NF90_NOERR ) CALL IO_Err_handle_nc4( istatus, 'IO_FILE_WRITE_HEADER', 'NF90_PUT_ATT', 'MNH_COMPRESS' )
+
+  IF ( TPFILE%LNCCOMPRESS_LOSSY ) THEN
+    ISTATUS = NF90_PUT_ATT( TPFILE%NNCID, NF90_GLOBAL, 'MNH_COMPRESS_LOSSY', '1' )
+  ELSE
+    ISTATUS = NF90_PUT_ATT( TPFILE%NNCID, NF90_GLOBAL, 'MNH_COMPRESS_LOSSY', '0' )
+  END IF
+  IF ( ISTATUS /= NF90_NOERR ) CALL IO_Err_handle_nc4( istatus, 'IO_FILE_WRITE_HEADER', 'NF90_PUT_ATT', 'MNH_COMPRESS_LOSSY' )
+
 !title
 
   !history
-- 
GitLab