gLAB - Release Notes

gLAB v5.0.0

New highlighted features:

  • New GUI!!!! The new GUI has been built from scratch using Qt 5. 
    The GUI is compatible with windows XP, Vista, 7, 8 and 10 (both 32 and 64 bit versions) and with Ubuntu 10.04 and above (both 32 and 64 bit versions). Other Linux distributions should work, although it has not been tested.
    It includes all the new features for gLAB except for the SBAS maps (both processing and plotting) and the world maps and worst integrity ratio plots. 
  • SBAS Availabilty maps:
    • gLAB can now do worldwide SBAS Availabilty Maps, plotting availability for all SBAS providers in a world map within a single run (see plot example in the SBAS manual) 
    • SBAS Availability maps can now also be written each hour, therefore the user can make a plot for the availability for each hour of the day
    • Added options for giving inclusion and exclusion areas in the processing. For worldwide SBAS maps, creating exclusion areas where there are no SBAS coverage can save a lot of computation time.
    • Several improvements in the plotting tool for the SBAS. The colourbar now has the same size has the plot, the user can set label for the colourbar and X and Y axes and also manually set the ticks.
  • In Windows, the installator has now the gLAB core compiled in both 32 and 64 bit, and it will automatically deploy only the version matching the user's Windows installed architecture.
  • Added outlier detection in Melbourne-WÜbbena cycle-slip detector.
  • Added a field with the number of satellites used in the OUTPUT message.
  • Added a field with the SNR value of the satellite at the end of the MODEL message.
  • Added the troposphere wet mapping and arc number at the end of the FILTER message.

Modifications and bug fixes:

  • Fixed side effect from the new decimation mode (the new mode was done to allow decimation under 1 second) that made gLAB skip epochs when the RINEX observation file was at a data rate of 1 second (or above), but the timestamps had decimals instead of being integer seconds.
  • Fixed several bug with the processing with mixed GEO data.
  • Several changes and bug fixed (see details in the table below).

Future updates:

  • Measurement selection for cycle-slip detection and in the processing.
  • Multiconstellation!!! 
Date File name Type Description
2017/06/30 dataHandling.c fixed Fixed bug that made gLAB try to create an empty folder in Linux when the output path was absolute.
filter.c changed Changed "Outlier" SATSEL message to "Outlier in Bw detector" and "Outlier in LI detector" in order to show which cycle-slip detector detected an outlier.
gLAB.c added Added parameter '-pre:cs:l1c1:unconcheck:th' for L1C1 consistency check threshold.
Added GEO switching in SBAS Availability maps (therefore, now it can do SBAS availability maps with different SBAS providers in the same run).
Added parameter '-sbasplots:hourlymaps' for writing hourly SBAS availability maps.
Added parameter '-sbasplots:plotarea'. This parameter is a shorter way to provide the same values as in '-sbasplots:minlon' '-sbasplots:maxlon', '-sbasplots:minlat' and '-sbasplots:maxlat' parameters.
Added parameter '-sbasplots:exclusionarea' for excluding areas in the SBAS availability maps processing. 
This parameter can be passed as many times as exclusion areas needed to be defined.
This parameter will exclude all points which are inside any area defined with this parameter.
Added parameter '-sbasplots:inclusionarea' for including areas in the SBAS availability maps processing.
This parameter can be passed as many times as exclusion areas needed to be defined.
This parameter will exclude all coordinates that are not inside any area defined with this parameter.
If parameter '-sbasplots:exclusionarea' is also provided, for a coordinate to be processed, it must be inside any inclusion area and outside of all exclusion areas.
Added parameter '-rtcmv2conversioninfo', which shows detailed info of the output files generated when converting a RTCM v2.x file.
Added parameter '-pre:cs:bw:siginit' for setting the initial sigma in the Melbourne-Wubbenna cycle-slip detector.
changed Changed parameter name from '-model:geoadqtime' to '-model:geoacqtime' (but the old name is  still accepted).
Decimation can be now a decimal number, with a maximum resolution of 0.0001 seconds (10000 Hz).
Help parameters ('-help', '-examples', '-config', '-messages',  '-usererrorfile', '-sigmamultipathfile' and '-rtcmv2conversioninfo') now also work with a double slash '--'.
Updated help messages.
gLAB_GUI.py Defunct (obsolete) This file has been replaced by the source code in the new GUI, which is splitted in several files (see the source->GUI for the source files of the new GUI).
graph.py added Added two new modes for setting ticks in the plots:
With parameters '--XticksStep' and '--YticksStep', the ticks are set at the rate given by the user.
With parameters '--XticksList' and '--YticksList', the user set the ticks by giving a list of ticks.
Added options '--percentileX' and '--percentileY' in Stanford Plots mode for setting ticks when the 68%, 95% and 99.9% of the values are reached in each axe.
Added option '--CbarLabel' in SBAS Availability map plots for setting a label next to the colorbar.
Added option '--NoCbarPercent' in SBAS Availability map plots for not printing the '%' on top of the colorbar.
changed Setting ticks manually now work in all plot modes.
Colorbar in SBAS Availability plots now has the same height as the plot.
input.c  added Added check for incorrect header when reading an IONEX file. If all necessary header records are not in the
fixed Fixed a bug when reading a EMS file in SBAS Availability plots mode that made gLAB show an error message saying that there were no GEO available for processing.
model.c changed Improved GEO switching when there are many SBAS GEO available. Now gLAB will skip all previously used SBAS GEOs when doing multiple switches in the same epoch (for example, when doing SBAS availability maps with several SBAS providers).
fixed Fixed bug that made not to unselect GPS satellites when data from mixed GEOs was used and alarms from more than one GEO had been received.
Fixed bug that prevented from changing GEO when an alarm was received and data from multiple GEOs were used.
Fixed incorrect GEO PRN number printed in INFO message stating that the GEO had changed when the initial GEO was the one with mixed data.
output.c added Added INFO print for L1C1 consistency check.
Added SNR field at the end of the MODEL message. gLAB will search first for the "S" measurement in the observation file.
If it is not present, it will search for the SNR flag in the current measurement. 
If no SNR is available, 999 will be printed in this field.
Added troposhere wet mapping and arc number at the end of the PREFIT message.
Added number of satellites used in the solution computation in the penultimate field of the OUTPUT message.
preprocessing.c added Added outlier detection in Melbourne-Wubbena cycle-slip detector.
changed In RINEX observation files with a data rate equal or higher than 1 second, when checking if an epoch has to be decimated, gLAB will not take into account the decimals in the timestamp in order to avoid wrong decimation of epochs with decimals (for example, a file with 1.01, 2.01, etc. timestamps).
fixed Fixed bug in the computation of the Melbourne-Wubbena sigma.
 

gLAB v4.2.0

New highlighted features:

  • Added 'Maritime' mode for SBAS (command line only). At the current moment, its effect is to disable messages type 10 (degradation terms), 27 and 28 (δUDRE) in both PA and NPA modes. This may change in the future.
  • Added option that allows to choose whether to add or not the reference station(s) used in DGNSS processing in the generated KML file.
  • Decimation can now be a decimal number with a maximum resolution of 0.0001 seconds (10000 Hz).
  • Added field "Vertical positioning error" in SBASOUT message. This field is the absolute value of the north error. With this field it is easier to do VPE/VPL plots.
  • gLAB is now able to create directories recursively for the output files.
  • Added warning message when computing SBAS availability maps in order to advise user for the long computation time needed (with default options it is around 2 hours).
  • Added documentation for SBAS output conversion log in the SBAS manual (it was missing).

