From 5a390e2b2e0a2b56e9b05178e559988a517d69a9 Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Tue, 6 Jul 2021 14:02:00 +0200
Subject: [PATCH] Philippe 06/07/2021: secure SURFEX_DEALLO_LIST (possibility
 to call it even if YSURF_LIST not allocated)

---
 src/MNH/modd_mnh_surfexn.f90 | 23 ++++++++++++++++++-----
 1 file changed, 18 insertions(+), 5 deletions(-)

diff --git a/src/MNH/modd_mnh_surfexn.f90 b/src/MNH/modd_mnh_surfexn.f90
index 5863841a2..ce56aad27 100644
--- a/src/MNH/modd_mnh_surfexn.f90
+++ b/src/MNH/modd_mnh_surfexn.f90
@@ -1,3 +1,13 @@
+!MNH_LIC Copyright 2016-2021 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.
+!-----------------------------------------------------------------
+! Author:
+!  ???
+! Modifications:
+!  P. Wautelet 06/07/2021: secure SURFEX_DEALLO_LIST (possibility to call it even if YSURF_LIST not allocated)
+!-----------------------------------------------------------------
 MODULE MODD_MNH_SURFEX_n
 !
 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
@@ -57,12 +67,15 @@ INTEGER :: J
 REAL(KIND=JPRB) :: ZHOOK_HANDLE
 IF (LHOOK) CALL DR_HOOK("MODD_MNH_SURFEX_n:SURFEX_DEALLO_LIST",0,ZHOOK_HANDLE)
 !
-DO J=1,SIZE(YSURF_LIST)
-  CALL SURFEX_DEALLO(YSURF_LIST(J))
-ENDDO
+IF ( ASSOCIATED( YSURF_CUR ) ) NULLIFY(YSURF_CUR)
 !
-IF (ASSOCIATED(YSURF_CUR)) NULLIFY(YSURF_CUR)
-IF (ALLOCATED(YSURF_LIST)) DEALLOCATE(YSURF_LIST)
+IF ( ALLOCATED( YSURF_LIST ) ) THEN
+  DO J = 1, SIZE( YSURF_LIST )
+    CALL SURFEX_DEALLO( YSURF_LIST(J) )
+  ENDDO
+  !
+  DEALLOCATE(YSURF_LIST)
+END IF
 !
 IF (LHOOK) CALL DR_HOOK("MODD_MNH_SURFEX_n:SURFEX_DEALLO_LIST",1,ZHOOK_HANDLE)
 !
-- 
GitLab