Index: /codes/icosagcm/devel/src/dynamics/caldyn_gcm.F90
===================================================================
--- /codes/icosagcm/devel/src/dynamics/caldyn_gcm.F90	(revision 883)
+++ /codes/icosagcm/devel/src/dynamics/caldyn_gcm.F90	(revision 884)
@@ -16,5 +16,5 @@
   
   SUBROUTINE init_caldyn
-    USE compute_mod, ONLY : compute_pvort_only
+    USE compute_caldyn_mod, ONLY : compute_pvort_only
     USE compute_pvort_only_mod, ONLY : compute_pvort_only_hex, compute_pvort_only_unst
 
Index: /codes/icosagcm/devel/src/dynamics/caldyn_hevi.f90
===================================================================
--- /codes/icosagcm/devel/src/dynamics/caldyn_hevi.f90	(revision 883)
+++ /codes/icosagcm/devel/src/dynamics/caldyn_hevi.f90	(revision 884)
@@ -34,5 +34,5 @@
     USE output_field_mod
     USE checksum_mod
-    USE compute_mod, ONLY : compute_pvort_only
+    USE compute_caldyn_mod, ONLY : compute_pvort_only
     IMPLICIT NONE
     LOGICAL,INTENT(IN)    :: write_out
Index: des/icosagcm/devel/src/dynamics/compute.f90
===================================================================
--- /codes/icosagcm/devel/src/dynamics/compute.f90	(revision 883)
+++ 	(revision )
@@ -1,20 +1,0 @@
-MODULE compute_mod
-  IMPLICIT NONE
-  SAVE
-
-  INTERFACE
-
-    SUBROUTINE comp_pvort_only(u,rhodz,qu,qv, hv_)
-      USE prec, ONLY : rstd
-      REAL(rstd),INTENT(IN)  :: u(1,1)
-      REAL(rstd),INTENT(INOUT) :: rhodz(1,1)
-      REAL(rstd),INTENT(OUT) :: qu(1,1)
-      REAL(rstd),INTENT(OUT) :: qv(1,1)
-      REAL(rstd),INTENT(OUT) :: hv_(1,1)
-    END SUBROUTINE comp_pvort_only
-
-  END INTERFACE
-
-  PROCEDURE(comp_pvort_only), POINTER :: compute_pvort_only => NULL()
-
-END MODULE compute_mod
Index: /codes/icosagcm/devel/src/dynamics/compute_caldyn.f90
===================================================================
--- /codes/icosagcm/devel/src/dynamics/compute_caldyn.f90	(revision 884)
+++ /codes/icosagcm/devel/src/dynamics/compute_caldyn.f90	(revision 884)
@@ -0,0 +1,20 @@
+MODULE compute_caldyn_mod
+  IMPLICIT NONE
+  SAVE
+
+  INTERFACE
+
+    SUBROUTINE comp_pvort_only(u,rhodz,qu,qv, hv_)
+      USE prec, ONLY : rstd
+      REAL(rstd),INTENT(IN)  :: u(1,1)
+      REAL(rstd),INTENT(INOUT) :: rhodz(1,1)
+      REAL(rstd),INTENT(OUT) :: qu(1,1)
+      REAL(rstd),INTENT(OUT) :: qv(1,1)
+      REAL(rstd),INTENT(OUT) :: hv_(1,1)
+    END SUBROUTINE comp_pvort_only
+
+  END INTERFACE
+
+  PROCEDURE(comp_pvort_only), POINTER :: compute_pvort_only => NULL()
+
+END MODULE compute_caldyn_mod
Index: /codes/icosagcm/devel/src/dynamics/compute_pvort_only.F90
===================================================================
--- /codes/icosagcm/devel/src/dynamics/compute_pvort_only.F90	(revision 883)
+++ /codes/icosagcm/devel/src/dynamics/compute_pvort_only.F90	(revision 884)
@@ -1,4 +1,3 @@
 MODULE compute_pvort_only_mod
-  USE compute_mod, ONLY : comp_pvort_only
   USE grid_param, ONLY : llm
   IMPLICIT NONE
@@ -12,7 +11,7 @@
 
   SUBROUTINE check_interface
-    PROCEDURE(comp_pvort_only), POINTER :: ptr
-    ptr => compute_pvort_only_unst
-    ptr => compute_pvort_only_hex
+    USE compute_caldyn_mod
+    compute_pvort_only => compute_pvort_only_unst
+    compute_pvort_only => compute_pvort_only_hex
   END SUBROUTINE check_interface
   
Index: /codes/icosagcm/devel/src/initial/etat0_collocated.f90
===================================================================
--- /codes/icosagcm/devel/src/initial/etat0_collocated.f90	(revision 883)
+++ /codes/icosagcm/devel/src/initial/etat0_collocated.f90	(revision 884)
@@ -114,4 +114,5 @@
     REAL(rstd) :: phis_e(edge_num)
     REAL(rstd) :: u_e(edge_num, llm)
+    REAL(rstd) :: ep(edge_num,3)
     REAL(rstd) :: mass_i(primal_num, llm), theta_rhodz_i(primal_num, llm), mass_e(edge_num, llm)
     REAL(rstd) :: geopot_i(edge_num, llm+1), geopot_e(edge_num, llm+1)
@@ -120,6 +121,7 @@
 
     w(:,:) = 0
+    ep = TRANSPOSE(ep_e)
     CALL compute_etat0_collocated(primal_num  , lon_i, lat_i, phis,   ps,   mass_i,   theta_rhodz_i, geopot_i,   q_i)
-    CALL compute_etat0_collocated(edge_num, lon_e, lat_e, phis_e, ps_e, mass_e, mass_e, geopot_e, q_e, ep_e, u_e)
+    CALL compute_etat0_collocated(edge_num, lon_e, lat_e, phis_e, ps_e, mass_e, mass_e, geopot_e, q_e, ep, u_e)
     mass = TRANSPOSE(mass_i)
     theta_rhodz = TRANSPOSE(theta_rhodz_i)