Modifications and bug fixes:

  • Fixed all bugs produced by the N-consecutive filter.
  • Fixed several bugs with SBAS processing (see details in the table below).

Future updates:

  • The new GUI is almost finished!
 
Date File name Type Description
2017/05/22 dataHandling.c added Added function 'mkdir_recursive' for creating directories recursively.
changed Changed default SNR threshold from 35dbHz to 30dbHz.
filter.c added Added SATSEL message 'Satellite phase center corrections unavailable'.
changed Changed SATSEL message from 'Steady-state operation not reached. X epochs passed, still Y epochs to go' to 'Steady-state operation not reached. X epochs passed, still Y epochs to achieve X+Y'.
gLAB.c added Added option '-output:kml:refsta' for adding (or not) the reference station(s) used in DGNSS mode in the output KML files (default on).
Added options '-model:nomt10' and '-model:nomt2728' to disable messages type 10, 27 and 28 for SBAS.
Added option '-model:sbasmaritime' for SBAS maritime mode (which is a shortcut for providing parameters '-model:nomt10' and '-model:nomt2728'.
Added warning message when computing SBAS availability maps in order to advise user for the long computation time needed (with default options it is around 2 hours).
Added warning message when computing SBAS availability maps in order to advise user for the long computation time needed (with default options it is around 2 hours).
Added check of initial coordinates when receiver positioning is set to 'calculateRINEX' or 'calculateUSER'. If coordinates are (0,0,0), in the case of 'calculateRINEX' a warning will be shown informing that these coordinates are invalid and that (6378137,0,0) will be used instead. In the case of 'calculateUSER', an error will be shown.
changed gLAB will now create all directories recursively (if needed) when opening an output file for writing.
Decimation can be now a decimal number, with a maximum resolution of 0.0001 seconds (10000 Hz).
Use of Klobuchar iono when SBAS iono is not available during the solution convergence is now also permitted in receiver position modes 'calculateRINEX' or 'calculateUSER'.
Updated help messages.
fixed Fixed crash when SBAS iono was selected, Klobuchar iono was allowed during receiver convergence and no navigation or Klobuchar file had been provided.
graph.py added Added unicode text transformation in WaterMark text input when running under Python 2.
changed Changed default title of SBAS iono map from 'SBAS Iono Correction Map' to 'SBAS Iono Correction Availability Map'.
input.c  changed RTCM3 epoch read from binary file is now rouded up to 4th decimal (minimum decimation of gLAB). Differences at the 11th decimal were making to discard all reference measurements if N-consecutive filter was enabled.
fixed Fixed a bug that made sometimes gLAB crash when an invalid message was read.
model.c changed SBAS processing now supports disabling message type 10 in PA mode.
If SBAS iono is used but SBAS processing is not enabled, gLAB will allow to use Klobuchar during the solution convergence if the receiver position is set to 'calculate', 'calculateRINEX' or 'calculateUSER'.
Changed behaviour of SBAS processing when 4 conescutive messages were incorrect. Instead of setting all satellites to "Do not use", now it will only change the current GEO to "Do not use" only for ranging purposes.
fixed Fixed a bug handling SBAS alarm messages when two GEO are under alarm. This made sometimes to discard satellites due to an alarm message even if the alarm was from GEO not in use.
Fixed bug that made to print "Ephemerides unavailable" in the SATSEL message when the condition to unselect a satellite was met before reaching the function where ephemerides were checked.
output.c added Added field "Vertical positioning error" in SBASOUT message. This field is the absolute value of the north error. With this field it is easier to do VPE/VPL plots.
changed If current GEO is under alarm and there are other GEO also under alarm, the remaining alarm in the SBASUNSEL will be of the selected GEO, instead of the last GEO under alarm processed.
When an incorrect message is read, now it will be written to RINEX-B or EMS file (before it was not written), due to the effect of reading an incorrect message or not reading any message is not equivalent.
preprocessing.c fixed Fixed arclength not increasing when N-consecutive filter was enabled, no cycle-slip detectors were active and data rate of the observation file was 15 seconds or lower.
Fixed data rate interval of RTCM3 file not being computed. This made discard all reference station measurements if N-consecutive filter was enabled.

 

gLAB v4.1.0

New highlighted features:

  • Added N-consecutive check in cycle-slip detectors. This forces N consecutive samples of a satellite before it can be used. This check only applies to files with sampling rate below 15 seconds (data rate is detected automatically). It is a very simple yet very effective way to discard outliers in RINEX measurements (command line only).
  • Added function for prefit outlier detection. It computes the prefit median and discards satellites which have the difference between the prefit median and its prefit higher than a configurable threshold. By default it is disabled, as it may interfere with the gLAB tutorials (see gLAB command line help for a full description of the method for detecting prefit outliers)
  • Added 'RTCMRinexRover', 'RTCMUSER', 'RTCMUserbaseline', 'RTCMUserRinexRover' and 'RTCMRefRoverUSER' receiver position modes. This modes allows the user to manually set the reference station coordinates (only when reference station data is from a RINEX file) or to set a user location for computing the error.

Modifications and bug fixes:

  • If user forces NPA mode in SBAS, now SBAS summary statistics for NPA will be computed, instead of just showing zero values.
  • The last line of the SBAS summary now has new columns for MIs in Stanford-ESA (even if Stanford-ESA is not enabled).
  • Fixed reference station time synchronization bug when the Rover had a data rate of 1 second and its timestamps were not integer seconds.
  • Bug fixes and other small improvements, see full list in table below.

Future updates:

  • A new GUI written from scratch is under construction! The new GUI is written in Qt, and it will include the new features of gLAB. Therefore, the current GUI will only have bugs fixed, but not updated.
Date File name Type Description
2017/04/07 filter.c added Added functions PrefitOutlierDetectorMedian and PrefitOutlierDetectorAbsolute for prefit outlier detection.
gLAB.c added Added parameters for prefit outlier detectors.

Added 'RTCMRinexRover', 'RTCMUSER', 'RTCMUserbaseline', 'RTCMUserRinexRover' and 'RTCMRefRoverUSER' receiver position modes.

'RTCMRinexRover' is for computing the solution error with respect to the coordinates from Rover RINEX file.

'RTCMUSER' is for computing the solution error with respect to the user defined coordinates.

'RTCMUserbaseline', 'RTCMUserRinexRover' and 'RTCMRefRoverUSER' are equivalent to 'RTCMbaseline', 'RTCMRinexRover' and 'RTCMUSER' but reference station coordinates are user defined. These last three modes only work when reference station data is from a RINEX file.

Added check for valid receiver position user setting. In SPP/PPP/SBAS it will show an error instead of continuing in 'calculate' mode, and in DGNSS it will show an error instead of continuing in SPP mode.
changed When comparing orbits with two SP3 or SP3+CLK files, gLAB will compute the max data gap for each precise product file instead of using the value computed from the first precise product file read in both files.
If user forced NPA processing mode in parameters, gLAB will now enter the function to update values for SBAS summary, but all the values will be referred to NPA solution instead of PA.
Updated help messages with new parameters and info about prefit outlier detection.
fixed Fixed bug where sometimes gLAB would crash or show an incorrect error message (depending if it were  in comparison or navigation mode) when an invalid RTCM file was given.
gLAB_GUI.py added Added field 32 to OUTPUT message tooltip.
graph.py added Added option to set user defined ticks (for both X and Y) in standard plots.
Added option to adjust figure to margin, so there is the minimum white space margin left. This option applies to all modes except for world maps or integrity ratio maps.
fixed Fixed all errors when executing graph.py with python3.
input.c  fixed Fixed rare bug that made gLAB crash when handling end of file with SBAS files. It ocurred sometimes when the SBAS data file ended before the observation file.
Fixed incorrect SBAS message time handling when the RINEX-B file did not have the 0.1 second (signal travel time) in the timestamp. This made gLAB use SBAS messages from the future.
Fixed false detection of missing SBAS messages when reading SBAS files with more than one GEO.
output.c added Added INFO line for prefit outlier detectors.
Added INFO line for N-consecutive check.
Added fields to last line of SBAS summary for Stanford-ESA values (this fields will appear even if Stanford-ESA has not been enabled).
Added line "Total epochs processed with NPA solution" in SBAS summary. It will only appear if mode switching has been enabled.
changed Fields 'MIs', 'Hor_MIs' and 'Ver_MIs' in SBAS summary now will always show the MIs for all in view satellites combination, as there are now new fields for Stanford-ESA MIs values.
Changed measurement name in converted RINEX files from RTCM v3 from 'C1W', 'L1W', 'S1W', 'C2W', 'L2W', 'S2W' to 'C1P', 'L1P', 'S1P', 'C2P', 'L2P', 'S2P' respectively.
If user forced NPA processing mode in parameters, all values in SBAS summary will be referred to NPA.
fixed Fixed incorrect year formatting in writing a EMS file when SBAS messages were read from a RINEX-B file.
preprocessing.c added Added function look4interval to compute the file sampling rate.
Added N-consecutive check in cycle-slip detectors. This forces N consecutive samples of a satellite before it can be used. This check only applies to files with sampling rate below 15 seconds (data rate is detected automatically). It is a very simple yet very effective way to discard outliers in RINEX measurements.
fixed Fixed bug in function checkPseudorangeJumps which was mixing Rover measurements with reference station measurements in DGNSS mode, thus detecting false code/carrier phase inconsistencies.

 

 

gLAB v4.0.0

New highlighted features:

  • Added DGNSS processing with code  (command line only).
  • Added DGNSS binary RTCM v2 and v3 binaries conversion to text and RINEX file respectively (command line only).
  • Added SBAS availability maps (command line only). gLAB computes and plots three maps: SBAS Corrections availability, SBAS Ionosphere availability and SBAS Continuity Risk. This plots take around two hours to compute with the default options.
  • Added SBAS summary. It is printed automatically at the end of the output file if INFO messages are enabled and the receiver station is fixed).
  • Added option to not include the last two hours from previous day in the SBAS summary in order to avoid convergence time (command line only).
  • Added generation of KML files. Optionally, timestamps can be written to files. Timestamps can be decimated or only written in user defined regions in order to avoid making the file too big due to timestamps. NOTE: KML generated in DGNSS mode will also mark all reference stations used and also the epoch where the reference station changes -only if there is a change in the reference station- (command line only). 
  • Added generation of SP3 files using the solution coordinates (command line only).
  • If there are concatenated SP3 and CLK files, gLAB will read three days from these file, and will keep reading having three days in memories. These avoid the Runge-Kutta effect when interpolating orbits. This applies for navigation and orbit comparison modes.
  • Comparsion of a non concatenated file and a concatenated file can be done now. For example, comparing two SP3 files, being only one concatenated) will show the Runge-Kutta effect in the computed difference.
  • Added a configurable DOP (Dilution of Precision) threshold. If the current epoch is over threshold, gLAB wil switch to another navigation mode or skip the epoch (command line only).
  • Added option to set a maximum number of gaps in orbit and clock samples when interpolating precise orbits or clocks. This avoid using samples too much separated in time due to data gaps in the SP3/CLK files (command line only).
  • Added an INFO message when the solution cannot be computed. The message explaining the reason why the solution could not be computed.
  • Added option to write to a separate file the data from samples in Stanford-ESA computation. A integrity ratio threshold can be set (for both vertical and horizontal), so only samples above any of these thresholds will be written to file (command line only).
  • INPUT message will now print P1 and P2 with P1-C1 DCBs applied (if P1-C1 file and GPS Receiver type file are given, DCBs treatment is set to strict and it is necessary to apply this DCBs).
  • Windows compiled gLAB executable is now optimized (built with '-O3' gcc option) and has the gAGE icon embedded.

