Reorder difference so CSET does $OTHER - $BASE#2047
Conversation
|
Handing over to David Flack (@daflack) to determine what needs doing to SSIM before review |
|
Notes for SSIM:
|
|
TODO check for impacts on cset_comparison_base through code |
|
For discussion - propose there may be value in a further re-design here to remove explicit reference to "BASE_MODEL" and "OTHER_MODEL" in the At present, if looking to run surface_spatial_difference recipe for 2 models, I provide input variables as follows..... For other recipes with multiple model inputs (e.g. time series), we now call with something like.... I would propose adapting difference recipes to take a single Argument against this is that spatial_difference recipe only expects 2 model inputs (i.e. does not actually loop over N models). Is the ability to do this (remove looping over BASE/OTHER combinations in workflow) desirable? For command-line use, I could envisage benefit for users to "give me differences of my N models relative to 0" for a list of models > 2. Happy if this gets pushed to separate issue, but hope useful to flag here if this PR starts to touch on relevant parts of differencing infrastructure. |
|
OFFICIAL
I would propose adapting difference recipes to take a single MODEL_NAME input variable consistent with other recipes, and then adopt protocol of all differences as model[N] - model[0] in the list. This means e.g. analysis can be defined as first model in list and will always be identified as the 'control'.
This would be a sensible change to reduce the unique behaviour of these recipes. It should probably be a separate pull request, both to keep this one simple, and as it will have lots to clean up (~~such as I think the cset_base_model attribute will be unnecessary~~) - No, it will still be needed.
For command-line use, I could envisage benefit for users to "give me differences of my N models relative to 0" for a list of models > 2.
Currently the loader in the workflow is what loops over all the models and fires them off, but each generated recipes only handles a single pair of models. Given the correspondence of one recipe to one diagnostic, I can’t see how we would handle multiple model differences in a single recipes (outside of line plots of bias with lots of models on, is that what you want?).
OFFICIAL
|
|
Anke F (@afinnen) this is the reordering of the difference plots pull request. |
|
#2061 has been opened to track Huw's comment. |
|
Can I check the latest on this branch? It looks like SSIM has been completed. Frost opened an issue to track Huws comment. Is this ready for review? |
|
With SSIM completed I'm happy to review this. |
James Frost (jfrost-mo)
left a comment
There was a problem hiding this comment.
Looks good. We'll need to make sure we prominently include this in the release notes of our next release, but the updated recipes should help with that.
Grepping through the recipes I can't spot any missed reversals of the difference order, and the actual code change is simple enough.
Differences should be test minus control, this PR addresses #2046
Contribution checklist
Aim to have all relevant checks ticked off before merging. See the developer's guide for more detail.
rose-suite.conf.examplehas been updated if new diagnostic added.