Extend multi-plotting to multiple plots and flexibility on overlay and contour choices#2238
Conversation
Total coverage: 91% (HTML report)Name Stmts Miss Branch BrPart Cover --------------------------------------------------------------------------------------------------- src/CSET/__init__.py 93 2 12 0 98% src/CSET/_common.py 149 0 52 0 100% src/CSET/cset_workflow/app/fetch_fcst/bin/fetch_data.py 115 27 24 0 79% src/CSET/cset_workflow/app/finish_website/bin/finish_website.py 70 0 4 0 100% src/CSET/cset_workflow/app/parbake_recipes/bin/parbake.py 29 0 8 0 100% src/CSET/cset_workflow/app/send_email/bin/send_email.py 25 0 4 0 100% src/CSET/cset_workflow/lib/python/jinja_utils.py 17 0 6 0 100% src/CSET/extract_workflow.py 47 0 16 0 100% src/CSET/graph.py 43 0 14 0 100% src/CSET/operators/__init__.py 89 0 26 0 100% src/CSET/operators/_atmospheric_constants.py 9 0 0 0 100% src/CSET/operators/_colormaps.py 205 4 54 4 97% src/CSET/operators/_stash_to_lfric.py 3 0 0 0 100% src/CSET/operators/_utils.py 183 8 74 6 95% src/CSET/operators/ageofair.py 141 7 64 5 94% src/CSET/operators/aggregate.py 76 1 22 1 98% src/CSET/operators/aviation.py 60 0 18 0 100% src/CSET/operators/collapse.py 154 12 72 5 91% src/CSET/operators/constraints.py 107 7 46 2 93% src/CSET/operators/convection.py 37 4 10 2 87% src/CSET/operators/ensembles.py 27 0 14 0 100% src/CSET/operators/filters.py 66 2 30 0 98% src/CSET/operators/humidity.py 89 0 32 0 100% src/CSET/operators/imageprocessing.py 56 0 16 0 100% src/CSET/operators/mesoscale.py 17 0 2 0 100% src/CSET/operators/misc.py 146 0 54 1 99% src/CSET/operators/plot.py 929 169 318 59 78% src/CSET/operators/power_spectrum.py 97 3 30 3 95% src/CSET/operators/precipitation.py 93 0 50 0 100% src/CSET/operators/pressure.py 41 0 12 0 100% src/CSET/operators/read.py 409 38 178 14 89% src/CSET/operators/regrid.py 122 18 64 1 83% src/CSET/operators/scoreswrappers.py 47 6 12 3 85% src/CSET/operators/temperature.py 121 0 32 0 100% src/CSET/operators/transect.py 62 0 24 0 100% src/CSET/operators/wind.py 17 0 4 0 100% src/CSET/operators/write.py 15 0 6 0 100% src/CSET/recipes/__init__.py 101 0 28 0 100% --------------------------------------------------------------------------------------------------- TOTAL 4107 308 1432 106 91% |
|
Summary of changes:
Example workflow output: https://wwwspice/~huw.lewis/CSET/CSET_SEA_DET_multiALL_mix/ Example outputs from command line using a) Marking as ready for review. |
Hi, the example plots are linked to |
Claudio Sanchez (mo-claudiosanchez)
left a comment
There was a problem hiding this comment.
The _FIELD variables in rose-suite.conf are now a list with multiple fields, wouldn't it be clearer to rename them as _FIELDS?
|
Rewriting the comment ... This functionality allows the user to produce several "multi" coloured plots and to add contours and/or masked coloured fields. The number of plots (and their base fields to be coloured) is declared in the MULTI_BASE_FIELD variable via a python list, the MULTI_CONTOUR_FIELD, MULTI_OVERLAY_MASK_CONDITION and MULTI_OVERLAY_MASK_VALUE variables should have to have the same number of elements. Some of these elements could be empty strings or set to "None" to ignore the contouring or the masking + overplotting. Few suggestions
There is a more complicated alternative, though it may be cleaner for the user: Following the MODEL_COUNT in CSET, domain variables in the RAS or region/resolution/configuration in the RNS and ENS. There would be several panels for "multi-plot" and a macro to read in values from each panel. There is only one BASE variable for each panel and, if fields names are provided in their respective variables, contour and masking+overplotting. |
inputs and improved GUI metadata
|
Claudio Sanchez (@mo-claudiosanchez) - many thanks for helpful review comments. Branch updated with:
Note if attempt to run with incorrect inputs (e.g. MULTI_CONTOUR_FIELDS=["var1", "var2", ] for 3-plot case, following error results in To respond on general logic of approach, as also considered something like "NPLOTS=#" and then create separate panels etc, but think we need to stick with implementations as simple as possible, and the python_list approach mimics other panels. e.g. updated https://wwwspice/~huw.lewis/CSET/CSET_SEA_DET_multiALL/ now shows example with Please check updated branch when time allows. Thank you. |
…kflow-to-support-multiple-instances-of-plot-generation-in-parallel
Claudio Sanchez (mo-claudiosanchez)
left a comment
There was a problem hiding this comment.
Thanks, looks good. I'd personally add an example in the help panel of SPATIAL_MULTI_VARIABLE. Hope it can be added between the approval and the "squash and merge"






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.