def test_esr_32m(): dt_fr = datetime.datetime.strptime('20001201' + '0400', '%Y%m%d%H%M') dt_to = datetime.datetime.strptime('20001201' + '1200', '%Y%m%d%H%M') site = 'ESR' antenna = '42m' modulation = '120' load_mode = 'AUTO' data_file_type = 'madrigal-hdf5' dashboard = eiscat.EISCATDashboard(dt_fr, dt_to, site=site, antenna=antenna, modulation=modulation, data_file_type=data_file_type, load_mode=load_mode) # select beams before assign the variables # dashboard.dataset.select_beams(field_aligned=False) n_e = dashboard.assign_variable('n_e') T_i = dashboard.assign_variable('T_i') T_e = dashboard.assign_variable('T_e') v_i = dashboard.assign_variable('v_i_los') az = dashboard.assign_variable('AZ') el = dashboard.assign_variable('EL') layout = [[n_e], [T_e], [T_i], [v_i], [az, el]] dashboard.set_layout(panel_layouts=layout, row_height_scales=[5, 5, 5, 5, 3]) dashboard.draw() dashboard.add_title() dashboard.add_panel_labels() return dashboard
def test_uhf_cp3(): dt_fr = datetime.datetime.strptime('20210322' + '2000', '%Y%m%d%H%M') dt_to = datetime.datetime.strptime('20210322' + '2300', '%Y%m%d%H%M') site = 'UHF' antenna = 'UHF' modulation = 'ant' load_mode = 'AUTO' data_file_type = 'madrigal-hdf5' dashboard = eiscat.EISCATDashboard(dt_fr, dt_to, site=site, antenna=antenna, modulation=modulation, data_file_type=data_file_type, load_mode=load_mode) dashboard.check_beams() # select beams before assign the variables # dashboard.dataset.select_beams(field_aligned=False) n_e = dashboard.assign_variable('n_e') n_e.visual.axis[0].data_res = 180 # time resolution in seconds n_e.visual.axis[1].data = '@d.GEO_LAT.value' n_e.visual.axis[1].label = 'GLAT' n_e.visual.axis[1].unit = 'deg' n_e.visual.axis[1].lim = [65, 75] T_i = dashboard.assign_variable('T_i') T_i.visual.axis[0].data_res = 180 T_e = dashboard.assign_variable('T_e') T_e.visual.axis[0].data_res = 180 v_i = dashboard.assign_variable('v_i_los') v_i.visual.axis[0].data_res = 180 v_i.visual.axis[1].data = '@d.GEO_LAT.value' v_i.visual.axis[1].label = 'GLAT' v_i.visual.axis[1].unit = 'deg' v_i.visual.axis[1].lim = [65, 75] az = dashboard.assign_variable('AZ') az.visual.axis[0].data_res = 180 el = dashboard.assign_variable('EL') el.visual.axis[0].data_res = 180 layout = [[n_e], [T_e], [T_i], [v_i], [az, el]] dashboard.set_layout(panel_layouts=layout, row_height_scales=[5, 5, 5, 5, 3]) dashboard.draw() dashboard.add_title() dashboard.add_panel_labels() return dashboard
def test_UHF_CP2(): dt_fr = datetime.datetime.strptime('20161023' + '1600', '%Y%m%d%H%M') dt_to = datetime.datetime.strptime('20161023' + '2100', '%Y%m%d%H%M') site = 'UHF' antenna = 'UHF' modulation = '44.4' load_mode = 'AUTO' data_file_type = 'eiscat-hdf5' dashboard = eiscat.EISCATDashboard(dt_fr, dt_to, site=site, antenna=antenna, modulation=modulation, data_file_type=data_file_type, load_mode=load_mode, status_control=True, residual_control=True) # select beams before assign the variables # dashboard.dataset.select_beams(field_aligned=True) dashboard.dataset.select_beams(az_el_pairs=[(187.0, 77.7)]) dashboard.check_beams() dashboard.status_mask() n_e = dashboard.assign_variable('n_e') T_i = dashboard.assign_variable('T_i') T_e = dashboard.assign_variable('T_e') v_i = dashboard.assign_variable('v_i_los') v_i_2 = v_i.clone() v_i_2.value = v_i_2.value v_i.visual.axis[2].lim = [-100, 100] az = dashboard.assign_variable('AZ') el = dashboard.assign_variable('EL') ptx = dashboard.assign_variable('P_Tx') tsys = dashboard.assign_variable('T_SYS_1') # T_r = dashboard.dataset.add_variable('T_r', ndim=2) # T_r.value = T_e.value / T_i.value # T_r.visual.plot_config.style = '2P' # T_r.depends = T_i.depends # T_r.visual.axis[2].label = 'Te/Ti' # T_r.visual.axis[2].unit = '' layout = [[n_e], [T_e], [T_i], [v_i], [az, [el], [ptx], [tsys]]] dashboard.set_layout(panel_layouts=layout, ) dashboard.draw() dashboard.add_title() dashboard.add_panel_labels() return dashboard
def test_combine(): dt_fr = datetime.datetime.strptime('20050910' + '1200', '%Y%m%d%H%M') dt_to = datetime.datetime.strptime('20050913' + '1200', '%Y%m%d%H%M') site = 'UHF' antenna = 'UHF' modulation = '' load_mode = 'AUTO' data_file_type = 'eiscat-hdf5' dashboard = eiscat.EISCATDashboard(dt_fr, dt_to, site=site, antenna=antenna, modulation=modulation, data_file_type=data_file_type, load_mode=load_mode, status_control=True, residual_control=True) # select beams before assign the variables # dashboard.dataset.select_beams(field_aligned=True) # dashboard.dataset.select_beams(az_el_pairs=[(188.6, 77.7)]) dashboard.check_beams() dashboard.status_mask() n_e = dashboard.assign_variable('n_e') T_i = dashboard.assign_variable('T_i') T_e = dashboard.assign_variable('T_e') v_i = dashboard.assign_variable('v_i_los') az = dashboard.assign_variable('AZ') el = dashboard.assign_variable('EL') ptx = dashboard.assign_variable('P_Tx') tsys = dashboard.assign_variable('T_SYS_1') ds2 = dashboard.dock(datasource_contents=['gfz', 'kpap']) kp = dashboard.assign_variable('Kp', dataset=ds2) ds3 = dashboard.dock(datasource_contents=['wdc', 'ae']) ae = dashboard.assign_variable('AE', dataset=ds3) al = dashboard.assign_variable('AL', dataset=ds3) layout = [[n_e, [al]], [T_e], [T_i], [v_i], [kp]] dashboard.set_layout(panel_layouts=layout, ) dashboard.draw() dashboard.add_title() dashboard.add_panel_labels() plt.show()
def test_combine(): dt_fr = datetime.datetime.strptime('20050910' + '1200', '%Y%m%d%H%M') dt_to = datetime.datetime.strptime('20050913' + '1200', '%Y%m%d%H%M') site = 'UHF' antenna = 'UHF' modulation = '' load_mode = 'AUTO' data_file_type = 'eiscat-hdf5' dashboard = eiscat.EISCATDashboard(dt_fr, dt_to, site=site, antenna=antenna, modulation=modulation, data_file_type=data_file_type, load_mode=load_mode, status_control=True, residual_control=True) # select beams before assign the variables # dashboard.dataset.select_beams(field_aligned=True) # dashboard.dataset.select_beams(az_el_pairs=[(188.6, 77.7)]) dashboard.check_beams() dashboard.status_mask() n_e = dashboard.assign_variable('n_e') T_i = dashboard.assign_variable('T_i') T_e = dashboard.assign_variable('T_e') v_i = dashboard.assign_variable('v_i_los') az = dashboard.assign_variable('AZ') el = dashboard.assign_variable('EL') ptx = dashboard.assign_variable('P_Tx') tsys = dashboard.assign_variable('T_SYS_1') ds2 = dashboard.dock(datasource_contents=['gfz', 'kpap']) kp = dashboard.assign_variable('Kp', dataset=ds2) ds3 = dashboard.dock(datasource_contents=['wdc', 'ae']) ae = dashboard.assign_variable('AE', dataset=ds3) al = dashboard.assign_variable('AL', dataset=ds3) layout = [[n_e, [al]], [T_i], [v_i], [kp]] dashboard.set_layout(panel_layouts=layout, top=0.5, bottom=0.05) dashboard.draw() dashboard.add_title() dashboard.add_panel_labels() ############################33############################3 # add another dashboard dt_fr = datetime.datetime(2005, 9, 10, 0) dt_to = datetime.datetime(2005, 10, 14, 0) dashboard = dashboards.TSDashboard(dt_fr=dt_fr, dt_to=dt_to) ds1 = dashboard.dock(datasource_contents=['cdaweb', 'omni']) ds1.load_data() Bx = dashboard.assign_variable('B_x_GSM') By = dashboard.assign_variable('B_y_GSM') Bz = dashboard.assign_variable('B_z_GSM') n_p = dashboard.assign_variable('n_p') v_sw = dashboard.assign_variable('v_sw') p_dyn = dashboard.assign_variable('p_dyn') ds2 = dashboard.dock(datasource_contents=['wdc', 'asysym']) sym_h = dashboard.assign_variable('SYM_H') ds3 = dashboard.dock(datasource_contents=['wdc', 'ae']) ae = dashboard.assign_variable('AE') au = dashboard.assign_variable('AU') al = dashboard.assign_variable('AL') layout = [[Bx, By, Bz], [v_sw], [p_dyn], [sym_h]] # layout = [[Bz, By], [v_sw], [n_p], [sym_h]] dashboard.set_layout(panel_layouts=layout, hspace=0.1, top=0.95, bottom=0.65, left=0.1, right=0.9) dashboard.draw() plt.show()
def test_vhf_lowel(): dt_fr = datetime.datetime.strptime('20060903' + '2030', '%Y%m%d%H%M') dt_to = datetime.datetime.strptime('20060903' + '2359', '%Y%m%d%H%M') site = 'VHF' antenna = 'VHF' modulation = '60' load_mode = 'AUTO' data_file_type = 'madrigal-hdf5' dashboard = eiscat.EISCATDashboard(dt_fr, dt_to, figure_config={'figsize': (30, 8)}, site=site, antenna=antenna, modulation=modulation, data_file_type=data_file_type, load_mode=load_mode) # select beams before assign the variables # dashboard.dataset.select_beams(field_aligned=False) n_e = dashboard.assign_variable('n_e') n_e_clone = n_e.clone( ) # Clone a variable. It has no meaning here, but it may be useful to create panels with the same variable but different visual settings. n_e.visual.axis[0].data_res = 180 # time resolution in seconds n_e.visual.axis[1].data = '@d.AACGM_LAT.value' n_e.visual.axis[1].label = 'MALT' n_e.visual.axis[1].unit = 'deg' n_e.visual.axis[1].lim = [68, 74.5] T_i = dashboard.assign_variable('T_i') T_i.visual.axis[0].data_res = 180 # time resolution in seconds T_i.visual.axis[1].data = '@d.GEO_LAT.value' T_i.visual.axis[1].label = 'GLAT' T_i.visual.axis[1].unit = 'deg' T_i.visual.axis[1].lim = [71, 75] T_e = dashboard.assign_variable('T_e') T_e.visual.axis[0].data_res = 180 # time resolution in seconds T_e.visual.axis[1].data = '@d.GEO_LAT.value' T_e.visual.axis[1].label = 'GLAT' T_e.visual.axis[1].unit = 'deg' T_e.visual.axis[1].lim = [71, 75] v_i = dashboard.assign_variable('v_i_los') v_i.visual.axis[0].data_res = 180 # time resolution in seconds v_i.visual.axis[1].data = '@d.GEO_LAT.value' v_i.visual.axis[1].label = 'GLAT' v_i.visual.axis[1].unit = 'deg' v_i.visual.axis[1].lim = [None, None] az = dashboard.assign_variable('AZ') el = dashboard.assign_variable('EL') layout = [[n_e], [T_e], [T_i], [v_i], [az, el]] dashboard.set_layout(panel_layouts=layout, row_height_scales=[5, 5, 5, 5, 3], right=0.4) dashboard.draw() dashboard.add_title() dashboard.add_panel_labels() dt_fr = datetime.datetime.strptime('20001201' + '0400', '%Y%m%d%H%M') dt_to = datetime.datetime.strptime('20001201' + '1200', '%Y%m%d%H%M') site = 'ESR' antenna = '42m' modulation = '120' load_mode = 'AUTO' data_file_type = 'madrigal-hdf5' dashboard = dashboard.figure.add_dashboard(dt_fr=dt_fr, dt_to=dt_to, site=site, antenna=antenna, modulation=modulation, data_file_type=data_file_type, load_mode=load_mode) # select beams before assign the variables # dashboard.dataset.select_beams(field_aligned=False) n_e = dashboard.assign_variable('n_e') T_i = dashboard.assign_variable('T_i') T_e = dashboard.assign_variable('T_e') v_i = dashboard.assign_variable('v_i_los') az = dashboard.assign_variable('AZ') el = dashboard.assign_variable('EL') layout = [[n_e], [T_e], [T_i], [v_i], [az, el]] dashboard.set_layout(panel_layouts=layout, row_height_scales=[5, 5, 5, 5, 3], left=0.6) dashboard.draw() dashboard.add_title() dashboard.add_panel_labels() return dashboard
__license__ = "BSD-3-Clause License" __email__ = "*****@*****.**" __docformat__ = "reStructureText" import datetime import geospacelab.express.eiscat_dashboard as eiscat dt_fr = datetime.datetime.strptime('20201209' + '1800', '%Y%m%d%H%M') dt_to = datetime.datetime.strptime('20201210' + '0600', '%Y%m%d%H%M') site = 'UHF' antenna = 'UHF' modulation = '60' load_mode = 'AUTO' dashboard = eiscat.EISCATDashboard( dt_fr, dt_to, site=site, antenna=antenna, modulation=modulation, load_mode='AUTO', data_file_type = "madrigal-hdf5" ) dashboard.quicklook() # dashboard.save_figure() # comment this if you need to run the following codes # dashboard.show() # comment this if you need to run the following codes. """ As the dashboard class (EISCATDashboard) is a inheritance of the classes Datahub and TSDashboard. The variables can be retrieved in the same ways as shown in Example 1. """ n_e = dashboard.assign_variable('n_e') print(n_e.value) print(n_e.error) """