Esempio n. 1
0
    def test_hist_arrays(self):
        # Creating test image array
        sim_array = self.merged_df.iloc[:, 0].values
        obs_array = self.merged_df.iloc[:, 1].values

        hv.hist(sim_array=sim_array,
                obs_array=obs_array,
                num_bins=100,
                title='Histogram of Streamflows',
                legend=('SFPT', 'GLOFAS'),
                labels=('Bins', 'Frequency'),
                grid=True)
        buf = BytesIO()
        plt.savefig(buf, format='png')
        buf.seek(0)
        img_test = mpimg.imread(buf)
        buf.close()

        # Reading original image
        img_original = mpimg.imread(
            os.path.join(os.getcwd(), 'baseline_images', 'plot_tests',
                         'hist1.png'))

        # Comparing the images
        self.assertTrue(np.all(np.isclose(img_test, img_original)))
Esempio n. 2
0
    def test_hist_znorm(self):
        # Creating test image array
        hv.hist(merged_data_df=self.merged_df,
                num_bins=100,
                title='Histogram of Streamflows',
                labels=('Bins', 'Frequency'),
                grid=True,
                z_norm=True,
                legend=None,
                prob_dens=True)
        buf = BytesIO()
        plt.savefig(buf, format='png')
        buf.seek(0)
        img_test = mpimg.imread(buf)
        buf.close()

        # Reading original image
        img_original = mpimg.imread(os.path.join(os.getcwd(), 'baseline_images', 'plot_tests', 'hist_znorm.png'))

        # Comparing the images
        self.assertTrue(np.all(np.isclose(img_test, img_original)))
               title='Scatter Plot (Log Scale) for ' + name + '\n River: ' +
               rio + '. COMID: ' + str(comid),
               labels=('Simulated', 'Observed'),
               line45=True,
               best_fit=True,
               log_scale=True,
               figsize=(15, 9))
    plt.savefig(
        path.join(
            scatter_ls_out_dir,
            '{0}_{1}_scatter_plot-log_scale.png'.format(str(comid), name)))

    hv.hist(merged_data_df=merged_df,
            num_bins=100,
            legend=('Simulated', 'Observed'),
            grid=True,
            title='Histogram of Volume for ' + name + '\n River: ' + rio +
            '. COMID: ' + str(comid),
            labels=('Bins', 'Frequency'),
            figsize=(15, 9))
    plt.savefig(
        path.join(hist_out_dir,
                  '{0}_{1}_histograms.png'.format(str(comid), name)))

    hv.qqplot(merged_data_df=merged_df,
              title='Quantile-Quantile Plot of Data for ' + name +
              '\n River: ' + rio + '. COMID: ' + str(comid),
              xlabel='Simulated',
              ylabel='Observed',
              legend=True,
              figsize=(15, 9))
    plt.savefig(
Esempio n. 4
0
	        ebars=monthly_std_error, ecolor=('b', 'r'), tight_xlim=False)
	plt.savefig(path.join(monthly_average_out_dir, '{0}_{1}_monthly_average.png'.format(str(id), name)))

	hv.scatter(merged_data_df=merged_df, grid=True,
	           title='Scatter Plot for ' + str(id) + ' - ' + name + '\n COMID: ' + str(comid),
	           labels=('Simulated', 'Observed'), line45=True, best_fit=True, figsize=(15, 9))
	plt.savefig(path.join(scatter_out_dir, '{0}_{1}_scatter_plot.png'.format(str(id), name)))

	hv.scatter(sim_array=sim_array, obs_array=obs_array, grid=True,
	           title='Scatter Plot (Log Scale) for ' + str(id) + ' - ' + name + '\n COMID: ' + str(
		           comid),
	           labels=('Simulated', 'Observed'), line45=True, best_fit=True, log_scale=True, figsize=(15, 9))
	plt.savefig(path.join(scatter_ls_out_dir, '{0}_{1}_scatter_plot-log_scale.png'.format(str(id), name)))

	hv.hist(merged_data_df=merged_df, num_bins=100, legend=('Simulated', 'Observed'), grid=True,
	        title='Histogram of Streamflows for ' + str(id) + ' - ' + name + '\n COMID: ' + str(
		        comid),
	        labels=('Bins', 'Frequency'), figsize=(15, 9))
	plt.savefig(path.join(hist_out_dir, '{0}_{1}_histograms.png'.format(str(id), name)))

	hv.qqplot(merged_data_df=merged_df,
	          title='Quantile-Quantile Plot of Data for ' + str(
		          id) + ' - ' + name + '\n COMID: ' + str(comid),
	          xlabel='Simulated', ylabel='Observed', legend=True, figsize=(15, 9))
	plt.savefig(path.join(qqplot_out_dir, '{0}_{1}_qq-plot.png'.format(str(id), name)))

	'''Time Lag Analysis'''
	time_lag_metrics = ['ME', 'MAE', 'MAPE', 'RMSE', 'NRMSE (Mean)', 'NSE', 'KGE (2009)', 'KGE (2012)', 'SA', 'R (Pearson)',
	                    'R (Spearman)', 'r2']


	station_out_dir = path.join(lag_out_dir, str(id))
Esempio n. 5
0
        line45=True,
        best_fit=True,
        log_scale=True,
        figsize=(15, 9))
    #plt.savefig(path.join(scatter_ls_out_dir, '{0}_{1}_scatter_plot-log_scale.png'.format(str(id), name)))
    plt.savefig(
        path.join(
            scatter_ls_out_dir,
            '{0}_{1}_scatter_plot-log_scale.png'.format(str(comid), name)))

    hv.hist(
        merged_data_df=merged_df,
        num_bins=100,
        legend=('ERA-Interim', 'ERA-5'),
        grid=True,
        #title='Histogram of Streamflows for ' + str(id) + ' - ' + name + '\n River: ' + rio + '. COMID: ' + str(
        #    comid),
        title='Histogram of Streamflows for ' + name + '\n River: ' + rio +
        '. COMID: ' + str(comid),
        labels=('Bins', 'Frequency'),
        figsize=(15, 9))
    #plt.savefig(path.join(hist_out_dir, '{0}_{1}_histograms.png'.format(str(id), name)))
    plt.savefig(
        path.join(hist_out_dir,
                  '{0}_{1}_histograms.png'.format(str(comid), name)))

    hv.qqplot(
        merged_data_df=merged_df,
        #title='Quantile-Quantile Plot of Data for ' + str(
        #    id) + ' - ' + name + '\n River: ' + rio + '. COMID: ' + str(comid),
        title='Quantile-Quantile Plot of Data for ' + name + '\n River: ' +
Esempio n. 6
0
 def test_hist_error(self):
     df = self.merged_df
     sim_array = df.iloc[:, 0].values
     with self.assertRaises(RuntimeError):
         hv.hist(merged_data_df=self.merged_df, sim_array=sim_array)