@@ -126,6 +126,14 @@ function _all_modellists_collection(object)
126126 return false
127127end
128128
129+ function _error_if_multirate_singlescale (multirate)
130+ multirate || return nothing
131+ error (
132+ " `multirate=true` is only supported for MTG-based multiscale runs. " ,
133+ " For one scale, build a one-scale MTG and call `run!(mtg, mapping, ...; multirate=true)`."
134+ )
135+ end
136+
129137_single_scale_runtime_object (object) = object
130138_single_scale_runtime_object (mapping:: ModelMapping ) = _modellist_from_model_mapping (mapping)
131139
@@ -151,7 +159,7 @@ function run!(
151159 return_requested_outputs= false ,
152160 requested_outputs_sink= DataFrames. DataFrame
153161) where {M<: Union{ModelMapping{SingleScale},ModelList} }
154- multirate && error ( " ` multirate=true` is only supported for MTG runs (`run!(mtg, mapping, ...)`). " )
162+ _error_if_multirate_singlescale ( multirate)
155163 model_list = _modellist_from_model_mapping (mapping)
156164 _run_modellist_singleton (
157165 model_list,
@@ -228,6 +236,7 @@ function run!(
228236 return_requested_outputs= false ,
229237 requested_outputs_sink= DataFrames. DataFrame
230238) where {T<: Union{AbstractArray,AbstractDict} ,A}
239+ _error_if_multirate_singlescale (multirate)
231240 if _all_modellists_collection (object)
232241 Base. depwarn (
233242 " `run!` with a collection of `ModelList` is deprecated. Use a collection of `ModelMapping` objects instead." ,
@@ -275,6 +284,7 @@ function run!(
275284 return_requested_outputs= false ,
276285 requested_outputs_sink= DataFrames. DataFrame
277286) where {T<: ModelList }
287+ _error_if_multirate_singlescale (multirate)
278288 Base. depwarn (
279289 " `run!(::ModelList, ...)` is deprecated. Use `run!(ModelMapping(...), ...)` instead." ,
280290 :run!
@@ -304,6 +314,7 @@ function run!(
304314 return_requested_outputs= false ,
305315 requested_outputs_sink= DataFrames. DataFrame
306316) where {T<: ModelMapping{SingleScale} }
317+ _error_if_multirate_singlescale (multirate)
307318 model_list = _modellist_from_model_mapping (object)
308319
309320 _run_modellist_singleton (
@@ -426,6 +437,7 @@ function run!(
426437 return_requested_outputs= false ,
427438 requested_outputs_sink= DataFrames. DataFrame
428439) where {T<: Union{AbstractArray,AbstractDict} }
440+ _error_if_multirate_singlescale (multirate)
429441 if _all_modellists_collection (object)
430442 Base. depwarn (
431443 " `run!` with a collection of `ModelList` is deprecated. Use a collection of `ModelMapping` objects instead." ,
0 commit comments