V3FIT
positiv.f
1  SUBROUTINE positiv(ya, n, ivar)
2 C-----------------------------------------------
3 C M o d u l e s
4 C-----------------------------------------------
5  USE parambs
6  USE vmec0
7  IMPLICIT NONE
8 C-----------------------------------------------
9 C D u m m y A r g u m e n t s
10 C-----------------------------------------------
11  INTEGER n, ivar
12  REAL(rprec), DIMENSION(*) :: ya
13 C-----------------------------------------------
14 C L o c a l P a r a m e t e r s
15 C-----------------------------------------------
16  REAL(rprec), PARAMETER :: zero = 0, d36 = 1.e-36_dp
17 C-----------------------------------------------
18 c--
19 c make corrections to ensure a positive array
20 c--
21 c
22  IF (ivar .eq. 1) THEN
23  ya(:n) = abs(ya(:n)) + d36
24  ELSE
25  WHERE (ya(:n) .le. zero) ya(:n) = d36
26  ENDIF
27 
28  END SUBROUTINE positiv