Skip to content
Snippets Groups Projects
Commit 1a0e4635 authored by Juan Escobar's avatar Juan Escobar
Browse files

Juan 29/03/2019: check very small domain size(=0 ) & force N/S/E/W check on getting LB bounds

parent c6369881
No related branches found
No related tags found
No related merge requests found
...@@ -103,12 +103,14 @@ END SUBROUTINE GET_DISTRIB_LB ...@@ -103,12 +103,14 @@ END SUBROUTINE GET_DISTRIB_LB
!! MODIFICATIONS !! MODIFICATIONS
!! ------------- !! -------------
!! Original 23/09/98 !! Original 23/09/98
!! Modif
!! J.Escobar 28/03/2019: for very small domain , force N/S/E/W check on getting LB bounds
!------------------------------------------------------------------------------- !-------------------------------------------------------------------------------
! !
USE MODD_PARAMETERS_ll,ONLY : JPHEXT USE MODD_PARAMETERS_ll,ONLY : JPHEXT
USE MODD_VAR_ll, ONLY : TCRRT_PROCONF USE MODD_VAR_ll, ONLY : TCRRT_PROCONF
USE MODD_STRUCTURE_ll, ONLY : MODELSPLITTING_ll USE MODD_STRUCTURE_ll, ONLY : MODELSPLITTING_ll
USE MODE_TOOLS_ll, ONLY : GET_INTERSECTION_ll,GET_GLOBALDIMS_ll,LWEST_ll USE MODE_TOOLS_ll, ONLY : GET_INTERSECTION_ll,GET_GLOBALDIMS_ll,LWEST_ll,LEAST_ll
!* 0. DECLARATIONS !* 0. DECLARATIONS
! ------------ ! ------------
...@@ -191,7 +193,7 @@ ELSE ...@@ -191,7 +193,7 @@ ELSE
IYEND=IJMAX_ll+ 2 * JPHEXT IYEND=IJMAX_ll+ 2 * JPHEXT
ENDIF ENDIF
CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,YMODE,IINFO,KIP) CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,YMODE,IINFO,KIP)
IF (IINFO /= 1) THEN ! no empty intersection IF (IINFO/=1 .AND. LWEST_ll(KIP) ) THEN ! no empty intersection
IF (HCOORD == 'LOC') THEN IF (HCOORD == 'LOC') THEN
KIB=IXORI KIB=IXORI
KIE=IXENDI KIE=IXENDI
...@@ -242,7 +244,7 @@ ELSE ...@@ -242,7 +244,7 @@ ELSE
IYEND=IJMAX_ll+ 2 * JPHEXT IYEND=IJMAX_ll+ 2 * JPHEXT
ENDIF ENDIF
CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,YMODE,IINFO,KIP) CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,YMODE,IINFO,KIP)
IF (IINFO /=1) THEN IF (IINFO/=1 .AND. LEAST_ll(KIP) ) THEN
IF (HCOORD == 'LOC') THEN IF (HCOORD == 'LOC') THEN
IF (KIB == 0) KIB=1+KIE IF (KIB == 0) KIB=1+KIE
KIE=KIE+1+IXENDI-IXORI KIE=KIE+1+IXENDI-IXORI
...@@ -317,7 +319,7 @@ END SUBROUTINE GET_DISTRIBX_LB ...@@ -317,7 +319,7 @@ END SUBROUTINE GET_DISTRIBX_LB
USE MODD_PARAMETERS_ll,ONLY : JPHEXT USE MODD_PARAMETERS_ll,ONLY : JPHEXT
USE MODD_VAR_ll, ONLY : TCRRT_PROCONF USE MODD_VAR_ll, ONLY : TCRRT_PROCONF
USE MODD_STRUCTURE_ll, ONLY : MODELSPLITTING_ll USE MODD_STRUCTURE_ll, ONLY : MODELSPLITTING_ll
USE MODE_TOOLS_ll, ONLY : GET_INTERSECTION_ll,GET_GLOBALDIMS_ll,LSOUTH_ll USE MODE_TOOLS_ll, ONLY : GET_INTERSECTION_ll,GET_GLOBALDIMS_ll,LSOUTH_ll,LNORTH_ll
!* 0. DECLARATIONS !* 0. DECLARATIONS
! ------------ ! ------------
!* 0.1 declarations of arguments !* 0.1 declarations of arguments
...@@ -396,7 +398,7 @@ ELSE ...@@ -396,7 +398,7 @@ ELSE
IYEND=JPHEXT !1 IYEND=JPHEXT !1
ENDIF ENDIF
CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,YMODE,IINFO,KIP) CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,YMODE,IINFO,KIP)
IF (IINFO /= 1) THEN ! no empty intersection IF (IINFO/=1 .AND. LSOUTH_ll(KIP) ) THEN ! no empty intersection
IF (HCOORD == 'LOC') THEN IF (HCOORD == 'LOC') THEN
KIB=IXORI KIB=IXORI
KIE=IXENDI KIE=IXENDI
...@@ -442,7 +444,7 @@ ELSE ...@@ -442,7 +444,7 @@ ELSE
IYEND=IJMAX_ll + 2 * JPHEXT - JPHEXT + JPHEXT ! + 2 * JPHEXT IYEND=IJMAX_ll + 2 * JPHEXT - JPHEXT + JPHEXT ! + 2 * JPHEXT
ENDIF ENDIF
CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,YMODE,IINFO,KIP) CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,YMODE,IINFO,KIP)
IF (IINFO /=1) THEN IF (IINFO/=1 .AND. LNORTH_ll(KIP) ) THEN
IF (HCOORD == 'LOC') THEN IF (HCOORD == 'LOC') THEN
KIB=IXORI KIB=IXORI
KIE=IXENDI KIE=IXENDI
......
...@@ -202,6 +202,7 @@ ...@@ -202,6 +202,7 @@
!! ------------- !! -------------
! Original 01/05/98 ! Original 01/05/98
! R.Guivarch 29/11/99 : x and y splitting : HSPLITTING ! R.Guivarch 29/11/99 : x and y splitting : HSPLITTING
! J.Escobar 28/03/2019: check very small domain(0 size)
! !
!------------------------------------------------------------------------------- !-------------------------------------------------------------------------------
! !
...@@ -332,6 +333,14 @@ ...@@ -332,6 +333,14 @@
CALL CARTESIANZ(TPROC,NB_PROC,X_DIM,Y_DIM,Z_DIM,X_DOMAINS,Y_DOMAINS,Z_DOMAINS,321) CALL CARTESIANZ(TPROC,NB_PROC,X_DIM,Y_DIM,Z_DIM,X_DOMAINS,Y_DOMAINS,Z_DOMAINS,321)
! !
END IF END IF
IF ( ( (1+TPROC(IP)%NXEND-TPROC(IP)%NXOR) == 0 ) &
.OR. ( (1+TPROC(IP)%NYEND-TPROC(IP)%NYOR) == 0 ) ) THEN
PRINT*, "/!\ SPLITZ: some proc have 0 size local domaine , to much processors used for domaine size ", &
" IP=" ,IP , &
" DIMX=",1+TPROC(IP)%NXEND-TPROC(IP)%NXOR, &
" DIMY=",1+TPROC(IP)%NYEND-TPROC(IP)%NYOR
CALL ABORT()
END IF
! !
!* 3. shift from physical to extended domain !* 3. shift from physical to extended domain
! !
...@@ -352,6 +361,7 @@ ...@@ -352,6 +361,7 @@
PRINT*,"NYOR=",TPROC(IK)%NYOR," NYEND=",TPROC(IK)%NYEND," TAILLE=",1+TPROC(IK)%NYEND-TPROC(IK)%NYOR PRINT*,"NYOR=",TPROC(IK)%NYOR," NYEND=",TPROC(IK)%NYEND," TAILLE=",1+TPROC(IK)%NYEND-TPROC(IK)%NYOR
PRINT*,"NZOR=",TPROC(IK)%NZOR," NZEND=",TPROC(IK)%NZEND," TAILLE=",1+TPROC(IK)%NZEND-TPROC(IK)%NZOR PRINT*,"NZOR=",TPROC(IK)%NZOR," NZEND=",TPROC(IK)%NZEND," TAILLE=",1+TPROC(IK)%NZEND-TPROC(IK)%NZOR
END DO END DO
ENDIF ENDIF
END IF END IF
END IF END IF
......
...@@ -83,6 +83,7 @@ END MODULE MODI_GET_SIZEX_LB ...@@ -83,6 +83,7 @@ END MODULE MODI_GET_SIZEX_LB
!! Original 23/09/98 !! Original 23/09/98
!! J.Escobar : 15/09/2015 : WENO5 & JPHEXT <> 1 !! J.Escobar : 15/09/2015 : WENO5 & JPHEXT <> 1
!! Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O !! Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O
!! J.Escobar 28/03/2019: for very small domain , force N/S/E/W check on getting LB bounds
!------------------------------------------------------------------------------- !-------------------------------------------------------------------------------
! !
!* 0. DECLARATIONS !* 0. DECLARATIONS
...@@ -139,7 +140,7 @@ IF (KRIMX /=0) THEN ...@@ -139,7 +140,7 @@ IF (KRIMX /=0) THEN
IYOR=1 IYOR=1
IYEND=KJMAX_ll+ 2 * JPHEXT IYEND=KJMAX_ll+ 2 * JPHEXT
CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO) CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO)
IF (IINFO/=1) THEN ! no empty intersection IF (IINFO/=1 .AND. LWEST_ll() ) THEN ! no empty intersection
KISIZEXF=KISIZEXF + (IXENDI - IXORI +1) KISIZEXF=KISIZEXF + (IXENDI - IXORI +1)
KJSIZEXF= IYENDI - IYORI +1 KJSIZEXF= IYENDI - IYORI +1
ENDIF ENDIF
...@@ -150,7 +151,7 @@ IF (KRIMX /=0) THEN ...@@ -150,7 +151,7 @@ IF (KRIMX /=0) THEN
IYOR=1 IYOR=1
IYEND=KJMAX_ll+ 2 * JPHEXT IYEND=KJMAX_ll+ 2 * JPHEXT
CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO) CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO)
IF (IINFO/=1) THEN ! no empty intersection IF (IINFO/=1 .AND. LEAST_ll() ) THEN ! no empty intersection
KISIZEXF=KISIZEXF + (IXENDI - IXORI +1) ! added to the western side KISIZEXF=KISIZEXF + (IXENDI - IXORI +1) ! added to the western side
KJSIZEXF= IYENDI - IYORI +1 KJSIZEXF= IYENDI - IYORI +1
KISIZEXFU=KISIZEXFU + ( IXENDI - IXORI +1) KISIZEXFU=KISIZEXFU + ( IXENDI - IXORI +1)
...@@ -162,7 +163,7 @@ IF (KRIMX /=0) THEN ...@@ -162,7 +163,7 @@ IF (KRIMX /=0) THEN
IYOR=1 IYOR=1
IYEND=KJMAX_ll+ 2 * JPHEXT IYEND=KJMAX_ll+ 2 * JPHEXT
CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO) CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO)
IF (IINFO /= 1) THEN ! no empty intersection IF (IINFO/=1 .AND. LWEST_ll() ) THEN ! no empty intersection
KISIZEXFU=KISIZEXFU + (IXENDI - IXORI +1) KISIZEXFU=KISIZEXFU + (IXENDI - IXORI +1)
KJSIZEXFU= IYENDI - IYORI +1 KJSIZEXFU= IYENDI - IYORI +1
ENDIF ENDIF
...@@ -176,7 +177,7 @@ IXEND=JPHEXT+2 ! 3 ...@@ -176,7 +177,7 @@ IXEND=JPHEXT+2 ! 3
IYOR=1 IYOR=1
IYEND=KJMAX_ll+ 2 * JPHEXT IYEND=KJMAX_ll+ 2 * JPHEXT
CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO) CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO)
IF (IINFO /=1 ) THEN ! no empty intersection IF (IINFO /=1 .AND. LWEST_ll() ) THEN ! no empty intersection
KISIZEX4=KISIZEX4 + ( IXENDI - IXORI +1) KISIZEX4=KISIZEX4 + ( IXENDI - IXORI +1)
KJSIZEX4= IYENDI - IYORI +1 KJSIZEX4= IYENDI - IYORI +1
ENDIF ENDIF
...@@ -186,7 +187,7 @@ IXEND=KIMAX_ll+ 2 * JPHEXT - JPHEXT + JPHEXT ! + 2*JPHEXT ...@@ -186,7 +187,7 @@ IXEND=KIMAX_ll+ 2 * JPHEXT - JPHEXT + JPHEXT ! + 2*JPHEXT
IYOR=1 IYOR=1
IYEND=KJMAX_ll+ 2 * JPHEXT IYEND=KJMAX_ll+ 2 * JPHEXT
CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO) CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO)
IF (IINFO/=1) THEN ! no empty intersection IF (IINFO/=1 .AND. LEAST_ll() ) THEN ! no empty intersection
KISIZEX4=KISIZEX4 + (IXENDI - IXORI +1) KISIZEX4=KISIZEX4 + (IXENDI - IXORI +1)
KJSIZEX4= IYENDI - IYORI +1 KJSIZEX4= IYENDI - IYORI +1
ENDIF ENDIF
...@@ -199,7 +200,7 @@ IXEND=JPHEXT ! 1 ...@@ -199,7 +200,7 @@ IXEND=JPHEXT ! 1
IYOR=1 IYOR=1
IYEND=KJMAX_ll+ 2 * JPHEXT IYEND=KJMAX_ll+ 2 * JPHEXT
CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO) CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO)
IF (IINFO /=1) THEN ! no empty intersection IF (IINFO/=1 .AND. LWEST_ll() ) THEN ! no empty intersection
KISIZEX2=KISIZEX2 + ( IXENDI - IXORI +1) KISIZEX2=KISIZEX2 + ( IXENDI - IXORI +1)
KJSIZEX2= IYENDI - IYORI +1 KJSIZEX2= IYENDI - IYORI +1
ENDIF ENDIF
...@@ -209,7 +210,7 @@ IXEND=KIMAX_ll + 2 * JPHEXT - JPHEXT + JPHEXT ! + 2 * JPHEXT ...@@ -209,7 +210,7 @@ IXEND=KIMAX_ll + 2 * JPHEXT - JPHEXT + JPHEXT ! + 2 * JPHEXT
IYOR=1 IYOR=1
IYEND=KJMAX_ll+ 2 * JPHEXT IYEND=KJMAX_ll+ 2 * JPHEXT
CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO) CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO)
IF (IINFO /=1) THEN ! no empty intersection IF (IINFO/=1 .AND. LEAST_ll() ) THEN ! no empty intersection
KISIZEX2=KISIZEX2 + ( IXENDI - IXORI +1) KISIZEX2=KISIZEX2 + ( IXENDI - IXORI +1)
KJSIZEX2= IYENDI - IYORI +1 KJSIZEX2= IYENDI - IYORI +1
ENDIF ENDIF
......
...@@ -83,6 +83,7 @@ END MODULE MODI_GET_SIZEY_LB ...@@ -83,6 +83,7 @@ END MODULE MODI_GET_SIZEY_LB
!! Original 23/09/98 !! Original 23/09/98
!! J.Escobar : 15/09/2015 : WENO5 & JPHEXT <> 1 !! J.Escobar : 15/09/2015 : WENO5 & JPHEXT <> 1
!! Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O !! Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O
!! J.Escobar 28/03/2019: for very small domain , force N/S/E/W check on getting LB bounds
!------------------------------------------------------------------------------- !-------------------------------------------------------------------------------
! !
!* 0. DECLARATIONS !* 0. DECLARATIONS
...@@ -139,7 +140,7 @@ IF (KRIMY /=0) THEN ...@@ -139,7 +140,7 @@ IF (KRIMY /=0) THEN
IYOR=1 IYOR=1
IYEND=KRIMY+JPHEXT ! +1 IYEND=KRIMY+JPHEXT ! +1
CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO) CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO)
IF (IINFO/=1) THEN ! no empty intersection IF (IINFO/=1 .AND. LSOUTH_ll() ) THEN ! no empty intersection
KISIZEYF= IXENDI - IXORI +1 KISIZEYF= IXENDI - IXORI +1
KJSIZEYF= KJSIZEYF + (IYENDI - IYORI +1) KJSIZEYF= KJSIZEYF + (IYENDI - IYORI +1)
ENDIF ENDIF
...@@ -150,7 +151,7 @@ IF (KRIMY /=0) THEN ...@@ -150,7 +151,7 @@ IF (KRIMY /=0) THEN
IYOR=KJMAX_ll + 2 * JPHEXT-KRIMY-JPHEXT+1 ! -KRIMY IYOR=KJMAX_ll + 2 * JPHEXT-KRIMY-JPHEXT+1 ! -KRIMY
IYEND=KJMAX_ll+ 2 * JPHEXT IYEND=KJMAX_ll+ 2 * JPHEXT
CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO) CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO)
IF (IINFO/=1) THEN ! no empty intersection IF (IINFO/=1 .AND. LNORTH_ll() ) THEN ! no empty intersection
KISIZEYF=IXENDI - IXORI +1 KISIZEYF=IXENDI - IXORI +1
KJSIZEYF= KJSIZEYF + (IYENDI - IYORI +1 )! added to the southern side KJSIZEYF= KJSIZEYF + (IYENDI - IYORI +1 )! added to the southern side
KISIZEYFV= IXENDI - IXORI +1 KISIZEYFV= IXENDI - IXORI +1
...@@ -162,7 +163,7 @@ IF (KRIMY /=0) THEN ...@@ -162,7 +163,7 @@ IF (KRIMY /=0) THEN
IYOR=2 IYOR=2
IYEND=KRIMY+JPHEXT+1 !+2 IYEND=KRIMY+JPHEXT+1 !+2
CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO) CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO)
IF (IINFO /= 1) THEN ! no empty intersection IF (IINFO/=1 .AND. LSOUTH_ll() ) THEN ! no empty intersection
KISIZEYFV= IXENDI - IXORI +1 KISIZEYFV= IXENDI - IXORI +1
KJSIZEYFV= KJSIZEYFV + (IYENDI - IYORI +1 ) KJSIZEYFV= KJSIZEYFV + (IYENDI - IYORI +1 )
ENDIF ENDIF
...@@ -176,7 +177,7 @@ IXEND=KIMAX_ll+ 2 * JPHEXT ...@@ -176,7 +177,7 @@ IXEND=KIMAX_ll+ 2 * JPHEXT
IYOR=2 !2 IYOR=2 !2
IYEND=JPHEXT+2 !3 IYEND=JPHEXT+2 !3
CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO) CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO)
IF (IINFO /=1 ) THEN ! no empty intersection IF (IINFO /=1 .AND. LSOUTH_ll() ) THEN ! no empty intersection
KISIZEY4= IXENDI - IXORI +1 KISIZEY4= IXENDI - IXORI +1
KJSIZEY4= KJSIZEY4 + (IYENDI - IYORI +1) KJSIZEY4= KJSIZEY4 + (IYENDI - IYORI +1)
ENDIF ENDIF
...@@ -186,7 +187,7 @@ IXEND=KIMAX_ll+ 2 * JPHEXT ...@@ -186,7 +187,7 @@ IXEND=KIMAX_ll+ 2 * JPHEXT
IYOR=KJMAX_ll + 2 * JPHEXT - JPHEXT ! + JPHEXT IYOR=KJMAX_ll + 2 * JPHEXT - JPHEXT ! + JPHEXT
IYEND=KJMAX_ll+ 2 * JPHEXT - JPHEXT + JPHEXT ! + 2*JPHEXT IYEND=KJMAX_ll+ 2 * JPHEXT - JPHEXT + JPHEXT ! + 2*JPHEXT
CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO) CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO)
IF (IINFO/=1) THEN ! no empty intersection IF (IINFO/=1 .AND. LNORTH_ll() ) THEN ! no empty intersection
KISIZEY4=IXENDI - IXORI +1 KISIZEY4=IXENDI - IXORI +1
KJSIZEY4=KJSIZEY4 + ( IYENDI - IYORI +1 ) KJSIZEY4=KJSIZEY4 + ( IYENDI - IYORI +1 )
ENDIF ENDIF
...@@ -199,7 +200,7 @@ IXEND=KIMAX_ll+ 2 * JPHEXT ...@@ -199,7 +200,7 @@ IXEND=KIMAX_ll+ 2 * JPHEXT
IYOR=1 ! 1 IYOR=1 ! 1
IYEND=JPHEXT ! 1 IYEND=JPHEXT ! 1
CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO) CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO)
IF (IINFO /=1) THEN ! no empty intersection IF (IINFO /=1 .AND. LSOUTH_ll() ) THEN ! no empty intersection
KISIZEY2= IXENDI - IXORI +1 KISIZEY2= IXENDI - IXORI +1
KJSIZEY2=KJSIZEY2 + (IYENDI - IYORI +1 ) KJSIZEY2=KJSIZEY2 + (IYENDI - IYORI +1 )
ENDIF ENDIF
...@@ -209,7 +210,7 @@ IXEND=KIMAX_ll + 2 * JPHEXT ...@@ -209,7 +210,7 @@ IXEND=KIMAX_ll + 2 * JPHEXT
IYOR=KJMAX_ll + 2 * JPHEXT - JPHEXT + 1 ! + 2 * JPHEXT IYOR=KJMAX_ll + 2 * JPHEXT - JPHEXT + 1 ! + 2 * JPHEXT
IYEND=KJMAX_ll+ 2 * JPHEXT - JPHEXT + JPHEXT ! + 2 * JPHEXT IYEND=KJMAX_ll+ 2 * JPHEXT - JPHEXT + JPHEXT ! + 2 * JPHEXT
CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO) CALL GET_INTERSECTION_ll(IXOR,IYOR,IXEND,IYEND,IXORI,IYORI,IXENDI,IYENDI,"EXTE",IINFO)
IF (IINFO /=1) THEN ! no empty intersection IF (IINFO /=1 .AND. LNORTH_ll() ) THEN ! no empty intersection
KISIZEY2= IXENDI - IXORI +1 KISIZEY2= IXENDI - IXORI +1
KJSIZEY2= KJSIZEY2 + (IYENDI - IYORI +1 ) KJSIZEY2= KJSIZEY2 + (IYENDI - IYORI +1 )
ENDIF ENDIF
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment