diff --git a/.clang-tidy b/.clang-tidy
index d690ab530a79488c018c6616c44f61638d585f83..7909488fd59b5b71df202f8aa69602a48612094c 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -1,5 +1,5 @@
 ---
-Checks:          'clang-diagnostic-*,clang-analyzer-*,-*,modernize-use-equals-default,modernize-use-emplace,modernize-loop-convert,modernize-use-nullptr,modernize-use-override,modernize-use-using,modernize-return-braced-init-list,modernize-deprecated-headers,modernize-make-shared,google-explicit-constructor,google-build-using-namespace,google-readability-braces-around-statements,fuchsia-header-anon-namespaces'
+Checks:          'clang-diagnostic-*,clang-analyzer-*,-*,modernize-use-equals-default,modernize-use-emplace,modernize-loop-convert,modernize-use-nullptr,modernize-use-override,modernize-use-using,modernize-return-braced-init-list,modernize-deprecated-headers,modernize-make-shared,google-explicit-constructor,google-build-using-namespace,fuchsia-header-anon-namespaces'
 WarningsAsErrors: ''
 HeaderFilterRegex: 'include/schaapcommon'
 AnalyzeTemporaryDtors: false
@@ -64,8 +64,6 @@ CheckOptions:
     value:           'true'
   - key:             fuchsia-header-anon-namespaces.HeaderFileExtensions
     value:           ';h;hh;hpp;hxx'
-  - key:             google-readability-braces-around-statements.ShortStatementLines
-    value:           '1'
   - key:             modernize-use-emplace.IgnoreImplicitConstructors
     value:           'false'
   - key:             modernize-use-nullptr.NullMacros
diff --git a/include/schaapcommon/reordering/reorderedhandle.h b/include/schaapcommon/reordering/reorderedhandle.h
index 7f5a379c36b31a51ff08104fcf30002ca3d7a408..63bc1cca46205f08362bbdac9fa1ae491bae6f99 100644
--- a/include/schaapcommon/reordering/reorderedhandle.h
+++ b/include/schaapcommon/reordering/reorderedhandle.h
@@ -5,6 +5,7 @@
 #define SCHAAPCOMMON_REORDERING_HANDLE_H_
 
 #include "msselection.h"
+#include "storagemanagertype.h"
 
 #include <vector>
 #include <string>
@@ -34,6 +35,7 @@ struct ReorderedHandleData {
   ReorderedHandleData(
       const std::string& ms_path, const std::string& data_column_name,
       const std::string& model_column_name,
+      StorageManagerType model_storage_manager,
       const std::string& temporary_directory,
       const std::vector<ChannelRange>& channels, bool initial_model_required,
       bool model_update_required,
@@ -44,6 +46,7 @@ struct ReorderedHandleData {
       : ms_path_(ms_path),
         data_column_name_(data_column_name),
         model_column_name_(model_column_name),
+        model_storage_manager_(model_storage_manager),
         temporary_directory_(temporary_directory),
         channels_(channels),
         initial_model_required_(initial_model_required),
@@ -60,6 +63,7 @@ struct ReorderedHandleData {
   std::string ms_path_;
   std::string data_column_name_;
   std::string model_column_name_;
+  StorageManagerType model_storage_manager_;
   std::string temporary_directory_;
   std::vector<ChannelRange> channels_;
   bool initial_model_required_;
diff --git a/include/schaapcommon/reordering/storagemanagertype.h b/include/schaapcommon/reordering/storagemanagertype.h
new file mode 100644
index 0000000000000000000000000000000000000000..bec9f226329181387b5511ae9f967f14a0d77592
--- /dev/null
+++ b/include/schaapcommon/reordering/storagemanagertype.h
@@ -0,0 +1,26 @@
+#ifndef WSCLEAN_MAIN_STORAGE_MANAGER_TYPE_H_
+#define WSCLEAN_MAIN_STORAGE_MANAGER_TYPE_H_
+
+#include <stdexcept>
+#include <string>
+
+#include <boost/algorithm/string.hpp>
+
+namespace schaapcommon::reordering {
+
+enum class StorageManagerType { Default, StokesI };
+
+inline StorageManagerType GetStorageManagerType(
+    const std::string& type_string) {
+  const std::string lowercase_type = boost::to_lower_copy(type_string);
+  if (lowercase_type == "default")
+    return StorageManagerType::Default;
+  else if (lowercase_type == "stokes_i" || lowercase_type == "stokes-i")
+    return StorageManagerType::StokesI;
+  else
+    throw std::runtime_error("Unknown storage manager type: " + type_string);
+}
+
+}  // namespace schaapcommon::reordering
+
+#endif
diff --git a/src/reordering/test/treordered_filewriter.cc b/src/reordering/test/treordered_filewriter.cc
index c68409c4d580c73b16381ed0157b07d464faf28d..0016a8d43e723083b7e293e5014decafba29cdf1 100644
--- a/src/reordering/test/treordered_filewriter.cc
+++ b/src/reordering/test/treordered_filewriter.cc
@@ -23,6 +23,7 @@ using schaapcommon::reordering::MetaRecord;
 using schaapcommon::reordering::PartHeader;
 using schaapcommon::reordering::ReorderedFileWriter;
 using schaapcommon::reordering::ReorderedHandleData;
+using schaapcommon::reordering::StorageManagerType;
 
 class FixtureDirectory {
  public:
@@ -70,6 +71,7 @@ const std::string kTemporaryDirectory = "tmp";
 const double kStartTime = 1.0;
 
 const ReorderedHandleData kData("test.ms", "DATA", "MODEL_DATA",
+                                StorageManagerType::Default,
                                 kTemporaryDirectory, kChannelRanges, true,
                                 false, kPolsOut, kSelection, kBands, 6, true,
                                 [](ReorderedHandleData) {});
@@ -198,9 +200,9 @@ BOOST_FIXTURE_TEST_CASE(reordering_writer_assert_zeros_model_creation,
   {
     boost::filesystem::create_directory(kTemporaryDirectory);
     const ReorderedHandleData handle_no_model_column(
-        "test.ms", "DATA", "MODEL_DATA", kTemporaryDirectory, kChannelRanges,
-        false, false, kPolsOut, kSelection, kBands, 6, true,
-        [](ReorderedHandleData) {});
+        "test.ms", "DATA", "MODEL_DATA", StorageManagerType::Default,
+        kTemporaryDirectory, kChannelRanges, false, false, kPolsOut, kSelection,
+        kBands, 6, true, [](ReorderedHandleData) {});
 
     ReorderedFileWriter reordering_writer(
         handle_no_model_column, kMsPolarizationsPerDataDescId, kStartTime);