def test_plot(): # Process MET data to get simple LCL files = sample_files.EXAMPLE_MET_WILDCARD met = arm.read_netcdf(files) met_temp = met.temp_mean met_rh = met.rh_mean met_lcl = (20. + met_temp / 5.) * (100. - met_rh) / 1000. met['met_lcl'] = met_lcl * 1000. met['met_lcl'].attrs['units'] = 'm' met['met_lcl'].attrs['long_name'] = 'LCL Calculated from SGP MET E13' # Plot data display = TimeSeriesDisplay(met) display.add_subplots((2, 2), figsize=(15, 10)) display.plot('wspd_vec_mean', subplot_index=(0, 0)) display.plot('temp_mean', subplot_index=(1, 0)) display.plot('rh_mean', subplot_index=(0, 1)) windrose = WindRoseDisplay(met) display.put_display_in_subplot(windrose, subplot_index=(1, 1)) windrose.plot('wdir_vec_mean', 'wspd_vec_mean', spd_bins=np.linspace(0, 10, 4)) windrose.axes[0].legend(loc='best') met.close() return display.fig
def test_plot(): # Process MET data to get simple LCL files = sample_files.EXAMPLE_SONDE_WILDCARD met = arm.read_netcdf(files) met_temp = met.temp_mean met_rh = met.rh_mean met_lcl = (20. + met_temp / 5.) * (100. - met_rh) / 1000. met['met_lcl'] = met_lcl * 1000. met['met_lcl'].attrs['units'] = 'm' met['met_lcl'].attrs['long_name'] = 'LCL Calculated from SGP MET E13' # Plot data # Plot data display = TimeSeriesDisplay(met) display.add_subplots((3, ), figsize=(15, 10)) display.plot('wspd_vec_mean', subplot_index=(0, )) display.plot('temp_mean', subplot_index=(1, )) display.plot('rh_mean', subplot_index=(2, )) return display.fig
def test_errors(): files = sample_files.EXAMPLE_MET_WILDCARD obj = arm.read_netcdf(files) display = TimeSeriesDisplay(obj) display.axes = None with np.testing.assert_raises(RuntimeError): display.day_night_background() display = TimeSeriesDisplay({'met': obj, 'met2': obj}) with np.testing.assert_raises(ValueError): display.plot('temp_mean') with np.testing.assert_raises(ValueError): display.qc_flag_block_plot('qc_temp_mean') with np.testing.assert_raises(ValueError): display.plot_barbs_from_spd_dir('wdir_vec_mean', 'wspd_vec_mean') with np.testing.assert_raises(ValueError): display.plot_barbs_from_u_v('wdir_vec_mean', 'wspd_vec_mean') del obj.attrs['_file_dates'] data = np.empty(len(obj['time'])) * np.nan lat = obj['lat'].values lon = obj['lon'].values obj['lat'].values = data obj['lon'].values = data display = TimeSeriesDisplay(obj) display.plot('temp_mean') display.set_yrng([0, 0]) with np.testing.assert_warns(RuntimeWarning): display.day_night_background() obj['lat'].values = lat with np.testing.assert_warns(RuntimeWarning): display.day_night_background() obj['lon'].values = lon * 100. with np.testing.assert_warns(RuntimeWarning): display.day_night_background() obj['lat'].values = lat * 100. with np.testing.assert_warns(RuntimeWarning): display.day_night_background() obj.close() # Test some of the other errors obj = arm.read_netcdf(files) del obj['temp_mean'].attrs['units'] display = TimeSeriesDisplay(obj) display.axes = None with np.testing.assert_raises(RuntimeError): display.set_yrng([0, 10]) with np.testing.assert_raises(RuntimeError): display.set_xrng([0, 10]) display.fig = None display.plot('temp_mean', add_nan=True) assert display.fig is not None assert display.axes is not None with np.testing.assert_raises(AttributeError): display = TimeSeriesDisplay([]) fig, ax = matplotlib.pyplot.subplots() display = TimeSeriesDisplay(obj) display.add_subplots((2, 2), figsize=(15, 10)) display.assign_to_figure_axis(fig, ax) assert display.fig is not None assert display.axes is not None obj = arm.read_netcdf(files) display = TimeSeriesDisplay(obj) obj.clean.cleanup() display.axes = None display.fig = None display.qc_flag_block_plot('atmos_pressure') assert display.fig is not None assert display.axes is not None matplotlib.pyplot.close(fig=display.fig)