Exemple #1
0
    # m.drawcountries()
    # m.drawstates()
    #m.fillcontinents(color='coral', lake_color='aqua')
    m.drawparallels(np.arange(-90., 120., 30.))
    m.drawmeridians(np.arange(0., 420., 60.))
    if dn:
        m.nightshade(dn)
    #m.drawmapboundary(fill_color='aqua')
    return m


time = GPSTime.from_datetime(datetime(2019,5,31,11,0,0))

dog = AstroDog()

ionex_map = dog.get_ionex(time)

# print(dog.get_ionex(time).get_TEC((5,5), time))

# Setup map:
fig = plt.figure(1, figsize=(18, 12))
plt.clf()
ax = fig.add_subplot(111)
m = setup_map(ax)

lon_bins = np.linspace(-180, 180, 73)
lat_bins = np.linspace(-90, 90, 73)

# print(lon_bins, lat_bins)

tec = []
for idx, timestamp in enumerate(daterange.to_pydatetime()):

    save_idx = idx % num_save

    print(timestamp)
    i_kp = [kp_data.index.get_loc(t, method='nearest') for t in [timestamp]]
    kp = kp_data.iloc[i_kp, :]['kp'][0]
    i_f107 = [
        f107_data.index.get_loc(t, method='nearest') for t in [timestamp]
    ]
    f107 = f107_data.iloc[i_f107, :]['f107'][0]

    time = GPSTime.from_datetime(timestamp)

    dog = AstroDog()
    ionex_map = dog.get_ionex(time)

    doy = timestamp.timetuple().tm_yday
    fTime = timestamp.hour + timestamp.minute / 60.

    sub_idx = 0
    for lat in lat_bins:
        for lon in lon_bins:
            tec = dog.get_ionex(time).get_TEC((lat, lon), time)
            data[subbins * save_idx +
                 sub_idx] = lat, lon, f107, kp, fTime, doy, tec
            sub_idx = sub_idx + 1

    if (idx + 1) % num_save == 0:
        print("Storing results checkpoint...")
        try: