From 272e5ee2712d5fad29571166e78fdff312d6399e Mon Sep 17 00:00:00 2001 From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr> Date: Tue, 20 Feb 2018 09:46:40 +0100 Subject: [PATCH] Philippe 20/02/2018: SURFEX: add special treatment if KP is zero size (to prevent problems with XLF) --- src/SURFEX/horibl_surf_gridin.F90 | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/SURFEX/horibl_surf_gridin.F90 b/src/SURFEX/horibl_surf_gridin.F90 index 1e78f5732..0b77db4ce 100644 --- a/src/SURFEX/horibl_surf_gridin.F90 +++ b/src/SURFEX/horibl_surf_gridin.F90 @@ -92,6 +92,8 @@ !! 17/03/2010 (P. LeMoigne) bug in weights computations !! 16/06/2010 (G. Tanguy) bug in 'grib north pole" !! extrapolation (tabular ZARIN not totaly filled) +!! 20/02/2018 (P. Wautelet) add special treatment if KP is +!! zero size (to prevent problems with XLF) !! !------------------------------------------------------------------------------ ! @@ -340,8 +342,13 @@ IF (LHOOK) CALL DR_HOOK('HORIBL_SURF_GRIDIN_1',1,ZHOOK_HANDLE) IF (NRANK/=NPIO) THEN IF (LHOOK) CALL DR_HOOK('HORIBL_SURF_GRIDIN_3',0,ZHOOK_HANDLE) - IEXT(1) = MINVAL(KP) - IEXT(2) = MAXVAL(KP) + IF (SIZE(KP)>0) THEN + IEXT(1) = MINVAL(KP) + IEXT(2) = MAXVAL(KP) + ELSE + IEXT(1) = 1 + IEXT(2) = 0 + ENDIF IDX_I = IDX_I + 1 #ifdef SFX_MPI CALL MPI_SEND(IEXT,2*KIND(IEXT)/4,MPI_INTEGER,NPIO,IDX_I,NCOMM,INFOMPI) @@ -370,9 +377,12 @@ ELSE #ifdef SFX_MPI CALL MPI_RECV(IEXT,2*KIND(IEXT)/4,MPI_INTEGER,J,IDX_I+1,NCOMM,ISTATUS,INFOMPI) #endif - ELSE + ELSE IF (SIZE(KP)>0) THEN IEXT(1) = MINVAL(KP) IEXT(2) = MAXVAL(KP) + ELSE + IEXT(1) = 1 + IEXT(2) = 0 ENDIF IF (LHOOK) CALL DR_HOOK('HORIBL_SURF_GRIDIN_2',1,ZHOOK_HANDLE_OMP) IF (LHOOK) CALL DR_HOOK('HORIBL_SURF_GRIDIN_30',0,ZHOOK_HANDLE_OMP) -- GitLab