コード例 #1
0
ファイル: launch_analysis.py プロジェクト: gehly/metis
def spacex_ssoa_analysis():

    #    # Using Thomas excel file
    #    obj_id = 90000
    #    UTC = datetime(2018, 6, 23, 2, 13, 21)
    #
    #    ecef_dict = {}
    #    ecef_dict[obj_id] = {}
    #
    #    r_ITRF = np.array([-3651380.321,	1598487.431,	-5610448.359]) * 0.001
    #    v_ITRF = np.array([5276.523548, 	-3242.081015,	-4349.310553]) * 0.001
    #
    #    ecef_dict[obj_id]['r_ITRF'] = r_ITRF.reshape(3,1)
    #    ecef_dict[obj_id]['v_ITRF'] = v_ITRF.reshape(3,1)
    #    ecef_dict[obj_id]['UTC'] = UTC

    # Using Rasit TLE
    #    obj_id_list = [43690, 43691, 43692, 43693, 43694, 43695, 43696, 43697]
    obj_id_list = [43758, 43763]
    #    line1 = '1 99999U 18999B   18315.16116898 +.00000500 +00000-0 +32002-2 0  9993'
    #    line2 = '2 99999 085.0168 090.4036 0012411 292.8392 108.1000 15.20833469601616'
    #
    #    line1 = '1 99999U 18999B   18315.19693718 +.00000500 +00000-0 +60940-2 0  9999'
    #    line2 = '2 99999 085.0165 102.9279 0012642 291.6624 115.0006 15.20806704601617'

    #    line1 = '1 43690U 18088A   18315.20213355  .00000372 -11738-5  00000+0 0  9993'
    #    line2 = '2 43690  85.0339 102.9499 0224293 222.7416 214.1638 15.71130100    06'
    #
    #    UTC = tletime2datetime(line1)
    #    tle_dict = {}
    #    tle_dict[obj_id] = {}
    #    tle_dict[obj_id]['line1_list'] = [line1]
    #    tle_dict[obj_id]['line2_list'] = [line2]
    #    tle_dict[obj_id]['UTC_list'] = [UTC]

    UTC = datetime(2018, 12, 3, 0, 0, 0)

    load = Loader(os.path.join(metis_dir, 'skyfield_data'))
    ephemeris = load('de430t.bsp')
    ts = load.timescale()

    sensor_id_list = [
        'RMIT ROO', 'UNSW Falcon', 'USAFA Falcon', 'Mamalluca Falcon'
    ]

    # Times for visibility check
    ndays = 5
    dt = 10
    UTC0 = ts.utc(UTC.replace(tzinfo=utc)).utc
    sec_array = list(range(0, 86400 * ndays, dt))
    skyfield_times = ts.utc(UTC0[0], UTC0[1], UTC0[2], UTC0[3], UTC0[4],
                            sec_array)

    vis_dict = compute_visible_passes(skyfield_times, obj_id_list,
                                      sensor_id_list, ephemeris)

    print(vis_dict)

    # Generate output file
    vis_file_min_el = 0.
    outdir = os.getcwd()
    vis_file = os.path.join(outdir, 'SSOA_visible_passes_2018_12_04.csv')
    generate_visibility_file(vis_dict, vis_file, vis_file_min_el)

    return
コード例 #2
0
ファイル: compute_visibility.py プロジェクト: gehly/metis
    #    print(UTC0)
    #    sec_array = list(range(0,86400*ndays,dt))
    #    skyfield_times = ts.utc(UTC0[0], UTC0[1]+2, UTC0[2],
    #                            UTC0[3], UTC0[4], sec_array)
    #
    #    print(skyfield_times[0])
    #    mistake

    #    obj_id_list = [45727, 47967, 29648, 46113, 24846, 23528, 26624, 35491]
    obj_id_list = [47967]
    sensor_id_list = ['UNSW Falcon', 'CMU Falcon']

    UTC0 = datetime(2021, 9, 13, 0, 0, 0)
    delta_t = 7. * 86400.
    dt = 10.
    UTC_list = [
        UTC0 + timedelta(seconds=ti) for ti in list(np.arange(0, delta_t, dt))
    ]

    sensor_dict = define_sensors(sensor_id_list)
    vis_dict = compute_visible_passes(UTC_list, obj_id_list, sensor_dict)

    #    print(vis_dict)

    # Generate output file
    vis_file_min_el = 10.
    #    outdir = os.path.join(metis_dir, 'skyfield_data')
    #    vis_file = os.path.join(outdir, 'test_visible_passes.csv')
    vis_file = 'M2_visible_passes_2021_09_13.csv'
    generate_visibility_file(vis_dict, vis_file, vis_file_min_el)