Modifications and bug fixes:

  • Rewritten the handling of concatenated SP3 and CLK. After reading the data, gLAB will internally clean all data gaps and invalid values. It is also much faster, as it does this opration after reading from an SP3/CLK file, instead of every time an interpolation is done.
  • IONEX files without 'END OF FILE' now only produces an warning message, instead of giving an error and exiting.
  • IONEX/SP3 files with wrong number of entries in the header will make gLAB show an error message and exit. This is to avoid crashes or undefined behaviour as in previous versions.
  • When executing gLAB in command line, if number of epochs for smoothing were set but not the measurement to smooth with (or viceversa), gLAB will show an error message and exit instead of silently continuing without smoothing.
  • LLI cycle-slip detector will now not trigger if there is data gap.
  • All input options are now case insensitive.
  • A lot of bug fixes and other small improvements, see full list in table below.

Future updates:

  • A new GUI written from scratch is under construction! The new GUI is written in Qt, and it will include the new features of gLAB. Therefore, the current GUI will only have bugs fixed, but not updated.
Date File name Type Description
2017/03/03 dataHandling.c added Added functions to initialise the RTCM structures.
Added functions to initialise SBASplots structures.
Added function date2doy.
Added function doy2date.
Added function SolutionModeNum2SolutionModeChar.
Added ConcatenateSP3 function.
Added comparison functions for qsort function.
changed When searching a station in the SINEX file, it will only use the first four letters of the marker name in the RINEX observation file instead of the complete name.
fixed Fixed initialization of tropMapping variable (it was intialized to 'SimpleMominal' instead of SimpleMapping') in initOptions function (it didn't affect the code as both have the same integer value).
Fixed incorrect memcpy call in t2tm function.
dataHandling.h added Added DGNSS structure.
Added several structures for RTCM converter.
Added several options for DGNSS.
Added functions to initialise the RTCM structures.
Added functions to initialise SBASplots structures.
Added function date2doy.
Added function doy2date.
Added function SolutionModeNum2SolutionModeChar.
Added parameters for SBAS summary.
Added ConcatenateSP3 function.
Added comparison functions for qsort function.
changed Changed constant name MAX_SATELLITES_IN_VIEW to MAX_SATELLITES_VIEWED.
Changed constant name c to c0. Single letter constants made compilation fail in Windows.
fixed Fixed p1p2dcbModel variable definition in TTGDdata structure. It was defined as 'enum P1C1DCBModel' when the correct type is 'enum P1P2DCBModel' (it didn't affect the code as all enum types behave as integer values when compiled).
filter.c added Added DGNSS checks within function fillUsableSatellites.
Added an INFO message when a solution could not be computed due to lack of available satellites.
Added an INFO message when a solution could not be computed due to geometry matrix is singular.
Added an INFO message when a solution could not be computed due to GDOP is over the threshold.
Stanford-ESA computation now writes to files all combinations that produce an integrity ratio higher than a threshold.
Added a quantization check to avoid the generation of false MIs in Stanford-ESA output file. This ocurred due to the process of quantizing (for saving the data in memory) and de-quantizing (for writing data in output file). This tipically ocurred when protection level and error values had very similar values.
changed Compution of DOP is now done before entering the computeSolution function, and checks if geometry matrix is singular. This allows to skip the epoch due to singular matrix or bad GDOP without affecting the filter.
INFO message in StdESA of a singular matrix now prints epoch and the list of satellites.
INFO message in step detector now prints current epoch and threshold.
Stanford-ESA computation can be done now outside of SBAS mode.
fixed Fixed a bug which made the filter reset some of the satellite carrier ambiguitys at each epoch. This ocurred when the observation file was multiconstellation and affected only the GPS satellites that were at the end of the list of satellites available.
Fixed a bug when checking if SBAS mode or GEO switch should be tried in Kalman function that provoked an infinite loop of tries to change mode or GEO.
gLAB.c added Added DGNSS processing.
Added DGNSS converter.
Added SBAS plots mode.
Added computation of SBAS summary when navigating with SBAS corrections, INFO message is active and receiver position is fixed.
Added option to start computing SBAS summary and Stanford-ESA values at the beginning of the next day.
Added option to generate a KML file from the output.
Added option to generate a KML file from the output with height 0 (KML with the ground projection).
Added options for adding timestamps in KML file. The timestamps can be decimated and also write at certain time regions (defined by the user).
Added options to generate a SP3 file from the output.
Added check for smoothing options. If number of smoothing options is given but not the carrier phase measurement to smooth with (or viceversa), it will show an error instead of continuing without any smoothing.
Added option to disable check for pseudorange jumps.
Added options for Stanford-ESA LOI (Loss of Integrity) data file (for its filename and the thresholds).
Added parameter '-model:maintaingeo' for SBAS GEO switching.
Added options for setting to zero SBAS corrections, sigmas and degradation terms.
Added check for number of entries in SP3 header. If it is incorrect, it will print an error instead of crashing or showing incorrect values.
Added check for number of entries in IONEX header. If it is incorrect, it will print an error instead of crashing or showing incorrect values.
Added option to skip epoch or change processing mode when GDOP is over a given threshold.
Added check for the number of measurements entered for the filter, to ensure they are not greater than the maximum.
Added check for options '-input:sp3', '-input:orb' and '-input:clk'. When 'input:sp3' parameter is given along with 'input:orb' or '-input:clk', it will show an ERROR message instead of just using the sp3 file for orbits and clocks.
Added options for maximum data gap check between samples when using precise orbits and clocks.
Added option to allow adding the user defined error after the preprocessing.
changed When a SINEX file is given, the receiver position will automatically switch to SINEX mode (no need to put the '-pre:setrecpos SINEX' parameter like in previous versions).
When a ionosphere file is given (with '-input:klb' or '-input:bds' or '-input:neq' or '-input:inx' or '-input:fppp' or '-input:sbasiono' it will automatically use the corresponding ionosphere model (no need to put the 'model:iono' parameter as in previous versions).
Show products and compare orbit mode have been greatly improved. Now it is possible show or compare concatenated products files, and
also to compare a concatenated file with a non concatenated file for a single day (this is useful to see the Runge interpolation effect with precise orbits).
In navigation, show or compare orbits modes, if there is a SP3 concatenated file, gLAB will always try to have in memory orbits and clocks from the three days (the previous day, the current day and the following day) in order to avoid Runge interpolation effect.
Changed extension of generated Stanford-ESA files. Now by default they will have a ".txt" extension.
Changed inital aproxPositionError for SINEX coordinates from 1 decimeter to 1 centimeter.
When IONEX or F-PPP DCB source is selected, if no dcb file is given, it will use DCB data from the IONEX/F-PPP file for ionosphere data respectively (if DCB data is available from these files).
When receiver position is set to 'calculateUSER' or 'calculateRINEX', initial coordinates no longer need to be over the Earth Surface.
MEAS message will be printed by default in 'SHOWINPUT' mode (when only an observation file is given).
In SHOWINPUT mode (print only observation data), RINEX station coordinates will not be checked for consistency (as they are not used).
Stanford-ESA initialization is now done outside of SBAS, so it can be used in normal SPP mode (only one measurement used by the filter).
Transmission time of message check in broadcast ephemerides selection is disabled by default in PPP mode.
Taken out degree sign from output messages to avoid text encoding problems.
All input options are now case insensitive.
Updated help messages.
Windows compiled gLAB executable is now optimized (built with '-O3' gcc option) and has the gAGE icon embebbed.
fixed Fixed a bug which made not to save DCB data when it was read from RINEX file with the option '-input:dcb'.
Fixed MEAS message not being printed in the right order in SBAS mode.
Fixed messages for deprecated options not being printed to output file when '-output:file' option was used.
Fixed a bug reading user defined receiver coordinates when receiver position was set to 'calculateUSER'.
Fixed a bug reading SNR threshold from parameters.
gLAB_GUI.py added Added check for X and Y plot ranges in Analysis tab.
fixed Fixed error when checking for a new version. When the current version was greater than the one in the website, it showed the current one as the old one instead of the new one.
notice This will be the last update for this GUI. A new GUI based in Qt will replace this one.
graph.py added Added SBAS plots.
Added option to make a map with the station names in WIR maps mode.
Added many checks to prevent errors from user input.
Added check of X Display in Linux when not saving picture to file.
Added option to change the number of points shown in the label.
Added option to show number of MIs in worst integrity plot with coloured rings, using parameters '--mih' and --miv'.
Added new plot: World maps. Worst Integrity Plots are now a special case for world maps.
Added option for plotting user defined watermark in all plots.
changed Changed Worst Integrity Ratio colourbar and scale to a fixed one.
Parameter '-z' from worst integrity ratio plot has changes to '--rh' and '--rv', so in one call to the program both horizontal and vertical ratio plots can be shown.
Changed default alarm limit in Stanford plots from 35 to 40 metres.
Changed default both X and Y axis maximum to 60 metres in Stanford plots.
Changed default horizontal label in Stanford-ESA plots from "HPE","VPE" to "Horizontal Positioning Error (metres)","Vertical Positioning Error (metres)" respectively.
Changed default vertical label in Stanford-ESA plots from "HPL","VPL" to "Horizontal Protection Level (metres)","Vertical Protection Level (metres)" respectively.
Changed default title in Stanford-ESA plots from "StanfordESA" to "Stanford-ESA".
Changed reading of Stanford-ESA files in order to skip comment headers.
Updated help messages.
fixed Fixed Stanford plots bug that always set maximum values to 50 metres.
input.c added Added functions to decode RTCM binary files.
Added check for number of entries in SP3 header.
If a IONEX file has no 'END OF FILE' line, a warning will be printed instead of showing an error.
changed Fixed GLONASS phase conversion factor to 1 to all frquencys instead of 0, to avoid division by zero after cheking for pseudorange jumps in checkPseudorangeJumps function.
Clocks from all constellations are now read in RINEX clock files.
Orbits and clock event flags are now read from SP3 and precise clock files (precise clock files from MGEX have event flags, even though it is not in the RINEX clocks standard).
Start time of SP3 files is now set to the first epoch read, instead of the value given in the header.
fixed Fixed GLONASS phase conversion factor to 1 to all frquencys instead of 0, to avoid division by zero after cheking for pseudorange jumps in checkPseudorangeJumps function.
Fixed incorrect memory allocation in readAntex function.
Fixed unnecessary memory freeing in readAntex (this made gLAB crash when applying phase center zenital variations).
Fixed bug that made gLAB skip the next line of the observation file after reading a header line with 'SYS / # / OBS TYPES' or '# / TYPES OF OBSERV' which had a number of observation types equal to 13 or 9 respectively.
Fixed bug which made gLAB leave a measurement as still available when it had dissapeared in the following RINEX observation header (concatenated file).
Fixed bug in addUserError function that made not to remove a finished user added error measurement in the last satellite when all used adder error of all satellites ended in the same epoch.
input.h added Added functions to decode RTCM binary files.
model.c added Added DGNSS processing.
Added function NEU2XYZ.
Added check for maximum data gap when using precise orbits and clocks.
Added option to use the last sample from previous day or the first sample from the current day when both samples were repeated in concatenated files.
changed Modified getPositionBRDC and getVelocityBRDC parameters to prepare them for GLONASS coordinate computation.
When searching for antenna type in getReceiverType function, now it is not case sensitive.
When doing standalone navigation using SBAS ionosphere, the ionosphere sigma will be used if 'useSigmaIono' is enabled.
Switching back to previous GEO in SBAS mode will not be done if previous GEO is still in data adquisition time.
In SBAS mode, now by default gLAB will try to keep the current GEO, unless '-model:maintaingeo' option is disabled.
Modified TGDCorrection in order to unselect a satellite when there is no DCB available (independently if DCB is read from broadcast RINEX navigation file, a IONEX file or a F-PPP file) when using precise orbits.
fixed Orbit and clock interpolation now skip correctly samples with invalid values.
Fixed bugs when computing orbits and clocks with concatened SP3 files.
Improved and fixed several bugs in SwitchSBASGEOMode function.
model.h added Added DGNSS processing.
Added function NEU2XYZ.
output.c added Added functions to convert RTCM binary files.
Added printDGNSS message.
Added functions for SBAS plots mode.
Added function to print KML file.
Added function to print SP3 file.
Added INFO messages for transmission time of message check in navigation files and for the Step detector.
Added flag at the end of the OUTPUT message to indicate the type of processing used in each epoch.
Added spaces in EPOCHSAT and OUTPUT messages after the label to align columns with other gLAB messages.
Added header and format to Stanford-ESA output file.
Added INFO messages for Stanford-ESA output file and its parameters.
Added INFO message for use of sigma of the ionosphere when IONEX, F-PPP or SBAS iono model are used.
Added INFO message for the GDOP threshold when there is a threshold set.
Added INFO message for satellite and receiver phase center variation corrections.
Added SBASUNSEL messages number 46 and 47.
Added function to print SBAS summary.
changed Modified printCS to distinguish between Rover and Reference Station when DGNSS is activated.
SBAS messages are now printed sorted by message type (SBASIONO, SBASCORR,...) instead of PRN.
Taken out degree sign from output messages to avoid text encoding problems.
INPUT and MEAS messages will now print GPS P1 and P2 corrected with P1-C1 DCB if P1-C1 DCB treatment is set to strict and GPS receiver is known.
fixed Fixed MODEL/SBASCORR/SBASVAR messages not being printed with an '*' when gLAB changed from PA to NPA mode due to discarded satellites from non SBAS criteria (such as low elevation).
output.h  added Added functions to convert RTCM binary files.
Added printDGNSS message.
Added functions for SBAS plots mode.
Added function to print KML file.
Added function to print SP3 file.
Added function to print SBAS summary
preprocessing.c added Added sigmaInflation function, to inflate the sigma during the convergence of the smoother.
changed INFO message in checkPseudorangeJump now prints current epoch.
Changed LLI cycle-slip detector to not trigger if there is a data gap for any other active cycle-slip detector.
If LI prediction cannot be computed, declare cycle-slip instead of exiting the program.
fixed Fixed minor bug, now satellite availability is only modified in the filter.c file.
Fixed bug when handling arc length when an outlier was detected.
preprocessing.h added Added sigmaInflation function, to inflate the sigma during the convergence of the smoother.

 

gLAB v3.1.1

Modifications and bug fixes:

  • Transmission time of broadcast navigation messages check is now disabled by default in SBAS processing.
  • Changed default options in the GUI
  • Fixed problems with quantization when generating Stanford and Stanford-ESA plots.
Date File name Type Description
2016/10/21 dataHandling.c fixed Fixed rare problem when computing IONEX pierce point at high elevation.
filter.c changed 'Elevation too low' SATSEL message is not shown if ephemerides are not available.
added Added quantization check in Stanford-ESA plots generation for points greater than the maximum X and Y. For example, (60,100) and (100,60) with a max X and Y of 50, would both result in the plot in the point (50,50) or (Xmax,Ymax), which made it impossible to distinguish the MI from the non-MI. Now, MI points will result in (Xmax,Ymax) while non MI will result in (Xmax-1,Ymax).
gLAB.c changed LLI cycle-slip detector is now enabled by default in PPP.
L1C1 cycle-slip detector is now disabled by default in SPP.
Transmission time of broadcast navigation messages check is now disabled by default in SBAS processing.
Parameter '-pre:cs:l1c1:init' is now shown in the help message.
fixed Fixed wrong order of MEAS prints in SBAS mode.
gLAB_GUI.py added Added LLI cycle-slip detector is activated/deactivated when activating/deactivating carrier phase or smoothing in the filter.
changed Changed SPP template now has all cycle-slip deactivated.
Changed LLI cycle-slip detector is activated by default in PPP template.
Updated Melbourne-Wübbena cycle-slip detector help message and thresholds.
graph.py changed Changed title name in Stanford-ESA plots from '# epochs' to '# samples'.
added Added quantization check in Stanford plots generation for points greater than the maximum X and Y. For example, (60,100) and (100,60) with a max X and Y of 50, would both result in the plot in the point (50,50) or (Xmax,Ymax), which made it impossible to distinguish the MI from the non-MI. Now, MI points will result in (Xmax,Ymax) while non MI will result in (Xmax-1,Ymax).
fixed Fixed Stanford-ESA plots, which was horizontal protection levels from vertical plots and viceversa.
output.c added Added Number of samples to L1C1 and BW cycle-slip info messages.
changed The '[NPA only]' tag from SBASUNSEL message number 36 has been erased.
fixed Fixed a '*' that was in incorrect position in MODEL messages in SBAS mode.

gLAB v3.1.0

New highlighted features:

  • New option to enable/disable (by default enabled) to allow the use of Klobuchar in SBAS PA mode when computing trajectories until the solution has converged. This is to avoid the problem of not having available SBAS corrections due to ionosphere pierce point fall out the SBAS region during the convergence. This option only has effect when gLAB has to compute the user position without any inital coordinate (RINEX or user input).
  • New options to set the initial coordinate for the user trajectory computation, from the RINEX observation file or by parameter, instead of using the harcoded value of (6378137,0,0).
  • RINEX v2 GLONASS and GEO navigation files are now supported.
  • New option for ignoring transmission time of a broadcast product. This option will make gLAB not to check if the transmission time is before or equal to the current time. This option is useful when comparing broadcast with SP3 orbits. By default it is disabled.
  • Slight computation speed improvement, specially when computing trajectories.
  • Satellite phase center corrections for all constellations are now read and processed.

Modifications and bug fixes:

  • Improved GLONASS and GEO transmission time handling.
  • Fixed a bug that crashed graph.py (the plotting tool), which had appeared in gLAB v3.0.0.
  • Fixed incorrect broadcast block selection when a block with a fixed IODE was requested, and there was more than one block for the same satellite with the same IODE in the navigation file.​
  • Fixed a bug that made gLAB search for C1P instead of C1C when detecting cycle-slips in SBAS mode.
Date File name Type Description
2016/09/26 dataHandling.c changed gpsws2ttime function now accepts negative seconds of week.
Changed selectBRDCblock function to enable/disable the check of the transmission time of message.
fixed Fixed incorrect broadcast block selection when a block with a determined IODE was requested, and there was more than one block for the same satellite with the same IODE in the navigation file.
dataHandling.h deleted Erased some unncessary variables for GLONASS broadcast ephemerides.
filter.c changed Modified Kalman function to allow model recomputation in NPA mode if after calling fillUsableSatellites and we were in PA mode, there were not enough satellites for computing navigation solution (only in SBAS).
erased Eliminated "preauxEpoch" struct from Kalman function, improving performance (specially when computing trajectories).
gLAB.c added Added '-model:brdctranstime' input parameter.
Added 'calculateRINEX' and 'calculateUSER' options for '-pre:setrecpos' input parameter.
Added '-model:initcoordnpa' input parameter for SBAS.
changed Slightly modified main loop to enable model recomputation after entering Kalman function.
Updated 'MESSAGES FORMAT' help.
graph.py fixed Fixed a bug with input parameters due to bad space indendation.

input.c

added Added lecture of RINEX v2 GLONASS and GEO navigation files.
changed Improved data handling for GEO and GLONASS navigation files in RINEX v2 and v3.
Satellite phase center corrections for all constellations are now processed.
model.c added When computing SBAS model, if we are in PA, receiver position is set to 'calculate', SBAS iono is not available and solution has not converged, Klobuchar model will be used until the solution has converged (it can disabled with '--model:initcoordnpa').
changed GLONASS coordinates and velocity from broadcast products are set now to 0, as they cannot be computed.
fixed Fixed incorrect broadcast block selection when a block with a fixed IODE was requested, and there was more than one block for the same satellite with the same IODE in the navigation file.
output.c changed SATSEL messages may have an '*' if the model will be recalculated before computing the navigation solution (only in SBAS mode).
Modified "Receiver apriori position" INFO message for parameters 'calculateRINEX' and 'calculateUSER'.
preprocessing.c fixed In SBAS mode, gLAB was using C1P instead of C1C when computing cycle-slips.

gLAB v3.0.0

New highlighted features:

  • SBAS data processing (only in command line).
  • Cycle-slip detectors have been completely rewritten, with new features such as data gap handling.
  • Stanford plots, Stanford-ESA Integrity Diagrams and Worst Integrity Ratio plots.
  • Computation of Galileo, BeiDou and GEO satellite coordinates with broadcast products.
  • Concatenated RINEX, SP3 and CLK files can be read now.
Date File name Type Description
2016/09/05 dataHandling.c
dataHandling.h
added Added SBAS processing.
Added user-defined error struct.
Added satIs function. It returns the index of the satellite in its dictionary.
Added tsec function. It returns the MJDN + SoD in seconds.
Added QZSS and IRNSS constellations.
changed Modified structure definitions for handling Cycle Slip variables.
deleted Deleted satWas function.
filter.c
filter.h
added Added step detector function.
Added Stanford-ESA Integrity Diagram computation.
filter.c changed Modified structure definitions for handling Cycle Slip variables.
Modified printSatSel calls.
gLAB.c added Added SBAS processing.
Added functions to add user-defined error to raw measurements.
Added check for time span in compareOrbits and showProduct functions (in some cases the broadcast files has data from many different days ago).
changed Configuration file now accepts paths and filenames with spaces.
Modified structure definitions for handling cycle-slip and large SP3 files variables.
gLAB_GUI.py changed Redesign of Preprocess panel for handling new features of new Cycle Slip detectors.
fixed Fixed parameter given to gLAB core that did not allow to use dual frequency cycle-slip detector when "Single-Frequency" processing was selected in the "Filter" panel.
Fixed error when running gLAB processing or plots when paths or filenames contained special characters (e.g. accents).
Fixed "Run gLAB" button keeping disabled when there was an error when executing gLAB.
graph.py added Added stanford plots and stanford-ESA plots.
Added worst integrity ratio plots.
changed Display environment in linux is not necessary when plot is saved to a file.
NOTE: The new plots (stanford and worst integrity ratio) need additional python libraries (numpy and basemap), but they are not mandatory if these plots are not used (for compatibility with previous versions).
It is now compatible with python 3.
input.c
input.h
added Added SBAS processing.
Added addUserError function for reading user-defined error from text file.
Added function dictionaryUpdate.
deleted Deleted function beforeReadEpochUpdate.
Deleted function afterReadEpochUpdate.
input.c added Concatenated RINEX, SP3 and CLK files can be read now.
QZSS and IRNSS constellation data is now recognized and properly skipped.
model.c
model.h
added Added SBAS processing.
Concatenated RINEX and SP3 files can be read now.
model.c added Added computation of Galileo, Beidou and GEO satellite coordinates from broadcast files.
output.c
output.h
added Added SBAS processing.
Added printUserError function for printing user-defined error.
changed Modified printSatSel function (now prints epoch and constellation).
output.c changed Modifications regarding PRINT INFO (PREPROCESSING) and PRINT CS.
preprocessing.c
preprocessing.h
added Added polyfit function. It fits a polynomial and estimates the geometry-free (LI) prediction.
preprocessing.c changed Completely rewritten checkPseudorangeJumps function.
Completely rewritten L1C1, Melbourne-Wubbena and Geometry-free Cycle Slip Detectors.

gLAB v2.2.8

Date File name Type Description
2016/04/12 model.c fixed Fixed computation of Galileo elevation and azimuth.
gLAB_GUI.py fixed Fixed bug that prevented the user from selecting Klobuchar, BeiDou or NeQuick ionosphere models when IONEX or FPPP models had been selected in the Modelling panel.

gLAB v2.2.7

Date File name Type Description
2016/03/01 dataHandling.c fixed Fixed "printError" function call, which failed to compile in some compilers.
gLAB_GUI.py fixed SATDIFF condition not being set when applying "Orbit and Clock comparison" template.
changed "Source File" value to "dif.out" in "Orbit and Clock comparison" template.
input.c changed Disabled "END OF FILE" line check in IONEX files.
model.c fixed Fixed iono sigma not being transformed from TECUs to meters of the frequency of the measurement in the filter.

gLAB v2.2.6

Date File name Type Description
2015/11/25 gLAB_GUI.py changed GUI's size (in height) slighty higher in order to perfectly fit all objects under Windows.
Now the ESA/gAGE logo in the top part is resizable in order to avoid issues in Windows.

gLAB v2.2.5

Date File name Type Description
2015/10/20 gLAB.c fixed Fixed an incorrect backward processing when reading an observation file with Linux file ending in Windows.
added Added protection against buffer overflow in input parameters.
gLAB_GUI.py fixed Fixed wx.Color error that crashed the GUI at start time in Linux.
Fixed empty plots in Windows. It ocurred when the plot number selected was not the first one, had a condition and the previous plots were not used.
After pressing the button "Clear", the selected plot was changed to number one, but the new plot parameters entered were saved in the plot number that was selected before pressing the "Clear" button. Now they are saved in the correct position.
When a plot failed, the "Plot" button was not active again after 60 seconds due to a bug in 'graph.py'. Now the button is active again when 'graph.py' ends.
graph.py fixed When plot fails due to non-decimal values, the file .plot.lock is erased, so 'gLAB_GUI.py' "Plot" button doesn't get locked during 60 seconds. Also, the error message has been clarified.
In the Windows version (.exe binary), stdout has been redirected to stderr so the help message is not lost.
input.c added Added protection against buffer overflow in getL function.
model.c fixed Fixed iono sigma not being added to the total sigma weight.

gLAB v2.2.4

Date File name Type Description
2015/07/01 gLAB.c added gLAB version is now printed at the beginning of the INFO field.
input.c fixed Fixed bug in getLback function when the current line was the first line in file.
model.c fixed Fixed iono sigma not being converted to meters.
Corrected bug in troposphericCorrectionMOPS function where seconds of day were added twice.

gLAB v2.2.3

Date File name Type Description
2015/05/28 dataHandling.c added Added initialisation values in initConstellationElement, initAntenna and initOptions functions for phase variation corrections.
dataHandling.h added Added variables in TConstellationElement, TAntenna and TOptions structures for processing phase variation in satellites and receivers.
gLAB.c added Added parameter to select the correction of satellite phase variations.
Added parameter to select the correction of receiver phase variations.
changed Modified storage of antenna structure (before only saved antenna phase centre values).
input.c changed Modified readAntex function in order to read satellite and receiver phase centre variations.
Modified readDCB function in order to be able to read the new header.
model.c
model.h
added Added satellitePhaseCenterVarCorrection and receiverPhaseCenterVarCorrection functions for phase variation correction.

gLAB v2.2.2

Date File name Type Description
2015/03/02 gLAB.c changed Locale selection eliminated in order to avoid problems with numbers (depending on the locale, printf may use a comma instead of a dot for decimal separator).
gLAB_GUI.py changed Uncommented option to force selection of one frequency (so when we process with one frequency only one frequency cycle slip detector can be used, instead of using both for cycle slip detection).
input.c fixed Fixed gLAB not skipping data when event appeared when reading an epoch in an observation file.

gLAB v2.2.1

Date File name Type Description
2014/12/23 filter.c fixed Fixed initialisation to given value per parameter of covariance of coordinates Y and Z (before only coordinate X was initialised, Y and Z were o)..
gLAB_GUI.py added Added tooltip for the "Use Sigma Iono" button.
fixed Fixed "file not found" error window infinite loop when plotting a file with a name with spaces or when showing the output file and this file has been erased.
input.c added Added initalisation value to 9999 to IONEX input data, so in case the IONEX file is empty, it will not compute ionospheric values, instead of using a VTEC of 0.
fixed Fixed the disappearance of satellite when interpollating clocks with precise clock file. This ocurred when there were data gap for one satellite, where in that case time stamps were not correctly processed.
Fixed problem where GPS measurements didn't appear when reading observation files. It only happened when the header line SYS / # / OBS TYPES with GPS data was not the first one.
Fixed problem reading RINEX 2.11 Navigation files in the case where the values were positive and with no leading zero.

gLAB v2.2.0

Date File name Type Description
2014/09/22 dataHandling.c
dataHandling.h
added Added functions for initialising IONEX and F-PPP structures (both for ionosphere and DCB data).
Added functions for handling IONEX and F-PPP structures (both for ionosphere and DCB data).
Added function for computing the ionosphere mapping value.
Added function for computing the pierce point value.
Added functions for handling ESA's troposphere model structures.
dataHandling.c changed Modified some initialiase functions for handling RINEX 3.02 files.
dataHandling.h added Added new constants.
Added new structures for handling IONEX and F-PPP data.
changes Modified structure definitions (by adding new variables) for handling RINEX 3.02 files.
filter.c changed Modified fillUsableSatellites function in order to discard satellites without IONEX or F-PPP model data (in case those models are used).
gLAB.c added Added input parameters and options for BeiDou, IONEX, Fast-PPP and NeQuick ionosphere models (NeQuick model not available in this version due to ESA's restrictions).
Added input parameters and options for ESA's troposphere model (not available in this version due to ESA's restrictions).
Added input parameters and options for IONEX and Fast-PPP DCBs.
Added input parameters and options for using standard deviation data from IONEX or F-PPP.
Added the capability to gather the full path of gLAB's executable (platform dependent). This is necessary because ESA's models require data files, and these files will be searched in the folders ./model_files/TropoESA or ./model_files/NeQuick, where ./ is the directory of gLAB's executable (which may be different from the current user's directory).
Added code for displaying correctly spanish characters.
changed Help message has been updated with the new parameters.
gLAB_GUI.py added Added buttons and options for BeiDou, IONEX and Fast-PPP ionosphere models.
Added buttons and options for IONEX and Fast-PPP DCBs.
Added buttons and options for using standard deviation data from IONEX or FPPP.
fixed Fixed window clipping bug when scrollbars were activated (the bug was only on Windows).
Workaround for python bug, which made that when a file was selected with double click, the button which was on the window underneath and on the same position where it had been clicked was activated (the bug was only on Windows).
 input.c  added Added capability to read RINEX 3.02 observation and navigation files.
Added capability to read Fast-PPP columnar files.
Added functions to read files for ESA's tropospheric model (not available in this version due to ESA's restrictions).
changed Modified IONEX read function in order to save all information in header (even though it is not used later on).
input.h added Added function for reading Fast-PPP columnar files.
Added function for reading files for ESA's tropospheric model (not available in this version due to ESA's restrictions).
model.c
model.h
added Added functions for BeiDou, IONEX, Fast-PPP and NeQuick ionosphere models (NeQuick not available in this version due to ESA's restrictions).
Added functions for using Fast-PPP and IONEX DCBs.
Added functions for ESA's troposphere model (not available in this version due to ESA's restrictions).
model.c changed Modified Klobuchar model function.
output.c added Added cycle slip L1C1 initial value in message "INFO PREPROCESSING CycleSlip L1C1".
Added the following INFO message "INFO MODELING Satellite mass centre to Antenna Phase Centre (APC) correction: ON/OFF".
Added text messages when using BeiDou, NeQuick, F-PPP for ionospheric models, or ESA's tropospheric model or IONEX, F-PPP DCB values.
preprocessing.c changed Modified checkCycleSlips function in order to weight current sigma with an initial value.

