Index: codes/icosagcm/devel/src/dynamics/caldyn_gcm.F90
===================================================================
--- codes/icosagcm/devel/src/dynamics/caldyn_gcm.F90	(revision 732)
+++ codes/icosagcm/devel/src/dynamics/caldyn_gcm.F90	(revision 733)
@@ -60,7 +60,7 @@
     SELECT CASE(TRIM(def))
     CASE('energy')
-       caldyn_conserv=energy
+       caldyn_conserv=conserv_energy
     CASE('enstrophy')
-       caldyn_conserv=enstrophy
+       caldyn_conserv=conserv_enstrophy
     CASE DEFAULT
        IF (is_mpi_root) PRINT *,'Bad selector for variable caldyn_conserv : <', &
@@ -69,4 +69,18 @@
     END SELECT
     IF (is_master) PRINT *, 'caldyn_conserv=',def
+
+    def='trisk'
+    CALL getin('caldyn_kinetic',def)
+    SELECT CASE(TRIM(def))
+    CASE('trisk')
+       caldyn_kinetic=kinetic_trisk
+    CASE('consistent')
+       caldyn_kinetic=kinetic_consistent
+    CASE DEFAULT
+       IF (is_mpi_root) PRINT *,'Bad selector for variable caldyn_kinetic : <', &
+            TRIM(def),'> options are <trisk>, <consistent>'
+       STOP
+    END SELECT
+    IF (is_master) PRINT *, 'caldyn_kinetic=',def
 
     nqdyn=1 ! default value
@@ -144,4 +158,5 @@
     CALL allocate_field(f_qu,field_u,type_real,llm) 
     CALL allocate_field(f_qv,field_z,type_real,llm) 
+    CALL allocate_field(f_Kv,field_z,type_real,llm) 
     CALL allocate_field(f_pk,    field_t,type_real,llm,  name='pk')
     CALL allocate_field(f_wwuu,  field_u,type_real,llm+1,name='wwuu')    
@@ -272,5 +287,5 @@
 
     SELECT CASE(caldyn_conserv)
-    CASE(energy) ! energy-conserving
+    CASE(conserv_energy) ! energy-conserving
        DO ind=1,ndomain
           IF (.NOT. assigned_domain(ind)) CYCLE
@@ -333,5 +348,5 @@
        ENDDO       
    
-    CASE(enstrophy) ! enstrophy-conserving
+    CASE(conserv_enstrophy) ! enstrophy-conserving
        DO ind=1,ndomain
           IF (.NOT. assigned_domain(ind)) CYCLE
Index: codes/icosagcm/devel/src/dynamics/caldyn_hevi.f90
===================================================================
--- codes/icosagcm/devel/src/dynamics/caldyn_hevi.f90	(revision 732)
+++ codes/icosagcm/devel/src/dynamics/caldyn_hevi.f90	(revision 733)
@@ -5,5 +5,4 @@
   USE caldyn_kernels_hevi_mod
   USE caldyn_kernels_base_mod
-  USE caldyn_gcm_mod
   IMPLICIT NONE
   PRIVATE
Index: codes/icosagcm/devel/src/dynamics/caldyn_kernels.f90
===================================================================
--- codes/icosagcm/devel/src/dynamics/caldyn_kernels.f90	(revision 732)
+++ codes/icosagcm/devel/src/dynamics/caldyn_kernels.f90	(revision 733)
@@ -144,5 +144,5 @@
     DO l = ll_begin, ll_end
 !!!  Compute mass and theta fluxes
-!       IF (caldyn_conserv==energy) CALL test_message(req_qu) 
+!       IF (caldyn_conserv==conserv_energy) CALL test_message(req_qu) 
        !DIR$ SIMD
        DO ij=ij_begin_ext,ij_end_ext         
@@ -190,5 +190,5 @@
 
     SELECT CASE(caldyn_conserv)