コード例 #3
0
ファイル: launch_analysis.py プロジェクト: gehly/metis
def pslv_analysis():

    obj_id = 90000

    # Using Lawrence orbit parameters
    h = 505.
    a = Re + h
    e = 1e-4

    LTAN = 10.
    launch_dt = datetime(2018, 11, 19, 16, 30, 0)

    RAAN = sunsynch_RAAN(launch_dt, LTAN)
    i = sunsynch_inclination(a, e)

    w = 0.
    M = 180.

    kep_dict = {}
    kep_dict[obj_id] = {}
    kep_dict[obj_id]['a'] = a
    kep_dict[obj_id]['e'] = e
    kep_dict[obj_id]['i'] = i
    kep_dict[obj_id]['RAAN'] = RAAN
    kep_dict[obj_id]['w'] = w
    kep_dict[obj_id]['M'] = M
    kep_dict[obj_id]['UTC'] = launch_dt

    tle_dict, tle_df = kep2tle([obj_id], kep_dict)

    print(tle_dict)

    print(a, e, i, RAAN, w, M)

    UTC = datetime(2018, 11, 19, 16, 30, 0)

    load = Loader(os.path.join(metis_dir, 'skyfield_data'))
    ephemeris = load('de430t.bsp')
    ts = load.timescale()

    sensor_id_list = [
        'Stromlo Optical', 'RMIT ROO', 'UNSW Falcon', 'FLC Falcon',
        'Mamalluca Falcon'
    ]

    # Times for visibility check
    ndays = 14
    dt = 10
    obj_id_list = [obj_id]
    UTC0 = ts.utc(UTC.replace(tzinfo=utc)).utc
    sec_array = list(range(0, 86400 * ndays, dt))
    skyfield_times = ts.utc(UTC0[0], UTC0[1], UTC0[2], UTC0[3], UTC0[4],
                            sec_array)

    vis_dict = compute_visible_passes(skyfield_times, obj_id_list,
                                      sensor_id_list, ephemeris, tle_dict)

    print(vis_dict)

    # Generate output file
    vis_file_min_el = 0.
    outdir = os.getcwd()
    vis_file = os.path.join(outdir, 'PSLV_visible_passes.csv')
    generate_visibility_file(vis_dict, vis_file, vis_file_min_el)

    return
コード例 #4
0
    #
    #    print(tle_dict)

    # Generate pandas dataframe
    #    tle_df = tledict2dataframe(tle_dict)

    sensor_id_list = [
        'Stromlo Optical', 'Zimmerwald Optical', 'Arequipa Optical',
        'Haleakala Optical', 'Yarragadee Optical', 'RMIT ROO', 'UNSW Falcon',
        'FLC Falcon', 'Mamalluca Falcon'
    ]

    # Times for visibility check
    ndays = 3
    dt = 10
    UTC0 = ts.utc(UTC.replace(tzinfo=utc)).utc
    sec_array = list(range(0, 86400 * ndays, dt))
    skyfield_times = ts.utc(UTC0[0], UTC0[1], UTC0[2], UTC0[3], UTC0[4],
                            sec_array)

    vis_dict = compute_visible_passes(skyfield_times, obj_id_list,
                                      sensor_id_list, ephemeris, tle_dict)

    print(vis_dict)

    # Generate output file
    vis_file_min_el = 10.
    outdir = os.getcwd()
    vis_file = os.path.join(outdir, 'rocketlab_visible_passes.csv')
    generate_visibility_file(vis_dict, vis_file, vis_file_min_el)