diff --git a/src/MNH/isofwd.f b/src/MNH/isofwd.f
index 800f81e7080a59347c39b5a795b8d454eb399634..8e030d139b1e5cdff482e8b5611df8651d8845ed 100644
--- a/src/MNH/isofwd.f
+++ b/src/MNH/isofwd.f
@@ -19,6 +19,7 @@ C     THE AMBIENT RELATIVE HUMIDITY.
 C
 C *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY
 C *** WRITTEN BY ATHANASIOS NENES
+C   J.Escobar : 10/2017 , for real*4 replace DOUBLE => REAL
 C
 C=======================================================================
 C
@@ -474,7 +475,7 @@ C
       DO 10 I=1,NDIV
          X2 = MAX(X1-DX, OMELO)
          Y2 = FUNCA2 (X2)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
          X1 = X2
          Y1 = Y2
 10    CONTINUE
@@ -490,7 +491,7 @@ C
 20    DO 30 I=1,MAXIT
          X3 = 0.5*(X1+X2)
          Y3 = FUNCA2 (X3)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
             Y2    = Y3
             X2    = X3
          ELSE
@@ -760,7 +761,7 @@ C
       DO 10 I=1,NDIV
          Z2 = Z1+DZ
          Y2 = FUNCB3A (Z2, TLC, TNH42S4)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
          Z1 = Z2
          Y1 = Y2
 10    CONTINUE
@@ -794,7 +795,7 @@ C
 20    DO 30 I=1,MAXIT
          Z3 = 0.5*(Z1+Z2)
          Y3 = FUNCB3A (Z3, TLC, TNH42S4)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
             Y2    = Y3
             Z2    = Z3
          ELSE
@@ -1127,7 +1128,7 @@ C
       DO 10 I=1,NDIV
          X2 = X1-DX
          Y2 = FUNCB2B (X2,TNH4HS4,TLC)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
          X1 = X2
          Y1 = Y2
 10    CONTINUE
@@ -1161,7 +1162,7 @@ C
 20    DO 30 I=1,MAXIT
          X3 = 0.5*(X1+X2)
          Y3 = FUNCB2B (X3,TNH4HS4,TLC)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
             Y2    = Y3
             X2    = X3
          ELSE
@@ -1496,7 +1497,7 @@ C
       DO 10 I=1,NDIV
          X2 = X1+DX
          Y2 = FUNCC1 (X2)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y2) .LT. ZERO) GOTO 20 ! (Y1*Y2 .LT. ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y2) .LT. ZERO) GOTO 20 ! (Y1*Y2 .LT. ZERO)
          X1 = X2
          Y1 = Y2
 10    CONTINUE
@@ -1528,7 +1529,7 @@ C
 20    DO 30 I=1,MAXIT
          X3 = 0.5*(X1+X2)
          Y3 = FUNCC1 (X3)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
             Y2    = Y3
             X2    = X3
          ELSE
@@ -1672,7 +1673,7 @@ C
       DO 10 I=1,NDIV
          X2 = X1+DX
          Y2 = FUNCD3 (X2)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
          X1 = X2
          Y1 = Y2
 10    CONTINUE
@@ -1719,7 +1720,7 @@ C
 20    DO 30 I=1,MAXIT
          X3 = 0.5*(X1+X2)
          Y3 = FUNCD3 (X3)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
             Y2    = Y3
             X2    = X3
          ELSE
@@ -1890,7 +1891,7 @@ C
       DO 10 I=1,NDIV
          X2 = X1+DX
          Y2 = FUNCD2 (X2)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y2).LT.ZERO) THEN
+         IF (SIGN(1.,Y1)*SIGN(1.,Y2).LT.ZERO) THEN
 C
 C This is done, in case if Y(PSI4LO)>0, but Y(PSI4LO+DX) < 0 (i.e.undersat)
 C
@@ -1942,7 +1943,7 @@ C
 20    DO 30 I=1,MAXIT
          X3 = 0.5*(X1+X2)
          Y3 = FUNCD2 (X3)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
             Y2    = Y3
             X2    = X3
          ELSE