-    CASE(energy) ! energy-conserving TRiSK
+    CASE(conserv_energy) ! energy-conserving TRiSK
 
 !       CALL wait_message(req_qu) ! COM03
@@ -237,5 +237,5 @@
        ENDDO
 
-    CASE(enstrophy) ! enstrophy-conserving TRiSK
+    CASE(conserv_enstrophy) ! enstrophy-conserving TRiSK
 
        DO l=ll_begin,ll_end
Index: codes/icosagcm/devel/src/dynamics/caldyn_kernels_hevi.F90
===================================================================
--- codes/icosagcm/devel/src/dynamics/caldyn_kernels_hevi.F90	(revision 732)
+++ codes/icosagcm/devel/src/dynamics/caldyn_kernels_hevi.F90	(revision 733)
@@ -580,5 +580,5 @@
     SELECT CASE(caldyn_conserv)
 
-    CASE(energy) ! energy-conserving TRiSK
+    CASE(conserv_energy) ! energy-conserving TRiSK
 
        DO l=ll_begin,ll_end
@@ -624,5 +624,5 @@
        ENDDO
 
-    CASE(enstrophy) ! enstrophy-conserving TRiSK
+    CASE(conserv_enstrophy) ! enstrophy-conserving TRiSK
 
        DO l=ll_begin,ll_end
@@ -705,5 +705,5 @@
     DO l = ll_begin, ll_end
        !  Compute mass fluxes
-       IF (caldyn_conserv==energy) CALL test_message(req_qu) 
+       IF (caldyn_conserv==conserv_energy) CALL test_message(req_qu) 
        !DIR$ SIMD
        DO ij=ij_begin_ext,ij_end_ext
Index: codes/icosagcm/devel/src/dynamics/caldyn_vars.f90
===================================================================
--- codes/icosagcm/devel/src/dynamics/caldyn_vars.f90	(revision 732)
+++ codes/icosagcm/devel/src/dynamics/caldyn_vars.f90	(revision 733)
@@ -6,10 +6,12 @@
   SAVE
 
-  INTEGER, PARAMETER :: energy=1, enstrophy=2, caldyn_vert_noncons=1, caldyn_vert_cons=2, &
+  INTEGER, PARAMETER :: conserv_energy=1, conserv_enstrophy=2, &
+       kinetic_trisk=1, kinetic_consistent=2, &
+       caldyn_vert_noncons=1, caldyn_vert_cons=2, &
        thermo_none=-99, thermo_theta=1, thermo_entropy=2, &
        thermo_moist=3, thermo_boussinesq=4, thermo_dry=10, thermo_fake_moist=11, thermo_moist_debug=100
 
-  INTEGER :: caldyn_conserv, caldyn_thermo, caldyn_vert_variant, physics_thermo
-  !$OMP THREADPRIVATE(caldyn_conserv, caldyn_thermo, caldyn_vert_variant, physics_thermo)
+  INTEGER :: caldyn_conserv, caldyn_kinetic, caldyn_thermo, caldyn_vert_variant, physics_thermo
+  !$OMP THREADPRIVATE(caldyn_conserv, caldyn_kinetic, caldyn_thermo, caldyn_vert_variant, physics_thermo)
 
   LOGICAL :: boussinesq, hydrostatic
@@ -20,7 +22,7 @@
 
   ! temporary shared variables for caldyn
-  TYPE(t_field),POINTER :: f_qu(:), f_qv(:), f_pk(:),f_wwuu(:),f_planetvel(:), &
+  TYPE(t_field),POINTER :: f_qu(:), f_qv(:), f_Kv(:), &
+                           f_pk(:),f_wwuu(:),f_planetvel(:), &
                            f_Fel(:), f_gradPhi2(:), f_wil(:), f_Wetadot(:)
-
 
   TYPE(t_message) :: req_ps, req_mass, req_theta_rhodz, req_u, req_qu, req_geopot, req_w
