From 1cdd9d9253914bd863e7103baf4924b44492ff6a Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Fri, 16 Mar 2018 15:08:34 +0100
Subject: [PATCH] Philippe 16/03/2018: IO: ADD2LIST: allow adding 2 files with
 same name but different formats

---
 src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90 | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90 b/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90
index 48f874689..b8ebef4a5 100644
--- a/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90
+++ b/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90
@@ -623,12 +623,20 @@ END IF
 !
 CALL IO_FILE_FIND_BYNAME(HNAME,TPFILE,IRESP,OOLD=GOLD)
 IF (IRESP==0) THEN
-  IF (.NOT.GOLD) THEN
-    CALL PRINT_MSG(NVERB_ERROR,'IO','IO_FILE_ADD2LIST','file '//TRIM(HNAME)//' already in filelist')
+  !File has been found
+  !Check if really same one (LFI vs netCDF for LFI2CDF program)
+  IF (PRESENT(HFORMAT)) THEN
+    IF ( (HFORMAT=='LFI' .AND. TPFILE%CFORMAT/='NETCDF4') .OR. (HFORMAT=='NETCDF4' .AND. TPFILE%CFORMAT/='LFI') ) THEN
+      CALL PRINT_MSG(NVERB_FATAL,'IO','IO_FILE_ADD2LIST','file '//TRIM(HNAME)//' already in filelist')
+    END IF
   ELSE
-    CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_FILE_ADD2LIST','file '//TRIM(HNAME)//' already in filelist (not unexpected)')
+    IF (.NOT.GOLD) THEN
+      CALL PRINT_MSG(NVERB_ERROR,'IO','IO_FILE_ADD2LIST','file '//TRIM(HNAME)//' already in filelist')
+    ELSE
+      CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_FILE_ADD2LIST','file '//TRIM(HNAME)//' already in filelist (not unexpected)')
+    END IF
+    RETURN
   END IF
-  RETURN
 END IF
 !
 IMI = GET_CURRENT_MODEL_INDEX()
-- 
GitLab