def n_beampark_plot_mov(): az_points = np.arange(0., 360., 60.).tolist() el_points = np.linspace(80., 90., num=len(az_points)).tolist() scan = rslib.n_const_pointing_model(az=az_points, el=el_points, lat=69., lon=19., alt=150., dwell_time=0.1) plot_radar_scan_movie(scan, earth=True, rotate=False) plt.show()
#initialize the radar setup e3d = rl.eiscat_3d() e3d.set_FOV(max_on_axis=25.0,horizon_elevation=30.0) e3d.set_SNR_limits(min_total_SNRdb=10.0,min_pair_SNRdb=0.0) e3d.set_TX_bandwith(bw = 1.0e6) e3d.set_beam('TX', alib.e3d_array_beam_stage1(opt='dense') ) e3d.set_beam('RX', alib.e3d_array_beam() ) #initialize the observing mode e3d_scan = rslib.ns_fence_rng_model(min_el = 30.0, angle_step = 2.0, dwell_time = 0.2) #3 by 3 grid at 300km az_points = n.arange(0,360,45).tolist() + [0.0]; el_points = [90.0-n.arctan(50.0/300.0)*180.0/n.pi, 90.0-n.arctan(n.sqrt(2)*50.0/300.0)*180.0/n.pi]*4+[90.0]; e3d_ionosphere = rslib.n_const_pointing_model(az_points,el_points,len(az_points), dwell_time = 7.5) e3d_scan.set_radar_location(e3d) e3d.set_scan(SST=e3d_scan,secondary_list=[e3d_ionosphere]) #load the input population pop = p.filtered_master_catalog_factor(e3d,treshhold=1e-2,seed=12345,filter_name='e3d_full_beam') pop._objs = pop._objs[:2000,:] sim = s.simulation( \ radar = e3d,\ population = pop,\ sim_root = sim_root,\ simulation_name = s.auto_sim_name('piggyback_test') )
#initialize the radar setup e3d = rl.eiscat_3d() e3d._max_on_axis = 25.0 e3d._min_SNRdb = 5.0 #initialize the observing mode #lets say you measure ionospheric parameters in a 3-by-3 grid at 300km altitide separated by 50km directions, integration time 0.4s #we piggyback a analysis on this, how good at discovery is it? az_points = n.arange(0, 360, 45).tolist() + [0.0] el_points = [ 90.0 - n.arctan(50.0 / 300.0) * 180.0 / n.pi, 90.0 - n.arctan(n.sqrt(2) * 50.0 / 300.0) * 180.0 / n.pi ] * 4 + [90.0] e3d_scan = rslib.n_const_pointing_model(az_points, el_points, len(az_points), dwell_time=0.4) e3d_scan.set_radar_location(e3d) e3d._tx[0].scan = e3d_scan #load the input population pop = p.master_catalog() pop._objs = pop._objs[pop._objs[:, 3] > 45.0, :] pop._objs = pop._objs[pop._objs[:, 8] > 1e-2, :] pop._objs = pop._objs[pop._objs[:, 2] < 1, :] sim = s.simulation( \ radar = e3d,\ population = pop,\ sim_root = sim_root,\
'64.48487395668005', '62.93289943117691', '61.33878768753357', '59.69647098103616', '57.99766296011879', '56.23923388331565', '54.40755219009088', '52.44010673902446', '50.4247836215483', '48.29222295539205', '46.01278403125778', '43.55617730018973', '40.8717857555977', '37.886094818016815', '34.478961143266076', '30.0' ] els = [float(el) for el in els] azs = [-180.0] * (len(els) - 1) + [0.0] * len(els) els = els[1:][::-1] + els dwell_time = sat_traverse_time / float(len(azs)) scan = rslib.n_const_pointing_model( az=azs, el=els, lat=radar._tx[0].lat, lon=radar._tx[0].lon, alt=radar._tx[0].alt, dwell_time=dwell_time, ) sim.radar.set_scan(scan) sim.observation_parameters( duty_cycle=0.25, SST_fraction=1.0, tracking_fraction=0.25, SST_time_slice=dwell_time, ) sim.run_observation(SIM_TIME)
#Project 1: Create a funky spiral scan! import numpy as np import matplotlib.pyplot as plt #SORTS++ import radar_scans import radar_scan_library #step sizes d_az = 3.0 d_el = 0.1 az = [0.0] el = [90.0] while el[-1] > 50.0: az += [np.mod(az[-1] + d_az, 360.0)] el += [el[-1] - d_el] SC = radar_scan_library.n_const_pointing_model(az, el, 69, 31, 150, dwell_time=0.1) #Now we dont want to plt #radar_scans.plot_radar_scan(SC, earth=True) #plt.show()