diff --git a/src/PHYEX/micro/condensation.f90 b/src/PHYEX/micro/condensation.f90
index 23a7e9bb7df8697a2efb70cc7f3a693593501e00..061694c9fcc24a74084058c69054f42d60ac479b 100644
--- a/src/PHYEX/micro/condensation.f90
+++ b/src/PHYEX/micro/condensation.f90
@@ -462,7 +462,7 @@ DO JK=IKTB,IKTE
     IF(PRESENT(PHLI_HCF) .AND. PRESENT(PHLI_HRI))THEN
       DO JIJ=IIJB,IIJE
         IF(ZFRAC(JIJ) > 1.E-20)THEN
-          ZCRIAUTI=MIN(ICEP%XCRIAUTI,10**(ICEP%XACRIAUTI*(PT(JIJ,JK)-CST%XTT)+ICEP%XBCRIAUTI))
+          ZCRIAUTI=MIN(ICEP%XCRIAUTI,10.**(ICEP%XACRIAUTI*(PT(JIJ,JK)-CST%XTT)+ICEP%XBCRIAUTI))
           ZAUTI = (ZSBAR(JIJ) - ZCRIAUTI/ZFRAC(JIJ))/ZSIGMA(JIJ)
           ZGAUTI = -ZAUTI/SQRT(2.)
           !Approximation of erf function for Gaussian distribution
diff --git a/src/PHYEX/micro/ice_adjust.f90 b/src/PHYEX/micro/ice_adjust.f90
index e2981ff0107fa5d87b62c408022608aa35e95ca8..85dde15bab3abb7b99cb0b62993bf9b0304c0867 100644
--- a/src/PHYEX/micro/ice_adjust.f90
+++ b/src/PHYEX/micro/ice_adjust.f90
@@ -367,7 +367,7 @@ DO JK=IKTB,IKTE
         ENDIF
       ENDIF
       IF(PRESENT(PHLI_HRI) .AND. PRESENT(PHLI_HCF)) THEN
-        ZCRIAUT=MIN(ICEP%XCRIAUTI,10**(ICEP%XACRIAUTI*(ZT(JIJ,JK)-CST%XTT)+ICEP%XBCRIAUTI))
+        ZCRIAUT=MIN(ICEP%XCRIAUTI,10.**(ICEP%XACRIAUTI*(ZT(JIJ,JK)-CST%XTT)+ICEP%XBCRIAUTI))
         IF(TURBN%CSUBG_MF_PDF=='NONE')THEN
           IF(ZW2*PTSTEP>PCF_MF(JIJ,JK) * ZCRIAUT) THEN
             PHLI_HRI(JIJ,JK)=PHLI_HRI(JIJ,JK)+ZW2*PTSTEP
diff --git a/src/PHYEX/micro/ini_ice_c1r3.f90 b/src/PHYEX/micro/ini_ice_c1r3.f90
index 3c4c6e266751e09f8aa78e26667b9c3d77ce2bf4..66a1f76a08ceaa4754c241b6942e4cf59e2b0573 100644
--- a/src/PHYEX/micro/ini_ice_c1r3.f90
+++ b/src/PHYEX/micro/ini_ice_c1r3.f90
@@ -637,7 +637,7 @@ ALLOCATE( XGAMINC_RIM1(NGAMINC) )
 ALLOCATE( XGAMINC_RIM2(NGAMINC) )
 !
 DO J1=1,NGAMINC
-  ZBOUND = XGAMINC_BOUND_MIN*ZRATE**(J1-1)
+  ZBOUND = XGAMINC_BOUND_MIN*ZRATE**REAL(J1-1)
   XGAMINC_RIM1(J1) = GAMMA_INC(XNUS+(2.0+XDS)/XALPHAS,ZBOUND)
   XGAMINC_RIM2(J1) = GAMMA_INC(XNUS+XBS/XALPHAS      ,ZBOUND)
 END DO
@@ -665,7 +665,7 @@ ZRATE = EXP(LOG(XGAMINC_HMC_BOUND_MAX/XGAMINC_HMC_BOUND_MIN)/REAL(NGAMINC-1))
 ALLOCATE( XGAMINC_HMC(NGAMINC) )
 !
 DO J1=1,NGAMINC
-  ZBOUND = XGAMINC_HMC_BOUND_MIN*ZRATE**(J1-1)
+  ZBOUND = XGAMINC_HMC_BOUND_MIN*ZRATE**REAL(J1-1)
   XGAMINC_HMC(J1) = GAMMA_INC(XNUC,ZBOUND)
 END DO
 !
diff --git a/src/PHYEX/micro/ini_lima_cold_mixed.f90 b/src/PHYEX/micro/ini_lima_cold_mixed.f90
index 55303431f6c033e1ae31ab923f02f13b7570af5a..263e87470aa963223d6494cd887ab65ac3f0df35 100644
--- a/src/PHYEX/micro/ini_lima_cold_mixed.f90
+++ b/src/PHYEX/micro/ini_lima_cold_mixed.f90
@@ -824,7 +824,7 @@ ALLOCATE( XGAMINC_RIM2(NGAMINC) )
 ALLOCATE( XGAMINC_RIM4(NGAMINC) )
 !
 DO J1=1,NGAMINC
-  ZBOUND = XGAMINC_BOUND_MIN*ZRATE**(J1-1)
+  ZBOUND = XGAMINC_BOUND_MIN*ZRATE**REAL(J1-1)
   XGAMINC_RIM1(J1) = GAMMA_INC(XNUS+(2.0+XDS)/XALPHAS,ZBOUND)
   XGAMINC_RIM2(J1) = GAMMA_INC(XNUS+XBS/XALPHAS      ,ZBOUND)
   XGAMINC_RIM4(J1) = GAMMA_INC(XNUS+XBG/XALPHAS      ,ZBOUND) ! Pour Murakami 1990
@@ -853,7 +853,7 @@ ZRATE = EXP(LOG(XGAMINC_HMC_BOUND_MAX/XGAMINC_HMC_BOUND_MIN)/REAL(NGAMINC-1))
 ALLOCATE( XGAMINC_HMC(NGAMINC) )
 !
 DO J1=1,NGAMINC
-  ZBOUND = XGAMINC_HMC_BOUND_MIN*ZRATE**(J1-1)
+  ZBOUND = XGAMINC_HMC_BOUND_MIN*ZRATE**REAL(J1-1)
   XGAMINC_HMC(J1) = GAMMA_INC(XNUC,ZBOUND)
 END DO
 !
@@ -1156,8 +1156,8 @@ ALLOCATE( XGAMINC_CIBU_S(4,NGAMINC) )
 ALLOCATE( XGAMINC_CIBU_G(2,NGAMINC) )
 !
 DO J1 = 1, NGAMINC
-  ZBOUND_CIBU_SMIN = XGAMINC_BOUND_CIBU_SMIN * ZRATE_S**(J1-1)
-  ZBOUND_CIBU_GMIN = XGAMINC_BOUND_CIBU_GMIN * ZRATE_G**(J1-1)
+  ZBOUND_CIBU_SMIN = XGAMINC_BOUND_CIBU_SMIN * ZRATE_S**REAL(J1-1)
+  ZBOUND_CIBU_GMIN = XGAMINC_BOUND_CIBU_GMIN * ZRATE_G**REAL(J1-1)
 !
 ! For ZNI_CIBU
   XGAMINC_CIBU_S(1,J1) = GAMMA_INC(XNUS,ZBOUND_CIBU_SMIN)
