@@ -517,6 +517,9 @@ <h1>Source code for mpas_analysis.shared.plot.climatology_map</h1><div class="hi
517517 < span class ="n "> plottitle_font</ span > < span class ="o "> =</ span > < span class ="p "> {</ span > < span class ="s1 "> 'size'</ span > < span class ="p "> :</ span > < span class ="n "> config</ span > < span class ="o "> .</ span > < span class ="n "> get</ span > < span class ="p "> (</ span > < span class ="s1 "> 'plot'</ span > < span class ="p "> ,</ span >
518518 < span class ="s1 "> 'threePanelPlotTitleFontSize'</ span > < span class ="p "> )}</ span >
519519
520+ < span class ="n "> multi_line_ref_title</ span > < span class ="o "> =</ span > < span class ="p "> (</ span >
521+ < span class ="n "> refArray</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="kc "> None</ span > < span class ="ow "> and</ span > < span class ="n "> refTitle</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="kc "> None</ span > < span class ="ow "> and</ span > < span class ="s1 "> '</ span > < span class ="se "> \n</ span > < span class ="s1 "> '</ span > < span class ="ow "> in</ span > < span class ="n "> refTitle</ span > < span class ="p "> )</ span >
522+
520523 < span class ="k "> if</ span > < span class ="n "> refArray</ span > < span class ="ow "> is</ span > < span class ="kc "> None</ span > < span class ="p "> :</ span >
521524 < span class ="n "> subplots</ span > < span class ="o "> =</ span > < span class ="p "> [</ span > < span class ="mi "> 111</ span > < span class ="p "> ]</ span >
522525 < span class ="k "> else</ span > < span class ="p "> :</ span >
@@ -530,21 +533,43 @@ <h1>Source code for mpas_analysis.shared.plot.climatology_map</h1><div class="hi
530533 < span class ="n "> dictDiff</ span > < span class ="o "> =</ span > < span class ="n "> setup_colormap</ span > < span class ="p "> (</ span > < span class ="n "> config</ span > < span class ="p "> ,</ span > < span class ="n "> colorMapSectionName</ span > < span class ="p "> ,</ span > < span class ="n "> suffix</ span > < span class ="o "> =</ span > < span class ="s1 "> 'Difference'</ span > < span class ="p "> )</ span >
531534
532535 < span class ="n "> axes</ span > < span class ="o "> =</ span > < span class ="p "> []</ span >
533- < span class ="n "> ax</ span > < span class ="o "> =</ span > < span class ="n "> plt</ span > < span class ="o "> .</ span > < span class ="n "> subplot</ span > < span class ="p "> (</ span > < span class ="n "> subplots</ span > < span class ="p "> [</ span > < span class ="mi "> 0</ span > < span class ="p "> ],</ span > < span class ="n "> projection</ span > < span class ="o "> =</ span > < span class ="n "> projection</ span > < span class ="p "> )</ span >
534- < span class ="n "> _plot_panel</ span > < span class ="p "> (</ span > < span class ="n "> ax</ span > < span class ="p "> ,</ span > < span class ="n "> modelTitle</ span > < span class ="p "> ,</ span > < span class ="n "> modelArray</ span > < span class ="p "> ,</ span > < span class ="o "> **</ span > < span class ="n "> dictModelRef</ span > < span class ="p "> )</ span >
535- < span class ="n "> axes</ span > < span class ="o "> .</ span > < span class ="n "> append</ span > < span class ="p "> (</ span > < span class ="n "> ax</ span > < span class ="p "> )</ span >
536+ < span class ="k "> if</ span > < span class ="n "> refArray</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="kc "> None</ span > < span class ="ow "> and</ span > < span class ="n "> multi_line_ref_title</ span > < span class ="p "> :</ span >
537+ < span class ="c1 "> # Use a GridSpec with unequal gaps but equal-sized panels</ span >
538+ < span class ="n "> gs</ span > < span class ="o "> =</ span > < span class ="n "> fig</ span > < span class ="o "> .</ span > < span class ="n "> add_gridspec</ span > < span class ="p "> (</ span >
539+ < span class ="n "> nrows</ span > < span class ="o "> =</ span > < span class ="mi "> 5</ span > < span class ="p "> ,</ span >
540+ < span class ="n "> ncols</ span > < span class ="o "> =</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span >
541+ < span class ="n "> height_ratios</ span > < span class ="o "> =</ span > < span class ="p "> [</ span > < span class ="mf "> 1.0</ span > < span class ="p "> ,</ span > < span class ="mf "> 0.18</ span > < span class ="p "> ,</ span > < span class ="mf "> 1.0</ span > < span class ="p "> ,</ span > < span class ="mf "> 0.08</ span > < span class ="p "> ,</ span > < span class ="mf "> 1.0</ span > < span class ="p "> ])</ span >
542+
543+ < span class ="n "> ax</ span > < span class ="o "> =</ span > < span class ="n "> fig</ span > < span class ="o "> .</ span > < span class ="n "> add_subplot</ span > < span class ="p "> (</ span > < span class ="n "> gs</ span > < span class ="p "> [</ span > < span class ="mi "> 0</ span > < span class ="p "> ,</ span > < span class ="mi "> 0</ span > < span class ="p "> ],</ span > < span class ="n "> projection</ span > < span class ="o "> =</ span > < span class ="n "> projection</ span > < span class ="p "> )</ span >
544+ < span class ="n "> _plot_panel</ span > < span class ="p "> (</ span > < span class ="n "> ax</ span > < span class ="p "> ,</ span > < span class ="n "> modelTitle</ span > < span class ="p "> ,</ span > < span class ="n "> modelArray</ span > < span class ="p "> ,</ span > < span class ="o "> **</ span > < span class ="n "> dictModelRef</ span > < span class ="p "> )</ span >
545+ < span class ="n "> axes</ span > < span class ="o "> .</ span > < span class ="n "> append</ span > < span class ="p "> (</ span > < span class ="n "> ax</ span > < span class ="p "> )</ span >
536546
537- < span class ="k "> if</ span > < span class ="n "> refArray</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="kc "> None</ span > < span class ="p "> :</ span >
538- < span class ="n "> ax</ span > < span class ="o "> =</ span > < span class ="n "> plt</ span > < span class ="o "> .</ span > < span class ="n "> subplot</ span > < span class ="p "> (</ span > < span class ="n "> subplots</ span > < span class ="p "> [</ span > < span class ="mi "> 1</ span > < span class ="p "> ],</ span > < span class ="n "> projection</ span > < span class ="o "> =</ span > < span class ="n "> projection</ span > < span class ="p "> )</ span >
547+ < span class ="n "> ax</ span > < span class ="o "> =</ span > < span class ="n "> fig</ span > < span class ="o "> .</ span > < span class ="n "> add_subplot</ span > < span class ="p "> (</ span > < span class ="n "> gs</ span > < span class ="p "> [</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span > < span class ="mi "> 0</ span > < span class ="p "> ],</ span > < span class ="n "> projection</ span > < span class ="o "> =</ span > < span class ="n "> projection</ span > < span class ="p "> )</ span >
539548 < span class ="n "> _plot_panel</ span > < span class ="p "> (</ span > < span class ="n "> ax</ span > < span class ="p "> ,</ span > < span class ="n "> refTitle</ span > < span class ="p "> ,</ span > < span class ="n "> refArray</ span > < span class ="p "> ,</ span > < span class ="o "> **</ span > < span class ="n "> dictModelRef</ span > < span class ="p "> )</ span >
540549 < span class ="n "> axes</ span > < span class ="o "> .</ span > < span class ="n "> append</ span > < span class ="p "> (</ span > < span class ="n "> ax</ span > < span class ="p "> )</ span >
541550
542- < span class ="n "> ax</ span > < span class ="o "> =</ span > < span class ="n "> plt </ span > < span class ="o "> .</ span > < span class ="n "> subplot </ span > < span class ="p "> (</ span > < span class ="n "> subplots </ span > < span class ="p "> [</ span > < span class ="mi "> 2 </ span > < span class ="p "> ],</ span > < span class ="n "> projection</ span > < span class ="o "> =</ span > < span class ="n "> projection</ span > < span class ="p "> )</ span >
551+ < span class ="n "> ax</ span > < span class ="o "> =</ span > < span class ="n "> fig </ span > < span class ="o "> .</ span > < span class ="n "> add_subplot </ span > < span class ="p "> (</ span > < span class ="n "> gs </ span > < span class ="p "> [</ span > < span class ="mi "> 4 </ span > < span class =" p " > , </ span > < span class =" mi " > 0 </ span > < span class ="p "> ],</ span > < span class ="n "> projection</ span > < span class ="o "> =</ span > < span class ="n "> projection</ span > < span class ="p "> )</ span >
543552 < span class ="n "> _plot_panel</ span > < span class ="p "> (</ span > < span class ="n "> ax</ span > < span class ="p "> ,</ span > < span class ="n "> diffTitle</ span > < span class ="p "> ,</ span > < span class ="n "> diffArray</ span > < span class ="p "> ,</ span > < span class ="o "> **</ span > < span class ="n "> dictDiff</ span > < span class ="p "> )</ span >
544553 < span class ="n "> axes</ span > < span class ="o "> .</ span > < span class ="n "> append</ span > < span class ="p "> (</ span > < span class ="n "> ax</ span > < span class ="p "> )</ span >
554+ < span class ="k "> else</ span > < span class ="p "> :</ span >
555+ < span class ="n "> ax</ span > < span class ="o "> =</ span > < span class ="n "> plt</ span > < span class ="o "> .</ span > < span class ="n "> subplot</ span > < span class ="p "> (</ span > < span class ="n "> subplots</ span > < span class ="p "> [</ span > < span class ="mi "> 0</ span > < span class ="p "> ],</ span > < span class ="n "> projection</ span > < span class ="o "> =</ span > < span class ="n "> projection</ span > < span class ="p "> )</ span >
556+ < span class ="n "> _plot_panel</ span > < span class ="p "> (</ span > < span class ="n "> ax</ span > < span class ="p "> ,</ span > < span class ="n "> modelTitle</ span > < span class ="p "> ,</ span > < span class ="n "> modelArray</ span > < span class ="p "> ,</ span > < span class ="o "> **</ span > < span class ="n "> dictModelRef</ span > < span class ="p "> )</ span >
557+ < span class ="n "> axes</ span > < span class ="o "> .</ span > < span class ="n "> append</ span > < span class ="p "> (</ span > < span class ="n "> ax</ span > < span class ="p "> )</ span >
558+
559+ < span class ="k "> if</ span > < span class ="n "> refArray</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="kc "> None</ span > < span class ="p "> :</ span >
560+ < span class ="n "> ax</ span > < span class ="o "> =</ span > < span class ="n "> plt</ span > < span class ="o "> .</ span > < span class ="n "> subplot</ span > < span class ="p "> (</ span > < span class ="n "> subplots</ span > < span class ="p "> [</ span > < span class ="mi "> 1</ span > < span class ="p "> ],</ span > < span class ="n "> projection</ span > < span class ="o "> =</ span > < span class ="n "> projection</ span > < span class ="p "> )</ span >
561+ < span class ="n "> _plot_panel</ span > < span class ="p "> (</ span > < span class ="n "> ax</ span > < span class ="p "> ,</ span > < span class ="n "> refTitle</ span > < span class ="p "> ,</ span > < span class ="n "> refArray</ span > < span class ="p "> ,</ span > < span class ="o "> **</ span > < span class ="n "> dictModelRef</ span > < span class ="p "> )</ span >
562+ < span class ="n "> axes</ span > < span class ="o "> .</ span > < span class ="n "> append</ span > < span class ="p "> (</ span > < span class ="n "> ax</ span > < span class ="p "> )</ span >
563+
564+ < span class ="n "> ax</ span > < span class ="o "> =</ span > < span class ="n "> plt</ span > < span class ="o "> .</ span > < span class ="n "> subplot</ span > < span class ="p "> (</ span > < span class ="n "> subplots</ span > < span class ="p "> [</ span > < span class ="mi "> 2</ span > < span class ="p "> ],</ span > < span class ="n "> projection</ span > < span class ="o "> =</ span > < span class ="n "> projection</ span > < span class ="p "> )</ span >
565+ < span class ="n "> _plot_panel</ span > < span class ="p "> (</ span > < span class ="n "> ax</ span > < span class ="p "> ,</ span > < span class ="n "> diffTitle</ span > < span class ="p "> ,</ span > < span class ="n "> diffArray</ span > < span class ="p "> ,</ span > < span class ="o "> **</ span > < span class ="n "> dictDiff</ span > < span class ="p "> )</ span >
566+ < span class ="n "> axes</ span > < span class ="o "> .</ span > < span class ="n "> append</ span > < span class ="p "> (</ span > < span class ="n "> ax</ span > < span class ="p "> )</ span >
545567
546568 < span class ="n "> _add_stats</ span > < span class ="p "> (</ span > < span class ="n "> modelArray</ span > < span class ="p "> ,</ span > < span class ="n "> refArray</ span > < span class ="p "> ,</ span > < span class ="n "> diffArray</ span > < span class ="p "> ,</ span > < span class ="n "> Lats</ span > < span class ="p "> ,</ span > < span class ="n "> axes</ span > < span class ="p "> )</ span >
547569
570+ < span class ="c1 "> # Note: in the multi-line reference-title case, uneven spacing is handled</ span >
571+ < span class ="c1 "> # via GridSpec so all three panels keep identical sizes.</ span >
572+
548573 < span class ="k "> if</ span > < span class ="n "> fileout</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="kc "> None</ span > < span class ="p "> :</ span >
549574 < span class ="n "> savefig</ span > < span class ="p "> (</ span > < span class ="n "> fileout</ span > < span class ="p "> ,</ span > < span class ="n "> config</ span > < span class ="p "> ,</ span > < span class ="n "> pad_inches</ span > < span class ="o "> =</ span > < span class ="mf "> 0.2</ span > < span class ="p "> )</ span >
550575
@@ -879,12 +904,12 @@ <h1>Source code for mpas_analysis.shared.plot.climatology_map</h1><div class="hi
879904
880905< span class ="k "> def</ span > < span class ="w "> </ span > < span class ="nf "> _add_stats_text</ span > < span class ="p "> (</ span > < span class ="n "> names</ span > < span class ="p "> ,</ span > < span class ="n "> values</ span > < span class ="p "> ,</ span > < span class ="n "> ax</ span > < span class ="p "> ,</ span > < span class ="n "> loc</ span > < span class ="p "> ):</ span >
881906 < span class ="k "> if</ span > < span class ="n "> loc</ span > < span class ="o "> ==</ span > < span class ="s1 "> 'upper'</ span > < span class ="p "> :</ span >
882- < span class ="n "> text_ax</ span > < span class ="o "> =</ span > < span class ="n "> inset_axes</ span > < span class ="p "> (</ span > < span class ="n "> ax</ span > < span class ="p "> ,</ span > < span class ="n "> width</ span > < span class ="o "> =</ span > < span class ="s1 "> '17 %'</ span > < span class ="p "> ,</ span > < span class ="n "> height</ span > < span class ="o "> =</ span > < span class ="s1 "> '20%'</ span > < span class ="p "> ,</ span > < span class ="n "> loc</ span > < span class ="o "> =</ span > < span class ="s1 "> 'upper right'</ span > < span class ="p "> ,</ span >
883- < span class ="n "> bbox_to_anchor</ span > < span class ="o "> =</ span > < span class ="p "> (</ span > < span class ="mf "> 0.2 </ span > < span class ="p "> ,</ span > < span class ="mf "> 0.1</ span > < span class ="p "> ,</ span > < span class ="mf "> 1.</ span > < span class ="p "> ,</ span > < span class ="mf "> 1.</ span > < span class ="p "> ),</ span >
907+ < span class ="n "> text_ax</ span > < span class ="o "> =</ span > < span class ="n "> inset_axes</ span > < span class ="p "> (</ span > < span class ="n "> ax</ span > < span class ="p "> ,</ span > < span class ="n "> width</ span > < span class ="o "> =</ span > < span class ="s1 "> '19 %'</ span > < span class ="p "> ,</ span > < span class ="n "> height</ span > < span class ="o "> =</ span > < span class ="s1 "> '20%'</ span > < span class ="p "> ,</ span > < span class ="n "> loc</ span > < span class ="o "> =</ span > < span class ="s1 "> 'upper right'</ span > < span class ="p "> ,</ span >
908+ < span class ="n "> bbox_to_anchor</ span > < span class ="o "> =</ span > < span class ="p "> (</ span > < span class ="mf "> 0.22 </ span > < span class ="p "> ,</ span > < span class ="mf "> 0.1</ span > < span class ="p "> ,</ span > < span class ="mf "> 1.</ span > < span class ="p "> ,</ span > < span class ="mf "> 1.</ span > < span class ="p "> ),</ span >
884909 < span class ="n "> bbox_transform</ span > < span class ="o "> =</ span > < span class ="n "> ax</ span > < span class ="o "> .</ span > < span class ="n "> transAxes</ span > < span class ="p "> ,</ span > < span class ="n "> borderpad</ span > < span class ="o "> =</ span > < span class ="mi "> 0</ span > < span class ="p "> )</ span >
885910 < span class ="k "> else</ span > < span class ="p "> :</ span >
886- < span class ="n "> text_ax</ span > < span class ="o "> =</ span > < span class ="n "> inset_axes</ span > < span class ="p "> (</ span > < span class ="n "> ax</ span > < span class ="p "> ,</ span > < span class ="n "> width</ span > < span class ="o "> =</ span > < span class ="s1 "> '17 %'</ span > < span class ="p "> ,</ span > < span class ="n "> height</ span > < span class ="o "> =</ span > < span class ="s1 "> '20%'</ span > < span class ="p "> ,</ span > < span class ="n "> loc</ span > < span class ="o "> =</ span > < span class ="s1 "> 'lower right'</ span > < span class ="p "> ,</ span >
887- < span class ="n "> bbox_to_anchor</ span > < span class ="o "> =</ span > < span class ="p "> (</ span > < span class ="mf "> 0.2 </ span > < span class ="p "> ,</ span > < span class ="mf "> 0.03</ span > < span class ="p "> ,</ span > < span class ="mf "> 1.</ span > < span class ="p "> ,</ span > < span class ="mf "> 1.</ span > < span class ="p "> ),</ span >
911+ < span class ="n "> text_ax</ span > < span class ="o "> =</ span > < span class ="n "> inset_axes</ span > < span class ="p "> (</ span > < span class ="n "> ax</ span > < span class ="p "> ,</ span > < span class ="n "> width</ span > < span class ="o "> =</ span > < span class ="s1 "> '19 %'</ span > < span class ="p "> ,</ span > < span class ="n "> height</ span > < span class ="o "> =</ span > < span class ="s1 "> '20%'</ span > < span class ="p "> ,</ span > < span class ="n "> loc</ span > < span class ="o "> =</ span > < span class ="s1 "> 'lower right'</ span > < span class ="p "> ,</ span >
912+ < span class ="n "> bbox_to_anchor</ span > < span class ="o "> =</ span > < span class ="p "> (</ span > < span class ="mf "> 0.22 </ span > < span class ="p "> ,</ span > < span class ="mf "> 0.03</ span > < span class ="p "> ,</ span > < span class ="mf "> 1.</ span > < span class ="p "> ,</ span > < span class ="mf "> 1.</ span > < span class ="p "> ),</ span >
888913 < span class ="n "> bbox_transform</ span > < span class ="o "> =</ span > < span class ="n "> ax</ span > < span class ="o "> .</ span > < span class ="n "> transAxes</ span > < span class ="p "> ,</ span > < span class ="n "> borderpad</ span > < span class ="o "> =</ span > < span class ="mi "> 0</ span > < span class ="p "> )</ span >
889914
890915 < span class ="n "> text</ span > < span class ="o "> =</ span > < span class ="s1 "> '</ span > < span class ="se "> \n</ span > < span class ="s1 "> '</ span > < span class ="o "> .</ span > < span class ="n "> join</ span > < span class ="p "> (</ span > < span class ="n "> names</ span > < span class ="p "> )</ span >
0 commit comments