diff --git a/rubin_sim/maf/batches/science_radar_batch.py b/rubin_sim/maf/batches/science_radar_batch.py index 8ac40867..6865ae40 100644 --- a/rubin_sim/maf/batches/science_radar_batch.py +++ b/rubin_sim/maf/batches/science_radar_batch.py @@ -1104,7 +1104,7 @@ def science_radar_batch( summary_metrics=summaryStats, info_label=f"dm {dM} interval {time_interval} RRc Year 1-2", ) - #bundleList.append(bundle) + bundleList.append(bundle) # PulsatingStarRecovery metric (to be added; Marcella) diff --git a/rubin_sim/maf/maf_contrib/periodic_star_modulation_metric.py b/rubin_sim/maf/maf_contrib/periodic_star_modulation_metric.py index b3c18d6b..af92e052 100644 --- a/rubin_sim/maf/maf_contrib/periodic_star_modulation_metric.py +++ b/rubin_sim/maf/maf_contrib/periodic_star_modulation_metric.py @@ -187,20 +187,24 @@ def run(self, data_slice, slice_point=None): noise = np.random.randn(true_lc.size) * dmag # Suppress warnings about failing on covariance fit_obj = PeriodicStar(t_subrun["filter"]) - with warnings.catch_warnings(): - warnings.simplefilter("ignore") - # If it fails to converge, - # save values that should fail later - try: - parm_vals, pcov = curve_fit( - fit_obj, - t_subrun["time"], - true_lc + noise, - p0=true_params, - sigma=dmag, - ) - except RuntimeError: - parm_vals = true_params * 0 + np.inf + # check if we have enough points + if np.size(true_params) >= np.size(fit_obj): + parm_vals = true_params * 0 + np.inf + else: + with warnings.catch_warnings(): + warnings.simplefilter("ignore") + # If it fails to converge, + # save values that should fail later + try: + parm_vals, pcov = curve_fit( + fit_obj, + t_subrun["time"], + true_lc + noise, + p0=true_params, + sigma=dmag, + ) + except RuntimeError: + parm_vals = true_params * 0 + np.inf fits[i, :] = parm_vals # Throw out any magnitude fits if there are no