예제 #1
0
def create_map(start, end, ar_obs, ar_instr, sp_obs, sp_instr):
    # setting active regions
    data = DataAccess(start, end, 'AR', ar_obs, ar_instr)
    chain_encoded = prep.decode_and_split(data.get_chain_code())
    ar_carr_synthesis, ar_pix_synthesis = ar.get_shapes(chain_encoded, data.get_pixel_start_x(),
                                                        data.get_pixel_start_y(), data.get_filename(),
                                               data.get_noaa_number(), data.get_ar_id(), data.get_date())

    # setting sunspots
    sp_data = DataAccess(start, end, 'SP', sp_obs, sp_instr)

    sp_chain_encoded = prep.decode_and_split(sp_data.get_chain_code())

    sp_carr, sp_pix = sp.get_shapes(sp_chain_encoded, sp_data.get_pixel_start_x(), sp_data.get_pixel_start_y(),
                                sp_data.get_filename(), sp_data.get_sp_id(), sp_data.get_date())

    sp_synthesis = sp.make_sp_synthesis(ar_contour=ar_carr_synthesis, sp_carr=sp_carr)

    prep.display_object(ar_carr_synthesis, sp_synthesis)
예제 #2
0
            return super(Encoder, self).default(obj)


if __name__ == '__main__':
    # DataAccess + Database testing
    from DataAccess import DataAccess

    ar = DataAccess('2003-10-06T08:54:09', '2003-10-09T10:54:09', 'AR', 'SOHO',
                    'MDI')
    sp = DataAccess('2003-10-06T08:54:09', '2003-10-09T10:54:09', 'SP', 'SOHO',
                    'MDI')
    fil = DataAccess('2003-10-06T08:54:09', '2003-10-09T10:54:09', 'FIL',
                     'MEUDON', 'SPECTROHELIOGRAPH')

    ar_id = ar.get_ar_id()[0]
    sp_id = sp.get_sp_id()[0]
    fil_id = fil.get_fil_id()[0]

    print("load_ar_from_database() TEST", load_ar_from_database(ar_id))
    print("load_sp_from_database() TEST", load_sp_from_database(sp_id))
    print("load_fil_from_database() TEST", load_fl_from_database(fil_id))

    print("----------------------------------------------------------------")

    add_ar_to_database(1, 2, 4, 3, [22], [33])
    print("add_ar_to_database() TEST", load_ar_from_database(1))
    add_sunspot_to_database(1, 2, [22], [33])
    print("add_sp_to_database() TEST", load_sp_from_database(1))
    add_fl_to_database(1, 2, 3, [22], [33])
    print("add_fil_to_database() TEST", load_fl_from_database(1))
예제 #3
0

if __name__ == '__main__':
    # Active region + Sunspot testing
    from DataAccess import DataAccess
    import ActiveRegion as ar

    # setting active regions
    data = DataAccess('2003-10-21T00:00:00', '2003-10-24T00:00:00', 'AR',
                      'SOHO', 'MDI')
    chain_encoded = prep.decode_and_split(data.get_chain_code())
    ar_carr_synthesis, ar_pix_synthesis = ar.get_shapes(
        chain_encoded, data.get_pixel_start_x(), data.get_pixel_start_y(),
        data.get_filename(), data.get_noaa_number(), data.get_ar_id(),
        data.get_date())

    # setting sunspots
    sp_data = DataAccess('2003-10-21T00:00:00', '2003-10-24T00:00:00', 'SP',
                         'SOHO', 'MDI')

    sp_chain_encoded = prep.decode_and_split(sp_data.get_chain_code())

    sp_carr, sp_pix = get_shapes(sp_chain_encoded, sp_data.get_pixel_start_x(),
                                 sp_data.get_pixel_start_y(),
                                 sp_data.get_filename(), sp_data.get_sp_id(),
                                 sp_data.get_date())

    sp_synthesis = make_sp_synthesis(ar_contour=ar_carr_synthesis,
                                     sp_carr=sp_carr)

    prep.display_object(ar_carr_synthesis, sp_synthesis)
예제 #4
0
            lon_diff = centroid[0] - long
            lat_diff = centroid[1] - lat

            # if the longitude difference is smaller than 1.0
            # and latitude is smaller than 1.0 then is success
            # otherwise fail
            if lon_diff < 1.0 and lat_diff < 1.0:
                print("SUCCESS", lon_diff)
                success += 1
            else:
                print("FAIL", lon_diff)
                print("long_center:", long)
                print("calculated:", centroid[0])
                fail += 1
        else:
            ignored += 1

    print("successes = ", success)
    print("fail = ", fail)
    print("ignored = ", ignored)


# Sunspots position testing
if __name__ == '__main__':
    sp_data = DataAccess('2003-09-28T00:00:00', '2003-10-23T01:00:00', 'SP', 'SOHO', 'MDI')
    sp_chain_encoded = prep.decode_and_split(sp_data.get_chain_code())
    sp_id = sp_data.get_sp_id()
    sp_centers_lon = sp_data.get_grav_center_long()
    sp_centers_lat = sp_data.get_grav_center_lat()

    test_sunspots(sp_id, sp_centers_lon, sp_centers_lat)