diff --git a/dumux/freeflow/compositional/kepsilonncmodel.hh b/dumux/freeflow/compositional/kepsilonncmodel.hh
index 7303d8d0936eb4df7879aec260639f4230ff182b..bcf03a5f723c9698cec266ac894e6fc0a4ac2035 100644
--- a/dumux/freeflow/compositional/kepsilonncmodel.hh
+++ b/dumux/freeflow/compositional/kepsilonncmodel.hh
@@ -71,7 +71,11 @@ struct KEpsilonNCModelTraits : NavierStokesNCModelTraits<dimension, nComp, useMo
     static constexpr bool usesTurbulenceModel() { return true; }
 
     //! the indices
-    using Indices = KEpsilonIndices<dimension, nComp>;
+    using Indices = RANSTwoEqIndices<dimension, nComp>;
+
+    //! return the type of turbulence model used
+    static constexpr auto turbulenceModel()
+    { return TurbulenceModel::kepsilon; }
 };
 
 //!< states some specifics of the isothermal multi-component low-Reynolds k-epsilon model
@@ -141,7 +145,7 @@ struct IOFields<TypeTag, TTag::KEpsilonNC> { using type = FreeflowNCIOFields<KEp
 // Create new type tags
 namespace TTag {
 //! The type tags for the single-phase, multi-component non-isothermal k-epsilon models
-struct KEpsilonNCNI { using InheritsFrom = std::tuple<NavierStokesNCNI>; };
+struct KEpsilonNCNI { using InheritsFrom = std::tuple<KEpsilonNC, NavierStokesNCNI>; };
 } // end namespace TTag
 
 //! The model traits of the non-isothermal model
diff --git a/dumux/freeflow/compositional/komegancmodel.hh b/dumux/freeflow/compositional/komegancmodel.hh
index 28b5df3d5503aba370dad9012f33423015d7453c..4727b9493bf7cfcd20177a14cc0684ff632975e5 100644
--- a/dumux/freeflow/compositional/komegancmodel.hh
+++ b/dumux/freeflow/compositional/komegancmodel.hh
@@ -58,7 +58,7 @@ struct KOmegaNC { using InheritsFrom = std::tuple<NavierStokesNC>; };
 
 /*!
  * \ingroup FreeflowNCModel
- * \brief Traits for the low-Reynolds k-epsilon multi-component model
+ * \brief Traits for the k-omega multi-component model
  *
  * \tparam dimension The dimension of the problem
  * \tparam nComp The number of components to be considered
@@ -75,11 +75,15 @@ struct KOmegaNCModelTraits : NavierStokesNCModelTraits<dimension, nComp, useMole
     //! The model does include a turbulence model
     static constexpr bool usesTurbulenceModel() { return true; }
 
+    //! return the type of turbulence model used
+    static constexpr auto turbulenceModel()
+    { return TurbulenceModel::komega; }
+
     //! the indices
-    using Indices = KOmegaIndices<dimension, nComp>;
+    using Indices = RANSTwoEqIndices<dimension, nComp>;
 };
 
-//!< states some specifics of the isothermal multi-component low-Reynolds k-epsilon model
+//!< states some specifics of the isothermal multi-component k-omega model
 template<class TypeTag>
 struct ModelTraits<TypeTag, TTag::KOmegaNC>
 {
@@ -146,7 +150,7 @@ struct IOFields<TypeTag, TTag::KOmegaNC> { using type = FreeflowNCIOFields<KOmeg
 // Create new type tags
 namespace TTag {
 //! The type tags for the single-phase, multi-component non-isothermal k-omega models
-struct KOmegaNCNI { using InheritsFrom = std::tuple<NavierStokesNCNI>; };
+struct KOmegaNCNI { using InheritsFrom = std::tuple<KOmegaNC, NavierStokesNCNI>; };
 } // end namespace TTag
 
 //! The model traits of the non-isothermal model
@@ -161,6 +165,7 @@ private:
     static constexpr bool useMoles = getPropValue<TypeTag, Properties::UseMoles>();
     static constexpr int replaceCompEqIdx = getPropValue<TypeTag, Properties::ReplaceCompEqIdx>();
     using IsothermalModelTraits = KOmegaNCModelTraits<dim, numComponents, useMoles, replaceCompEqIdx>;
+
 public:
     using type = FreeflowNIModelTraits<IsothermalModelTraits>;
 };
diff --git a/dumux/freeflow/compositional/lowrekepsilonncmodel.hh b/dumux/freeflow/compositional/lowrekepsilonncmodel.hh
index f515f651ea04e1789fc3db155309a7b616e0ca1e..52305bc45314d59ac2fb2f1b7412d29e1230b95e 100644
--- a/dumux/freeflow/compositional/lowrekepsilonncmodel.hh
+++ b/dumux/freeflow/compositional/lowrekepsilonncmodel.hh
@@ -75,8 +75,12 @@ struct LowReKEpsilonNCModelTraits : NavierStokesNCModelTraits<dimension, nComp,
     //! The model does include a turbulence model
     static constexpr bool usesTurbulenceModel() { return true; }
 
+    //! return the type of turbulence model used
+    static constexpr auto turbulenceModel()
+    { return TurbulenceModel::lowrekepsilon; }
+
     //! the indices
-    using Indices = LowReKEpsilonIndices<dimension, nComp>;
+    using Indices = RANSTwoEqIndices<dimension, nComp>;
 };
 
 //!< states some specifics of the isothermal multi-component low-Reynolds k-epsilon model
@@ -146,7 +150,7 @@ struct IOFields<TypeTag, TTag::LowReKEpsilonNC> { using type = FreeflowNCIOField
 // Create new type tags
 namespace TTag {
 //! The type tags for the single-phase, multi-component non-isothermal low-Re k-epsilon models
-struct LowReKEpsilonNCNI { using InheritsFrom = std::tuple<NavierStokesNCNI>; };
+struct LowReKEpsilonNCNI { using InheritsFrom = std::tuple<LowReKEpsilonNC, NavierStokesNCNI>; };
 } // end namespace TTag
 
 //! The model traits of the non-isothermal model
diff --git a/dumux/freeflow/compositional/navierstokesncmodel.hh b/dumux/freeflow/compositional/navierstokesncmodel.hh
index d4b49818aa557a125acab8642fa0bd214bf5577d..5f025a63685457af2e49db2cd442be59acd230f9 100644
--- a/dumux/freeflow/compositional/navierstokesncmodel.hh
+++ b/dumux/freeflow/compositional/navierstokesncmodel.hh
@@ -100,6 +100,13 @@ struct NavierStokesNCModelTraits : NavierStokesModelTraits<dimension>
     //! Index of of a component balance eq. to be replaced by a total mass/mole balance
     static constexpr int replaceCompEqIdx() { return repCompEqIdx; }
 
+    //! The model does not include a turbulence model
+    static constexpr bool usesTurbulenceModel() { return false; }
+
+    //! return the type of turbulence model used
+    static constexpr auto turbulenceModel()
+    { return TurbulenceModel::none; }
+
     //! the indices
     using Indices = NavierStokesIndices<dimension>;
 };
diff --git a/dumux/freeflow/compositional/oneeqncmodel.hh b/dumux/freeflow/compositional/oneeqncmodel.hh
index d2688412ab10fbb037e1fadc91c46eded138bfb9..862b69e1594fef30f713bcf243cc6c0487809780 100644
--- a/dumux/freeflow/compositional/oneeqncmodel.hh
+++ b/dumux/freeflow/compositional/oneeqncmodel.hh
@@ -75,6 +75,10 @@ struct OneEqNCModelTraits : NavierStokesNCModelTraits<dimension, nComp, useMoles
     //! The model does include a turbulence model
     static constexpr bool usesTurbulenceModel() { return true; }
 
+    //! return the type of turbulence model used
+    static constexpr auto turbulenceModel()
+    { return TurbulenceModel::oneeq; }
+
     //! the indices
     using Indices = OneEqIndices<dimension, nComp>;
 };
@@ -146,7 +150,7 @@ struct IOFields<TypeTag, TTag::OneEqNC> { using type = FreeflowNCIOFields<OneEqI
 // Create new type tags
 namespace TTag {
 //! The type tags for the single-phase, multi-component non-isothermal one-equation models
-struct OneEqNCNI { using InheritsFrom = std::tuple<NavierStokesNCNI>; };
+struct OneEqNCNI { using InheritsFrom = std::tuple<OneEqNC, NavierStokesNCNI>; };
 } // end namespace TTag
 
 //! The model traits of the non-isothermal model
diff --git a/dumux/freeflow/compositional/zeroeqncmodel.hh b/dumux/freeflow/compositional/zeroeqncmodel.hh
index 54b19280523ab7edad0eafc078a77b5df7c701b5..a2c0b5f7006efd4b886738b272a32e5918a2edf1 100644
--- a/dumux/freeflow/compositional/zeroeqncmodel.hh
+++ b/dumux/freeflow/compositional/zeroeqncmodel.hh
@@ -32,7 +32,7 @@
 #include <dumux/freeflow/compositional/navierstokesncmodel.hh>
 #include <dumux/freeflow/nonisothermal/iofields.hh>
 #include <dumux/freeflow/rans/zeroeq/model.hh>
-
+#include "volumevariables.hh"
 #include "iofields.hh"
 
 namespace Dumux {
@@ -65,6 +65,10 @@ struct ZeroEqNCModelTraits : NavierStokesNCModelTraits<dimension, nComp, useM, r
 {
     //! The model does include a turbulence model
     static constexpr bool usesTurbulenceModel() { return true; }
+
+    //! return the type of turbulence model used
+    static constexpr auto turbulenceModel()
+    { return TurbulenceModel::zeroeq; }
 };
 
 //! The model traits of the isothermal model
@@ -114,7 +118,7 @@ struct IOFields<TypeTag, TTag::ZeroEqNC> { using type = FreeflowNCIOFields<RANSI
 // Create new type tags
 namespace TTag {
 //! The type tags for the single-phase, multi-component non-isothermal ZeroEq models
-struct ZeroEqNCNI { using InheritsFrom = std::tuple<NavierStokesNCNI>; };
+struct ZeroEqNCNI { using InheritsFrom = std::tuple<ZeroEqNC, NavierStokesNCNI>; };
 } // end namespace TTag
 
 //! The model traits of the non-isothermal model