gLAB v2.0.0

Date File name Type Description
2012/12/31 output.c added SATSEL debugging message included in the output messages.

Note: gLAB v2.0.0 released together with the Educational Book: "Global Navigation Satellite Systems: Fundamentals, Algorithms and Laboratory Exercises". Authors: J. Sanz, JM. Juan and M. Hernandez-Pajares. December 2012.

ISBN: 978-92-9221-885-0 (two-volumes).

ISSN: 1013-7076.

gLAB v1.4.5

Date File name Type Description
2010/10/31 dataHandling.c
dataHandling.h
added Tropospheric correction option is extended to select independently the nominal and mapping used.
Dilution Of Precision extension: (GDOP, PDOP, TDOP, VDOP, HDOP) new variables.
changed

Default precise orbit interpolation degree changed from 9 to 10.

SIGMA_INF split into different SIGMA_INF_DR and SIGMA_INF_DT: receiver coordinates and clock.
filter.c
filter.h
added Dilution Of Precision extension (GDOP, PDOP, TDOP, VDOP, HDOP).
gLAB.c added Tropospheric correction '-model:trop' option is extended to '-model:trop' to activate/deactivate '-model:trop:nominal <nominal>' to select which mapping is used. This permits cross combinations among mappings and nominals.
changed Default precise orbit interpolation degree changed from 9 to 10.
Filter 'inf' value for clock and coordinates noise process and initial covariance substituted to real floating quantities.
SIGMA_INF split into different SIGMA_INF_DR and SIGMA_INF_DT.
gLAB_GUI.py added Tropospheric correction option is extended to select independently the nominal and mapping used.
Dilution Of Precision extension: (GDOP, PDOP, TDOP, VDOP, HDOP) new variables.
Third row of Analysis tab templates implemented: Prefit residuals, Measurements Multipath/Noise, Dilution of Precision and Orbit and Clocks comparison.
GUI now is able to be executed from different folder, not only from where it is placed.
changed SIGMA_INF split into different SIGMA_INF_DR and SIGMA_INF_DT.
.dat files are searched in addition to .out in the analysis section.
graph.c changed Minor changes in help.
output.c added Tropospheric correction option is extended to select independently the nominal and mapping used.
Dilution Of Precision extension (GDOP, PDOP, TDOP, VDOP, HDOP).
fixed Some minor floating length adjustments.
changed Filter 'inf' value for clock and coordinates noise process and initial covariance substituted to real floating quantities.

