diff --git a/geomagio/Controller.py b/geomagio/Controller.py
index 7895fc5400dfb930b42c62ba3db0c248063e07c6..6297df4306b6e88aa9d69ba724172b453655c2ae 100644
--- a/geomagio/Controller.py
+++ b/geomagio/Controller.py
@@ -491,6 +491,8 @@ def get_input_factory(args):
     # standard arguments
     input_factory_args = {}
     input_factory_args["interval"] = args.input_interval or args.interval
+    input_factory_args["scale_factor"] = args.input_scale_factor or args.scale_factor
+    input_factory_args["sncl_mode"] = args.input_sncl_mode or args.sncl_mode
     input_factory_args["observatory"] = args.observatory
     input_factory_args["type"] = args.type
     input_type = args.input
@@ -600,6 +602,8 @@ def get_output_factory(args):
     # standard arguments
     output_factory_args = {}
     output_factory_args["interval"] = args.output_interval or args.interval
+    output_factory_args["scale_factor"] = args.output_scale_factor or args.scale_factor
+    output_factory_args["sncl_mode"] = args.ouput_sncl_mode or args.sncl_mode
     output_factory_args["observatory"] = args.output_observatory
     output_factory_args["type"] = args.type
     # stream/url arguments
@@ -878,6 +882,17 @@ def parse_args(args):
         metavar="PORT",
         type=int,
     )
+    input_group.add_argument(
+        "--input-scale-factor",
+        default=None,
+        help="Override default factory scale_factor (divide on read; multiply on write)",
+    )
+    input_group.add_argument(
+        "--input-sncl-mode",
+        default=None,
+        help="Override default factory sncl_mode",
+        choices=["geomag", "legacy", "fdsn"],
+    )
     input_group.add_argument(
         "--input-stdin",
         action="store_true",
@@ -969,6 +984,17 @@ def parse_args(args):
         metavar=("FROM", "TO"),
         nargs=2,
     )
+    input_group.add_argument(
+        "--scale-factor",
+        default=None,
+        help="Override default factory scale_factor (divide on read; multiply on write)",
+    )
+    input_group.add_argument(
+        "--sncl-mode",
+        default=None,
+        help="Override default factory sncl_mode",
+        choices=["geomag", "legacy", "fdsn"],
+    )
     input_group.add_argument(
         "--type",
         default="variation",
@@ -1102,6 +1128,17 @@ def parse_args(args):
         metavar="PORT",
         type=int,
     )
+    output_group.add_argument(
+        "--output-scale-factor",
+        default=None,
+        help="Override default factory scale_factor (divide on read; multiply on write)",
+    )
+    output_group.add_argument(
+        "--output-sncl-mode",
+        default=None,
+        help="Override default factory sncl_mode ()",
+        choices=["geomag", "legacy", "fdsn"],
+    )
     output_group.add_argument(
         "--output-stdout",
         action="store_true",