From 78d81a8c0713564eb10fa659ebe48a543dd9da43 Mon Sep 17 00:00:00 2001
From: Juan Escobar <escj@aero.obs-mip.fr>
Date: Tue, 5 Dec 2017 10:17:18 +0100
Subject: [PATCH] Juan 5/12/2017:num_diff.f90 , Pb SegFault , correct
 IF(ONUMDIFTH/OZDIFFU) nesting

---
 src/MNH/num_diff.f90 | 49 ++++++++++++++++++++++----------------------
 1 file changed, 25 insertions(+), 24 deletions(-)

diff --git a/src/MNH/num_diff.f90 b/src/MNH/num_diff.f90
index 7dc3b66c4..af0265cb6 100644
--- a/src/MNH/num_diff.f90
+++ b/src/MNH/num_diff.f90
@@ -214,6 +214,7 @@ END MODULE MODI_NUM_DIFF
 !!                 05/07    (C.Lac)        Separation between variables
 !!                 07/09    (C.Lac)        Correction on budget calls
 !!     J.Escobar : 15/09/2015 : WENO5 & JPHEXT <> 1 
+!!     J.Escobar : 05/12/2017 : Pb SegFault , correct IF(ONUMDIFTH/OZDIFFU) nesting
 !!
 !-------------------------------------------------------------------------------
 !
@@ -347,20 +348,20 @@ IF (ONUMDIFTH) THEN
    CALL NUM_DIFF_ALGO_Z(PRTHS, PTHM, IGRID, PRHODJ,            &
                          PDK2TH, PDK4TH, PLSTHM,               &
                          TZHALO2LIST%HALO2, TZHALO2LSLIST%HALO2)
-!!$  ELSE
-!!$   CALL NUM_DIFF_ALGO(PRTHS, PTHM, IGRID, PRHODJ,              &
-!!$                      PDK2TH, PDK4TH, PLSTHM,                  &
-!!$                     TZHALO2LIST%HALO2, TZHALO2LSLIST%HALO2)
-!!$  ENDIF
- ELSE
-  IF (OZDIFFU) THEN   ! call z-diffusion for potential temperature
-    CALL NUM_DIFF_ALGO_Z(PRTHS, PTHM, IGRID, PRHODJ, &
-                         PDK2TH, PDK4TH, PLSTHM )
   ELSE
-    CALL NUM_DIFF_ALGO(PRTHS, PTHM, IGRID, PRHODJ, &
-                         PDK2TH, PDK4TH, PLSTHM )
+   CALL NUM_DIFF_ALGO(PRTHS, PTHM, IGRID, PRHODJ,              &
+                      PDK2TH, PDK4TH, PLSTHM,                  &
+                     TZHALO2LIST%HALO2, TZHALO2LSLIST%HALO2)
   ENDIF
- ENDIF
+!!$ ELSE
+!!$  IF (OZDIFFU) THEN   ! call z-diffusion for potential temperature
+!!$    CALL NUM_DIFF_ALGO_Z(PRTHS, PTHM, IGRID, PRHODJ, &
+!!$                         PDK2TH, PDK4TH, PLSTHM )
+!!$  ELSE
+!!$    CALL NUM_DIFF_ALGO(PRTHS, PTHM, IGRID, PRHODJ, &
+!!$                         PDK2TH, PDK4TH, PLSTHM )
+!!$  ENDIF
+!!$ ENDIF
 !
  IF ( GTKEALLOC ) THEN
 !!$  IF(NHALO == 1) THEN
@@ -383,20 +384,20 @@ IF (ONUMDIFTH) THEN
       CALL NUM_DIFF_ALGO_Z(PRRS(:,:,:,1), PRM(:,:,:,1), IGRID, PRHODJ, &
                            PDK2TH, PDK4TH,                             &
                            PLSRVM, TZHALO2LIST%HALO2, TZHALO2LSLIST%HALO2)
-!!$    ELSE
-!!$      CALL NUM_DIFF_ALGO(PRRS(:,:,:,1), PRM(:,:,:,1), IGRID, PRHODJ, & 
-!!$                         PDK2TH, PDK4TH, PLSRVM,                     &
-!!$                         TZHALO2LIST%HALO2, TZHALO2LSLIST%HALO2)
-!!$    ENDIF
-  ELSE
-    IF (OZDIFFU) THEN   ! call z-diffusion for wv mixing ratio
-      CALL NUM_DIFF_ALGO_Z(PRRS(:,:,:,1), PRM(:,:,:,1), IGRID, PRHODJ, &
-                           PDK2TH, PDK4TH, PLSRVM)
     ELSE
-     CALL NUM_DIFF_ALGO(PRRS(:,:,:,1), PRM(:,:,:,1), IGRID, PRHODJ, &
-                        PDK2TH, PDK4TH, PLSRVM)
+      CALL NUM_DIFF_ALGO(PRRS(:,:,:,1), PRM(:,:,:,1), IGRID, PRHODJ, & 
+                         PDK2TH, PDK4TH, PLSRVM,                     &
+                         TZHALO2LIST%HALO2, TZHALO2LSLIST%HALO2)
     ENDIF
-  ENDIF
+!!$  ELSE
+!!$    IF (OZDIFFU) THEN   ! call z-diffusion for wv mixing ratio
+!!$      CALL NUM_DIFF_ALGO_Z(PRRS(:,:,:,1), PRM(:,:,:,1), IGRID, PRHODJ, &
+!!$                           PDK2TH, PDK4TH, PLSRVM)
+!!$    ELSE
+!!$     CALL NUM_DIFF_ALGO(PRRS(:,:,:,1), PRM(:,:,:,1), IGRID, PRHODJ, &
+!!$                        PDK2TH, PDK4TH, PLSRVM)
+!!$    ENDIF
+!!$  ENDIF
  ENDIF
 !
 ! In some situations, it makes sense to use the z-diffusion also for cloud water, but it is
-- 
GitLab