@@ -2213,7 +2214,7 @@ C
       DO 10 I=1,NDIV
          X2 = X1+DX 
          Y2 = FUNCG5A (X2)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
          X1 = X2
          Y1 = Y2
 10    CONTINUE
@@ -2228,7 +2229,7 @@ C
 20    DO 30 I=1,MAXIT
          X3 = 0.5*(X1+X2)
          Y3 = FUNCG5A (X3)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
             Y2    = Y3
             X2    = X3
          ELSE
@@ -2315,7 +2316,7 @@ C
 C
 CCC      IF(CHI4.GT.TINY) THEN
       IF(W(2).GT.TINY) THEN       ! Accounts for NH3 evaporation
-         BB   =-(CHI4 + PSI6 + PSI5 + 1.d0/A4)
+         BB   =-(CHI4 + PSI6 + PSI5 + 1./A4)
          CC   = CHI4*(PSI5+PSI6) - 2.d0*PSI2/A4
          DD   = MAX(BB*BB-4.d0*CC,ZERO)           ! Patch proposed by Uma Shankar, 19/11/01
          PSI4 =0.5d0*(-BB - SQRT(DD))
@@ -2420,7 +2421,7 @@ C
       DO 10 I=1,NDIV
          X2  = X1+DX
          Y2  = FUNCG4A (X2)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
          X1  = X2
          Y1  = Y2
 10    CONTINUE
@@ -2435,7 +2436,7 @@ C
 20    DO 30 I=1,MAXIT
          X3 = 0.5*(X1+X2)
          Y3 = FUNCG4A (X3)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
             Y2    = Y3
             X2    = X3
          ELSE
@@ -2522,7 +2523,7 @@ C
 C
 CCC      IF(CHI4.GT.TINY) THEN
       IF(W(2).GT.TINY) THEN       ! Accounts for NH3 evaporation
-         BB   =-(CHI4 + PSI6 + PSI5 + 1.d0/A4)
+         BB   =-(CHI4 + PSI6 + PSI5 + 1./A4)
          CC   = CHI4*(PSI5+PSI6) - 2.d0*PSI2/A4
          DD   = MAX(BB*BB-4.d0*CC,ZERO) ! Patch proposed by Uma shankar, 19/11/2001
          PSI4 =0.5d0*(-BB - SQRT(DD))
@@ -2706,7 +2707,7 @@ C
          X2  = X1+DX 
          Y2  = FUNCG3A (X2)
 C
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
          X1  = X2
          Y1  = Y2
 10    CONTINUE
@@ -2721,7 +2722,7 @@ C
 20    DO 30 I=1,MAXIT
          X3 = 0.5*(X1+X2)
          Y3 = FUNCG3A (X3)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
             Y2    = Y3
             X2    = X3
          ELSE
@@ -2827,7 +2828,7 @@ C
 C
 CCC      IF(CHI4.GT.TINY) THEN
       IF(W(2).GT.TINY) THEN       ! Accounts for NH3 evaporation
-         BB   =-(CHI4 + PSI6 + PSI5 + 1.d0/A4)
+         BB   =-(CHI4 + PSI6 + PSI5 + 1./A4)
          CC   = CHI4*(PSI5+PSI6) - 2.d0*PSI2/A4
          DD   = MAX(BB*BB-4.d0*CC,ZERO)  ! Patch proposed by Uma Shankar, 19/11/01
          PSI4 =0.5d0*(-BB - SQRT(DD))
@@ -3006,7 +3007,7 @@ C
       DO 10 I=1,NDIV
          X2 = X1+DX 
          Y2 = FUNCG2A (X2)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
          X1 = X2
          Y1 = Y2
 10    CONTINUE
@@ -3021,7 +3022,7 @@ C
 20    DO 30 I=1,MAXIT
          X3 = 0.5*(X1+X2)
          Y3 = FUNCG2A (X3)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
             Y2    = Y3
             X2    = X3
          ELSE