@@ -1209,7 +1209,7 @@ ZRATE_R = EXP(LOG(XGAMINC_BOUND_RDSF_RMAX/XGAMINC_BOUND_RDSF_RMIN)/FLOAT(NGAMINC
 ALLOCATE( XGAMINC_RDSF_R(NGAMINC) )
 !
 DO J1 = 1, NGAMINC
-  ZBOUND_RDSF_RMIN = XGAMINC_BOUND_RDSF_RMIN * ZRATE_R**(J1-1)
+  ZBOUND_RDSF_RMIN = XGAMINC_BOUND_RDSF_RMIN * ZRATE_R**REAL(J1-1)
 !
 ! For ZNI_RDSF
   XGAMINC_RDSF_R(J1) = GAMMA_INC(XNUR+((6.0+XDR)/XALPHAR),ZBOUND_RDSF_RMIN)
diff --git a/src/PHYEX/micro/ini_rain_c2r2.f90 b/src/PHYEX/micro/ini_rain_c2r2.f90
index b436b832df4291f0fcfe3b238435df0f4a5bc845..ec747d05f33b9ede27120f29ce79d4d60c19eb0e 100644
--- a/src/PHYEX/micro/ini_rain_c2r2.f90
+++ b/src/PHYEX/micro/ini_rain_c2r2.f90
@@ -362,7 +362,7 @@ IF (HPARAM_CCN == 'CPB') THEN ! CPB98's case
               ZSS =ZSMAX*(ZSMIN/ZSMAX)**(REAL(NHYP-J1)/REAL(NHYP-1))
               XHYPF12(J1) = HYPGEO(XMUHEN,XKHEN/2.0,(XKHEN+2.0)/2.0,XBETAHEN, &
                                    100.*ZSS)
-              XHYPF32(J1) = HYPGEO(XMUHEN,XKHEN/2.0,(XKHEN+3.0)/2.0,XBETAHEN*100**2, &
+              XHYPF32(J1) = HYPGEO(XMUHEN,XKHEN/2.0,(XKHEN+3.0)/2.0,XBETAHEN*100.**2, &
                                    ZSS)
             END DO TAB_HYP
   IF (HINI_CCN == 'CCN') THEN
diff --git a/src/PHYEX/micro/ini_rain_ice.f90 b/src/PHYEX/micro/ini_rain_ice.f90
index 1118b9aaf7e47dd2a7ee37fcbab2dc17f9afbda5..993469f35fbcc9c0a4997326308f476f8cb8525e 100644
--- a/src/PHYEX/micro/ini_rain_ice.f90
+++ b/src/PHYEX/micro/ini_rain_ice.f90
@@ -744,7 +744,7 @@ IF( .NOT.ASSOCIATED(XGAMINC_RIM2) ) CALL RAIN_ICE_PARAM_ALLOCATE('XGAMINC_RIM2',
 IF( .NOT.ASSOCIATED(XGAMINC_RIM4) ) CALL RAIN_ICE_PARAM_ALLOCATE('XGAMINC_RIM4', NGAMINC)
 !
 DO J1=1,NGAMINC
-  ZBOUND = XGAMINC_BOUND_MIN*ZRATE**(J1-1)
+  ZBOUND = XGAMINC_BOUND_MIN*ZRATE**REAL(J1-1)
   XGAMINC_RIM1(J1) = GAMMA_INC(XNUS+(2.0+XDS)/XALPHAS,ZBOUND)
   XGAMINC_RIM2(J1) = GAMMA_INC(XNUS+XBS/XALPHAS      ,ZBOUND)
   XGAMINC_RIM4(J1) = GAMMA_INC(XNUS+XBG/XALPHAS      ,ZBOUND)
diff --git a/src/PHYEX/micro/ini_rain_ice_elec.f90 b/src/PHYEX/micro/ini_rain_ice_elec.f90
index f926dc064811621ab57deddb76b4bbbbbed435f0..54aed403c25e3df44cc79a4a9ab0bf265ac23bb4 100644
--- a/src/PHYEX/micro/ini_rain_ice_elec.f90
+++ b/src/PHYEX/micro/ini_rain_ice_elec.f90
@@ -434,7 +434,7 @@ XFSEDI   = (4. * XPI * 900.)**(-XEXCSEDI) *                   &
            XC_I * XAI * MOMG(XALPHAI,XNUI,XBI+XDI) *          &
            ((XAI * MOMG(XALPHAI,XNUI,XBI)))**(-XEXRSEDI) *    &
            (ZRHO00)**XCEXVT
-XFCI     = (4. * XPI * 900.)**(-1) 
+XFCI     = (4. * XPI * 900.)**(-1.0) 
 !
 !  Computations made for Columns
 !
@@ -632,7 +632,7 @@ IF( .NOT.ASSOCIATED(XGAMINC_RIM2) ) CALL RAIN_ICE_PARAM_ALLOCATE('XGAMINC_RIM2',
 IF( .NOT.ALLOCATED(XGAMINC_RIM3) ) ALLOCATE(XGAMINC_RIM3(NGAMINC))
 !
 DO J1 = 1, NGAMINC
-  ZBOUND = XGAMINC_BOUND_MIN * ZRATE**(J1-1)
+  ZBOUND = XGAMINC_BOUND_MIN * ZRATE**REAL(J1-1)
   XGAMINC_RIM1(J1) = GAMMA_INC(XNUS+(2.0+XDS)/XALPHAS,ZBOUND)
   XGAMINC_RIM2(J1) = GAMMA_INC(XNUS+XBS/XALPHAS      ,ZBOUND)
   XFS = 1.3  ! cf values initiated in ini_param_elec
diff --git a/src/PHYEX/micro/init_aerosol_properties.f90 b/src/PHYEX/micro/init_aerosol_properties.f90
index f7ea0bad7052595e6ba6b0b7560a40f7205280fa..9a13f31d76e964d4a6d59012bae3f6f75fe68c87 100644
--- a/src/PHYEX/micro/init_aerosol_properties.f90
+++ b/src/PHYEX/micro/init_aerosol_properties.f90
@@ -324,7 +324,7 @@ END IF
 ! new_C = C * 100^k (ie XLIMIT_FACTOR = XLIMIT_FACTOR / 100^k)
 !
     XBETAHEN_MULTI(:) = XBETAHEN_MULTI(:) * 10000
-    XLIMIT_FACTOR(:)  = XLIMIT_FACTOR(:) / (100**XKHEN_MULTI(:))
+    XLIMIT_FACTOR(:)  = XLIMIT_FACTOR(:) / (100.**XKHEN_MULTI(:))
   END IF
 END IF ! NMOD_CCN > 0
 !
diff --git a/src/PHYEX/micro/lima_cold_slow_processes.f90 b/src/PHYEX/micro/lima_cold_slow_processes.f90
index 64917a92a27c4bc1f32425e3d931f9919750fd89..1760e95060a0d38b061d705a503fd788e2a765a3 100644
--- a/src/PHYEX/micro/lima_cold_slow_processes.f90
+++ b/src/PHYEX/micro/lima_cold_slow_processes.f90
@@ -333,10 +333,10 @@ IF( IMICRO >= 1 ) THEN
    ZLBDAS(:)  = 1.E10
    IF (LSNOW_T .AND. NMOM_S.EQ.1) THEN
       WHERE(ZZT(:)>263.15 .AND. ZRST(:)>XRTMIN(5)) 
-         ZLBDAS(:) = MAX(MIN(XLBDAS_MAX, 10**(14.554-0.0423*ZZT(:))),XLBDAS_MIN)
+         ZLBDAS(:) = MAX(MIN(XLBDAS_MAX, 10.**(14.554-0.0423*ZZT(:))),XLBDAS_MIN)
       END WHERE
       WHERE(ZZT(:)<=263.15 .AND. ZRST(:)>XRTMIN(5)) 
-         ZLBDAS(:) = MAX(MIN(XLBDAS_MAX, 10**(6.226-0.0106*ZZT(:))),XLBDAS_MIN)
+         ZLBDAS(:) = MAX(MIN(XLBDAS_MAX, 10.**(6.226-0.0106*ZZT(:))),XLBDAS_MIN)
       END WHERE
       ZLBDAS(:) = ZLBDAS(:) * XTRANS_MP_GAMMAS
       ZCST(:) = (XNS*ZRST(:)*ZLBDAS(:)**XBS)
diff --git a/src/PHYEX/micro/lima_mixed.f90 b/src/PHYEX/micro/lima_mixed.f90
index 96fa6513876b27137b222d8b68de552fa8b65c9a..42e928374b72b5bec30ce0e639739f32c2ef3b42 100644
--- a/src/PHYEX/micro/lima_mixed.f90
+++ b/src/PHYEX/micro/lima_mixed.f90
@@ -537,10 +537,10 @@ IF( IMICRO >= 0 ) THEN
    END WHERE
    IF (LSNOW_T .AND. NMOM_S.EQ.1) THEN
       WHERE(ZZT(:)>263.15 .AND. ZRST(:)>XRTMIN(5)) 
-         ZLBDAS(:) = MAX(MIN(XLBDAS_MAX, 10**(14.554-0.0423*ZZT(:))),XLBDAS_MIN)
+         ZLBDAS(:) = MAX(MIN(XLBDAS_MAX, 10.**(14.554-0.0423*ZZT(:))),XLBDAS_MIN)
       END WHERE
       WHERE(ZZT(:)<=263.15 .AND. ZRST(:)>XRTMIN(5)) 
-         ZLBDAS(:) = MAX(MIN(XLBDAS_MAX, 10**(6.226-0.0106*ZZT(:))),XLBDAS_MIN)
+         ZLBDAS(:) = MAX(MIN(XLBDAS_MAX, 10.**(6.226-0.0106*ZZT(:))),XLBDAS_MIN)
       END WHERE
       ZLBDAS(:) = ZLBDAS(:) * XTRANS_MP_GAMMAS
       ZCST(:) = (XNS*ZRST(:)*ZLBDAS(:)**XBS)
diff --git a/src/PHYEX/micro/lima_mixed_fast_processes.f90 b/src/PHYEX/micro/lima_mixed_fast_processes.f90
index fbd6f4262aeee15270085e26359d1cf0939daf31..a73d3ea8bd28cfb423e1cf4ebc51d7d878bf3c2d 100644
--- a/src/PHYEX/micro/lima_mixed_fast_processes.f90
+++ b/src/PHYEX/micro/lima_mixed_fast_processes.f90
@@ -2238,7 +2238,7 @@ if( M2_ICE) then
 !          ZZNW1(:,5) = XSSC * (PRST1D(:) * PRHODREF(:))**EXPRS * PCST1D(:)**EXPNS      
          ZZNW1(:,5) = MIN( PCSS1D(:),XFNSSCS*ZZNW(:)                       & ! NSSCS
                                       * EXP( XCOLEXSS*(PZT(:)-XTT) )  &
-                    *( PCST1D(:)                     )**( 2 )           &  
+                    *( PCST1D(:)                     )**2           &  
                     *( PRHODREF(:)**(-XCEXVT-1.) )                    &
                          *( XLBNSSCS1/( PLBDAS(:)**2             ) +  &
                             XLBNSSCS2/( PLBDAS(:)**2 ) )            )
diff --git a/src/PHYEX/micro/mode_ice4_compute_pdf.f90 b/src/PHYEX/micro/mode_ice4_compute_pdf.f90
index 7ccb88c1274867edbcff476743ebf920ea8dc2cc..82c76227dd9c2a78bc49b5a8c21132443b4b9b2e 100644
--- a/src/PHYEX/micro/mode_ice4_compute_pdf.f90
+++ b/src/PHYEX/micro/mode_ice4_compute_pdf.f90
@@ -260,7 +260,7 @@ ENDIF
 !
 !Ice water split between high and low content part is done according to autoconversion option
 !$mnh_expand_where(JI=1:KSIZE)
-  ZCRIAUTI(:)=MIN(ICEP%XCRIAUTI,10**(ICEP%XACRIAUTI*(PT(:)-CST%XTT)+ICEP%XBCRIAUTI)) ! Autoconversion ri threshold
+  ZCRIAUTI(:)=MIN(ICEP%XCRIAUTI,10.**(ICEP%XACRIAUTI*(PT(:)-CST%XTT)+ICEP%XBCRIAUTI)) ! Autoconversion ri threshold
 !$mnh_end_expand_where(JI=1:KSIZE)
 IF(HSUBG_AUCV_RI=='NONE') THEN
  !$mnh_expand_where(JI=1:KSIZE)
diff --git a/src/PHYEX/micro/mode_ice4_fast_rg.f90 b/src/PHYEX/micro/mode_ice4_fast_rg.f90
index 0b7a6ef508cdf6b5677b49a01a0b47ea731e62cc..c9a469ce8c282ccc8510a26d220131ff57808f61 100644
--- a/src/PHYEX/micro/mode_ice4_fast_rg.f90
+++ b/src/PHYEX/micro/mode_ice4_fast_rg.f90
@@ -228,7 +228,7 @@ IF(.NOT. LDSOFT) THEN
     !$mnh_expand_where(JL=1:KSIZE)
     WHERE(GDRY(1:KSIZE))
       PRG_TEND(1:KSIZE, IRRDRYG) = ICEP%XFRDRYG*ZZW(1:KSIZE)                    & ! RRDRYG
-                        *( PLBDAR(1:KSIZE)**(-4) )*( PLBDAG(1:KSIZE)**ICED%XCXG ) &
+                        *( PLBDAR(1:KSIZE)**(-4.) )*( PLBDAG(1:KSIZE)**ICED%XCXG ) &
                                *( PRHODREF(1:KSIZE)**(-ICED%XCEXVT-1.) )   &
                     *( ICEP%XLBRDRYG1/( PLBDAG(1:KSIZE)**2              ) + &
                        ICEP%XLBRDRYG2/( PLBDAG(1:KSIZE)   * PLBDAR(1:KSIZE)   ) + &
diff --git a/src/PHYEX/micro/mode_ice4_fast_rh.f90 b/src/PHYEX/micro/mode_ice4_fast_rh.f90
index 225c59a8ac61a81f09480b2b16fe9ec639a778f6..8662d54f9c45e315e1a0e4fc867a89b0deab8650 100644
--- a/src/PHYEX/micro/mode_ice4_fast_rh.f90
+++ b/src/PHYEX/micro/mode_ice4_fast_rh.f90
@@ -228,7 +228,7 @@ IF(.NOT. LDSOFT) THEN
     !$mnh_expand_where(JL=1:KSIZE)
     WHERE(GWET(1:KSIZE))
       PRH_TEND(1:KSIZE, IRRWETH) = ICEP%XFRWETH*ZZW(1:KSIZE)                    & ! RRWETH
-                        *( PLBDAR(1:KSIZE)**(-4) )*( PLBDAH(1:KSIZE)**ICED%XCXH ) &
+                        *( PLBDAR(1:KSIZE)**(-4.) )*( PLBDAH(1:KSIZE)**ICED%XCXH ) &
                                *( PRHODREF(1:KSIZE)**(-ICED%XCEXVT-1.) )   &
                     *( ICEP%XLBRWETH1/( PLBDAH(1:KSIZE)**2              ) + &
                        ICEP%XLBRWETH2/( PLBDAH(1:KSIZE)   * PLBDAR(1:KSIZE)   ) + &
diff --git a/src/PHYEX/micro/mode_ice4_sedimentation_split.f90 b/src/PHYEX/micro/mode_ice4_sedimentation_split.f90
index 1fcaf9244b1a4981080e445f34fb113216bd8844..ed60d642cfe4edb80ef307caa6c40dfbdf2cffa2 100644
--- a/src/PHYEX/micro/mode_ice4_sedimentation_split.f90
+++ b/src/PHYEX/micro/mode_ice4_sedimentation_split.f90
@@ -396,9 +396,9 @@ DO WHILE (ANY(ZREMAINT>0.))
       DO JIJ = IIJB,IIJE
         IF(PRXT(JIJ,JK)> ICED%XRTMIN(KSPE) .AND. ZREMAINT(JIJ)>0.) THEN
            IF (PARAMI%LSNOW_T .AND. PT(JIJ,JK)>263.15) THEN
-              ZLBDA = MAX(MIN(ICED%XLBDAS_MAX, 10**(14.554-0.0423*PT(JIJ,JK))),ICED%XLBDAS_MIN)*ICED%XTRANS_MP_GAMMAS
+              ZLBDA = MAX(MIN(ICED%XLBDAS_MAX, 10.**(14.554-0.0423*PT(JIJ,JK))),ICED%XLBDAS_MIN)*ICED%XTRANS_MP_GAMMAS
            ELSE IF (PARAMI%LSNOW_T) THEN
-              ZLBDA = MAX(MIN(ICED%XLBDAS_MAX, 10**(6.226 -0.0106*PT(JIJ,JK))),ICED%XLBDAS_MIN)*ICED%XTRANS_MP_GAMMAS
+              ZLBDA = MAX(MIN(ICED%XLBDAS_MAX, 10.**(6.226 -0.0106*PT(JIJ,JK))),ICED%XLBDAS_MIN)*ICED%XTRANS_MP_GAMMAS
            ELSE
               ZLBDA=MAX(MIN(ICED%XLBDAS_MAX, ICED%XLBS * ( PRHODREF(JIJ,JK) * PRXT(JIJ,JK) )**ICED%XLBEXS),ICED%XLBDAS_MIN)
            END IF
diff --git a/src/PHYEX/micro/mode_ice4_sedimentation_stat.f90 b/src/PHYEX/micro/mode_ice4_sedimentation_stat.f90
index 356bdb15b1453c6a3109ad01b116b670b9bcc1a0..3debb8291c8ba193cc75d060a34eec2c4e35b19b 100644
--- a/src/PHYEX/micro/mode_ice4_sedimentation_stat.f90
+++ b/src/PHYEX/micro/mode_ice4_sedimentation_stat.f90
@@ -366,9 +366,9 @@ CONTAINS
         !Compute lambda_snow parameter
         IF (PARAMI%LSNOW_T) THEN 
           IF(PT(JIJ,JK)>CST%XTT-10.0) THEN
-            ZLBDAS = MAX(MIN(ICED%XLBDAS_MAX, 10**(14.554-0.0423*PT(JIJ,JK))),ICED%XLBDAS_MIN)*ICED%XTRANS_MP_GAMMAS
+            ZLBDAS = MAX(MIN(ICED%XLBDAS_MAX, 10.**(14.554-0.0423*PT(JIJ,JK))),ICED%XLBDAS_MIN)*ICED%XTRANS_MP_GAMMAS
           ELSE
-            ZLBDAS = MAX(MIN(ICED%XLBDAS_MAX, 10**(6.226-0.0106*PT(JIJ,JK))),ICED%XLBDAS_MIN)*ICED%XTRANS_MP_GAMMAS
+            ZLBDAS = MAX(MIN(ICED%XLBDAS_MAX, 10.**(6.226-0.0106*PT(JIJ,JK))),ICED%XLBDAS_MIN)*ICED%XTRANS_MP_GAMMAS
           END IF
         ELSE
           ZLBDAS  = MAX(MIN(ICED%XLBDAS_MAX,ICED%XLBS*(PRHODREF(JIJ,JK)*PRXT(JIJ))**ICED%XLBEXS),ICED%XLBDAS_MIN)
diff --git a/src/PHYEX/micro/mode_ice4_slow.f90 b/src/PHYEX/micro/mode_ice4_slow.f90
index 78aa35289b34904b586917b3c80d8428469cf587..dbe3f1c149f0f85c0368f3e82911cd4defa327d4 100644
--- a/src/PHYEX/micro/mode_ice4_slow.f90
+++ b/src/PHYEX/micro/mode_ice4_slow.f90
@@ -133,14 +133,16 @@ ENDDO
 DO JL=1, KSIZE
   IF(PRIT(JL)>ICED%XRTMIN(4) .AND. PRST(JL)>ICED%XRTMIN(5) .AND. LDCOMPUTE(JL)) THEN
     IF(.NOT. LDSOFT) THEN
+#ifdef REPRO48
       PRIAGGS(JL) = ICEP%XFIAGGS * EXP( ICEP%XCOLEXIS*(PT(JL)-CST%XTT) ) &
                          * PRIT(JL)                      &
-#if defined(REPRO48) 
                          * PLBDAS(JL)**ICEP%XEXIAGGS          &
                          * PRHODREF(JL)**(-ICED%XCEXVT)
 #else
-                         * PRST(JL) * (1+(ICED%XFVELOS/PLBDAS(JL))**ICED%XALPHAS)**&
-                         (-ICED%XNUS+ICEP%XEXIAGGS/ICED%XALPHAS) &
+      PRIAGGS(JL) = ICEP%XFIAGGS * EXP( ICEP%XCOLEXIS*(PT(JL)-CST%XTT) ) &
+                         * PRIT(JL)                      &
+                         * PRST(JL) * &
+                         (1+(ICED%XFVELOS/PLBDAS(JL))**ICED%XALPHAS)**(-ICED%XNUS+ICEP%XEXIAGGS/ICED%XALPHAS) &
                          * PRHODREF(JL)**(-ICED%XCEXVT+1.) &
                          * ((PLBDAS(JL))**(ICED%XBS+ICEP%XEXIAGGS))
 #endif
@@ -162,7 +164,7 @@ DO JL=1, KSIZE
 #endif
     IF(.NOT. LDSOFT) THEN
       !ZCRIAUTI(:)=MIN(ICEP%XCRIAUTI,10**(0.06*(PT(:)-CST%XTT)-3.5))
-      ZCRIAUTI(JL)=MIN(ICEP%XCRIAUTI,10**(ICEP%XACRIAUTI*(PT(JL)-CST%XTT)+ICEP%XBCRIAUTI))
+      ZCRIAUTI(JL)=MIN(ICEP%XCRIAUTI,10.**(ICEP%XACRIAUTI*(PT(JL)-CST%XTT)+ICEP%XBCRIAUTI))
       PRIAUTS(JL) = ICEP%XTIMAUTI * EXP( ICEP%XTEXAUTI*(PT(JL)-CST%XTT) ) &
                                   * MAX(PHLI_HRI(JL)-ZCRIAUTI(JL)*PHLI_HCF(JL), 0.)
     ENDIF
diff --git a/src/PHYEX/micro/mode_ice4_tendencies.f90 b/src/PHYEX/micro/mode_ice4_tendencies.f90
index c2f59e5e198e902ebdf9fd1e71179780c60b5ed4..98b46abd1b49dc541a8c0e6d83f5da7b84ed592d 100644
--- a/src/PHYEX/micro/mode_ice4_tendencies.f90
+++ b/src/PHYEX/micro/mode_ice4_tendencies.f90
@@ -189,10 +189,10 @@ ELSE
      IF (PARAMI%LSNOW_T) THEN 
         ZLBDAS(1:KSIZE)=0.
         WHERE (ZVART(1:KSIZE,IRS)>0. .AND. ZT(1:KSIZE)>263.15)
-           ZLBDAS(1:KSIZE) = MAX(MIN(ICED%XLBDAS_MAX, 10**(14.554-0.0423*ZT(1:KSIZE))),ICED%XLBDAS_MIN)*ICED%XTRANS_MP_GAMMAS
+           ZLBDAS(1:KSIZE) = MAX(MIN(ICED%XLBDAS_MAX, 10.**(14.554-0.0423*ZT(1:KSIZE))),ICED%XLBDAS_MIN)*ICED%XTRANS_MP_GAMMAS
         END WHERE
         WHERE (ZVART(1:KSIZE,IRS)>0. .AND. ZT(1:KSIZE)<=263.15)
-           ZLBDAS(1:KSIZE) = MAX(MIN(ICED%XLBDAS_MAX, 10**(6.226-0.0106*ZT(1:KSIZE))),ICED%XLBDAS_MIN)*ICED%XTRANS_MP_GAMMAS
+           ZLBDAS(1:KSIZE) = MAX(MIN(ICED%XLBDAS_MAX, 10.**(6.226-0.0106*ZT(1:KSIZE))),ICED%XLBDAS_MIN)*ICED%XTRANS_MP_GAMMAS
         END WHERE
      ELSE
       WHERE(ZVART(1:KSIZE,IRS)>0.)
@@ -309,9 +309,9 @@ DO JL=1, KSIZE
   ENDIF
   IF (PARAMI%LSNOW_T) THEN 
    IF (ZVART(JL,IRS)>0. .AND. ZT(JL)>263.15) THEN
-      ZLBDAS(:) = MAX(MIN(ICED%XLBDAS_MAX, 10**(14.554-0.0423*ZT(JL))),ICED%XLBDAS_MIN)*ICED%XTRANS_MP_GAMMAS
+      ZLBDAS(:) = MAX(MIN(ICED%XLBDAS_MAX, 10.**(14.554-0.0423*ZT(JL))),ICED%XLBDAS_MIN)*ICED%XTRANS_MP_GAMMAS
    ELSE IF (ZVART(JL,IRS)>0. .AND. ZT(JL)<=263.15) THEN
-      ZLBDAS(:) = MAX(MIN(ICED%XLBDAS_MAX, 10**(6.226-0.0106*ZT(JL))),ICED%XLBDAS_MIN)*ICED%XTRANS_MP_GAMMAS
+      ZLBDAS(:) = MAX(MIN(ICED%XLBDAS_MAX, 10.**(6.226-0.0106*ZT(JL))),ICED%XLBDAS_MIN)*ICED%XTRANS_MP_GAMMAS
    ELSE
       ZLBDAS(JL)=0.
    END IF
diff --git a/src/PHYEX/micro/mode_lima_functions.f90 b/src/PHYEX/micro/mode_lima_functions.f90
index c65e6e23cbca066c1e02102e150f1284118134eb..2388e5494d9d2aca3988ba3963fde20b98b7d611 100644
--- a/src/PHYEX/micro/mode_lima_functions.f90
+++ b/src/PHYEX/micro/mode_lima_functions.f90
@@ -167,9 +167,9 @@ SUBROUTINE gauher(x,w,n)
   m=(n+1)/2
   do 13 i=1,m
      if(i.eq.1)then
-        z=sqrt(real(2*n+1))-1.85575*(2*n+1)**(-.16667)
+        z=sqrt(real(2*n+1))-1.85575*real(2*n+1)**(-.16667)
      else if(i.eq.2)then
-        z=z-1.14*n**.426/z
+        z=z-1.14*real(n)**.426/z
      else if (i.eq.3)then
         z=1.86*z-.86*x(1)
      else if (i.eq.4)then
diff --git a/src/PHYEX/micro/mode_lima_ice_deposition.f90 b/src/PHYEX/micro/mode_lima_ice_deposition.f90
index ed7540ca238a6898c0c9c4a61ac52eaad60d2035..b8f23ca6e490783cb9c2973df1d308777d249b54 100644
--- a/src/PHYEX/micro/mode_lima_ice_deposition.f90
+++ b/src/PHYEX/micro/mode_lima_ice_deposition.f90
@@ -104,7 +104,7 @@ IF (NMOM_I.EQ.1) THEN
 !*       Conversion of pristine ice to r_s: RICNVS
 !        -----------------------------------------
 !
-      ZCRIAUTI(:)=MIN(0.2E-4,10**(0.06*(PT(:)-XTT)-3.5))
+      ZCRIAUTI(:)=MIN(0.2E-4,10.**(0.06*(PT(:)-XTT)-3.5))
       ZZW(:) = 0.0
       WHERE ( (PRIT(:)>XRTMIN(4)))
          ZZW(:)   = 1.E-3 * EXP( 0.015*(PT(:)-XTT) ) * MAX( PRIT(:)-ZCRIAUTI(:),0.0 )
diff --git a/src/PHYEX/micro/mode_lima_sedimentation.f90 b/src/PHYEX/micro/mode_lima_sedimentation.f90
index dc6164d492aedbacd1aa7819285d9289d210e909..0cf0c9ae11572d91fc65025a558fea46a441f846 100644
--- a/src/PHYEX/micro/mode_lima_sedimentation.f90
+++ b/src/PHYEX/micro/mode_lima_sedimentation.f90
@@ -177,10 +177,10 @@ DO JN = 1 ,  NSPLITSED(KID)
       IF (KID == 5 .AND. NMOM_S.EQ.1 .AND. LSNOW_T) THEN
          ZLBDA(:) = 1.E10
          WHERE(ZT(:)>263.15 .AND. ZRS(:)>XRTMIN(5))
-            ZLBDA(:) = MAX(MIN(XLBDAS_MAX, 10**(14.554-0.0423*ZT(:))),XLBDAS_MIN)
+            ZLBDA(:) = MAX(MIN(XLBDAS_MAX, 10.**(14.554-0.0423*ZT(:))),XLBDAS_MIN)
          END WHERE
          WHERE(ZT(:)<=263.15 .AND. ZRS(:)>XRTMIN(5))
-            ZLBDA(:) = MAX(MIN(XLBDAS_MAX, 10**(6.226-0.0106*ZT(:))),XLBDAS_MIN)
+            ZLBDA(:) = MAX(MIN(XLBDAS_MAX, 10.**(6.226-0.0106*ZT(:))),XLBDAS_MIN)
          END WHERE
          ZLBDA(:) = ZLBDA(:)*XTRANS_MP_GAMMAS
          ZZW(:) = XFSEDR(KID) * ZRHODREF(:)**(1.-XCEXVT)*ZRS(:)* &
diff --git a/src/PHYEX/micro/mode_lima_tendencies.f90 b/src/PHYEX/micro/mode_lima_tendencies.f90
index d25250bcc03b6020789d727a7b4d915fce8ef20c..fab69308dc711a5715cde494445581b1cb9b2f02 100644
--- a/src/PHYEX/micro/mode_lima_tendencies.f90
+++ b/src/PHYEX/micro/mode_lima_tendencies.f90
@@ -449,10 +449,10 @@ IF (NMOM_S.EQ.1) THEN
    IF (LSNOW_T) THEN
       WHERE (ZRST(:)>XRTMIN(5) .AND. LDCOMPUTE(:) )
          WHERE(ZT(:)>263.15)
-            ZLBDS(:) = MAX(MIN(XLBDAS_MAX, 10**(14.554-0.0423*ZT(:))),XLBDAS_MIN)
+            ZLBDS(:) = MAX(MIN(XLBDAS_MAX, 10.**(14.554-0.0423*ZT(:))),XLBDAS_MIN)
          END WHERE
          WHERE(ZT(:)<=263.15)
-            ZLBDS(:) = MAX(MIN(XLBDAS_MAX, 10**(6.226-0.0106*ZT(:))),XLBDAS_MIN)
+            ZLBDS(:) = MAX(MIN(XLBDAS_MAX, 10.**(6.226-0.0106*ZT(:))),XLBDAS_MIN)
          END WHERE
       END WHERE
       ZLBDS(:) =  ZLBDS(:) * XTRANS_MP_GAMMAS
diff --git a/src/PHYEX/micro/mode_nrcolss.f90 b/src/PHYEX/micro/mode_nrcolss.f90
index 3da87d0a49abb048b03c968b8334228ac906dd62..1e5f78a9746007e74c3a2c5eecf12578176dcf48 100644
--- a/src/PHYEX/micro/mode_nrcolss.f90
+++ b/src/PHYEX/micro/mode_nrcolss.f90
@@ -182,13 +182,13 @@ ZDLBDAR = EXP( LOG(PLBDARMAX/PLBDARMIN)/REAL(SIZE(PNRCOLSS(:,:),2)-1) )
 !*       1.2     Scan the slope factors LAMBDAX and LAMBDAZ
 !
 DO JLBDAS = 1,SIZE(PNRCOLSS(:,:),1)
-  ZLBDAS = PLBDASMIN * ZDLBDAS ** (JLBDAS-1) 
+  ZLBDAS = PLBDASMIN * ZDLBDAS ** REAL(JLBDAS-1) 
 !
 !*       1.3     Compute the diameter steps
 !
   ZDDS   = PDINFTY / (REAL(KND) * ZLBDAS)
   DO JLBDAR = 1,SIZE(PNRCOLSS(:,:),2)
-    ZLBDAR = PLBDARMIN * ZDLBDAR ** (JLBDAR-1)
+    ZLBDAR = PLBDARMIN * ZDLBDAR ** REAL(JLBDAR-1)
 !
 !*       1.4     Initialize the collection integrals
 !
diff --git a/src/PHYEX/micro/mode_nscolrg.f90 b/src/PHYEX/micro/mode_nscolrg.f90
index 593d838d6951769c140653ea40fecdaac2352948..a7cf893f9045fce798ec889fb41566faeaf5abb3 100644
--- a/src/PHYEX/micro/mode_nscolrg.f90
+++ b/src/PHYEX/micro/mode_nscolrg.f90
@@ -179,14 +179,14 @@ ZDLBDAS = EXP( LOG(PLBDASMAX/PLBDASMIN)/REAL(SIZE(PNSCOLRG(:,:),2)-1) )
 !*       1.2     Scan the slope factors LAMBDAX and LAMBDAZ
 !
 DO JLBDAR = 1,SIZE(PNSCOLRG(:,:),1)
-  ZLBDAR = PLBDARMIN * ZDLBDAR ** (JLBDAR-1) 
+  ZLBDAR = PLBDARMIN * ZDLBDAR ** REAL(JLBDAR-1) 
   ZDRMAX = PDINFTY / ZLBDAR
 !
 !*       1.3     Compute the diameter steps
 !
   ZDDSCALR = PDINFTY / (REAL(KND) * ZLBDAR)
   DO JLBDAS = 1,SIZE(PNSCOLRG(:,:),2)
-    ZLBDAS = PLBDASMIN * ZDLBDAS ** (JLBDAS-1)
+    ZLBDAS = PLBDASMIN * ZDLBDAS ** REAL(JLBDAS-1)
 !
 !*       1.4     Initialize the collection integrals
 !
diff --git a/src/PHYEX/micro/mode_nzcolx.f90 b/src/PHYEX/micro/mode_nzcolx.f90
index 5a3932bf461543d85ba4226d0c1d02531cd242fe..41d9dacfd57cd08dca3049ad5ec5a3643f1058be 100644
--- a/src/PHYEX/micro/mode_nzcolx.f90
+++ b/src/PHYEX/micro/mode_nzcolx.f90
@@ -173,9 +173,9 @@ ZDLBDAZ = EXP( LOG(PLBDAZMAX/PLBDAZMIN)/REAL(SIZE(PNZCOLX(:,:),2)-1) )
 !*       1.2     Scan the slope factors LAMBDAX and LAMBDAZ
 !
 DO JLBDAX = 1,SIZE(PNZCOLX(:,:),1)
-  ZLBDAX = PLBDAXMIN * ZDLBDAX ** (JLBDAX-1) 
+  ZLBDAX = PLBDAXMIN * ZDLBDAX ** REAL(JLBDAX-1) 
   DO JLBDAZ = 1,SIZE(PNZCOLX(:,:),2)
-    ZLBDAZ = PLBDAZMIN * ZDLBDAZ ** (JLBDAZ-1)
+    ZLBDAZ = PLBDAZMIN * ZDLBDAZ ** REAL(JLBDAZ-1)
 !
 !*       1.3     Initialize the collection integrals
 !
diff --git a/src/PHYEX/micro/mode_rrcolss.f90 b/src/PHYEX/micro/mode_rrcolss.f90
index bfeaa1adb56745853e3da69cb13334c27da8e29f..589e39aea0a1d01f3a02b6f71c96995a3f132002 100644
--- a/src/PHYEX/micro/mode_rrcolss.f90
+++ b/src/PHYEX/micro/mode_rrcolss.f90
@@ -190,13 +190,13 @@ ZDLBDAR = EXP( LOG(PLBDARMAX/PLBDARMIN)/REAL(SIZE(PRRCOLSS(:,:),2)-1) )
 !*       1.2     Scan the slope factors LAMBDAX and LAMBDAZ
 !
 DO JLBDAS = 1,SIZE(PRRCOLSS(:,:),1)
-  ZLBDAS = PLBDASMIN * ZDLBDAS ** (JLBDAS-1) 
+  ZLBDAS = PLBDASMIN * ZDLBDAS ** (REAL(JLBDAS-1))
 !
 !*       1.3     Compute the diameter steps
 !
   ZDDS   = PDINFTY / (REAL(KND) * ZLBDAS)
   DO JLBDAR = 1,SIZE(PRRCOLSS(:,:),2)
-    ZLBDAR = PLBDARMIN * ZDLBDAR ** (JLBDAR-1)
+    ZLBDAR = PLBDARMIN * ZDLBDAR ** REAL((JLBDAR-1))
 !
 !*       1.4     Initialize the collection integrals
 !
diff --git a/src/PHYEX/micro/mode_rscolrg.f90 b/src/PHYEX/micro/mode_rscolrg.f90
index 77e00251fce73e7531074f6bf3bd382245cf8f1e..66f788f03187cd0004f9982ecd94794788f25218 100644
--- a/src/PHYEX/micro/mode_rscolrg.f90
+++ b/src/PHYEX/micro/mode_rscolrg.f90
@@ -187,14 +187,14 @@ ZDLBDAS = EXP( LOG(PLBDASMAX/PLBDASMIN)/REAL(SIZE(PRSCOLRG(:,:),2)-1) )
 !*       1.2     Scan the slope factors LAMBDAX and LAMBDAZ
 !
 DO JLBDAR = 1,SIZE(PRSCOLRG(:,:),1)
-  ZLBDAR = PLBDARMIN * ZDLBDAR ** (JLBDAR-1) 
+  ZLBDAR = PLBDARMIN * ZDLBDAR ** REAL(JLBDAR-1) 
   ZDRMAX = PDINFTY / ZLBDAR
 !
 !*       1.3     Compute the diameter steps
 !
   ZDDSCALR = PDINFTY / (REAL(KND) * ZLBDAR)
   DO JLBDAS = 1,SIZE(PRSCOLRG(:,:),2)
-    ZLBDAS = PLBDASMIN * ZDLBDAS ** (JLBDAS-1)
+    ZLBDAS = PLBDASMIN * ZDLBDAS ** REAL(JLBDAS-1)
 !
 !*       1.4     Initialize the collection integrals
 !
diff --git a/src/PHYEX/micro/mode_rzcolx.f90 b/src/PHYEX/micro/mode_rzcolx.f90
index 3370bc01fc979498af1073544a4b7efa7013c3f6..b91961bd0e2cd36f366238a6c99fc88afe09b7ce 100644
--- a/src/PHYEX/micro/mode_rzcolx.f90
+++ b/src/PHYEX/micro/mode_rzcolx.f90
@@ -181,9 +181,9 @@ ZDLBDAZ = EXP( LOG(PLBDAZMAX/PLBDAZMIN)/REAL(SIZE(PRZCOLX(:,:),2)-1) )
 !*       1.2     Scan the slope factors LAMBDAX and LAMBDAZ
 !
 DO JLBDAX = 1,SIZE(PRZCOLX(:,:),1)
-  ZLBDAX = PLBDAXMIN * ZDLBDAX ** (JLBDAX-1)
+  ZLBDAX = PLBDAXMIN * ZDLBDAX ** REAL(JLBDAX-1)
   DO JLBDAZ = 1,SIZE(PRZCOLX(:,:),2)
-    ZLBDAZ = PLBDAZMIN * ZDLBDAZ ** (JLBDAZ-1)
+    ZLBDAZ = PLBDAZMIN * ZDLBDAZ ** REAL(JLBDAZ-1)
 !
 !*       1.3     Initialize the collection integrals
 !
diff --git a/src/PHYEX/micro/radar_rain_ice.f90 b/src/PHYEX/micro/radar_rain_ice.f90
index cf97a981ade422f5d257a46c93a48cf234056ce1..5b8b498a1344b90a270a26b2bb162d6262eea82f 100644
--- a/src/PHYEX/micro/radar_rain_ice.f90
+++ b/src/PHYEX/micro/radar_rain_ice.f90
@@ -339,10 +339,10 @@ IF (SIZE(PRT,4) >= 5) THEN
       ZDMELT_FACT = ( (6.0*XAS_L)/(XPI*XRHOLW) )**(2.0)
       ZEXP = 2.0*XBS_L
       WHERE(PTEMP(:,:,:)>263.15 .AND. PRT(:,:,:,5).GT.XRTMIN_L(5))
-         ZLBDA(:,:,:) = MAX(MIN(XLBDAS_MAX_L, 10**(14.554-0.0423*PTEMP(:,:,:))),XLBDAS_MIN_L)*XTRANS_MP_GAMMAS_L
+         ZLBDA(:,:,:) = MAX(MIN(XLBDAS_MAX_L, 10.**(14.554-0.0423*PTEMP(:,:,:))),XLBDAS_MIN_L)*XTRANS_MP_GAMMAS_L
       END WHERE
       WHERE(PTEMP(:,:,:)<=263.15 .AND. PRT(:,:,:,5).GT.XRTMIN_L(5))
-         ZLBDA(:,:,:) = MAX(MIN(XLBDAS_MAX_L, 10**(6.226 -0.0106*PTEMP(:,:,:))),XLBDAS_MIN_L)*XTRANS_MP_GAMMAS_L
+         ZLBDA(:,:,:) = MAX(MIN(XLBDAS_MAX_L, 10.**(6.226 -0.0106*PTEMP(:,:,:))),XLBDAS_MIN_L)*XTRANS_MP_GAMMAS_L
       END WHERE
       IF (NMOM_S.GE.2) THEN
          ZN(:,:,:)=PCST(:,:,:)
@@ -362,10 +362,10 @@ IF (SIZE(PRT,4) >= 5) THEN
     ZDMELT_FACT = ( (6.0*XAS_I)/(XPI*XRHOLW) )**(2.0)
     ZEXP = 2.0*XBS_I
     WHERE(PTEMP(:,:,:)>263.15 .AND. PRT(:,:,:,5).GT.XRTMIN_I(5))
-       ZLBDA(:,:,:) = MAX(MIN(XLBDAS_MAX_I, 10**(14.554-0.0423*PTEMP(:,:,:))),XLBDAS_MIN_I)*XTRANS_MP_GAMMAS_I
+       ZLBDA(:,:,:) = MAX(MIN(XLBDAS_MAX_I, 10.**(14.554-0.0423*PTEMP(:,:,:))),XLBDAS_MIN_I)*XTRANS_MP_GAMMAS_I
     END WHERE
     WHERE(PTEMP(:,:,:)<=263.15 .AND. PRT(:,:,:,5).GT.XRTMIN_I(5))
-       ZLBDA(:,:,:) = MAX(MIN(XLBDAS_MAX_I, 10**(6.226- 0.0106*PTEMP(:,:,:))),XLBDAS_MIN_I)*XTRANS_MP_GAMMAS_I
+       ZLBDA(:,:,:) = MAX(MIN(XLBDAS_MAX_I, 10.**(6.226- 0.0106*PTEMP(:,:,:))),XLBDAS_MIN_I)*XTRANS_MP_GAMMAS_I
     END WHERE
     ZN(:,:,:)=XNS_I*PRHODREF(:,:,:)*PRT(:,:,:,5)*ZLBDA(:,:,:)**XBS_I
     WHERE( PRT(:,:,:,5).GT.XRTMIN_I(5) )
diff --git a/src/PHYEX/micro/rain_ice_elec.f90 b/src/PHYEX/micro/rain_ice_elec.f90
index c88349fa5b185fea7e9d157c4b52f3a7333d3765..8be2bf10167d2a04a98e20b8f88f88ef20fa6ed0 100644
--- a/src/PHYEX/micro/rain_ice_elec.f90
+++ b/src/PHYEX/micro/rain_ice_elec.f90
@@ -1125,7 +1125,7 @@ INTEGER, SAVE :: IOLDALLOCG = 6000
 INTEGER, SAVE :: IOLDALLOCH = 6000
 !
 REAL, DIMENSION(SIZE(PRHODREF,1),SIZE(PRHODREF,2),SIZE(PRHODREF,3)) :: ZCONC3D !  droplet condensation
-INTEGER, DIMENSION(:), ALLOCATABLE :: ZCIS
+REAL, DIMENSION(:), ALLOCATABLE :: ZCIS
 REAL, DIMENSION(SIZE(PRHODREF,1),SIZE(PRHODREF,2),SIZE(PRHODREF,3)) :: ZF0, ZF1, ZCOR
 REAL :: ZBEARDCOEFR, ZBEARDCOEFI, ZBEARDCOEFS, ZBEARDCOEFG
 REAL :: ZVR, ZVI, ZVS, ZVG, ZETA0, ZK, ZRE0
@@ -1538,7 +1538,7 @@ REAL :: ZVR, ZVI, ZVS, ZVG, ZETA0, ZK, ZRE0
         IF (ZRIS(JL) .GT. MAX(ZRTMIN(4),1.0E-7) .AND. ABS(ZEIS(JL)) .GT. XEIMIN .AND. &
             ZCIT(JL) .GT. 0. ) THEN
           ZWSEDQ(II1(JL),II2(JL),II3(JL)) = ZBEARDCOEFI *                      &
-                     ZCIS(JL)**(1 - XEXQSEDI) * XFQSEDI *                      &
+                     ZCIS(JL)**(1. - XEXQSEDI) * XFQSEDI *                      &
                      ZRIS(JL)**XEXQSEDI * ZRHODREFI(JL)**(XEXQSEDI - XCEXVT) * &
                      ZEIS(JL) * (ZCIT(JL) / ZCIS(JL))**(1.-XFI/XBI)
         END IF
@@ -2584,7 +2584,7 @@ IMPLICIT NONE
   end if
 
   ALLOCATE( ZCRIAUTI(IMICRO ))
-  ZCRIAUTI(:) = MIN(XCRIAUTI,10**(0.06*(ZZT(:)-XTT)-3.5))
+  ZCRIAUTI(:) = MIN(XCRIAUTI,10.**(0.06*(ZZT(:)-XTT)-3.5))
   ZZW(:) = 0.0
 !
   WHERE ((ZRIT(:) > XRTMIN(4)) .AND. (ZRIS(:) > 0.0))
@@ -3559,7 +3559,7 @@ IMPLICIT NONE
 !
     WHERE( GDRY(:) )
       ZZW1(:,4) = MIN( ZRRS(:),XFRDRYG*ZZW(:)                    & ! RRDRYG
-                        *( ZLBDAR(:)**(-4) )*( ZLBDAG(:)**XCXG ) &
+                        *( ZLBDAR(:)**(-4.) )*( ZLBDAG(:)**XCXG ) &
                         * ZRHOCOR(:) / (ZCOR00 * ZRHODREF(:))    &
                     *( XLBRDRYG1/( ZLBDAG(:)**2              ) + &
                        XLBRDRYG2/( ZLBDAG(:)   * ZLBDAR(:)   ) + &
@@ -4567,8 +4567,8 @@ IMPLICIT NONE
                            4.48E-2 * (ZZT(:) - XTT)**2 + &
                            7.48E-3 * (ZZT(:) - XTT)**3 + &
                            5.47E-4 * (ZZT(:) - XTT)**4 + &
-                           1.67E-5 * (ZZT(:) - XTT)**5 + &
-                           1.76E-7 * (ZZT(:) - XTT)**6
+                           1.67E-5 * (ZZT(:) - XTT)**5. + &
+                           1.76E-7 * (ZZT(:) - XTT)**6.
     END WHERE
 !
     WHERE (ZZT(:) < (XTT - 23.7) .AND. ZZT(:) > (XTT - 40.)) ! Added by Mansell
diff --git a/src/PHYEX/micro/rain_ice_fast_rg.f90 b/src/PHYEX/micro/rain_ice_fast_rg.f90
index 0799d824aa16f617ead6073703f4ba18f4229347..a7858aa1145f2bcf889670535888ad8a35718463 100644
--- a/src/PHYEX/micro/rain_ice_fast_rg.f90
+++ b/src/PHYEX/micro/rain_ice_fast_rg.f90
@@ -280,7 +280,7 @@ REAL,    DIMENSION(size(PRHODREF),7) :: ZZW1              ! Work arrays
     DO JJ = 1, IGDRY
       JL = I1(JJ)
       ZZW1(JL,4) = MIN( PRRS(JL),XFRDRYG*ZVEC3(JJ)                    & ! RRDRYG
-                        *( ZVECLBDAR(JJ)**(-4) )*( ZVECLBDAG(JJ)**XCXG ) &
+                        *( ZVECLBDAR(JJ)**(-4.) )*( ZVECLBDAG(JJ)**XCXG ) &
                                *( PRHODREF(JL)**(-XCEXVT-1.) )   &
                     *( XLBRDRYG1/( ZVECLBDAG(JJ)**2              ) + &
                        XLBRDRYG2/( ZVECLBDAG(JJ)   * ZVECLBDAR(JJ)   ) + &
diff --git a/src/PHYEX/micro/rain_ice_slow.f90 b/src/PHYEX/micro/rain_ice_slow.f90
index 4f590c70d81c87262cfe19e85325f1d4206b6f80..8e81177b9674fa547a68f300e8048d84e171dcfc 100644
--- a/src/PHYEX/micro/rain_ice_slow.f90
+++ b/src/PHYEX/micro/rain_ice_slow.f90
@@ -192,7 +192,7 @@ real, dimension(size(plsfact))  :: zz_diff
 !*       3.4.5  compute the autoconversion of r_i for r_s production: RIAUTS
 !
 !  ZCRIAUTI(:)=MIN(XCRIAUTI,10**(0.06*(PZT(:)-XTT)-3.5))
-  ZCRIAUTI(:)=MIN(XCRIAUTI,10**(XACRIAUTI*(PZT(:)-XTT)+XBCRIAUTI))
+  ZCRIAUTI(:)=MIN(XCRIAUTI,10.**(XACRIAUTI*(PZT(:)-XTT)+XBCRIAUTI))
   ZZW(:) = 0.0
   WHERE ( (PRIT(:)>XRTMIN(4)) .AND. (PRIS(:)>0.0) )
     ZZW(:) = MIN( PRIS(:),XTIMAUTI * EXP( XTEXAUTI*(PZT(:)-XTT) ) &
diff --git a/src/PHYEX/turb/turb.f90 b/src/PHYEX/turb/turb.f90
index fed304c3504da593d9cf49de84be5eb09689c195..b63c29030c7c40da8a0ff98905f2b8e9b159e27a 100644
--- a/src/PHYEX/turb/turb.f90
+++ b/src/PHYEX/turb/turb.f90
@@ -511,9 +511,6 @@ TYPE(TFIELDMETADATA) :: TZFIELD
 !
 REAL(KIND=JPRB) :: ZHOOK_HANDLE,ZHOOK_HANDLE2
 IF (LHOOK) CALL DR_HOOK('TURB',0,ZHOOK_HANDLE)
-print*,"PRESENT(PSSTFL) = ",PRESENT(PSSTFL)
-print*,"PRESENT(PSSTFL_C) = ",PRESENT(PSSTFL_C)
-print*,"SIZE(PSSTFL_C,1) = ",SIZE(PSSTFL_C,1)
 !
 IF (TURBN%LHARAT .AND. TURBN%CTURBDIM /= '1DIM') THEN
   CALL ABOR1('TURBN%LHARATU only implemented for option TURBN%CTURBDIM=1DIM!')
diff --git a/src/Rules.LXnvhpc2202.mk b/src/Rules.LXnvhpc2202.mk
index 861f8953acf3bfa664d0b9171c7eec662558d0a5..185a49a24f7b516af87aee059940d0b3ba8ce9fa 100644
--- a/src/Rules.LXnvhpc2202.mk
+++ b/src/Rules.LXnvhpc2202.mk
@@ -335,9 +335,9 @@ endif
 
 SPLL = spll_new
 
-PHYEX_OPTDEFAULT = --addMPPDB_CHECKS --addStack MESONH --stopScopes toto
+PHYEX_OPTDEFAULT = --addMPPDB_CHECKS --addStack MESONH --stopScopes toto --mathFunctoBRFunc
 
-PHYEX_LIST = $(notdir $(shell find PHYEX/micro PHYEX/turb -follow -type f -name "*.f*" | sed -e 's/\(.*\)\(\.\).*/\1.D/g' ))
+PHYEX_LIST = $(notdir $(shell find PHYEX/micro PHYEX/turb -follow -type f -name "*.f*" -not -name "minpack.f90" | sed -e 's/\(.*\)\(\.\).*/\1.D/g' ))
 $(PHYEX_LIST) : PYFT = pyft_tool.py $(PHYEX_OPTDEFAULT)
 
 PHYEX_SHUMAN = mode_tke_eps_sources.D