Index: codes/icosagcm/devel/src/kernels_hex/caldyn_wflux.k90
===================================================================
--- codes/icosagcm/devel/src/kernels_hex/caldyn_wflux.k90	(revision 657)
+++ codes/icosagcm/devel/src/kernels_hex/caldyn_wflux.k90	(revision 724)
@@ -2,4 +2,5 @@
    !---------------------------- caldyn_wflux ----------------------------------
    DO l = llm-1,1,-1
+      !DIR$ SIMD
       DO ij=ij_omp_begin,ij_omp_end
          ! cumulate mass flux convergence from top to bottom
@@ -7,8 +8,10 @@
       END DO
    END DO
+   !DIR$ SIMD
    DO ij=ij_omp_begin,ij_omp_end
       dmass_col(ij) = convm(ij,1)
    END DO
    DO l = 2,llm
+      !DIR$ SIMD
       DO ij=ij_omp_begin,ij_omp_end
          ! Compute vertical mass flux (l=1,llm+1 set to zero at init)
Index: codes/icosagcm/devel/src/kernels_hex/compute_NH_geopot.k90
===================================================================
--- codes/icosagcm/devel/src/kernels_hex/compute_NH_geopot.k90	(revision 657)
+++ codes/icosagcm/devel/src/kernels_hex/compute_NH_geopot.k90	(revision 724)
@@ -9,4 +9,5 @@
    ! compute Phi_star
    DO l = 1,llm+1
+      !DIR$ SIMD
       DO ij=ij_omp_begin_ext,ij_omp_end_ext
          Phi_star_il(ij,l) = Phi_il(ij,l) + tau*g2*(W_il(ij,l)/m_il(ij,l)-tau)
@@ -19,4 +20,5 @@
       CASE(thermo_theta)
          DO l = 1,llm
+            !DIR$ SIMD
             DO ij=ij_omp_begin_ext,ij_omp_end_ext
                rho_ij = (g*m_ik(ij,l))/(Phi_il(ij,l+1)-Phi_il(ij,l))
@@ -29,4 +31,5 @@
       CASE(thermo_entropy)
          DO l = 1,llm
+            !DIR$ SIMD
             DO ij=ij_omp_begin_ext,ij_omp_end_ext
                rho_ij = (g*m_ik(ij,l))/(Phi_il(ij,l+1)-Phi_il(ij,l))
@@ -44,4 +47,5 @@
       ! Solve -A(l-1)x(l-1) + B(l)x(l) - A(l)x(l+1) = R(l) using Thomas algorithm
       ! Compute residual R_il and B_il
+      !DIR$ SIMD
       DO ij=ij_omp_begin_ext,ij_omp_end_ext
          ! bottom interface l=1
@@ -52,4 +56,5 @@
       END DO
       DO l = 2,llm
+         !DIR$ SIMD
          DO ij=ij_omp_begin_ext,ij_omp_end_ext
             ! inner interfaces
@@ -63,4 +68,5 @@
          END DO
       END DO
+      !DIR$ SIMD
       DO ij=ij_omp_begin_ext,ij_omp_end_ext
          ! top interface l=llm+1
@@ -74,4 +80,5 @@
       ! C(0)=0, C(l) = -A(l) / (B(l)+A(l-1)C(l-1)),
       ! D(0)=0, D(l) = (R(l)+A(l-1)D(l-1)) / (B(l)+A(l-1)C(l-1))
+      !DIR$ SIMD
       DO ij=ij_omp_begin_ext,ij_omp_end_ext
          X_ij = 1./B_il(ij,1)
@@ -80,4 +87,5 @@
       END DO
       DO l = 2,llm
+         !DIR$ SIMD
          DO ij=ij_omp_begin_ext,ij_omp_end_ext
             X_ij = 1./( B_il(ij,l) + A_ik(ij,l-1)*C_ik(ij,l-1) )
@@ -86,4 +94,5 @@
          END DO
       END DO
+      !DIR$ SIMD
       DO ij=ij_omp_begin_ext,ij_omp_end_ext
          X_ij = 1./( B_il(ij,llm+1) + A_ik(ij,llm+1 -1)*C_ik(ij,llm+1 -1) )
@@ -97,4 +106,5 @@
       END DO
       DO l = llm,1,-1
+         !DIR$ SIMD
          DO ij=ij_omp_begin_ext,ij_omp_end_ext
             ! Back substitution at lower interfaces
Index: codes/icosagcm/devel/src/kernels_hex/compute_geopot.k90
===================================================================
--- codes/icosagcm/devel/src/kernels_hex/compute_geopot.k90	(revision 657)
+++ codes/icosagcm/devel/src/kernels_hex/compute_geopot.k90	(revision 724)
@@ -4,8 +4,10 @@
    CASE(thermo_boussinesq)
       ! use hydrostatic balance with theta*rhodz to find pk (=Lagrange multiplier=pressure)
+      !DIR$ SIMD
       DO ij=ij_omp_begin_ext,ij_omp_end_ext
          pk(ij,llm) = ptop + .5*g* theta(ij,llm,1)*rhodz(ij,llm)
       END DO
       DO l = llm-1,1,-1
+         !DIR$ SIMD
          DO ij=ij_omp_begin_ext,ij_omp_end_ext
             pk(ij,l) = pk(ij,l+1) + (.5*g)*( theta(ij,l,1)*rhodz(ij,l) + theta(ij,l+1,1)*rhodz(ij,l+1) )