@@ -3443,7 +3444,7 @@ C
       DO 10 I=1,NDIV
          X2 = X1+DX 
          Y2 = FUNCH6A (X2)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
          X1 = X2
          Y1 = Y2
 10    CONTINUE
@@ -3458,7 +3459,7 @@ C
 20    DO 30 I=1,MAXIT
          X3 = 0.5*(X1+X2)
          Y3 = FUNCH6A (X3)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
             Y2    = Y3
             X2    = X3
          ELSE
@@ -3547,7 +3548,7 @@ C
       PSI5 = MAX(PSI5, TINY)
 C
       IF (CHI1.GT.TINY .AND. WATER.GT.TINY) THEN  ! First try 3rd order soln
-         BB   =-(CHI4 + PSI6 + PSI5 + 1.d0/A4)
+         BB   =-(CHI4 + PSI6 + PSI5 + 1./A4)
          CC   = CHI4*(PSI5+PSI6)
          DD   = BB*BB-4.d0*CC
          PSI4 =0.5d0*(-BB - SQRT(DD))
@@ -3660,7 +3661,7 @@ C
       DO 10 I=1,NDIV
          X2 = X1+DX 
          Y2 = FUNCH5A (X2)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
          X1 = X2
          Y1 = Y2
 10    CONTINUE
@@ -3675,7 +3676,7 @@ C
 20    DO 30 I=1,MAXIT
          X3 = 0.5*(X1+X2)
          Y3 = FUNCH5A (X3)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
             Y2    = Y3
             X2    = X3
          ELSE
@@ -3764,7 +3765,7 @@ C
       PSI5 = MAX(PSI5, TINY)
 C
       IF (CHI1.GT.TINY .AND. WATER.GT.TINY) THEN  ! First try 3rd order soln
-         BB   =-(CHI4 + PSI6 + PSI5 + 1.d0/A4)
+         BB   =-(CHI4 + PSI6 + PSI5 + 1./A4)
          CC   = CHI4*(PSI5+PSI6)
          DD   = BB*BB-4.d0*CC
          PSI4 =0.5d0*(-BB - SQRT(DD))
@@ -3889,7 +3890,7 @@ C
       DO 10 I=1,NDIV
          X2 = X1+DX 
          Y2 = FUNCH4A (X2)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
          X1 = X2
          Y1 = Y2
 10    CONTINUE
@@ -3904,7 +3905,7 @@ C
 20    DO 30 I=1,MAXIT
          X3 = 0.5*(X1+X2)
          Y3 = FUNCH4A (X3)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
             Y2    = Y3
             X2    = X3
          ELSE
@@ -3993,7 +3994,7 @@ C
       PSI5 = MAX(PSI5, TINY)
 C
       IF (CHI1.GT.TINY .AND. WATER.GT.TINY) THEN  ! First try 3rd order soln
-         BB   =-(CHI4 + PSI6 + PSI5 + 1.d0/A4)
+         BB   =-(CHI4 + PSI6 + PSI5 + 1./A4)
          CC   = CHI4*(PSI5+PSI6)
          DD   = BB*BB-4.d0*CC
          PSI4 =0.5d0*(-BB - SQRT(DD))
@@ -4143,7 +4144,7 @@ C
       DO 10 I=1,NDIV
          X2 = X1+DX 
          Y2 = FUNCH3A (X2)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
          X1 = X2
          Y1 = Y2
 10    CONTINUE
@@ -4158,7 +4159,7 @@ C
 20    DO 30 I=1,MAXIT
          X3 = 0.5*(X1+X2)
          Y3 = FUNCH3A (X3)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
             Y2    = Y3
             X2    = X3
          ELSE
@@ -4247,7 +4248,7 @@ C
       PSI5 = MAX(PSI5, TINY)
 C
       IF (CHI1.GT.TINY .AND. WATER.GT.TINY) THEN  ! First try 3rd order soln
