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