gnssrefl.gnssir_v2 module
- gnssrefl.gnssir_v2.apply_refraction_corr(lsp, ele, p, T)
- Parameters:
lsp (dictionary) – info from make_json_input
ele (numpy array of floats) – elevation angles (deg)
p (float) – pressure
T (float) – temperature (C)
- Returns:
ele – elevation angle (deg)
- Return type:
numpy array of floats
- gnssrefl.gnssir_v2.check_azim_compliance(initA, azlist)
Check to see if your arc is in one of the requested regions
- Parameters:
initA (float) – azimuth of selected arc (deg)
azlist (list of floats) – list of acceptable azimuth regions
- Returns:
keeparc – whether the arc is in a selected azimuth range
- Return type:
bool
- gnssrefl.gnssir_v2.find_mgnss_satlist(f, year, doy)
find satellite list for a given frequency and date
- Parameters:
f (integer) – frequency
snrExist (numpy array, bool) – tells you if a signal is (potentially) legal
year (int) – full year
doy (int) – day of year
- Returns:
satlist – satellites to use
- Return type:
numpy list of integers
- gnssrefl.gnssir_v2.gnssir_guts_v2(station, year, doy, snr_type, extension, lsp)
Computes lomb scargle periodograms for a given station, year, day of year etc.
Arcs are determined differently than in the first version of the code, which was quadrant based. This identifies arcs and applies azimuth constraints after the fact.
- Parameters:
station (string) – 4 character station name
year (integer) – full year
doy (integer) – day of year
snr_type (integer) – snr file type
extension (string) – optional subdirectory to save results
lsp (dictionary) –
- e1float
min elev angle, deg
- e2float
max elev angle, deg
- freqs: list of floats
list of frequencies to use
- minHfloat
min reflector height, m
- maxHfloat
max reflector height, m
- NReglist of floats
noise region for RH peak2noise , meters
- azval2list of floats
new pairs of azimuth regions, i.e. [0 180 270 360]
- delTmaxfloat
max allowed arc length in minutes
- pele: list of floats
min and max elev angle in DC removal
- PkNoisefloat
peak to noise value for QC
- edifffloat
elev angle difference for arc length, QC
- reqAmpfloat
required periodogram amplitude for QC
- ellist: list of floats
added 23jun16, allow multiple elevation angle regions
- gnssrefl.gnssir_v2.local_update_plot(x, y, px, pz, ax1, ax2, failure)
updates optional result plot for SNR data and Lomb Scargle periodograms
- Parameters:
x (numpy array) – elevation angle (deg)
y (numpy array) – SNR (volt/volt)
px (numpy array) – reflector height (m)
pz (numpy array) – spectral amplitude (volt/volt)
ax1 (matplotlib figure control) – top plot
ax2 (matplotlib figure control) – bottom plot
failure (boolean) – whether periodogram fails QC
- gnssrefl.gnssir_v2.new_rise_set(elv, azm, dates, e1, e2, ediff, sat, screenstats)
This provides a list of rising and setting arcs for a given satellite in a SNR file based on using changes in elevation angle
- Parameters:
elv (numpy array of floats) – elevation angles from SNR file
azm (numpy array of floats) – azimuth angles from SNR file
dates (numpy array of floats) – seconds of the day from SNR file
e1 (float) – min eval
e2 (float) – max eval
ediff (float) – el angle difference QC
sat (int) – satellite number
- Returns:
tv – beginning and ending indices of the arc satellite number, arc number
- Return type:
numpy array
- gnssrefl.gnssir_v2.new_rise_set_again(elv, azm, dates, e1, e2, ediff, sat, screenstats)
This provides a list of rising and setting arcs for a given satellite in a SNR file based on using changes in elevation angle
- Parameters:
elv (numpy array of floats) – elevation angles from SNR file
azm (numpy array of floats) – azimuth angles from SNR file
dates (numpy array of floats) – seconds of the day from SNR file
e1 (float) – min eval
e2 (float) – max eval
ediff (float) – el angle difference QC
sat (int) – satellite number
- Returns:
tv – beginning and ending indices of the arc satellite number, arc number, elev min, elev max
- Return type:
numpy array
- gnssrefl.gnssir_v2.onesat_freq_check(satlist, f)
for a given satellite name - tries to determine if you have a compatible frequency
- Parameters:
satlist (list) – integer
f (integer) – frequency
- Returns:
satlist – integer
- Return type:
list
- gnssrefl.gnssir_v2.plot2screen(station, f, ax1, ax2, pltname)
Add axis information and Send the plot to the screen. https://www.semicolonworld.com/question/57658/matplotlib-adding-an-axes-using-the-same-arguments-as-a-previous-axes
- Parameters:
station (string) – 4 character station ID
- gnssrefl.gnssir_v2.read_json_file(station, extension)
picks up json instructions for calculation of lomb scargle periodogram
- Parameters:
station (str) – 4 character station name
extension (str) – experimental subdirectory - default is ‘’
- Returns:
lsp
- Return type:
dictionary
- gnssrefl.gnssir_v2.read_snr(obsfile)
Simple function to load the contents of a SNR file into a numpy array
- Parameters:
obsfile (str) – name of the snrfile
- Returns:
allGood (int) – 1, file was successfully loaded, 0 if not. apparently this variable was defined when I did not know about booleans….
f (numpy array) – contents of the SNR file
r (int) – number of rows in SNR file
c (int) – number of columns in SNR file
- gnssrefl.gnssir_v2.rewrite_azel(azval2)
Trying to allow regions that cross zero degrees azimuth
- Parameters:
azval2 (list of floats) – input azimuth regions
- Returns:
azelout – azimuth regions without negative numbers …
- Return type:
list of floats
- gnssrefl.gnssir_v2.set_refraction_params(station, dmjd, lsp)
set values used in refraction correction
- Parameters:
station (string) – 4 character station name
dmjd (float) – modified julian date
lsp (dictionary) –
- gnssrefl.gnssir_v2.window_new(snrD, f, satNu, ncols, pele, pfitV, e1, e2, azlist, screenstats)
retrieves SNR arcs for a given satellite. returns elevation angle and detrended linear SNR
- Parameters:
snrD (numpy array (multiD)) – contents of the snr file, i.e. 0 column is satellite numbers, 1 column elevation angle …
f (int) – frequency you want
satNu (int) – requested satellite number
ncols (int) – how many columns does the SNR file have
pele (list of floats) – elevation angles for polynomial fit
pfitV (float) – polynomial order
e1 (float) – min elev angle (deg)
e2 (float) – max elev angle (deg)
azlist (list of floats (deg)) – non-continguous azimuth regions, corrected for negative regions
screenstats (bool) – whether you want debugging information
- Returns:
x (numpy array of floats) – elevation angle, degrees
y (numpy array of floats) – linear SNR with DC removed
Nvv (int) – number of points in x/y array
cf (float) – scale factor for requested frequency (used in LSP)
meanTime (float) – UTC hour of the day (GPS time)
avgAzim (float) – azimuth of the arc (deg)
outFact1 (float) – kept for backwards compatibility. set to zero
outFact2 (float) – edot factor used in RH dot correction
delT (float) – arc length in minutes