-         BB   =-(CHI4 + PSI6 + PSI5 + 1.d0/A4)
+         BB   =-(CHI4 + PSI6 + PSI5 + 1./A4)
          CC   = CHI4*(PSI5+PSI6)
          DD   = BB*BB-4.d0*CC
          PSI4 =0.5d0*(-BB - SQRT(DD))
@@ -4452,7 +4453,7 @@ C
       DO 10 I=1,NDIV
          X2 = X1+DX 
          Y2 = FUNCH2A (X2)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
          X1 = X2
          Y1 = Y2
 10    CONTINUE
@@ -4467,7 +4468,7 @@ C
 20    DO 30 I=1,MAXIT
          X3 = 0.5*(X1+X2)
          Y3 = FUNCH2A (X3)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
             Y2    = Y3
             X2    = X3
          ELSE
@@ -4558,7 +4559,7 @@ C
       PSI5 = MAX(PSI5, TINY)
 C
       IF (CHI1.GT.TINY .AND. WATER.GT.TINY) THEN  ! First try 3rd order soln
-         BB   =-(CHI4 + PSI6 + PSI5 + 1.d0/A4)
+         BB   =-(CHI4 + PSI6 + PSI5 + 1./A4)
          CC   = CHI4*(PSI5+PSI6)
          DD   = BB*BB-4.d0*CC
          PSI4 =0.5d0*(-BB - SQRT(DD))
@@ -4996,7 +4997,7 @@ C
       DO 10 I=1,NDIV
          X2 = X1-DX
          Y2 = FUNCI5A (X2)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
          X1 = X2
          Y1 = Y2
 10    CONTINUE
@@ -5019,7 +5020,7 @@ C
 20    DO 30 I=1,MAXIT
          X3 = 0.5*(X1+X2)
          Y3 = FUNCI5A (X3)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
             Y2    = Y3
             X2    = X3
          ELSE
@@ -5187,7 +5188,7 @@ C
       DO 10 I=1,NDIV
          X2 = X1-DX
          Y2 = FUNCI4A (X2)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
          X1 = X2
          Y1 = Y2
 10    CONTINUE
@@ -5210,7 +5211,7 @@ C
 20    DO 30 I=1,MAXIT
          X3 = 0.5*(X1+X2)
          Y3 = FUNCI4A (X3)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
             Y2    = Y3
             X2    = X3
          ELSE
@@ -5439,7 +5440,7 @@ C
       DO 10 I=1,NDIV
          X2 = MAX(X1-DX, PSI2LO)
          Y2 = FUNCI3A (X2)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
          X1 = X2
          Y1 = Y2
 10    CONTINUE
@@ -5454,7 +5455,7 @@ C
 20    DO 30 I=1,MAXIT
          X3 = 0.5*(X1+X2)
          Y3 = FUNCI3A (X3)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
             Y2    = Y3
             X2    = X3
          ELSE
@@ -5533,7 +5534,7 @@ C
       DO 10 I=1,NDIV
          X2 = MAX(X1-DX, PSI4LO)
          Y2 = FUNCI3B (X2)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
          X1 = X2
          Y1 = Y2
 10    CONTINUE
@@ -5548,7 +5549,7 @@ C
 20    DO 30 I=1,MAXIT
          X3 = 0.5*(X1+X2)
          Y3 = FUNCI3B (X3)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
             Y2    = Y3
             X2    = X3
          ELSE
@@ -5782,7 +5783,7 @@ C
       DO 10 I=1,NDIV
          X2 = MAX(X1-DX, PSI2LO)
          Y2 = FUNCI2A (X2)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
          X1 = X2
          Y1 = Y2
 10    CONTINUE
@@ -5797,7 +5798,7 @@ C
 20    DO 30 I=1,MAXIT
          X3 = 0.5*(X1+X2)
          Y3 = FUNCI2A (X3)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
             Y2    = Y3
             X2    = X3
          ELSE
@@ -6154,7 +6155,7 @@ C
       DO 10 I=1,NDIV
          X2 = X1-DX
          Y2 = FUNCJ2 (X2)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
          X1 = X2
          Y1 = Y2
 10    CONTINUE
