14
14
# permissions and limitations under the License.
15
15
########################################################################
16
16
"""
17
- date: 2021-12-01
17
+ date: 2021-12-06
18
18
author: matz
19
19
Methods to plot DASSH objects (such as hexagonal fuel assemblies and
20
20
the pins and subchannels that comprise them).
@@ -132,8 +132,7 @@ def make_SubchannelPlot(dassh_reactor, plot_data):
132
132
f'z={ z_str } ' ])
133
133
fname += '.png'
134
134
fname = os .path .join (dassh_reactor .path , fname )
135
- plt .savefig (fname , bbox_inches = 'tight' , dpi = _data ['dpi' ])
136
- plt .close ()
135
+ _save_and_close (fname , _data ['dpi' ])
137
136
138
137
139
138
def make_PinPlot (dassh_reactor , plot_data ):
@@ -178,8 +177,7 @@ def make_PinPlot(dassh_reactor, plot_data):
178
177
value , f'z={ z_str } ' ])
179
178
fname += '.png'
180
179
fname = os .path .join (dassh_reactor .path , fname )
181
- plt .savefig (fname , bbox_inches = 'tight' , dpi = _data ['dpi' ])
182
- plt .close ()
180
+ _save_and_close (fname , _data ['dpi' ])
183
181
184
182
185
183
def make_CoreSubchannelPlot (dassh_reactor , plot_data ):
@@ -205,8 +203,7 @@ def make_CoreSubchannelPlot(dassh_reactor, plot_data):
205
203
fname = '_' .join (['CoreSubchannelPlot' , f'z={ z_str } ' ])
206
204
fname += '.png'
207
205
fname = os .path .join (dassh_reactor .path , fname )
208
- plt .savefig (fname , bbox_inches = 'tight' , dpi = _data ['dpi' ])
209
- plt .close ()
206
+ _save_and_close (fname , _data ['dpi' ])
210
207
211
208
212
209
def make_CorePinPlot (dassh_reactor , plot_data ):
@@ -232,8 +229,7 @@ def make_CorePinPlot(dassh_reactor, plot_data):
232
229
fname = '_' .join (['CorePinPlot' , v , f'z={ z_str } ' ])
233
230
fname += '.png'
234
231
fname = os .path .join (dassh_reactor .path , fname )
235
- plt .savefig (fname , bbox_inches = 'tight' , dpi = _data ['dpi' ])
236
- plt .close ()
232
+ _save_and_close (fname , _data ['dpi' ])
237
233
238
234
239
235
def make_CoreHexPlot (dassh_reactor , plot_data ):
@@ -1734,10 +1730,9 @@ def make_power(self, dassh_reactor, plot_data):
1734
1730
cmap = plot_data ['cmap' ],
1735
1731
cbar_label = cbl ,
1736
1732
data_label = plot_data ['data_label' ])
1737
- fname = os .path .join (dassh_reactor .path ,
1738
- 'CoreHexPlot_total_power.png' )
1739
- plt .savefig (fname , bbox_inches = 'tight' , dpi = plot_data ['dpi' ])
1740
- plt .close ()
1733
+ fname = 'CoreHexPlot_total_power.png'
1734
+ fname = os .path .join (dassh_reactor .path , fname )
1735
+ _save_and_close (fname , plot_data ['dpi' ])
1741
1736
1742
1737
def make_axial_peak (self , dassh_reactor , plot_data , value ):
1743
1738
"""Generate CoreHexPlot figure containing maximum temperature
@@ -1772,10 +1767,9 @@ def make_axial_peak(self, dassh_reactor, plot_data, value):
1772
1767
cbar_label = cbar_lab ,
1773
1768
data_label = plot_data ['data_label' ],
1774
1769
omit_nonvalue_rings = plot_data ['omit_nonvalue_rings' ])
1775
- fname = os .path .join (dassh_reactor .path ,
1776
- f'CoreHexPlot_{ value } .png' ,)
1777
- plt .savefig (fname , bbox_inches = 'tight' , dpi = plot_data ['dpi' ])
1778
- plt .close ()
1770
+ fname = f'CoreHexPlot_{ value } .png'
1771
+ fname = os .path .join (dassh_reactor .path , fname )
1772
+ _save_and_close (fname , plot_data ['dpi' ])
1779
1773
1780
1774
def make_radial_peak_or_avg (self , dassh_reactor , plot_data , value ):
1781
1775
"""Generate CoreHexPlot figure containing maximum temperature
@@ -1827,9 +1821,7 @@ def make_radial_peak_or_avg(self, dassh_reactor, plot_data, value):
1827
1821
value ,
1828
1822
f'z={ z_str } .png' ])
1829
1823
fname = os .path .join (dassh_reactor .path , fname )
1830
- plt .savefig (fname , bbox_inches = 'tight' ,
1831
- dpi = plot_data ['dpi' ])
1832
- plt .close ()
1824
+ _save_and_close (fname , plot_data ['dpi' ])
1833
1825
1834
1826
def _get_cbar_label (self , plot_data , value ):
1835
1827
"""If no colorbar label is provided, generate one based on
@@ -2285,6 +2277,14 @@ def plot_FH(self, data, lbnd=None, ubnd=None, middle=None,
2285
2277
########################################################################
2286
2278
2287
2279
2280
+ def _save_and_close (plot_file_path , dpi ):
2281
+ l = logging .getLogger ('matplotlib.text' )
2282
+ l .setLevel (40 )
2283
+ plt .savefig (plot_file_path , bbox_inches = 'tight' , dpi = dpi )
2284
+ l .setLevel (30 )
2285
+ plt .close ()
2286
+
2287
+
2288
2288
def _prepare_input (dassh_reactor , plot_data , file_to_load ):
2289
2289
"""Prepare and store data necessary to make any figure
2290
2290
@@ -2386,8 +2386,7 @@ def _add_colorbar(ax, text, cmap, norm):
2386
2386
"""
2387
2387
divider = make_axes_locatable (ax )
2388
2388
color_axis = divider .append_axes ("right" , size = "5%" , pad = 0.1 )
2389
- cbar_colors = mpl .cm .ScalarMappable (norm = norm ,
2390
- cmap = cmap )
2389
+ cbar_colors = mpl .cm .ScalarMappable (norm = norm , cmap = cmap )
2391
2390
cbar = plt .colorbar (cbar_colors , cax = color_axis )
2392
2391
cbar .set_label (text , fontsize = 11 )
2393
2392
return ax
0 commit comments