@@ -878,9 +878,10 @@ SUBROUTINE partition_aa_rectangle_into_tiles(rectangle, x_glbl, y_glbl, z_glbl,
878878 yprtn_ubind
879879 INTEGER , DIMENSION (n_prtn(3 )) :: zprtn_lbind, zprtn_npts, &
880880 zprtn_ubind
881- REAL (dp) :: step
882- REAL (dp), ALLOCATABLE, DIMENSION (:) :: xglbl_sym, yglbl_sym, &
883- zglbl_sym
881+ REAL (dp) :: dx, dy, dz, step
882+ REAL (dp), ALLOCATABLE, DIMENSION (:) :: xglbl_dbl, xglbl_sym, &
883+ yglbl_dbl, yglbl_sym, &
884+ zglbl_dbl, zglbl_sym
884885 REAL (dp), DIMENSION (2 ) :: x_xtnt, y_xtnt, z_xtnt
885886 REAL (dp), DIMENSION (3 ) :: A, B, C, D
886887 REAL (dp), DIMENSION (n_prtn(1 )) :: xprtn_lb, xprtn_ub
@@ -889,12 +890,20 @@ SUBROUTINE partition_aa_rectangle_into_tiles(rectangle, x_glbl, y_glbl, z_glbl,
889890
890891 CALL timeset(routineN,handle)
891892
892- ALLOCATE(xglbl_sym(2 * SIZE (x_glbl)- 1 ), yglbl_sym(2 * SIZE (y_glbl)- 1 ), zglbl_sym(2 * SIZE (z_glbl)- 1 ))
893+ ALLOCATE(xglbl_dbl(2 * SIZE (x_glbl)), yglbl_dbl(2 * SIZE (y_glbl)), zglbl_dbl(2 * SIZE (z_glbl)))
894+ ALLOCATE(xglbl_sym(2 * SIZE (xglbl_dbl)- 1 ), yglbl_sym(2 * SIZE (yglbl_dbl)- 1 ), zglbl_sym(2 * SIZE (zglbl_dbl)- 1 ))
893895
894896! extend the global axes and make them symmetric
895- xglbl_sym(:) = (/ (- x_glbl(i), i = UBOUND (x_glbl,1 ), LBOUND (x_glbl,1 )+ 1 , - 1 ), x_glbl / )
896- yglbl_sym(:) = (/ (- y_glbl(i), i = UBOUND (y_glbl,1 ), LBOUND (y_glbl,1 )+ 1 , - 1 ), y_glbl / )
897- zglbl_sym(:) = (/ (- z_glbl(i), i = UBOUND (z_glbl,1 ), LBOUND (z_glbl,1 )+ 1 , - 1 ), z_glbl / )
897+ dx = x_glbl(LBOUND (x_glbl,1 )+ 1 ) - x_glbl(LBOUND (x_glbl,1 ))
898+ dy = y_glbl(LBOUND (y_glbl,1 )+ 1 ) - y_glbl(LBOUND (y_glbl,1 ))
899+ dz = z_glbl(LBOUND (z_glbl,1 )+ 1 ) - z_glbl(LBOUND (z_glbl,1 ))
900+
901+ xglbl_dbl(:) = (/ x_glbl, x_glbl+ SIZE (x_glbl)* dx / )
902+ yglbl_dbl(:) = (/ y_glbl, y_glbl+ SIZE (y_glbl)* dy / )
903+ zglbl_dbl(:) = (/ z_glbl, z_glbl+ SIZE (z_glbl)* dz / )
904+ xglbl_sym(:) = (/ (- xglbl_dbl(i), i = UBOUND (xglbl_dbl,1 ), LBOUND (xglbl_dbl,1 )+ 1 , - 1 ), xglbl_dbl / )
905+ yglbl_sym(:) = (/ (- yglbl_dbl(i), i = UBOUND (yglbl_dbl,1 ), LBOUND (yglbl_dbl,1 )+ 1 , - 1 ), yglbl_dbl / )
906+ zglbl_sym(:) = (/ (- zglbl_dbl(i), i = UBOUND (zglbl_dbl,1 ), LBOUND (zglbl_dbl,1 )+ 1 , - 1 ), zglbl_dbl / )
898907
899908! find the extents of the rectangle in all three directions
900909 x_xtnt(1 ) = MINVAL (rectangle%vertices(1 ,:)); x_xtnt(2 ) = MAXVAL (rectangle%vertices(1 ,:))
0 commit comments