Juan 02/05/2016 : bug , test ZZS_MAX in //
authorJuan Escobar <juan.escobar@aero.obs-mip.fr>
Mon, 2 May 2016 13:36:24 +0000 (13:36 +0000)
committerPhilippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Thu, 19 May 2016 14:44:49 +0000 (16:44 +0200)
src/MNH/spawn_model2.f90

index e1b859d..6c317cc 100644 (file)
@@ -186,6 +186,7 @@ END MODULE MODI_SPAWN_MODEL2
 !!                                      model2 before the call to ini_nsv
 !!      Modification 05/02/2015 (M.Moge) parallelization of SPAWNING
 !!      J.Escobar : 15/09/2015 : WENO5 & JPHEXT <> 1 
+!!      J.Escobar   02/05/2016 : test ZZS_MAX in // 
 !-------------------------------------------------------------------------------
 !
 !*       0.     DECLARATIONS
@@ -276,6 +277,9 @@ USE MODD_2D_FRC
 USE MODI_GET_SIZEX_LB
 USE MODI_GET_SIZEY_LB
 !
+USE MODD_MPIF
+USE MODD_VAR_ll
+!
 IMPLICIT NONE
 !
 !*       0.1.1  Declarations of global variables not declared in the modules :
@@ -377,6 +381,7 @@ INTEGER :: IISIZEY4,IJSIZEY4,IISIZEY2,IJSIZEY2       ! North-south LB arrays
 !
 CHARACTER(LEN=4)    :: YLBTYPE
 !
+REAL                :: ZZS_MAX, ZZS_MAX_ll
 !-------------------------------------------------------------------------------
 !
 ! Save model index and switch to model 2 variables
@@ -1099,7 +1104,10 @@ ZTIME1  = ZTIME2
 !
 !* vertical interpolation
 !
-IF (ANY(XZS(:,:)>0.) .AND. (NDXRATIO/=1 .OR. NDYRATIO/=1) )  THEN
+ZZS_MAX = ABS( MAXVAL(XZS(:,:)))
+CALL MPI_ALLREDUCE(ZZS_MAX, ZZS_MAX_ll, 1, MPI_PRECISION, MPI_MAX,  &
+                     NMNH_COMM_WORLD,IINFO_ll)
+IF ( (ZZS_MAX_ll>0.) .AND. (NDXRATIO/=1 .OR. NDYRATIO/=1) )  THEN
   CALL MPPDB_CHECK3D(XUT,"SPAWN_M2 before VER_INTERP_FIELD:XUT",PRECISION)
   CALL VER_INTERP_FIELD (CTURB,NRR,NSV,ZZZ_LS,XZZ,                             &
                XUT,XVT,XWT,ZTHVT,XRT,ZHUT,XTKET,XSVT,                          &