1212import warnings
1313from collections .abc import Callable
1414
15- import pandas as pd
16-
1715import click
16+ import pandas as pd
1817
1918import rubin_sim .maf .batches as batches
2019import rubin_sim .maf .db as db
@@ -107,20 +106,15 @@ def build_chimera(
107106 Combined visit sequence containing columns present in both inputs.
108107 """
109108 consdb_part = consdb_visits .loc [
110- (consdb_visits ["dayObs" ] >= int (start_dayobs ))
111- & (consdb_visits ["dayObs" ] <= int (transition_dayobs ))
109+ (consdb_visits ["dayObs" ] >= int (start_dayobs )) & (consdb_visits ["dayObs" ] <= int (transition_dayobs ))
112110 ]
113111 opsim_part = opsim_visits .loc [
114- (opsim_visits ["dayObs" ] > int (transition_dayobs ))
115- & (opsim_visits ["dayObs" ] <= int (end_dayobs ))
112+ (opsim_visits ["dayObs" ] > int (transition_dayobs )) & (opsim_visits ["dayObs" ] <= int (end_dayobs ))
116113 ]
117114
118115 common_cols = sorted (set (consdb_part .columns ) & set (opsim_part .columns ))
119116 if not common_cols :
120- raise ValueError (
121- "consdb_visits and opsim_visits share no common columns; "
122- "cannot build a chimera."
123- )
117+ raise ValueError ("consdb_visits and opsim_visits share no common columns; " "cannot build a chimera." )
124118
125119 return pd .concat (
126120 [consdb_part [common_cols ], opsim_part [common_cols ]],
@@ -200,7 +194,8 @@ def run_chimera_batches(
200194 List of ``(transition_dayobs, hdf5_path)`` tuples as returned by
201195 `build_chimeras`.
202196 batch_func : callable, optional
203- Function with signature ``batch_func(run_name=...) -> dict``.
197+ Function with signature ``batch_func(run_name=...) -> dict``
198+ or ``batch_func(runName=...) -> dict``
204199 Defaults to `rubin_sim.maf.batches.glanceBatch`.
205200 out_dir : `str`, optional
206201 Directory for results_db and metric output files.
@@ -218,7 +213,15 @@ def run_chimera_batches(
218213
219214 for transition_dayobs , hdf5_path in chimera_specs :
220215 run_name = _run_name_from_dayobs (transition_dayobs )
221- bdict = batch_func (run_name = run_name )
216+ try :
217+ bdict = batch_func (run_name = run_name )
218+ except TypeError as batch_error :
219+ if not str (batch_error ).endswith ("got an unexpected keyword argument 'run_name'" ):
220+ # we got some other exception, just pass it along.
221+ raise
222+ # We have a batch that uses runName instead of run_name.
223+ bdict = batch_func (runName = run_name )
224+
222225 group = mb .MetricBundleGroup (
223226 bdict ,
224227 hdf5_path ,
0 commit comments