Index: codes/icosagcm/devel/src/kernels_hex/compute_pmid.k90
===================================================================
--- codes/icosagcm/devel/src/kernels_hex/compute_pmid.k90	(revision 929)
+++ codes/icosagcm/devel/src/kernels_hex/compute_pmid.k90	(revision 929)
@@ -0,0 +1,21 @@
+   !--------------------------------------------------------------------------
+   !---------------------------- compute_pmid ----------------------------------
+   IF(ap_bp_present) THEN
+      IF(offset>0) THEN
+         DO l = ll_begin, ll_end
+            !DIR$ SIMD
+            DO ij=ij_begin_ext, ij_end_ext
+               pmid(ij,l) = .5*(AP(ij,l)+AP(ij,l+1) + (BP(ij,l)+BP(ij,l+1)) * ps(ij) )
+            END DO
+         END DO
+      ELSE
+         DO l = ll_begin, ll_end
+            !DIR$ SIMD
+            DO ij=ij_begin, ij_end
+               pmid(ij,l) = .5*(AP(ij,l)+AP(ij,l+1) + (BP(ij,l)+BP(ij,l+1)) * ps(ij) )
+            END DO
+         END DO
+      END IF
+   END IF
+   !---------------------------- compute_pmid ----------------------------------
+   !--------------------------------------------------------------------------
Index: codes/icosagcm/devel/src/kernels_hex/compute_pression.k90
===================================================================
--- codes/icosagcm/devel/src/kernels_hex/compute_pression.k90	(revision 929)
+++ codes/icosagcm/devel/src/kernels_hex/compute_pression.k90	(revision 929)
@@ -0,0 +1,21 @@
+   !--------------------------------------------------------------------------
+   !---------------------------- compute_pression ----------------------------------
+   IF(ap_bp_present) THEN
+      IF(offset>0) THEN
+         DO l = ll_begin, ll_endp1
+            !DIR$ SIMD
+            DO ij=ij_begin_ext, ij_end_ext
+               p(ij,l) = AP(ij,l) + BP(ij,l) * ps(ij)
+            END DO
+         END DO
+      ELSE
+         DO l = ll_begin, ll_endp1
+            !DIR$ SIMD
+            DO ij=ij_begin, ij_end
+               p(ij,l) = AP(ij,l) + BP(ij,l) * ps(ij)
+            END DO
+         END DO
+      END IF
+   END IF
+   !---------------------------- compute_pression ----------------------------------
+   !--------------------------------------------------------------------------
Index: codes/icosagcm/devel/src/kernels_unst/compute_pmid.k90
===================================================================
--- codes/icosagcm/devel/src/kernels_unst/compute_pmid.k90	(revision 929)
+++ codes/icosagcm/devel/src/kernels_unst/compute_pmid.k90	(revision 929)
@@ -0,0 +1,25 @@
+   !--------------------------------------------------------------------------
+   !---------------------------- compute_pmid ----------------------------------
+   IF(ap_bp_present) THEN
+      IF(offset>0) THEN
+         !$OMP DO SCHEDULE(STATIC)
+         DO ij = 1, primal_num
+            !DIR$ SIMD
+            DO l = 1, llm
+               pmid(l,ij) = .5*(AP(l,ij)+AP(l+1,ij) + (BP(l,ij)+BP(l+1,ij)) * ps(ij) )
+            END DO
+         END DO
+         !$OMP END DO
+      ELSE
+         !$OMP DO SCHEDULE(STATIC)
+         DO ij = 1, primal_num
+            !DIR$ SIMD
+            DO l = 1, llm
+               pmid(l,ij) = .5*(AP(l,ij)+AP(l+1,ij) + (BP(l,ij)+BP(l+1,ij)) * ps(ij) )
+            END DO
+         END DO
+         !$OMP END DO
+      END IF
+   END IF
+   !---------------------------- compute_pmid ----------------------------------
+   !--------------------------------------------------------------------------
Index: codes/icosagcm/devel/src/kernels_unst/compute_pression.k90
===================================================================
--- codes/icosagcm/devel/src/kernels_unst/compute_pression.k90	(revision 929)
+++ codes/icosagcm/devel/src/kernels_unst/compute_pression.k90	(revision 929)
@@ -0,0 +1,25 @@
+   !--------------------------------------------------------------------------
+   !---------------------------- compute_pression ----------------------------------
+   IF(ap_bp_present) THEN
+      IF(offset>0) THEN
+         !$OMP DO SCHEDULE(STATIC)
+         DO ij = 1, primal_num
+            !DIR$ SIMD
+            DO l = 1, llm+1
+               p(l,ij) = AP(l,ij) + BP(l,ij) * ps(ij)
+            END DO
+         END DO
+         !$OMP END DO
+      ELSE
+         !$OMP DO SCHEDULE(STATIC)
+         DO ij = 1, primal_num
+            !DIR$ SIMD
+            DO l = 1, llm+1
+               p(l,ij) = AP(l,ij) + BP(l,ij) * ps(ij)
+            END DO
+         END DO
+         !$OMP END DO
+      END IF
+   END IF
+   !---------------------------- compute_pression ----------------------------------
+   !--------------------------------------------------------------------------
