EMBERS: HomeTable of ContentsAPI Reference

API Reference

Quick links to the sections below:

RF Tools

Contains rf_data, align_data, colormaps modules

rf_data.read_data([rf_file]) Convert rf binary data into ndarray of power and time.
rf_data.tile_names() List of MWA and reference antenna names
rf_data.tile_pairs(tiles) Create a list of all possible AUT ref antenna pairs from tile_names().
rf_data.time_tree(start_date, stop_date) Split a date interval into 30 min observation chunks.
rf_data.plt_waterfall(power, times, name) Create waterfall plot() object from rf data.
rf_data.single_waterfall(rf_file, out_dir) Save a waterfall plot from rf data file.
rf_data.batch_waterfall(tile, time_stamp, …) Save a waterfall plot for a batch of rf data files.
rf_data.waterfall_batch(start_date, …) Save a series of waterfall plots in parallel.
align_data.savgol_interp(ref, tile[, …]) Interpolate a power array followed by savgol smoothing.
align_data.plot_savgol_interp([ref, tile, …]) Plot single channel of power arrays to visualise savgol_interp().
align_data.save_aligned(tile_pair, …) Save an aligned set of rf data with savez_compressed() to an npz file.
align_data.align_batch([start_date, …]) Temporally align all RF files within a date interval using save_aligned().
colormaps.spectral() Beautiful non-linear spectral colormap
colormaps.jade() Beautiful perceptually uniform jade green colormap.
colormaps.waves_2d() Create 2d sine wave.
colormaps.plt_colormaps(spec, spec_r, jade, …) Plot 2x2 grid of sample colormaps.

Sat Utils

sat_list.norad_ids() Dictionary of NORAD Satellite Catalogue IDs.
sat_list.download_tle(start_date, stop_date, …) Download TLEs from space-track.org.
sat_ephemeris.load_tle(tle_file) Extract orbital parameters from a TLE file.
sat_ephemeris.epoch_ranges(epochs) Optimise time intervals to make the most of different epochs of TLE pairs
sat_ephemeris.epoch_time_array(epoch_range) Create a Skyfield Timescale object at which to evaluate satellite positions.
sat_ephemeris.sat_pass(sats, t_arr, index_epoch) Find when a satellite passes above the horizon at a gps location.
sat_ephemeris.ephem_data(t_arr, pass_index, …) Satellite Ephemeris data (time, alt, az arrays ) for a single satellite pass.
sat_ephemeris.sat_plot(sat_id, alt, az[, alpha]) Plots satellite passes
sat_ephemeris.save_ephem(sat, tle_dir, …) Save ephemeris of all satellite passes and plot sky coverage.
sat_ephemeris.ephem_batch(tle_dir, cadence, …) Process ephemeris for multiple satellites in parallel.
chrono_ephem.obs_times(time_zone, …) Time conversion tools for 30 minute observations
chrono_ephem.interp_ephem(t_array, s_alt, …) Interpolates satellite ephemeris from sat_ephemeris
chrono_ephem.write_json(data[, filename, …]) writes data to json file in output dir
chrono_ephem.save_chrono_ephem(time_zone, …) Save 30 minute ephem from all satellites to file.
sat_channels.read_aligned([ali_file]) Read aligned data from save_aligned() npz file
sat_channels.noise_floor(sat_thresh, …) Computes the noise floor of a rf power array
sat_channels.time_filter(s_rise, s_set, times) Determine indices of time array when a satellite is above the horizon.
sat_channels.plt_window_chans(power, sat_id, …) Waterfall plot with sat window and occupied channels highlighted.
sat_channels.plt_channel(times, …) Plot power in channel, with various thresholds
sat_channels.plt_sats(ids, chrono_file, …) Polar plot of satellite passes in a 30 minute observation
sat_channels.good_chans(ali_file, …[, plots]) Determine the channels a satellite could occupy, in a 30 minute observation
sat_channels.window_chan_map(ali_dir, …) Find all satellite channels in a 30 minute rf observation
sat_channels.batch_window_map(start_date, …) Find satellite channels for all rfobservations in a date interval

MWA Utils

mwa_pointings.download_meta(start, stop, …) Download MWA metadata from mwatelescope.org
mwa_pointings.clean_meta_json(out_dir) Organize json files.
mwa_pointings.combine_pointings(start_gps, …) Combine successive observations with same pointing and save to file.
mwa_pointings.point_integration(out_dir) Calculate total integration at each pointing
mwa_pointings.pointing_hist(pointings, …) Plot a histogram of pointing integration
mwa_pointings.rf_obs_times(start_date, …) Generate start & end times of 30 minuts rf observations in local, unix, gps formats
mwa_pointings.obs_pointings(start, stop, …) Classify the pointing of each rf_obs
mwa_pointings.tile_integration(out_dir, rf_dir) Calculate total integration at multiple pointings for all tiles
mwa_pointings.plt_hist_array(tile_ints, out_dir) A massive grid of histograms with a subplot for pointing integration of each tile.
mwa_pointings.mwa_point_meta(start, stop, …) Download mwa pointing metadata, sort and parse it, and create diagonistic plots,
mwa_dipoles.download_metafits(num_files, …) Download metafits files from mwatelescope.org
mwa_dipoles.find_flags(out_dir) Read metafits files and determine which dipoles are flagged
mwa_dipoles.mwa_flagged_dipoles(num_files, …) Download metafits and find flagged dipoles
mwa_fee.local_beam(za, az, freq[, delays, …]) Code pulled from mwapy that generates the MWA beam response.
mwa_fee.mwa_fee_model(out_dir, nside[, …]) Create MWA FEE beam models at multiple pointings, with dipoles flagged.