gLAB v1.4.4

Date File name Type Description
2010/09/22 dataHandling.c
dataHandling.h
added Included new DCB management.
filter.c added Improved DCB management.
gLAB.c added Included new DCB management parsing options.
gLAB_GUI.py added Sanity check added to the Save Configuration to File function.
changed Further improvement of the (P1-C1) & (P1-P2) DCB/TGD configurations, display and tooltips.
Some general positioning and sizing adjustments.
input.c
model.c
output.c
added Included new DCB management.

gLAB v1.4.3

Date File name Type Description
2010/08/31 dataHandling.c
dataHandling.h
added Maximum number of filter iterations added.
dataHandling.c added Increased robustness to non sequencialy transmitted ephemerides present in RINEX navigation message files.
dataHandling.h added Improved DCB management.
filter.c added Improved DCB management.
gLAB.c added Maximum number of filter iterations added.
gLAB_GUI.py added Satellite elevation and azimuth addition in the Model message, which also are included in the analysis part to be plotted.
changed Improvement of the DCB / TGD Management.
model.c added Improved DCB management.
output.c
output.h
added Satellite elevation and azimuth addition in the print MODEL message.

gLAB v1.4.2

Date File name Type Description
2010/08/31 gLAB_GUI.py added Optional scroll-bars added to permit gLAB work in small screens.
.eph files are searched in addition to .sp3 in the input tab.

