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)
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))
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)
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)