Tile Maps

beam_utils.rotate_map(nside[, angle, …]) Rotates healpix array by the desired angle, and saves it.
beam_utils.healpix_cardinal_indices(nside[, …]) Cardinal slices of healpix maps, upto an zenith angle threshold.
beam_utils.healpix_cardinal_slices(nside, …) Slice healpix map along NS, EW axes, assuming it has been rotated by + 𝛑/4.
beam_utils.nan_mad(good_ref_map) Compute MAD of values in pixel of healpix map while ignoring nans.
beam_utils.map_slices(nside, good_map, za_max) Slice healpix map along NS & EW axes returning Median and MAD arrays of the cardinal slices.
beam_utils.poly_fit(x, y, data, order) Fit polynominal of any order to data
beam_utils.chisq_fit_gain([data, model]) Chisqaured fit the data and model.
beam_utils.chisq_fit_test([data, model, offset]) chi-squared test for goodness of fit betweet model and data
beam_utils.plt_slice([fig, sub, zen_angle, …]) Plot a slice of measured beam map with errorbars fit the fee beam model.
beam_utils.plot_healpix([data_map, fig, …]) Yeesh do some healpix magic to plot the thing
ref_fee_healpix.create_model(nside[, file_name]) Takes feko .ffe reference model, converts into healpix and smooths the response
ref_fee_healpix.ref_healpix_save(nside, out_dir) Save and plot reference healix maps
tile_maps.check_pointing(timestamp, …) Check if timestamp is at MWA sweet-pointing 0, 2, 4, 41.
tile_maps.plt_channel(out_dir, times, ref, …) Plot power in a frequency channel of raw rf data, with various thresholds
tile_maps.plt_fee_fit(times, mwa_fee_pass, …) Plot data and model with goodness of fit p-value to visualize the degree of fit
tile_maps.rf_apply_thresholds(ali_file, …) Apply power, noise thresholds to rf data arrays.
tile_maps.rfe_calibration(start_date, …) Calibrate the gain variations of a RF Explorers at high powers.
tile_maps.rfe_collate_cali(start_gain, …) Collate RF Explorer gain calibration data from all MWA tile pairs, and plot a gain solution.
tile_maps.rfe_batch_cali(start_date, …[, …]) Batch gain calibrate all pairs of RF explorers and compute a global solution.
tile_maps.project_tile_healpix(start_date, …) There be magic here.
tile_maps.mwa_clean_maps(nside, …) Extract data from 18 good satellites and make the best possible MWA beam maps.
tile_maps.plt_sat_maps(sat, out_dir) Create healpix plots of the sky coverage of a satellite
tile_maps.plt_clean_maps(clean_map, out_dir) Plot healpix clean beam, error and count maps at all pointings.
tile_maps.tile_maps_batch(start_date, …[, …]) Batch process satellite RF data to create clean beam maps and all intermediate data products.
null_test.good_ref_maps(nside, map_dir, …) Collates reference data from 18 good satellites into a good_ref_map
null_test.plt_null_test([fig, sub, …]) Plot null test between two corresponding slices of reference beam maps
null_test.null_test(nside, za_max, …) Plot all null tests for reference beam maps
compare_beams.beam_slice(nside, tile_map, …) Compare slices of measured beam maps and FEE models.
compare_beams.batch_compare_beam(nside, …) Batch compare multiple beam maps


embers.kindle contains a set of command-line (cli) tools or executable script to process data in various ways. Check out Embers by Example for comprehensive real world examples of the following cli-tools.

waterfall_single.main() Saves a single waterfall plot with a raw RF data file using the single_waterfall() function.
waterfall_batch.main() Create a set of waterfall plots for all rf_files within a date interval using the waterfall_batch() function.
colormaps.main() Preview EMBERS two beautiful custom colormaps - spectral() & jade().
align_single.main() Temporally align reference and tile data using the plot_savgol_interp() function.
align_batch.main() Temporally align all RF files within a date interval using the align_batch() function.
download_tle.main() Download tle files with the download_tle() from space-tracks.org
ephem_single.main() Analyse TLE data file and create a sky coverage plot created with the save_ephem() function.
ephem_batch.main() Analyse a batch of TLE files is with the ephem_batch() function.
ephem_chrono.main() Collate ephemeris data generated above by ephem_batch for multiple satellites and determine all satellites present in each 30 minute observation and what their trajectories at the geographic location.
sat_channels.main() Determine satellite transmission channels using the batch_window_map() function.
mwa_pointings.main() Download MWA pointing metadata using the mwa_point_meta() function.
mwa_dipoles.main() Check MWA antenna dipole flagging using the mwa_flagged_dipoles() function.
mwa_fee.main() Create MWA Fully Embedded Element (FEE) beam models healpix maps at the given nside using the mwa_fee_model() function.
ref_models.main() Convert FEKO models on the reference antennas into healpix maps using the ref_healpix_save() function.
rfe_calibration.main() Determine the RF Explorer gain calibration solution using the rfe_batch_cali() function.
tile_maps.main() Create tile beam maps using the tile_maps_batch().
null_test.main() Perform a null test of the reference antennas using the null_test() function.
compare_beams.main() Compare measured MWA beam maps with MWA FEE models using the batch_compare_beam() function.