def test_plot_gridded_3d_exits_with_CISError(self):
     variable = valid_cis_gridded_output_variable
     filename = valid_cis_gridded_output_filename
     out_name = '3d_out.png'
     args = ['plot', variable + ':' + filename, '-o', out_name]
     main_arguments = parse_args(args)
     plot_cmd(main_arguments)
    def test_should_do_scatter_plot_of_valid_2d_file(self):
        # Actual file name: xglnwa.pm.k8dec-k9nov.col.tm.nc
        arguments = ['plot', valid_1d_variable+':'+valid_2d_filename, '--output', valid_2d_filename+'.png']
        main_arguments = parse_args(arguments)
        plot_cmd(main_arguments)

        # Remove plotted file, will throw an OSError if file was not created
        os.remove(valid_2d_filename+'.png')
Example #3
0
    def test_iris_contourf(self):
        arguments = ["plot", "rain:" + escape_colons(valid_2d_filename), "--type", "contourf",
                     "--ylabel", "Overidden Y Label", "--height", "5", "--width", "10", "--ymin", "15", "--ymax", "45",
                     "--ystep", "10", "--nocolourbar", "--output", self.id() + ".png"]

        main_arguments = parse_args(arguments)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #4
0
    def test_iris_comparative_scatter(self):
        arguments = ["plot", "rain:" + escape_colons(valid_2d_filename) + ":color=green,itemstyle=^,itemwidth=40",
                     "snow:" + escape_colons(valid_2d_filename), "--type", "comparativescatter",
                     "--logx", "--logy", "--output", self.id() + ".png"]

        main_arguments = parse_args(arguments)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #5
0
    def test_other_histogram3d_doesnt_plot_coastlines(self):
        output_file_opt = ["--output", self.id() + ".png"]
        opts = "--type histogram3d".split()
        arguments = ["plot", "RVOD_liq_water_content:" + valid_cloudsat_RVOD_file, "Height:" + valid_cloudsat_RVOD_file]

        main_arguments = parse_args(arguments + opts + output_file_opt)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #6
0
    def test_iris_histogram3d(self):
        opts = "--cmap RdBu --ylabel overiddeny --title overiddentitle --xmin 0.000002 --xmax 0.000006 " \
               "--ybinwidth 0.000001 --output ".split() + [self.id() + ".png"]
        arguments = ["plot", "rain:" + valid_1d_filename, "snow:" + valid_1d_filename, "--type", "histogram3d"] + opts

        main_arguments = parse_args(arguments)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #7
0
    def test_iris_histogram(self):
        opts = "--xbins 5 --ymin 1 --logy --output".split() + [self.id() + ".png"]
        arguments = ["plot", "rain:" + escape_colons(valid_1d_filename) + ":color=red,itemstyle=step,label=overridenlabel",
                    "snow:" + escape_colons(valid_1d_filename) + ":color=green,itemstyle=step", "--type", "histogram"] + opts

        main_arguments = parse_args(arguments)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #8
0
    def test_iris_one_line_with_step(self):
        output_file_opt = ["--output", self.id() + ".png"]
        opts = "--ystep 0.00001 --xstep 25".split()
        arguments = ["plot", "rain:" + escape_colons(valid_1d_filename) ]

        main_arguments = parse_args(arguments + opts + output_file_opt)
        plot_cmd(main_arguments)

        self.check_graphic()
    def test_plot_ungridded_histogram2d(self):
        filename = valid_GASSP_station_filename
        variable = valid_GASSP_station_vars[0]
        out_name = 'histogram2d.png'
        args = ['plot', variable + ':' + filename, '--type', 'histogram2d', '-o', out_name]
        args = parse_args(args)
        plot_cmd(args)

        os.remove(out_name)
    def test_plot_heatmap_vertical_cbar(self):
        var = valid_echamham_variable_1
        filename = valid_echamham_filename
        out_name = 'cbarv.png'
        args = ['plot', var + ':' + filename, '--cbarorient', 'vertical', '-o', out_name]
        args = parse_args(args)
        plot_cmd(args)

        os.remove(out_name)
