From 64a791e42decb4d883ed8e398c2f251d169e0e51 Mon Sep 17 00:00:00 2001
From: Quentin Rodier <quentin.rodier@meteo.fr>
Date: Wed, 25 Oct 2023 14:17:23 +0200
Subject: [PATCH] Quentin 25/10/2023: yomhook is now unique between ECRAD and
 MNH (from PHYEX) and updated to cy49t1

---
 .../RAD/ecrad-1.4.0_mnh/drhook/yomhook.f90    | 156 ++++++++++++++++++
 src/Makefile.MESONH.mk                        |   2 +-
 2 files changed, 157 insertions(+), 1 deletion(-)
 create mode 100644 src/LIB/RAD/ecrad-1.4.0_mnh/drhook/yomhook.f90

diff --git a/src/LIB/RAD/ecrad-1.4.0_mnh/drhook/yomhook.f90 b/src/LIB/RAD/ecrad-1.4.0_mnh/drhook/yomhook.f90
new file mode 100644
index 000000000..a0b84f764
--- /dev/null
+++ b/src/LIB/RAD/ecrad-1.4.0_mnh/drhook/yomhook.f90
@@ -0,0 +1,156 @@
+!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
+!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
+!MNH_LIC for details. version 1.
+MODULE YOMHOOK
+USE PARKIND1  ,ONLY : JPIM     ,JPRB
+LOGICAL :: LHOOK=.FALSE.
+INTEGER, PARAMETER :: JPHOOK=JPRB
+INTERFACE DR_HOOK  
+MODULE PROCEDURE &
+  DR_HOOK_DEFAULT, &
+  DR_HOOK_FILE, &
+  DR_HOOK_SIZE, &
+  DR_HOOK_FILE_SIZE, &
+  DR_HOOK_MULTI_DEFAULT, &
+  DR_HOOK_MULTI_FILE, &
+  DR_HOOK_MULTI_SIZE, &
+  DR_HOOK_MULTI_FILE_SIZE
+END INTERFACE
+
+CONTAINS 
+
+SUBROUTINE DR_HOOK_DEFAULT(CDNAME,KSWITCH,PKEY)
+CHARACTER(LEN=*), INTENT(IN) :: CDNAME
+INTEGER(KIND=JPIM),        INTENT(IN) :: KSWITCH
+REAL(KIND=JPRB),        INTENT(INOUT) :: PKEY
+!CALL DR_HOOK_UTIL(CDNAME,KSWITCH,PKEY,'',0)
+END SUBROUTINE DR_HOOK_DEFAULT
+
+SUBROUTINE DR_HOOK_MULTI_DEFAULT(CDNAME,KSWITCH,PKEY)
+CHARACTER(LEN=*), INTENT(IN) :: CDNAME
+INTEGER(KIND=JPIM),        INTENT(IN) :: KSWITCH
+REAL(KIND=JPRB),        INTENT(INOUT) :: PKEY(:)
+!CALL DR_HOOK_UTIL_MULTI(CDNAME,KSWITCH,PKEY,SIZE(PKEY),'',0)
+END SUBROUTINE DR_HOOK_MULTI_DEFAULT
+
+
+
+SUBROUTINE DR_HOOK_FILE(CDNAME,KSWITCH,PKEY,CDFILE)
+CHARACTER(LEN=*), INTENT(IN) :: CDNAME,CDFILE
+INTEGER(KIND=JPIM),        INTENT(IN) :: KSWITCH
+REAL(KIND=JPRB),        INTENT(INOUT) :: PKEY
+!CALL DR_HOOK_UTIL(CDNAME,KSWITCH,PKEY,CDFILE,0)
+END SUBROUTINE DR_HOOK_FILE
+
+SUBROUTINE DR_HOOK_MULTI_FILE(CDNAME,KSWITCH,PKEY,CDFILE)
+CHARACTER(LEN=*), INTENT(IN) :: CDNAME,CDFILE
+INTEGER(KIND=JPIM),        INTENT(IN) :: KSWITCH
+REAL(KIND=JPRB),        INTENT(INOUT) :: PKEY(:)
+!CALL DR_HOOK_UTIL_MULTI(CDNAME,KSWITCH,PKEY,SIZE(PKEY),CDFILE,0)
+END SUBROUTINE DR_HOOK_MULTI_FILE
+
+
+
+SUBROUTINE DR_HOOK_SIZE(CDNAME,KSWITCH,PKEY,KSIZEINFO)
+CHARACTER(LEN=*), INTENT(IN) :: CDNAME
+INTEGER(KIND=JPIM),        INTENT(IN) :: KSWITCH,KSIZEINFO
+REAL(KIND=JPRB),        INTENT(INOUT) :: PKEY
+!CALL DR_HOOK_UTIL(CDNAME,KSWITCH,PKEY,'',KSIZEINFO)
+END SUBROUTINE DR_HOOK_SIZE
+
+SUBROUTINE DR_HOOK_MULTI_SIZE(CDNAME,KSWITCH,PKEY,KSIZEINFO)
+CHARACTER(LEN=*), INTENT(IN) :: CDNAME
+INTEGER(KIND=JPIM),        INTENT(IN) :: KSWITCH,KSIZEINFO
+REAL(KIND=JPRB),        INTENT(INOUT) :: PKEY(:)
+!CALL DR_HOOK_UTIL_MULTI(CDNAME,KSWITCH,PKEY,SIZE(PKEY),'',KSIZEINFO)
+END SUBROUTINE DR_HOOK_MULTI_SIZE
+
+
+
+SUBROUTINE DR_HOOK_FILE_SIZE(CDNAME,KSWITCH,PKEY,CDFILE,KSIZEINFO)
+CHARACTER(LEN=*), INTENT(IN) :: CDNAME,CDFILE
+INTEGER(KIND=JPIM),        INTENT(IN) :: KSWITCH,KSIZEINFO
+REAL(KIND=JPRB),        INTENT(INOUT) :: PKEY
+!CALL DR_HOOK_UTIL(CDNAME,KSWITCH,PKEY,CDFILE,KSIZEINFO)
+END SUBROUTINE DR_HOOK_FILE_SIZE
+
+SUBROUTINE DR_HOOK_MULTI_FILE_SIZE(CDNAME,KSWITCH,PKEY,CDFILE,KSIZEINFO)
+CHARACTER(LEN=*), INTENT(IN) :: CDNAME,CDFILE
+INTEGER(KIND=JPIM),        INTENT(IN) :: KSWITCH,KSIZEINFO
+REAL(KIND=JPRB),        INTENT(INOUT) :: PKEY(:)
+!CALL DR_HOOK_UTIL_MULTI(CDNAME,KSWITCH,PKEY,SIZE(PKEY),CDFILE,KSIZEINFO)
+END SUBROUTINE DR_HOOK_MULTI_FILE_SIZE
+
+END MODULE YOMHOOK
+!====================================================================
+SUBROUTINE DR_HOOK_DEFAULT(CDNAME,KSWITCH,PKEY)
+USE PARKIND1  ,ONLY : JPIM     ,JPRB
+CHARACTER(LEN=*), INTENT(IN) :: CDNAME
+INTEGER(KIND=JPIM),        INTENT(IN) :: KSWITCH
+REAL(KIND=JPRB),        INTENT(INOUT) :: PKEY
+!CALL DR_HOOK_UTIL(CDNAME,KSWITCH,PKEY,'',0)
+END SUBROUTINE DR_HOOK_DEFAULT
+
+SUBROUTINE DR_HOOK_MULTI_DEFAULT(CDNAME,KSWITCH,PKEY)
+USE PARKIND1  ,ONLY : JPIM     ,JPRB
+CHARACTER(LEN=*), INTENT(IN) :: CDNAME
+INTEGER(KIND=JPIM),        INTENT(IN) :: KSWITCH
+REAL(KIND=JPRB),        INTENT(INOUT) :: PKEY(:)
+!CALL DR_HOOK_UTIL_MULTI(CDNAME,KSWITCH,PKEY,SIZE(PKEY),'',0)
+END SUBROUTINE DR_HOOK_MULTI_DEFAULT
+
+
+
+SUBROUTINE DR_HOOK_FILE(CDNAME,KSWITCH,PKEY,CDFILE)
+USE PARKIND1  ,ONLY : JPIM     ,JPRB
+CHARACTER(LEN=*), INTENT(IN) :: CDNAME,CDFILE
+INTEGER(KIND=JPIM),        INTENT(IN) :: KSWITCH
+REAL(KIND=JPRB),        INTENT(INOUT) :: PKEY
+!CALL DR_HOOK_UTIL(CDNAME,KSWITCH,PKEY,CDFILE,0)
+END SUBROUTINE DR_HOOK_FILE
+
+SUBROUTINE DR_HOOK_MULTI_FILE(CDNAME,KSWITCH,PKEY,CDFILE)
+USE PARKIND1  ,ONLY : JPIM     ,JPRB
+CHARACTER(LEN=*), INTENT(IN) :: CDNAME,CDFILE
+INTEGER(KIND=JPIM),        INTENT(IN) :: KSWITCH
+REAL(KIND=JPRB),        INTENT(INOUT) :: PKEY(:)
+!CALL DR_HOOK_UTIL_MULTI(CDNAME,KSWITCH,PKEY,SIZE(PKEY),CDFILE,0)
+END SUBROUTINE DR_HOOK_MULTI_FILE
+
+
+
+SUBROUTINE DR_HOOK_SIZE(CDNAME,KSWITCH,PKEY,KSIZEINFO)
+USE PARKIND1  ,ONLY : JPIM     ,JPRB
+CHARACTER(LEN=*), INTENT(IN) :: CDNAME
+INTEGER(KIND=JPIM),        INTENT(IN) :: KSWITCH,KSIZEINFO
+REAL(KIND=JPRB),        INTENT(INOUT) :: PKEY
+!CALL DR_HOOK_UTIL(CDNAME,KSWITCH,PKEY,'',KSIZEINFO)
+END SUBROUTINE DR_HOOK_SIZE
+
+SUBROUTINE DR_HOOK_MULTI_SIZE(CDNAME,KSWITCH,PKEY,KSIZEINFO)
+USE PARKIND1  ,ONLY : JPIM     ,JPRB
+CHARACTER(LEN=*), INTENT(IN) :: CDNAME
+INTEGER(KIND=JPIM),        INTENT(IN) :: KSWITCH,KSIZEINFO
+REAL(KIND=JPRB),        INTENT(INOUT) :: PKEY(:)
+!CALL DR_HOOK_UTIL_MULTI(CDNAME,KSWITCH,PKEY,SIZE(PKEY),'',KSIZEINFO)
+END SUBROUTINE DR_HOOK_MULTI_SIZE
+
+
+
+SUBROUTINE DR_HOOK_FILE_SIZE(CDNAME,KSWITCH,PKEY,CDFILE,KSIZEINFO)
+USE PARKIND1  ,ONLY : JPIM     ,JPRB
+CHARACTER(LEN=*), INTENT(IN) :: CDNAME,CDFILE
+INTEGER(KIND=JPIM),        INTENT(IN) :: KSWITCH,KSIZEINFO
+REAL(KIND=JPRB),        INTENT(INOUT) :: PKEY
+!CALL DR_HOOK_UTIL(CDNAME,KSWITCH,PKEY,CDFILE,KSIZEINFO)
+END SUBROUTINE DR_HOOK_FILE_SIZE
+
+SUBROUTINE DR_HOOK_MULTI_FILE_SIZE(CDNAME,KSWITCH,PKEY,CDFILE,KSIZEINFO)
+USE PARKIND1  ,ONLY : JPIM     ,JPRB
+CHARACTER(LEN=*), INTENT(IN) :: CDNAME,CDFILE
+INTEGER(KIND=JPIM),        INTENT(IN) :: KSWITCH,KSIZEINFO
+REAL(KIND=JPRB),        INTENT(INOUT) :: PKEY(:)
+!CALL DR_HOOK_UTIL_MULTI(CDNAME,KSWITCH,PKEY,SIZE(PKEY),CDFILE,KSIZEINFO)
+END SUBROUTINE DR_HOOK_MULTI_FILE_SIZE
+
diff --git a/src/Makefile.MESONH.mk b/src/Makefile.MESONH.mk
index bcf99b13e..339f4bb79 100644
--- a/src/Makefile.MESONH.mk
+++ b/src/Makefile.MESONH.mk
@@ -145,7 +145,7 @@ CPPFLAGS_RAD = -DMNH_ECRAD -DVER_ECRAD=$(VER_ECRAD)
 INC_RAD      += -I$(B)LIB/RAD/ecrad-$(VERSION_ECRAD)/include
 ifeq "$(VER_ECRAD)" "140"
 INC_RAD      += -I$(B)LIB/RAD/ecrad-$(VERSION_ECRAD)/drhook/include
-IGNORE_DEP_MASTER   += yomhook.D
+#IGNORE_DEP_MASTER   += yomhook.D
 endif
 ifneq "$(VER_ECRAD)" "140"
 IGNORE_DEP_MASTER   += read_albedo_data.D read_emiss_data.D
-- 
GitLab