gLAB v1.4.1

Date File name Type Description
2010/07/09 gLAB_GUI.py added Further redesign of input tab.

gLAB v1.4.0

Date File name Type Description
2010/06/21 dataHandling.c
dataHandling.h
added C1/P1 flexibility option is added to allow flexible handling of C1 and P1.
Included usable measurement index in TMeasOrder structure to select/deselect individual measurements.
Included prealignCP option to set/unset carrier-phase pre-alignment.
dataHandling.c fixed Corrected a bug in t2doy function.
filter.c added Included usable measurement index to select/deselect individual measurements.
gLAB.c added '-pre:flexibleC1P1' option is added to allow flexible handling of C1 and P1.
'-pre:prealign' option to set/unset carrier-phase pre-alignment.
Added a check to see if the RINEX observation file has times inside the products file provided.
changed Cycle-slip detector changed to specify when it does not have enough measurements.
gLAB_GUI.py added Redesign of Input tab: addition of DCB source and Receiver Type, and SINEX source files.
Show config button added.
New preprocess option: Flexible C1-P1 handling for better treatment of C1 and P1 measurements.
Filter's combo boxes of measurement configuration made available.
changed Processing Templates moved to a general position between the other buttons.
graph.c added Save figure function added.
input.c added Included usable measurement index in TMeasOrder structure to select/deselect individual measurements.
fixed Corrected a bug when reading Galileo observations in a RINEX v2.11 file.
Corrected a bug in elevation/azimuth initialisation, which appeared when new satellite without ephemeris data appeared.
model.c changed Changed the way rotation during signal flight time is done, it is now possible to set/unset this rotation, and the reception/transmission time separately.
preprocessing.c added Included prealignCP option to set/unset carrier-phase pre-alignment.
changed Cycle-slip detector changed to specify when it does not have enough measurements.

