@@ -3336,7 +3336,7 @@ SUBROUTINE W3GATHSMC ( ISPEC, FIELD )
3336
3336
IF ( BSTAT(IBFLOC) .EQ. 2 ) THEN
3337
3337
IOFF = 1 + (BISPL(IBFLOC)- 1 )* NRQSG2
3338
3338
IF ( NRQSG2 .GT. 0 ) CALL &
3339
- MPI_WAITALL ( NRQSG2, IRQSG2(IOFF,2 ), &
3339
+ MPI_WAITALL ( NRQSG2, IRQSG2(IOFF:IOFF + NRQSG2 -1 ,2 ), &
3340
3340
STATUS, IERR_MPI )
3341
3341
BSTAT(IBFLOC) = 0
3342
3342
END IF
@@ -3348,7 +3348,7 @@ SUBROUTINE W3GATHSMC ( ISPEC, FIELD )
3348
3348
BISPL(IBFLOC) = ISPLOC
3349
3349
IOFF = 1 + (ISPLOC-1 )* NRQSG2
3350
3350
IF ( NRQSG2 .GT. 0 ) CALL &
3351
- MPI_STARTALL ( NRQSG2, IRQSG2(IOFF,1 ), IERR_MPI )
3351
+ MPI_STARTALL ( NRQSG2, IRQSG2(IOFF:IOFF + NRQSG2 -1 ,1 ), IERR_MPI )
3352
3352
END IF
3353
3353
!
3354
3354
! 2.c Put local spectral densities in store
@@ -3361,7 +3361,7 @@ SUBROUTINE W3GATHSMC ( ISPEC, FIELD )
3361
3361
!
3362
3362
IOFF = 1 + (BISPL(IBFLOC)- 1 )* NRQSG2
3363
3363
IF ( NRQSG2 .GT. 0 ) CALL &
3364
- MPI_WAITALL ( NRQSG2, IRQSG2(IOFF,1 ), STATUS, IERR_MPI )
3364
+ MPI_WAITALL ( NRQSG2, IRQSG2(IOFF:IOFF + NRQSG2 -1 ,1 ), STATUS, IERR_MPI )
3365
3365
!
3366
3366
! 2.e Convert storage array to field.
3367
3367
!
@@ -3383,7 +3383,7 @@ SUBROUTINE W3GATHSMC ( ISPEC, FIELD )
3383
3383
BISPL(IB0) = IS0
3384
3384
IOFF = 1 + (IS0-1 )* NRQSG2
3385
3385
IF ( NRQSG2 .GT. 0 ) CALL &
3386
- MPI_STARTALL ( NRQSG2, IRQSG2(IOFF,1 ), IERR_MPI )
3386
+ MPI_STARTALL ( NRQSG2, IRQSG2(IOFF:IOFF + NRQSG2 -1 ,1 ), IERR_MPI )
3387
3387
NPST = NPST + 1
3388
3388
END IF
3389
3389
IF ( NPST .GE. 2 ) EXIT
@@ -3569,7 +3569,7 @@ SUBROUTINE W3SCATSMC ( ISPEC, MAPSTA, FIELD )
3569
3569
!
3570
3570
IOFF = 1 + (ISPLOC-1 )* NRQSG2
3571
3571
IF ( NRQSG2 .GT. 0 ) CALL &
3572
- MPI_STARTALL ( NRQSG2, IRQSG2(IOFF,2 ), IERR_MPI )
3572
+ MPI_STARTALL ( NRQSG2, IRQSG2(IOFF:IOFF + NRQSG2 -1 ,2 ), IERR_MPI )
3573
3573
BSTAT(IBFLOC) = 2
3574
3574
!
3575
3575
! 2.d Save locally stored results
@@ -3589,13 +3589,13 @@ SUBROUTINE W3SCATSMC ( ISPEC, MAPSTA, FIELD )
3589
3589
IF ( BSTAT(IB0) .EQ. 2 ) THEN
3590
3590
IOFF = 1 + (BISPL(IB0)- 1 )* NRQSG2
3591
3591
IF ( NRQSG2 .GT. 0 ) THEN
3592
- CALL MPI_TESTALL ( NRQSG2, IRQSG2(IOFF,2 ), DONE, &
3592
+ CALL MPI_TESTALL ( NRQSG2, IRQSG2(IOFF:IOFF + NRQSG2 -1 ,2 ), DONE, &
3593
3593
STATUS, IERR_MPI )
3594
3594
ELSE
3595
3595
DONE = .TRUE.
3596
3596
END IF
3597
3597
IF ( DONE .AND. NRQSG2.GT. 0 ) CALL &
3598
- MPI_WAITALL ( NRQSG2, IRQSG2(IOFF,2 ), &
3598
+ MPI_WAITALL ( NRQSG2, IRQSG2(IOFF:IOFF + NRQSG2 -1 ,2 ), &
3599
3599
STATUS, IERR_MPI )
3600
3600
IF ( DONE ) THEN
3601
3601
BSTAT(IB0) = 0
@@ -3612,7 +3612,7 @@ SUBROUTINE W3SCATSMC ( ISPEC, MAPSTA, FIELD )
3612
3612
IF ( BSTAT(IB0) .EQ. 2 ) THEN
3613
3613
IOFF = 1 + (BISPL(IB0)- 1 )* NRQSG2
3614
3614
IF ( NRQSG2 .GT. 0 ) CALL &
3615
- MPI_WAITALL ( NRQSG2, IRQSG2(IOFF,2 ), &
3615
+ MPI_WAITALL ( NRQSG2, IRQSG2(IOFF:IOFF + NRQSG2 -1 ,2 ), &
3616
3616
STATUS, IERR_MPI )
3617
3617
BSTAT(IB0) = 0
3618
3618
END IF
0 commit comments