def main(): #calculate and plot boundary forcing errors param_file = 'gev_params_stationary' years = [10, 30] postfixes = ['low', 'high'] limits = { 10 : 135 , 30 : 770 } plt.subplots_adjust(wspace=0.05) for i, return_period in enumerate(years): for j, postfix in enumerate(postfixes): bfe = calculate_forcing_differences(return_period, prefix = param_file, postfix = '_' + postfix) plt.subplot( len(postfixes), len(years), i * len(postfixes) + j + 1 ) gevfit.plot_data(data = bfe, imagefile = None, units = '${\\rm m^3/s}$', minmax = (-limits[return_period], limits[return_period])) plt.title( '%s flow, return period %d years' % (postfix, return_period), {'fontsize' : 25} ) plt.savefig('forcing_uncert.png')
def plot(member = 'aex', low_return_periods = [], high_return_periods = []): for extreme in ['high', 'low']: data_path = member + '_' + extreme + '_std_dev' if not os.path.isfile(data_path): print('Warning: no data for (%s, %s) ' % (member, extreme)) continue if not os.path.isfile(data_path): print('Warning can\'t find file %s for plotting' % data_path) continue if extreme == 'high': return_periods = high_return_periods else: return_periods = low_return_periods stds = pickle.load(open(data_path)) for return_period in return_periods: imagefile = ( member + '_std_devs_%dyr_%s.png' ) % (return_period, extreme) gevfit.plot_data(data = stds[return_period], imagefile = imagefile, color_map = mpl.cm.get_cmap('RdBu',20))
def plot(self): basemap = polar_stereographic.basemap plt.subplot(3, 1, 1) gevfit.plot_data( self.ret_level_2yr, imagefile=None, units="m**3/s", minmax=(0, None), i_list=self._i_indices, j_list=self._j_indices, ) plt.title("2 year return levels") plt.subplot(3, 1, 2) gevfit.plot_data( self.median_field, imagefile=None, units="m**3/s", minmax=(0, None), i_list=self._i_indices, j_list=self._j_indices, ) plt.title("median") plt.subplot(3, 1, 3) gevfit.plot_data( np.array(self.median_field) - np.array(self.ret_level_2yr), imagefile=None, units="m**3/s", minmax=(None, None), i_list=self._i_indices, j_list=self._j_indices, ) plt.title("difference: median - 2 year return level") plot_basin_boundaries_from_shape(basemap, plotter=plt, linewidth=0.1) basemap.drawcoastlines() plt.savefig("median_test.png") pass