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')
Example #2
0
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))
Example #3
0
    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