gnssrefl.nmea2snr module


someone should document this



gnssrefl.nmea2snr.azimuth_diff(azim1, azim2)

someone should document this

  • azim1

  • azim2

Return type:




gnssrefl.nmea2snr.azimuth_diff2(azim1, azim2)
gnssrefl.nmea2snr.azimuth_mean(azim1, azim2)

someone that is not me should document this

  • azim1 (list of floats ?) – azimuth degrees

  • azim2 (list of floats) – azimuth degrees


azim – azimuths in degrees

Return type:

list of floats ?


Given a snr option, return the elevation angle limits


snroption (int) – snrfile number


  • emin (float) – min elevation angle (degrees)

  • emax (float) – max elevation angle (degrees)

gnssrefl.nmea2snr.fix_angle_azimuth(time, angle, azimuth)

interpolate elevation angles and azimuth to retrieve decimal values thru time this is for NMEA files. This is not used if sp3 orbit file used.

  • time (list of floats) – GPS seconds of the week

  • angle (list of floats) – elevation angles (degrees)

  • azimuth (list of floats) – azimuth angles (degrees)


  • angle_fixed (list of floats) – interpolated elevation angles

  • azim_fixed (list of floats) – interpolated azimuth angles

gnssrefl.nmea2snr.nmea_apriori_coords(station, llh, sp3)
gnssrefl.nmea2snr.nmea_translate(locdir, fname, snrfile, csnr, dec, year, doy, sp3, recv, gzip)

Reads and translates a NMEA file stored in locdir + fname. The naming convention assumed for the NMEA file is SSSS1520.23.A where SSSS is station name, day of year is 152 and year is 2023 locdir is generally $REFL_CODE/nmea/SSSS/yyyy where yyyy is the year number and SSSS is the station name

Note from KL: I believe lowercase is also allowed (and preferred), but the A at the end is still set to be upper case (I believe) The SNR files are stored with upper case if given upper case, lower case if given lower case.

  • locdir (str) – directory where your NMEA files are kept

  • fname (str) – NMEA filename

  • snrfile (str) – name of output file for SNR data

  • csnr (str) – snr option, i.e. ‘66’ or ‘99’

  • dec (int) – decimation value in seconds

  • year (int) – full year

  • doy (int) – day of year

  • sp3 (bool) – whether you use multi-GNSS sp3 file to do azimuth elevation angle calculations

  • recv (list of floats) – a priori Cartesian station coordinates for people using high quality orbits

  • gzip (bool) – gzip compress snrfiles. No idea if it is used here … as this compression should happen in the calling function, not here

gnssrefl.nmea2snr.quickname(station, year, cyy, cdoy, csnr)

Creates a full name of the snr file name (i.e. including the path) >>>> Checks that directories exist.

  • station (str) – 4 ch station name

  • year (int) – full year

  • cyy (str) – two character year

  • cdoy (str) – three character day of year

  • csnr (str) – snr type, e.g. ‘66’


fname – output filename

Return type:



reads a NMEA file.

KL: is this statement correct? “it only reads the GPGGA sentence (includes snr data) in NMEA files”


fname (str) – NMEA filename


  • t (list of int) – timetags in GPS seconds

  • prn (list of int) – GPS satellite numbers

  • az (list of floats ??) – azimuth values (degrees)

  • elv (list of floats ??) – elevation angles (degrees)

  • snr (list of floats) – snr values

  • freq (list of ???) – apparently frequency values -

gnssrefl.nmea2snr.run_nmea2snr(station, year, doy, isnr, overwrite, dec, llh, sp3, gzip)

runs the nmea2snr conversion code - ONE DAY AT A TIME (2024 March 16)

Looks for NMEA files in $REFL_CODE/nmea/ssss/2023 for station ssss and year 2023. I prefer lowercase station names, but I believe the code allows both upper and lower case.

Files are named: SSSS1520.23.A

where SSSS is station name, day of year 152 and the last two characters of the 2023 as the middle value.

The SNR files are stored with upper case if given upper case, lower case if given lower case.

  • station (str) – 4 ch name of station

  • year (int) – full year

  • doy (int) – day of year

  • isnr (int) – snr file type

  • overwrite (bool) – whether make a new SNR file even if one already exists

  • dec (int) – decimation in seconds

  • llh (list of floats) – lat and lon (deg) and ellipsoidal ht (m)

  • sp3 (bool) – whether you want to use GFZ rapid sp3 file for the orbits

  • gzip (bool) – whether snrfiles are gzipped after creation