def test_flux_to_classletter(): """Test converting fluxes into a class letter""" fluxes = Quantity(10**(-np.arange(9, 2., -1)), 'W/m**2') classesletter = ['A', 'A', 'B', 'C', 'M', 'X', 'X'] calculated_classesletter = [goes.flux_to_flareclass(f)[0] for f in fluxes] calculated_classnumber = [float(goes.flux_to_flareclass(f)[1:]) for f in fluxes] assert_array_equal(classesletter, calculated_classesletter) assert_array_equal([0.1, 1, 1, 1, 1, 1, 10], calculated_classnumber) # now test the Examples assert goes.flux_to_flareclass(1e-08 * u.watt/u.m**2) == 'A1' assert goes.flux_to_flareclass(0.00682 * u.watt/u.m**2) == 'X68.2' assert goes.flux_to_flareclass(7.8e-09 * u.watt/u.m**2) == 'A0.78' assert goes.flux_to_flareclass(0.00024 * u.watt/u.m**2) == 'X2.4' assert goes.flux_to_flareclass(4.7e-06 * u.watt/u.m**2) == 'C4.7' assert goes.flux_to_flareclass(6.9e-07 * u.watt/u.m**2) == 'B6.9' assert goes.flux_to_flareclass(2.1e-05 * u.watt/u.m**2) == 'M2.1'
def current_state(self): data = pd.read_json( "https://services.swpc.noaa.gov/json/goes/15/goes15_xray_1m.json") last = data.iloc[0]['x_long'] text_last = flux_to_flareclass(last * u.watt / u.m**2) max_24 = data['x_long'].max() text_max_24 = flux_to_flareclass(max_24 * u.watt / u.m**2) out = { 'last': last, 'last_text': text_last, 'max_24': max_24, 'max_24_text': text_max_24, } print(" ") print(out) return jsonify(out)
def test_joint_class_to_flux(): classes = ['A3.49', 'A0.23', 'M1', 'X2.3', 'M5.8', 'C2.3', 'B3.45', 'X20'] for c in classes: assert c == goes.flux_to_flareclass(goes.flareclass_to_flux(c))