Example #11
0
 def test_plot_ungridded_heatmap(self):
     filename = valid_GASSP_station_filename
     variable = valid_GASSP_station_vars[0]
     args = [
         'plot', variable + ':' + escape_colons(filename), '--type',
         'heatmap'
     ]
     args = parse_args(args)
     plot_cmd(args)
    def test_plot_heatmap_cbar_scale(self):
        var = valid_echamham_variable_1
        filename = valid_echamham_filename
        out_name = 'cbarscale.png'
        args = ['plot', var + ':' + filename, '--cbarscale', '0.75', '-o', out_name]
        args = parse_args(args)
        plot_cmd(args)

        os.remove(out_name)
    def test_should_do_scatter_plot_of_file_valid_aerosol_cci_file(self):
        # Actual file name: 20080612093821-ESACCI-L2P_AEROSOL-ALL-AATSR_ENVISAT-ORAC_32855-fv02.02.nc
        arguments = ['plot', valid_aerosol_cci_variable+':'+valid_aerosol_cci_filename, '--output',
                     valid_aerosol_cci_filename+'.png']
        main_arguments = parse_args(arguments)
        plot_cmd(main_arguments)

        # Remove plotted file, will throw an OSError if file was not created
        os.remove(valid_aerosol_cci_filename+'.png')
Example #14
0
    def test_iris_scatter(self):
        output_file_opt = ["--output", self.id() + ".png"]
        opts = "--type scatter --title overiddentitle --fontsize 10 --width 7 --ymin=-0.0005" \
               " --ymax 0.0005".split()
        arguments = ["plot", "rain:" + escape_colons(valid_1d_filename) + ":itemstyle=^,itemwidth=30"]

        main_arguments = parse_args(arguments + opts + output_file_opt)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #15
0
    def test_other_scatter2d(self):
        output_file_opt = ["--output", self.id() + ".png"]
        opts = "--type scatter2d --title overiddentitle --vmax 175 --logy --xaxis Latitude" \
               " --yaxis Height".split()
        arguments = ["plot", "RVOD_liq_water_content:" + escape_colons(valid_cloudsat_RVOD_file) + ":cmap=RdBu,itemwidth=20"]

        main_arguments = parse_args(arguments + opts + output_file_opt)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #16
0
    def test_other_scatter(self):
        output_file_opt = ["--output", self.id() + ".png"]
        opts = "--type scatter --xlabel overiddenx --ylabel overiddeny --title overiddentitle" \
               " --fontsize 15 --height 5 --width 6 --logy --grid".split()
        arguments = ["plot", "AOT_440:" + escape_colons(valid_aeronet_filename) + ":itemwidth=2"]

        main_arguments = parse_args(arguments + opts + output_file_opt)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #17
0
    def test_other_many_scatter_points_given_color(self):
        output_file_opt = ["--output", self.id() + ".png"]
        opts = "--type scatter --ylabel overiddenylabel --ymin 0.1 --ymax 1 --logy".split()
        arguments = ["plot", "AOT_440:" + escape_colons(valid_aeronet_filename),
                     "AOT_870:" + escape_colons(valid_aeronet_filename) + ":color=blue,itemstyle=x,itemwidth=4"]

        main_arguments = parse_args(arguments + opts + output_file_opt)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #18
0
    def test_iris_contour(self):
        arguments = ["plot", "rain:" + escape_colons(valid_2d_filename) + ":cmap=RdBu", "--type", "contour",
                     "--xlabel", "Overidden X Label", "--title", "Overidded Title",
                    "--height", "5", "--width", "5", "--xmin", "15", "--xmax", "45", "--xstep", "20", "--cbarorient",
                     "vertical", "--fontsize", "10", "--output", self.id() + ".png"]

        main_arguments = parse_args(arguments)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #19
