From c54f184ff70829b38d7213839192a3e6fdebfc14 Mon Sep 17 00:00:00 2001 From: "E. Joshua Rigler" <erigler@usgs.gov> Date: Sun, 2 Mar 2025 15:11:18 -0700 Subject: [PATCH] Add sncl_mode and scale_factor options to controller: These will be passed to IO factories if those factories accept them. As of this commit, only Edge and MiniSeed factories honor these options. Others should be updated to accept these, and apply them in a similar manner. --- geomagio/Controller.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/geomagio/Controller.py b/geomagio/Controller.py index 7895fc54..6297df43 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", -- GitLab