the following code segment crashes (floating stack overflow) at the RMSN= line:
REAL, ALLOCATABLE :: RA(:), DIFF(:)
ALLOCATE (RA(NE), DIFF(NE), stat=IST); IF( IST.GT.0 ) RETURN
DO I = 1, NE
DIFF(I) = SA(I+1) - SA(I)
END DO
WHERE (ABS(DIFF).GT.1.E15 ) DIFF = 0.
AV = SUM(DIFF)/NE
RA(1:NE) = DIFF(1:NE)- AV
RMSN = SQRT(SUM((ra)*(ra) )/FLOAT(2*NE))
but this version doesn't crash:
REAL, ALLOCATABLE :: RA(:), DIFF(:), r1(:)
ALLOCATE (RA(NE), DIFF(NE), r1(ne), stat=IST); IF( IST.GT.0 ) RETURN
DO I = 1, NE
DIFF(I) = SA(I+1) - SA(I)
END DO
WHERE (ABS(DIFF).GT.1.E15 ) DIFF = 0.
AV = SUM(DIFF)/NE
RA(1:NE) = DIFF(1:NE)- AV
r1(1:ne) = ra(1:ne)*ra(1:ne)
RMSN = SQRT(SUM(r1)/FLOAT(2*NE))
is the first version now wrong? - i think it was OK in v8.01...
K