From 4eddfaca49bdea4aae4c4b093d52e4a8789dd163 Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Mon, 29 Jan 2018 16:16:04 +0100
Subject: [PATCH] Philippe 29/01/2018: FIND_FIELD_ID_FROM_MNHNAME: add optional
 argument ONOWARNING to remove warning messages when they are normal (debug
 level)

---
 src/LIB/SURCOUCHE/src/mode_field.f90 | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/src/LIB/SURCOUCHE/src/mode_field.f90 b/src/LIB/SURCOUCHE/src/mode_field.f90
index a324cab46..63b1cfb73 100644
--- a/src/LIB/SURCOUCHE/src/mode_field.f90
+++ b/src/LIB/SURCOUCHE/src/mode_field.f90
@@ -3243,16 +3243,18 @@ END SUBROUTINE ERR_INI_FIELD_LIST
 !
 END SUBROUTINE INI_FIELD_LIST
 !
-SUBROUTINE FIND_FIELD_ID_FROM_MNHNAME(HMNHNAME,KID,KRESP)
+SUBROUTINE FIND_FIELD_ID_FROM_MNHNAME(HMNHNAME,KID,KRESP,ONOWARNING)
 !
 CHARACTER(LEN=*),            INTENT(IN) :: HMNHNAME !Name of the field to find
 INTEGER,                     INTENT(OUT):: KID      !Index of the field
 INTEGER,                     INTENT(OUT):: KRESP    !Return-code 
+LOGICAL, OPTIONAL,           INTENT(IN) :: ONOWARNING !If true, do not print warning
 !
 INTEGER :: IDX,JI
 INTEGER :: ICOUNT
 INTEGER,SAVE :: IFIRSTGUESS=1 !Store first field to test
 CHARACTER(LEN=64) :: YMSG
+LOGICAL :: GNOWARNING
 !
 !PW: TODO: possible optimizations:
 ! * Classement alphanumerique + index vers 1er champ commencant par caractere
@@ -3267,6 +3269,12 @@ KRESP = 0
 ICOUNT = 0
 IDX = IFIRSTGUESS
 !
+IF (PRESENT(ONOWARNING)) THEN
+  GNOWARNING = ONOWARNING
+ELSE
+  GNOWARNING = .FALSE.
+END IF
+!
 DO
   ICOUNT = ICOUNT + 1
   IF (TRIM(TFIELDLIST(IDX)%CMNHNAME)=='') THEN !Last entry
@@ -3284,7 +3292,11 @@ END DO
 IF (KID==0) THEN
   !Field not found
   KRESP = -1
-  CALL PRINT_MSG(NVERB_WARNING,'GEN','FIND_FIELD_ID_FROM_MNHNAME','field '//TRIM(HMNHNAME)//' not known')
+  IF (.NOT.GNOWARNING) THEN
+    CALL PRINT_MSG(NVERB_WARNING,'GEN','FIND_FIELD_ID_FROM_MNHNAME','field '//TRIM(HMNHNAME)//' not known')
+  ELSE
+    CALL PRINT_MSG(NVERB_DEBUG,'GEN','FIND_FIELD_ID_FROM_MNHNAME','field '//TRIM(HMNHNAME)//' not known (not unexpected)')
+  END IF
 ELSE
   IFIRSTGUESS = IDX+1
   IF (IFIRSTGUESS>MAXFIELDS) IFIRSTGUESS = 1
-- 
GitLab