Statistical Power Plots
This function will calculate and plot a statistic of the lag-0 power of each record as a function of time.
This function applies the statistical function (ex. numpy.mean) to the pwr0 vector (lag-0 power for each range) for each record before plotting the results from all records chronologically.
This code can be used to study background interference in rawacf data when the radar has been operating in a receive-only mode such as "politescan" (cpid -3380), or during periods without any obvious coherent scatter returns from any range.
Basic code to plot lag 0, will plot the mean of
pwr0 for all frequencies at beam 0, from a RAWACF file would look like:
import matplotlib.pyplot as plt import pydarn file = "20180101.0000.01.rkn.rawacf" sdarn_read = pydarn.SuperDARNRead(file) rawacf_data = sdarn_read.read_rawacf() pydarn.Power.plot_pwr0_statistic(rawacf_data) plt.show()
You also have access to numerous plotting options:
|beam_num=0||beam number to plot|
|min_frequency||minimum Frequency (inclusive) to plot|
|max_frequency||maximum Frequency (inclusive) to plot|
|split_frequency||specific frequency to look for or split between|
|statistical_method=np.mean||the statistical calculation to apply to the
If you want display only one frequency set
min_frequency = max_frequency:
import pydarn import matplotlib.pyplot as plt rawacf_file = '20201001.0200.00.sas.0.rawacf.hdf5' rawacf_data = pydarn.SuperDARNRead().read_borealis(rawacf_file) pydarn.Power.plot_pwr0_statistic(rawacf_data, beam_num=3, min_frequency=10500, max_frequency=10500) plt.show()
If the radar is running non-normal scan mode then the this may produce a blank plot or raise an error of No Data Found. Also, ROS superDARN radars will vary slightly in a frequency thus causing issues for picking a specific frequency.
To compare data above and below a specific frequency, you can compare by using the
import pydarn import matplotlib.pyplot as plt rawacf_file = 'data/20180404.0601.00.lyr.rawacf' rawacf_data = pydarn.SuperDARNRead(rawacf_file).read_rawacf() pydarn.Power.plot_pwr0_statistic(rawacf_data, beam_num=15, split_frequency=11000, max_frequency=12000) plt.show()
Depending on the mode that is being run, type of radar system, and the frequency range you may get this error
plot_exceptions.NoDataFoundError. Make sure you know the frequency range for your data as there might be data at a different frequency range, the parameters just need to be tweaked a bit.