@@ -6177,7 +6178,7 @@ C
 20    DO 30 I=1,MAXIT
          X3 = 0.5*(X1+X2)
          Y3 = FUNCJ2 (X3)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
             Y2    = Y3
             X2    = X3
          ELSE
@@ -6325,7 +6326,7 @@ C
       DO 10 I=1,NDIV
          X2 = X1-DX
          Y2 = FUNCJ1 (X2)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
          X1 = X2
          Y1 = Y2
 10    CONTINUE
@@ -6348,7 +6349,7 @@ C
 20    DO 30 I=1,MAXIT
          X3 = 0.5*(X1+X2)
          Y3 = FUNCJ1 (X3)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
             Y2    = Y3
             X2    = X3
          ELSE
diff --git a/src/MNH/isorev.f b/src/MNH/isorev.f
index 8fbddd50e598fc2fac07cb518957f438bd3ea54d..f4588f11c4246a7bcc1b4f82159d00fafff15efb 100644
--- a/src/MNH/isorev.f
+++ b/src/MNH/isorev.f
@@ -19,6 +19,7 @@ C     THE AMBIENT RELATIVE HUMIDITY.
 C
 C *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY
 C *** WRITTEN BY ATHANASIOS NENES
+C   J.Escobar : 10/2017 , for real*4 replace DOUBLE => REAL
 C
 C=======================================================================
 C
@@ -775,7 +776,7 @@ C
       DO 10 I=1,NDIV
          X2 = MAX(X1-DX, ZERO)
          Y2 = FUNCN2 (X2)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y2).LT.ZERO) GOTO 20  ! (Y1*Y2.LT.ZERO)
          X1 = X2
          Y1 = Y2
 10    CONTINUE
@@ -809,7 +810,7 @@ C
 20    DO 30 I=1,MAXIT
          X3 = 0.5*(X1+X2)
          Y3 = FUNCN2 (X3)
-         IF (SIGN(1.d0,Y1)*SIGN(1.d0,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
+         IF (SIGN(1.,Y1)*SIGN(1.,Y3) .LE. ZERO) THEN  ! (Y1*Y3 .LE. ZERO)
             Y2    = Y3
             X2    = X3
          ELSE
diff --git a/src/include/isrpia.inc b/src/include/isrpia.inc
index 5c6c1ba60e5351ee8f63ea4678ca009a110ca59e..8bf43f8bd87bf444b33a72eabeaeab82252525a5 100644
--- a/src/include/isrpia.inc
+++ b/src/include/isrpia.inc
@@ -7,10 +7,11 @@ C     AND VARIABLES.
 C
 C *** COPYRIGHT 1996-2000, UNIVERSITY OF MIAMI, CARNEGIE MELLON UNIVERSITY
 C *** WRITTEN BY ATHANASIOS NENES
+C   J.Escobar : 10/2017 , for real*4 replace DOUBLE => REAL
 C
 C=======================================================================
 C
-      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
+      IMPLICIT  REAL (A-H,O-Z)
       PARAMETER (NCOMP=5,NIONS=7,NGASAQ=3,NSLDS=9,NPAIR=13,NZSR=100,
      &           NERRMX=25)
 C
@@ -39,7 +40,7 @@ C
 C
 C *** VARIABLES FOR LIQUID AEROSOL PHASE *******************************
 C
-      DOUBLE PRECISION MOLAL, MOLALR, M0
+      REAL MOLAL, MOLALR, M0
       REAL IONIC
       LOGICAL CALAOU, CALAIN, FRST, DRYF
       COMMON /IONS/ MOLAL(NIONS), MOLALR(NPAIR), GAMA(NPAIR), ZZ(NPAIR),
@@ -66,7 +67,7 @@ C
 C
 C *** MOLECULAR WEIGHTS ************************************************
 C
-      DOUBLE PRECISION IMW
+      REAL IMW
       COMMON /OTHR/ R, IMW(NIONS), WMW(NCOMP), SMW(NPAIR)
 C
 C *** SOLUTION/INFO VARIABLES ******************************************