From 5138c0268e886c68c350eb39995afbecd8378511 Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Tue, 24 Oct 2017 13:35:54 +0200
Subject: [PATCH] Philippe: 24/10/2017: initialize some variables (detected
 with Valgrind)

---
 src/LIB/SURCOUCHE/src/modd_structure_ll.f90 | 14 ++++++++------
 src/LIB/SURCOUCHE/src/mode_init_ll.f90      |  4 +++-
 src/MNH/modd_lbcn.f90                       | 18 ++++--------------
 3 files changed, 15 insertions(+), 21 deletions(-)

diff --git a/src/LIB/SURCOUCHE/src/modd_structure_ll.f90 b/src/LIB/SURCOUCHE/src/modd_structure_ll.f90
index 3edf470ce..3a433f5e0 100644
--- a/src/LIB/SURCOUCHE/src/modd_structure_ll.f90
+++ b/src/LIB/SURCOUCHE/src/modd_structure_ll.f90
@@ -49,10 +49,12 @@
 !     Original 04/05/98
 !     Juan     19/08/2005: distinction Halo NORD/SUD & EST/WEST
 !     M.Moge   05/02/2015: extended HALO (halo size + 1)
+!     P. Wautelet 24/10/2017: initialize ZONE_ll type
 !
 !-------------------------------------------------------------------------------
 !
-  USE MODD_ARGSLIST_ll, ONLY : LIST_ll
+  USE MODD_ARGSLIST_ll,   ONLY : LIST_ll
+  USE MODD_PARAMETERS,    ONLY : NNEGUNDEF
   USE MODD_PARAMETERS_ll, ONLY : NMAXRIM
 !
 !-------------------------------------------------------------------------------
@@ -91,11 +93,11 @@ END INTERFACE
 !
   SEQUENCE
 !
-  INTEGER :: NUMBER       ! zone's number
-  INTEGER :: MSSGTAG      ! Message Tag
-  INTEGER :: NXOR, NXEND  ! coordinate of the origine point
-  INTEGER :: NYOR, NYEND  ! coordinate of the last point
-  INTEGER :: NZOR, NZEND  !
+  INTEGER :: NUMBER = NNEGUNDEF ! zone's number
+  INTEGER :: MSSGTAG = NNEGUNDEF      ! Message Tag
+  INTEGER :: NXOR = NNEGUNDEF, NXEND = NNEGUNDEF  ! coordinate of the origin point
+  INTEGER :: NYOR = NNEGUNDEF, NYEND = NNEGUNDEF  ! coordinate of the last point
+  INTEGER :: NZOR = NNEGUNDEF, NZEND = NNEGUNDEF  !
 !!$  INTEGER :: NXOR, NYOR, NZOR    ! coordinate of the origine point
 !!$  INTEGER :: NXEND, NYEND, NZEND ! coordinate of the last point
 
diff --git a/src/LIB/SURCOUCHE/src/mode_init_ll.f90 b/src/LIB/SURCOUCHE/src/mode_init_ll.f90
index 1cc488308..20b94bbef 100644
--- a/src/LIB/SURCOUCHE/src/mode_init_ll.f90
+++ b/src/LIB/SURCOUCHE/src/mode_init_ll.f90
@@ -231,7 +231,9 @@
   ALLOCATE(NXOR_ALL(JPMODELMAX), NYOR_ALL(JPMODELMAX)) 
   ALLOCATE(NXEND_ALL(JPMODELMAX), NYEND_ALL(JPMODELMAX)) 
   ALLOCATE(NDAD(JPMODELMAX)) 
-  ALLOCATE(CLBCX(JPMODELMAX, 2), CLBCY(JPMODELMAX, 2)) 
+  ALLOCATE(CLBCX(JPMODELMAX, 2), CLBCY(JPMODELMAX, 2))
+  CLBCX(:,:)=''
+  CLBCY(:,:)=''
 !
 !-------------------------------------------------------------------------------
 !
diff --git a/src/MNH/modd_lbcn.f90 b/src/MNH/modd_lbcn.f90
index ccc82133b..5c3dfa3ee 100644
--- a/src/MNH/modd_lbcn.f90
+++ b/src/MNH/modd_lbcn.f90
@@ -52,12 +52,10 @@ IMPLICIT NONE
 
 TYPE LBC_t
 !
-!JUAN
-  CHARACTER(LEN=4), DIMENSION(:),POINTER  :: CLBCX =>NULL() ! X-direction LBC type at left(1)
-                                             ! and right(2) boundaries 
-  CHARACTER(LEN=4), DIMENSION(:),POINTER  :: CLBCY =>NULL() ! Y-direction LBC type at left(1)
-                                             ! and right(2) boundaries 
-!JUAN
+  CHARACTER(LEN=4), DIMENSION(2) :: CLBCX = '' ! X-direction LBC type at left(1)
+                                             ! and right(2) boundaries
+  CHARACTER(LEN=4), DIMENSION(2) :: CLBCY = '' ! Y-direction LBC type at left(1)
+                                             ! and right(2) boundaries
   INTEGER, DIMENSION(2)          :: NLBLX ! X-direction characteristic large
                                              ! scale length at left(1) and 
                                              ! right(2) boundaries ( number of
@@ -76,7 +74,6 @@ TYPE LBC_t
 END TYPE LBC_t
 
 TYPE(LBC_t), DIMENSION(JPMODELMAX), TARGET, SAVE :: LBC_MODEL
-LOGICAL    , DIMENSION(JPMODELMAX),         SAVE :: LBC_FIRST_CALL = .TRUE.
 
 CHARACTER(LEN=4), DIMENSION(:), POINTER :: CLBCX=>NULL()
 CHARACTER(LEN=4), DIMENSION(:), POINTER :: CLBCY=>NULL()
@@ -92,13 +89,6 @@ CONTAINS
 SUBROUTINE LBC_GOTO_MODEL(KFROM, KTO)
 INTEGER, INTENT(IN) :: KFROM, KTO
 !
-!JUAN
-IF (LBC_FIRST_CALL(KTO)) THEN
-ALLOCATE (LBC_MODEL(KTO)%CLBCX(2))
-ALLOCATE (LBC_MODEL(KTO)%CLBCY(2))
-LBC_FIRST_CALL(KTO) = .FALSE.
-ENDIF
-!JUAN
 !
 ! Save current state for allocated arrays
 !
-- 
GitLab