0
    def test_other_histogram(self):
        output_file_opt = ["--output", self.id() + ".png"]
        opts = "--type histogram --xlabel overiddenx --fontsize 10 --height 10 --width 10 --xmin 0 --xmax 1.5" \
               " --xbins 20 --grid".split()
        arguments = ["plot", "AOT_440:" + escape_colons(valid_aeronet_filename) + ":itemstyle=step"]

        main_arguments = parse_args(arguments + opts + output_file_opt)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #20
0
    def test_other_contourf(self):
        output_file_opt = ["--output", self.id() + ".png"]
        opts = "--type contourf --xlabel overiddenxlabel --fontsize 15 --height 10 --ymin 0 --ymax 10000" \
               " --vmin 0 --cbarorient horizontal --grid --xaxis Latitude --yaxis Height".split()
        arguments = ["plot", "RVOD_liq_water_content:" + escape_colons(valid_cloudsat_RVOD_file) + ":cmap=RdBu,itemwidth=4"]

        main_arguments = parse_args(arguments + opts + output_file_opt)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #21
0
    def test_aeronet_default_axes(self):
        output_file_opt = ["--output", self.id() + ".png"]
        opts = []

        arguments = ["plot", valid_aeronet_variable + ":" + escape_colons(valid_aeronet_filename)]

        main_arguments = parse_args(arguments + opts + output_file_opt)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #22
0
    def test_iris_heatmap_force_minus_180_to_180(self):
        arguments = ["plot", "rain:" + escape_colons(valid_2d_filename) + ":cmap=RdBu", "--type", "heatmap",
                     "--ylabel", "Overidden Y", "--title", "OveriddenTitle", "--xmin", "-180", "--xmax", "180",
                     "--height", "3.5", "--width", "3.5", "--vmax", "0.000135", "--fontsize", "10", "--output",
                     self.id() + ".png"]

        main_arguments = parse_args(arguments)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #23
0
    def test_iris_one_line(self):
        output_file_opt = ["--output", self.id() + ".png"]
        opts = "--xlabel overiddenxlabel --title overiddentitle --height 5 --width 10 --logx" \
               " --grid".split()
        arguments = ["plot", "rain:" + escape_colons(valid_1d_filename) + ":itemstyle=dashed,label=overiddenlabel,itemwidth=4"]

        main_arguments = parse_args(arguments + opts + output_file_opt)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #24
0
    def test_iris_many_lines(self):
        opts = "--xlabel overiddenxlabel --ylabel overiddenylabel --width 10 --logy --grid " \
               "--ymin 0.00000000001 --xmax 50 --output".split() + [self.id() + ".png"]
        arguments = ["plot", "rain:" + escape_colons(valid_1d_filename) + ":color=red,itemwidth=5",
                     "snow:" + escape_colons(valid_1d_filename) + ":itemstyle=dashed,itemwidth=5,label=overiddenlabel2"] + opts

        main_arguments = parse_args(arguments)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #25
0
    def test_iris_histogram2d(self):
        opts = "--cmap RdBu --ylabel overiddeny --title overiddentitle --xmin 0.000002 --xmax 0.000006 " \
               "--ybins 20 --output ".split() + [self.id() + ".png"]
        arguments = ["plot", "rain:" + escape_colons(valid_1d_filename), 
                     "snow:" + escape_colons(valid_1d_filename), "--type", "histogram2d"] + opts

        main_arguments = parse_args(arguments)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #26
0
    def test_polar_projection(self):
        output_file_opt = ["--output", self.id() + ".png"]
        opts = ["--projection=NorthPolarStereo"]

        arguments = ["plot", valid_aerosol_cci_variable + ":" + escape_colons(valid_aerosol_cci_filename)]

        main_arguments = parse_args(arguments + opts + output_file_opt)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #27
0
    def test_other_contour(self):
        output_file_opt = ["--output", self.id() + ".png"]
        opts = "--type contour --ylabel overiddenylabel --title overiddentitle --vmin 0 --cbarorient vertical --grid" \
               " --xaxis Latitude --yaxis Height".split()
        arguments = ["plot", "RVOD_liq_water_content:" + escape_colons(valid_cloudsat_RVOD_file) + ":cmap=RdBu"]

        main_arguments = parse_args(arguments + opts + output_file_opt)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #28
