def main(): fname = iris.sample_data_path('NAME_output.txt') boundary_volc_ash_constraint = iris.Constraint( 'VOLCANIC_ASH_AIR_CONCENTRATION', flight_level='From FL000 - FL200') # Callback shown as None to illustrate where a cube-level callback function would be used if required cube = iris.load_strict(fname, boundary_volc_ash_constraint, callback=None) map = iplt.map_setup(lon_range=[-70, 20], lat_range=[20, 75], resolution='i') map.drawcoastlines() iplt.contourf(cube, levels=(0.0002, 0.002, 0.004, 1), colors=('#80ffff', '#939598', '#e00404'), extend='max') time = cube.coord('time') time_date = time.units.num2date(time.points[0]).strftime(UTC_format) plt.title('Volcanic ash concentration forecast\nvalid at %s' % time_date) plt.show()
def test_simple(self): # First sub-plot plt.subplot(221) plt.title('Default') iplt.contourf(self.cube) map = iplt.gcm() map.drawcoastlines() # Second sub-plot plt.subplot(222) plt.title('Molleweide') iplt.map_setup(projection='moll', lon_0=120) iplt.contourf(self.cube) map = iplt.gcm() map.drawcoastlines() # Third sub-plot plt.subplot(223) plt.title('Native') iplt.map_setup(cube=self.cube) iplt.contourf(self.cube) map = iplt.gcm() map.drawcoastlines() # Fourth sub-plot plt.subplot(224) plt.title('Three/six level') iplt.contourf(self.cube, 3) iplt.contour(self.cube, 6) map = iplt.gcm() map.drawcoastlines() self.check_graphic()
def main(): fname = iris.sample_data_path('rotated_pole.nc') temperature = iris.load_strict(fname) # Calculate the lat lon range and buffer it by 10 degrees lat_range, lon_range = iris.analysis.cartography.lat_lon_range(temperature) lat_range = lat_range[0] - 10, lat_range[1] + 10 lon_range = lon_range[0] - 10, lon_range[1] + 10 # Plot #1: Point plot showing data values & a colorbar plt.figure() iplt.map_setup(temperature, lat_range=lat_range, lon_range=lon_range) points = qplt.points(temperature, c=temperature.data) cb = plt.colorbar(points, orientation='horizontal') cb.set_label(temperature.units) iplt.gcm().drawcoastlines() plt.show() # Plot #2: Contourf of the point based data plt.figure() iplt.map_setup(temperature, lat_range=lat_range, lon_range=lon_range) qplt.contourf(temperature, 15) iplt.gcm().drawcoastlines() plt.show() # Plot #3: Contourf overlayed by coloured point data plt.figure() iplt.map_setup(temperature, lat_range=lat_range, lon_range=lon_range) qplt.contourf(temperature) iplt.points(temperature, c=temperature.data) iplt.gcm().drawcoastlines() plt.show() # For the purposes of this example, add some bounds to the latitude and longitude temperature.coord('grid_latitude').guess_bounds() temperature.coord('grid_longitude').guess_bounds() # Plot #4: Block plot plt.figure() iplt.map_setup(temperature, lat_range=lat_range, lon_range=lon_range) iplt.pcolormesh(temperature) iplt.gcm().bluemarble() iplt.gcm().drawcoastlines() plt.show()
def main(): fname = iris.sample_data_path('NAME_output.txt') boundary_volc_ash_constraint = iris.Constraint('VOLCANIC_ASH_AIR_CONCENTRATION', flight_level='From FL000 - FL200') # Callback shown as None to illustrate where a cube-level callback function would be used if required cube = iris.load_strict(fname, boundary_volc_ash_constraint, callback=None) map = iplt.map_setup(lon_range=[-70, 20], lat_range=[20, 75], resolution='i') map.drawcoastlines() iplt.contourf(cube, levels=(0.0002, 0.002, 0.004, 1), colors=('#80ffff', '#939598', '#e00404'), extend='max' ) time = cube.coord('time') time_date = time.units.num2date(time.points[0]).strftime(UTC_format) plt.title('Volcanic ash concentration forecast\nvalid at %s' % time_date) plt.show()
def test_yx(self): cube = self.wind[0, 0, :, :] iplt.map_setup(cube=cube, mode=coords.POINT_MODE) self.draw_method(cube) self.check_graphic()