@@ -13,4 +15,5 @@
       END DO
       IF(caldyn_eta == eta_lag) THEN
+         !DIR$ SIMD
          DO ij=ij_omp_begin_ext,ij_omp_end_ext
             ps(ij) = pk(ij,1) + .5*g* theta(ij,1,1)*rhodz(ij,1)
@@ -20,4 +23,5 @@
       ! specific volume 1 = dphi/g/rhodz
       DO l = 1,llm
+         !DIR$ SIMD
          DO ij=ij_omp_begin_ext,ij_omp_end_ext
             geopot(ij,l+1) = geopot(ij,l) + g*rhodz(ij,l)
@@ -25,8 +29,10 @@
       END DO
    CASE(thermo_theta)
+      !DIR$ SIMD
       DO ij=ij_omp_begin_ext,ij_omp_end_ext
          pk(ij,llm) = ptop + .5*g* rhodz(ij,llm)
       END DO
       DO l = llm-1,1,-1
+         !DIR$ SIMD
          DO ij=ij_omp_begin_ext,ij_omp_end_ext
             pk(ij,l) = pk(ij,l+1) + (.5*g)*( rhodz(ij,l) + rhodz(ij,l+1) )
@@ -34,4 +40,5 @@
       END DO
       IF(caldyn_eta == eta_lag) THEN
+         !DIR$ SIMD
          DO ij=ij_omp_begin_ext,ij_omp_end_ext
             ps(ij) = pk(ij,1) + .5*g* rhodz(ij,1)
@@ -39,4 +46,5 @@
       END IF
       DO l = 1,llm
+         !DIR$ SIMD
          DO ij=ij_omp_begin_ext,ij_omp_end_ext
             p_ik = pk(ij,l)
@@ -48,8 +56,10 @@
       END DO
    CASE(thermo_entropy)
+      !DIR$ SIMD
       DO ij=ij_omp_begin_ext,ij_omp_end_ext
          pk(ij,llm) = ptop + .5*g* rhodz(ij,llm)
       END DO
       DO l = llm-1,1,-1
+         !DIR$ SIMD
          DO ij=ij_omp_begin_ext,ij_omp_end_ext
             pk(ij,l) = pk(ij,l+1) + (.5*g)*( rhodz(ij,l) + rhodz(ij,l+1) )
@@ -57,4 +67,5 @@
       END DO
       IF(caldyn_eta == eta_lag) THEN
+         !DIR$ SIMD
          DO ij=ij_omp_begin_ext,ij_omp_end_ext
             ps(ij) = pk(ij,1) + .5*g* rhodz(ij,1)
@@ -62,4 +73,5 @@
       END IF
       DO l = 1,llm
+         !DIR$ SIMD
          DO ij=ij_omp_begin_ext,ij_omp_end_ext
             p_ik = pk(ij,l)
@@ -71,8 +83,10 @@
       END DO
    CASE(thermo_moist)
+      !DIR$ SIMD
       DO ij=ij_omp_begin_ext,ij_omp_end_ext
          pk(ij,llm) = ptop + .5*g* rhodz(ij,llm)*(1.+theta(ij,llm,2))
       END DO
       DO l = llm-1,1,-1
+         !DIR$ SIMD
          DO ij=ij_omp_begin_ext,ij_omp_end_ext
             pk(ij,l) = pk(ij,l+1) + (.5*g)*( rhodz(ij,l)*(1.+theta(ij,l,2)) + rhodz(ij,l+1)*(1.+theta(ij,l+1,2)) )
@@ -80,4 +94,5 @@
       END DO
       IF(caldyn_eta == eta_lag) THEN
+         !DIR$ SIMD
          DO ij=ij_omp_begin_ext,ij_omp_end_ext
             ps(ij) = pk(ij,1) + .5*g* rhodz(ij,1)*(1.+theta(ij,1,2))
@@ -85,4 +100,5 @@
       END IF
       DO l = 1,llm
+         !DIR$ SIMD
          DO ij=ij_omp_begin_ext,ij_omp_end_ext
             p_ik = pk(ij,l)
Index: codes/icosagcm/devel/src/kernels_hex/energy_fluxes.k90
===================================================================
--- codes/icosagcm/devel/src/kernels_hex/energy_fluxes.k90	(revision 657)
+++ codes/icosagcm/devel/src/kernels_hex/energy_fluxes.k90	(revision 724)
@@ -3,8 +3,10 @@
    ! First diagnose geopotential and temperature, column-wise
    !$OMP BARRIER
+   !DIR$ SIMD
    DO ij=ij_omp_begin_ext,ij_omp_end_ext
       pk(ij,llm) = ptop + .5*g*rhodz(ij,llm)
    END DO
    DO l = llm-1,1,-1
+      !DIR$ SIMD
       DO ij=ij_omp_begin_ext,ij_omp_end_ext
          pk(ij,l) = pk(ij,l+1) + (.5*g)*( rhodz(ij,l)+rhodz(ij,l+1) )
@@ -16,4 +18,5 @@
    CASE(thermo_theta)
       DO l = 1,llm
+         !DIR$ SIMD
          DO ij=ij_omp_begin_ext,ij_omp_end_ext
             p_ik = pk(ij,l)
@@ -28,4 +31,5 @@
    CASE(thermo_entropy)
       DO l = 1,llm
+         !DIR$ SIMD
          DO ij=ij_omp_begin_ext,ij_omp_end_ext
             p_ik = pk(ij,l)