0
    def test_setting_xrange_using_datetimes(self):
        output_file_opt = ["--output", self.id() + ".png"]
        opts = ["--xmin=2003-08-01",  "--xmax=2003-12-01T12:30:12"]

        arguments = ["plot", valid_aeronet_variable + ":" + escape_colons(valid_aeronet_filename)]

        main_arguments = parse_args(arguments + opts + output_file_opt)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #29
0
    def test_other_one_line(self):
        output_file_opt = ["--output", self.id() + ".png"]
        opts = "--type line --xlabel overiddenx --title overiddentitle --fontsize 7 --height 7" \
               " --ymin 0.1 --ymax 1 --logy".split()
        arguments = ["plot", "AOT_440:" + escape_colons(valid_aeronet_filename) + ":itemstyle=dashed,label=overiddenlabel,itemwidth=4"]

        main_arguments = parse_args(arguments + opts + output_file_opt)
        plot_cmd(main_arguments)

        self.check_graphic()
    def test_should_do_plot_of_hybrid_pressure_using_calculated_air_pressure_variable(self):
        # Actual file name: hybrid-pressure.nc
        # Trac issue #416 (fixed in IRIS v.1.7.1)
        arguments = ['plot', valid_hybrid_pressure_variable+':'+valid_hybrid_pressure_filename,
                     '--xaxis', 'air_pressure', '--output', valid_hybrid_pressure_filename+'.png']
        main_arguments = parse_args(arguments)
        plot_cmd(main_arguments)

        # Remove plotted file, will throw an OSError if file was not created
        os.remove(valid_hybrid_pressure_filename+'.png')
Example #31
0
 def test_plot_gridded_3d_exits_with_ValueError(self):
     variable = valid_cis_gridded_output_variable
     filename = valid_cis_gridded_output_filename
     out_name = '3d_out.png'
     args = [
         'plot', variable + ':' + escape_colons(filename) +
         ":product=NetCDF_Gridded", '-o', out_name
     ]
     main_arguments = parse_args(args)
     plot_cmd(main_arguments)
    def test_should_do_scatter_plot_of_valid_2d_file_with_x_as_lat_y_as_long(self):
        # Actual file name: xglnwa.pm.k8dec-k9nov.col.tm.nc
        # Trac issue #153
        arguments = ['plot', valid_1d_variable+':'+valid_2d_filename, '--xaxis', 'latitude', '--yaxis', 'longitude',
                     '--output', valid_2d_filename+'.png']
        main_arguments = parse_args(arguments)
        plot_cmd(main_arguments)

        # Remove plotted file, will throw an OSError if file was not created
        os.remove(valid_2d_filename+'.png')
    def test_should_do_plot_of_hybrid_height_when_formula_terms_not_marked_as_coordinates(self):
        # Actual file name: hybrid-height.nc
        # Trac issue #417 (fixed in IRIS v.1.7.1)
        arguments = ['plot', valid_hybrid_height_flat_variable+':'+valid_hybrid_height_flat_filename,
                     '--output', valid_hybrid_height_filename+'.png']
        main_arguments = parse_args(arguments)
        plot_cmd(main_arguments)

        # Remove plotted file, will throw an OSError if file was not created
        os.remove(valid_hybrid_height_filename+'.png')
 def test_plot_gridded_2d_with_flattened_time(self):
     variable = valid_cis_gridded_output_variable
     filename = valid_cis_gridded_output_filename
     args = ['subset', variable + ':' + filename, 't=[2007-06-07T15]', '-o', self.OUTPUT_FILENAME]
     args = parse_args(args)
     subset_cmd(args)
     out_name = '3d_out.png'
     args = ['plot', variable + ':' + self.OUTPUT_FILENAME, '-o', out_name]
     main_arguments = parse_args(args)
     plot_cmd(main_arguments)