gLAB v1.3.2

Date File name Type Description
2010/02/23 dataHandling.c added Inertial/Non-inertial velocity switch included.
Included DCB data sources.
Included SINEX, DCBs and GPS_Receiver_Type data files.
Included strict radome option to enable/disable a relaxed matching on ANTEX files.
When the receiver is of type 2 (no P1), the C1 will be provided instead.
Forward/Backward processing included.
changed changeBase modified to be consistent with orientation matrix.
minArcLength changed from 3 to 4.
fixed Corrected problem when processing with PCC (PC computed with C1).
Corrected a bug when using PCC combination.
Corrected bug in t2doy function affecting the 31st of December and 1st of January.
dataHandling.h added Inertial/Non-inertial velocity switch included.
Included DCB data sources.
Included SINEX, DCBs and GPS_Receiver_Type data files.
Included strict radome option to enable/disable a relaxed matching on ANTEX files.
Forward/Backward processing included.
filter.c added PREFIT message now prints the weight to be applied in the filter.
FILTER message now prints the total ZTD and the estimated ZTD (subtracting the modelled value)
PREFIT message now prints non-GPS satellites.
gLAB.c added
 
 
 
Included SHOWPRODUCT mode.
Added --output parameter.
Included show product mode.
'-input:SP3' parameter can now be provided as '-input:sp3'.
Included the '--output:file' option to redirect to stdout.
Included DCB data sources.
Forward/Backward processing included.
SATSTAT message will now provide the GNSS system it refers to.
'-pre:setrectype' option is added to force a specific receiver type.
changed Exported SATDIFF, SATSTAT and SATSTATTOT printing to output module.
For orbit comparison mode, it can now disconnect the satellite phase centre.
For orbit comparison mode, when satellite phase centre correction is active, it will now require an ANTEX or Constellation file.
Enhanced parsing of antenna in ANTEX file.
Changed '-output' to '-output:file'.
Changed the message help to be consistent with the new updates.
minArcLength changed from 3 to 4 to be sure that the Li cycle-slip detector has properly worked.
fixed Corrected problem with the Orbit comparison.
Corrected some typos in the help.
gLAB_GUI.py changed General changes.
input.c added Fine-tune in automatically detecting file types.
Security check to better read RINEX clock files not following the standard.
Included input files: SINEX, DCB and GPS_Receiver_Type.
Forward/Backward processing included.
changed Changed whatFileTypeIs to improve detection of SP3 files.
fixed Corrected problem of not properly reading years below 2000.
input.h added Included input files: SINEX, DCB and GPS_Receiver_Type.
Forward/Backward processing included.
model.c added Inertial/non-inertial velocity switch included.
changed Enhanced parsing of antenna in ANTEX file, it is now able to separate the name from the dome.
model.h added Inertial/non-inertial velocity switch included.
TGDs from DCB files.
output.c added Added satellite SATPVT message.
It is now possible to print in the MODEL and SATDIFF message the inertial velocity of the satellite.
PREFIT message now includes the weight that will be applied to the filter.
ZTD and estimated residual tropospheric delay is now printed in the FILTER message.
Forward/Backward processing included.
SATSTAT message will now provide the GNSS system it refers to.
changed Imported SATDIFF, SATSTAT and SATSTATTOT printing from gLAB.c.
Change in SATDIFF and CS messages to show the GNSS system that the satellite belongs to.
output.h added Added satellite SATPVT message.
PREFIT message now includes the weight that will be applied to the filter.
ZTD and estimated residual tropospheric delay is now printed in the FILTER message.
SATSTAT message will now provide the GNSS system it refers to.
changed Imported SATDIFF, SATSTAT and SATSTATTOT printing from gLAB.c.
Change in SATDIFF and CS messages to show the GNSS system that the satellite belongs to.
preprocessing.c changed Changed the time to start of the Li and L1-C1 from the 3rd epoch of the arch to the forth.

gLAB v1.3.1

First public release on 2010/01/22.