Example #35
0
    def test_other_histogram_bin_width(self):
        output_file_opt = ["--output", self.id() + ".png"]
        opts = " --type histogram --xbins 3".split()
        arguments = ["plot", 
                     "AOT_440:" + escape_colons(valid_aeronet_filename) + ":itemstyle=step",
                     "AOT_870:" + escape_colons(valid_aeronet_filename) + ":itemstyle=step"]

        main_arguments = parse_args(arguments + opts + output_file_opt)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #36
0
    def test_other_histogram2d_doesnt_plot_coastlines(self):
        output_file_opt = ["--output", self.id() + ".png"]
        opts = "--type histogram2d".split()
        arguments = ["plot", 
                     "RVOD_liq_water_content:" + escape_colons(valid_cloudsat_RVOD_file), 
                     "Height:" + escape_colons(valid_cloudsat_RVOD_file)]

        main_arguments = parse_args(arguments + opts + output_file_opt)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #37
0
    def test_other_many_lines(self):
        output_file_opt = ["--output", self.id() + ".png"]
        opts = "--type line --ylabel overiddenylabel --ymin 0.1 --ymax 1 --logy".split()
        arguments = ["plot", "AOT_440:" + escape_colons(valid_aeronet_filename) + ":color=green,itemstyle=dotted,itemwidth=2",
                     "AOT_870:" + escape_colons(valid_aeronet_filename) + ":itemstyle=dashed,itemwidth=2",
                     "AOT_1020:" + escape_colons(valid_aeronet_filename) + ":color=red,itemwidth=2"]

        main_arguments = parse_args(arguments + opts + output_file_opt)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #38
0
    def test_iris_contour_over_heatmap_binary_cmap(self):
        output_file_opt = ["--output", self.id() + ".png"]
        opts = "--xmin -180 --xmax 180 --width 20 --height 15 --cbarscale 0.5".split()

        arguments = ["plot", "rain:" + escape_colons(valid_2d_filename) + ":type=heatmap,cmap=binary,cbarorient=vertical",
                     "solarupclear:" + escape_colons(valid_2d_filename) + ":type=contour,cmap=jet,contlevels=[1,10,25,50,175],cbarorient=vertical"]

        main_arguments = parse_args(arguments + opts + output_file_opt)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #39
0
    def test_transparent_contour_over_bluemarble(self):
        output_file_opt = ["--output", self.id() + ".png"]
        opts = "--type contourf --xmin -180 --xmax 180 --width 20 --height 15 --cbarscale 0.5" \
               " --nasabluemarble".split()

        arguments = ["plot", "rain:" + escape_colons(valid_2d_filename) + ":cmap=Reds,alpha=0.5,vmin=0.000075"]

        main_arguments = parse_args(arguments + opts + output_file_opt)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #40
0
    def test_mercator_projection(self):
        output_file_opt = ["--output", self.id() + ".png"]
        # These limits are ignored
        opts = ["--projection=Mercator", "--xmin=-90", "--xmax=90", "--nasabluemarble"]

        arguments = ["plot", valid_aerosol_cci_variable + ":" + escape_colons(valid_aerosol_cci_filename)]

        main_arguments = parse_args(arguments + opts + output_file_opt)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #41
0
    def test_aeronet_multiple_variable_plots(self):
        output_file_opt = ["--output", self.id() + ".png"]
        opts = []

        # Plotting doesn't support multiple variables
        arguments = ["plot", "AOT_532,AOT_551" + ":" + escape_colons(valid_aeronet_filename)]

        main_arguments = parse_args(arguments + opts + output_file_opt)
        plot_cmd(main_arguments)

        self.check_graphic()
Example #42
0
    def test_plotting_heatmap_of_aggregated_ungridded_data(self):
        output_file_opt = ["--output", self.id() + ".png"]
        # opts = ['--xmin=-0.5', '--xmax=360']
        opts = []

        arguments = ["plot", 'AOD550:' + escape_colons(make_pathname('aggregated_aerosol_cci.nc'))]

        main_arguments = parse_args(arguments + opts + output_file_opt)
        plot_cmd(main_arguments)

        self.check_graphic()