Changeset 11019 in ntrip


Ignore:
Timestamp:
Sep 10, 2026, 3:45:13 PM (less than one hour ago)
Author:
stuerze
Message:

added epoch/velocity fields to PPP coordinates file to allow BNC to propagate the reference coordinates related to a dedicated reference epoch to the current epoch

Location:
trunk/BNC
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/CHANGELOG.md

    r11017 r11019  
    11# Changelog
     2## 2.13.8 (2026-10-??)
     3- ADDED: epoch/velocity fields to PPP coordinates file to allow BNC to propagate the reference coordinates related to a dedicated reference epoch to the current processing epoch internally
     4
    25## 2.13.7 (2026-07-31)
    36- ADDED: PPP-AR Algorithm description is now part of BNCs help contents
  • trunk/BNC/src/PPP/pppClient.cpp

    r11011 r11019  
    450450
    451451  if (_opt->xyzAprRoverSet()) {
    452     station->setXyzApr(_opt->_xyzAprRover);
     452    if (_opt->_refEpochRover != 0.0) {
     453      double dt = decimalYear(time) - _opt->_refEpochRover;
     454      station->setXyzApr(_opt->_xyzAprRover + dt * _opt->_velRover);
     455    }
     456    else {
     457      station->setXyzApr(_opt->_xyzAprRover);
     458    }
    453459  }
    454460  else {
  • trunk/BNC/src/bnchelp.html

    r10982 r11019  
    44
    55<head>
    6   <meta charset="utf-8"/>
    7   <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
     6  <meta charset="utf-8" />
     7  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    88  <title>BKG Ntrip Client | Help</title>
    99  <style>
    10     html *{
     10    html * {
    1111      font-size: 1em !important;
    1212      color: #000 !important;
     
    2121
    2222<body>
    23 <div>
    24   <img src="IMG/BKG_Logo_oS.jpg" alt="bkg_logo" style="float:left;width:100px;margin-left:20px;margin-top:20px;"/>
    25   <img src="ntrip-logo.png" alt="ntrip_logo" style="float:right;width:80px;margin-right:20px;margin-top:20px;"/>
    26 </div>
    27 <br><br><br><br><br><br>
    28 
    29 <div class="center">
    30   <h1>BKG Ntrip Client (BNC)</h1>
     23  <div>
     24    <img src="IMG/BKG_Logo_oS.jpg" alt="bkg_logo" style="float:left;width:100px;margin-left:20px;margin-top:20px;" />
     25    <img src="ntrip-logo.png" alt="ntrip_logo" style="float:right;width:80px;margin-right:20px;margin-top:20px;" />
     26  </div>
     27  <br><br><br><br><br><br>
     28
     29  <div class="center">
     30    <h1>BKG Ntrip Client (BNC)</h1>
     31    <br>
     32    <h3>A toolkit for retrieving, decoding, converting and processing<br> real-time GNSS data streams</h3>
     33    <br>
     34    <h3>Version 2.13</h3>
     35  </div>
    3136  <br>
    32   <h3>A toolkit for retrieving, decoding, converting and processing<br> real-time GNSS data streams</h3>
     37
     38  <h4>Authors</h4>
     39  <p>
     40    Georg Weber<sup>(1)</sup>, Leo&scaron; Mervart<sup>(2)</sup>, Andrea St&uuml;rze<sup>(1)</sup>, Dirk
     41    St&ouml;cker<sup>(3)</sup><br><br>
     42
     43    <sup>(1) Federal Agency for Cartography and Geodesy (BKG), Frankfurt, Germany</sup><br>
     44    <sup>(2) Czech Technical University (CTU), Department of Geomatics, Prague, Czech Republic</sup><br>
     45    <sup>(3) Alberding GmbH, Wildau, Germany</sup>
     46  </p>
    3347  <br>
    34   <h3>Version 2.13</h3>
    35 </div>
    36 <br>
    37 
    38 <h4>Authors</h4>
    39 <p>
    40 Georg Weber<sup>(1)</sup>, Leo&scaron; Mervart<sup>(2)</sup>, Andrea St&uuml;rze<sup>(1)</sup>, Dirk St&ouml;cker<sup>(3)</sup><br><br>
    41 
    42 <sup>(1) Federal Agency for Cartography and Geodesy (BKG), Frankfurt, Germany</sup><br>
    43 <sup>(2) Czech Technical University (CTU), Department of Geomatics, Prague, Czech Republic</sup><br>
    44 <sup>(3) Alberding GmbH, Wildau, Germany</sup>
    45 </p>
    46 <br>
    47 
    48 <h4>Contact</h4>
    49 <p>
    50 Feel free to send comments, suggestions or bug reports to:
    51 <pre>
     48
     49  <h4>Contact</h4>
     50  <p>
     51    Feel free to send comments, suggestions or bug reports to:
     52  <pre>
    5253 Federal Agency for Cartography and Geodesy (BKG)
    5354 Department of Geodesy, Section Satellite Navigation
     
    5657 email: igs-ip@bkg.bund.de
    5758</pre>
    58 </p>
    59 <br>
    60 
    61 <h4>Legal Notice</h4>
    62 <p>
    63 BNC has been written under GNU General Public License (GPL). Source code is available from Subversion software archive
    64  <a href="https://software.rtcm-ntrip.org/svn/trunk/BNC" target="_blank">https://software.rtcm-ntrip.org/svn/trunk/BNC</a>.
    65  Precompiled binaries of BNC are available for MS Windows, Linux, and Mac OS X systems. They can be downloaded from
    66  <a href="https://igs.bkg.bund.de/ntrip/bnc" target="_blank">https://igs.bkg.bund.de/ntrip/bnc</a>.
    67  <br>
    68  Copyright &copy;<sup>&nbsp;</sup> 2005-2023 Federal Agency for Cartography and Geodesy (BKG), Frankfurt, Germany
    69 </p>
    70 <br>
    71 
    72 <h4>Citation</h4>
    73 <p>
    74 To help justify funding the development of BNC,<sup>&nbsp;</sup>we kindly ask users to include a citation when applying the software results in a publication. We suggest:
    75 <br>
    76 <pre>
     59  </p>
     60  <br>
     61
     62  <h4>Legal Notice</h4>
     63  <p>
     64    BNC has been written under GNU General Public License (GPL). Source code is available from Subversion software
     65    archive
     66    <a href="https://software.rtcm-ntrip.org/svn/trunk/BNC"
     67      target="_blank">https://software.rtcm-ntrip.org/svn/trunk/BNC</a>.
     68    Precompiled binaries of BNC are available for MS Windows, Linux, and Mac OS X systems. They can be downloaded from
     69    <a href="https://igs.bkg.bund.de/ntrip/bnc" target="_blank">https://igs.bkg.bund.de/ntrip/bnc</a>.
     70    <br>
     71    Copyright &copy;<sup>&nbsp;</sup> 2005-2023 Federal Agency for Cartography and Geodesy (BKG), Frankfurt, Germany
     72  </p>
     73  <br>
     74
     75  <h4>Citation</h4>
     76  <p>
     77    To help justify funding the development of BNC,<sup>&nbsp;</sup>we kindly ask users to include a citation when
     78    applying the software results in a publication. We suggest:
     79    <br>
     80  <pre>
    7781  Weber, G., L. Mervart, A. St&uuml;rze, A. R&uuml;lke and D. St&ouml;cker (2016):
    7882    BKG Ntrip Client, Version 2.12. Mitteilungen des Bundesamtes
    7983    f&uuml;r Kartographie und Geod&auml;sie, Vol. 49, Frankfurt am Main, 2016.
    8084</pre>
    81 </p>
    82 <br>
    83 
    84 <h4>Table of Contents</h4>
    85 <p>
    86 <b>1.</b> <a href="#genInstruction"><b>General Information</b></a><br><br>
    87 &nbsp; &nbsp; &nbsp; 1.1 <a href="#introPurpose">Purpose</a><br>
    88 &nbsp; &nbsp; &nbsp; 1.2 <a href="#introSystem">Supported GNSS</a><br>
    89 &nbsp; &nbsp; &nbsp; 1.3 <a href="#introFlow">Data Flow</a><br>
    90 &nbsp; &nbsp; &nbsp; 1.4 <a href="#introHandling">Handling</a><br>
    91 &nbsp; &nbsp; &nbsp; 1.5 <a href="#introInst">Installation</a><br>
    92 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1.5.1 <a href="#introCompile">Compilation</a><br>
    93 &nbsp; &nbsp; &nbsp; 1.6 <a href="#introConf">Configuration</a><br>
    94 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1.6.1 <a href="#introExamples">Examples</a><br>
    95 &nbsp; &nbsp; &nbsp; 1.7 <a href="#introLimit">Limitations</a><br>
    96 &nbsp; &nbsp; &nbsp; 1.8 <a href="#introLBack">Looking Back</a><br><br>
    97 <b>2.</b> <a href="#optsettings"><b>Settings Details</b></a><br><br>
    98 &nbsp; &nbsp; &nbsp; 2.1 <a href="#topmenu"><b>Top Menu Bar</b></a><br>
    99 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.1.1 <a href="#file">File</a><br>
    100 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.1.2 <a href="#help">Help</a><br>
    101 &nbsp; &nbsp; &nbsp; 2.2 <a href="#network"><b>Network</b></a><br>
    102 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.2.1 <a href="#proxy">Proxy</a><br>
    103 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.2.2 <a href="#ssl">SSL</a><br>
    104 &nbsp; &nbsp; &nbsp; 2.3 <a href="#general"><b>General</b></a><br>
    105 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.3.1 <a href="#genlog">Logfile</a><br>
    106 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.3.2 <a href="#genapp">Append Files</a><br>
    107 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.3.3 <a href="#genconf">Reread Configuration</a><br>
    108 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.3.4 <a href="#genstart">Auto Start</a><br>
    109 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.3.5 <a href="#rawout">Raw Output File</a><br>
    110 &nbsp; &nbsp; &nbsp; 2.4 <a href="#rinex"><b>RINEX Observations</b></a><br>
    111 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.4.1 <a href="#rnxname">Filenames</a><br>
    112 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.4.2 <a href="#rnxdir">Directory</a><br>
    113 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.4.3 <a href="#rnxinterval">File Interval</a><br>
    114 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.4.4 <a href="#rnxsample">Sampling</a><br>
    115 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.4.5 <a href="#rnxskl">Skeleton Extension</a><br>
    116 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.4.6 <a href="#sklMandat">Skeleton Mandatory</a><br>
    117 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.4.7 <a href="#sklDir">Skeleton Directory</a><br>
    118 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.4.8 <a href="#rnxscript">Script</a><br>
    119 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.4.9 <a href="#rnxvers3_4">Version 3 and 4</a><br>
    120 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.4.10 <a href="#rnxvers2">Version 2</a><br>
    121 &nbsp; &nbsp; &nbsp; 2.5 <a href="#ephemeris"><b>RINEX Ephemeris</b></a><br>
    122 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.5.1 <a href="#ephdir">Directory</a><br>
    123 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.5.2 <a href="#ephint">Interval</a><br>
    124 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.5.3 <a href="#ephport">Port</a><br>
    125 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.5.4 <a href="#ephvers">Version</a><br>
    126 &nbsp; &nbsp; &nbsp; 2.6 <a href="#reqc"><b>RINEX Editing & QC</b></a><br>
    127 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.6.1 <a href="#reqcact">Action</a><br>
    128 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.6.2 <a href="#reqcinp">Input Files</a><br>
    129 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.6.3 <a href="#reqcout">Output Files</a><br>
    130 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.6.4 <a href="#reqcminele">Minimum Elevation</a><br>
    131 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.6.5 <a href="#reqclog">Logfiles</a><br>
    132 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.6.6 <a href="#reqcplots">Plots for Signals</a><br>
    133 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.6.7 <a href="#reqcdir">Directory for Plots</a><br>
    134 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.6.8 <a href="#reqcedit">Set Edit Options</a><br>
    135 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.6.9 <a href="#reqccommand">Command Line, No Window</a><br>
    136 &nbsp; &nbsp; &nbsp; 2.7 <a href="#sp3comp"><b>SP3 Comparison</b></a><br>
    137 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.7.1 <a href="#sp3input">Input SP3 Files</a><br>
    138 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.7.2 <a href="#sp3exclude">Exclude Satellites</a><br>
    139 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.7.3 <a href="#sp3log">Logfile</a><br>
    140 &nbsp; &nbsp; &nbsp; 2.8 <a href="#correct"><b>Broadcast Corrections</b></a><br>
    141 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.8.1 <a href="#corrdir">Directory, ASCII</a><br>
    142 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.8.2 <a href="#corrint">Interval</a><br>
    143 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.8.3 <a href="#corrport">Port</a><br>
    144 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.8.4 <a href="#corrwait">Wait for Full Corr Epoch</a><br>
    145 &nbsp; &nbsp; &nbsp; 2.9 <a href="#syncout"><b>Feed Engine</b></a><br>
    146 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.9.1 <a href="#syncport">Port</a><br>
    147 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.9.2 <a href="#syncwait">Wait for Full Obs Epoch</a><br>
    148 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.9.3 <a href="#syncsample">Sampling</a><br>
    149 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.9.4 <a href="#syncfile">File</a><br>
    150 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.9.5 <a href="#syncuport">Port (unsynchronized)</a><br>
    151 &nbsp; &nbsp; &nbsp; 2.10 <a href="#serial"><b>Serial Output</b></a><br>
    152 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.10.1 <a href="#sermount">Mountpoint</a><br>
    153 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.10.2 <a href="#serport">Port Name</a><br>
    154 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.10.3 <a href="#serbaud">Baud Rate</a><br>
    155 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.10.4 <a href="#serflow">Flow Control</a><br>
    156 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.10.5 <a href="#serparity">Parity</a><br>
    157 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.10.6 <a href="#serdata">Data Bits</a><br>
    158 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.10.7 <a href="#serstop">Stop Bits</a><br>
    159 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.10.8 <a href="#serauto">NMEA</a><br>
    160 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.10.9 <a href="#serfile">File</a><br>
    161 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.10.10 <a href="#serheight">Height</a><br>
    162 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.10.11 <a href="#sersampl">Sampling</a><br>
    163 &nbsp; &nbsp; &nbsp; 2.11 <a href=#advnote><b>Outages</b></a><br>
    164 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.11.1. <a href=#obsrate>Observation Rate</a><br>
    165 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.11.2. <a href=#advfail>Failure Threshold</a><br>
    166 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.11.3. <a href=#advreco>Recovery Threshold</a><br>
    167 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.11.4. <a href=#advscript>Script</a><br>
    168 &nbsp; &nbsp; &nbsp; 2.12 <a href=#misc><b>Miscellaneous</b></a><br>
    169 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.12.1. <a href=#miscmount>Mountpoint</a><br>
    170 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.12.2. <a href=#miscperf>Log Latency</a><br>
    171 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.12.3. <a href=#miscscan>Scan RTCM</a><br>
    172 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.12.4. <a href=#miscport>Port</a><br>
    173 &nbsp; &nbsp; &nbsp; 2.13 <a href=#pppclient><b>PPP Client</b></a><br>
    174 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1 <a href=#pppInp><b>PPP (1): Input and Output</b></a><br>
    175 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.1  <a href=#pppdatasource>Data Source</a><br>
    176 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.2  <a href=#pppcorrstream>Corrections Stream</a><br>
    177 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.3  <a href=#pppcorrfile>Corrections File</a><br>
    178 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.4  <a href=#pppbiasstream>Biases Stream</a><br>
    179 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.5  <a href=#pppbiasfile>Biases File</a><br>
    180 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.6  <a href=#pppionostream>Ionosphere Stream</a><br>
    181 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.7  <a href=#pppionofile>Ionosphere File</a><br>
    182 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.8  <a href=#ppprnxobs>RINEX Observation File</a><br>
    183 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.9  <a href=#ppprnxnav>RINEX Navigation File</a><br>
    184 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.10 <a href=#pppantexfile>ANTEX File</a><br>
    185 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.11 <a href=#pppmarkcoor>Coordinates File</a><br>
    186 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.12 <a href=#pppblqfile>BLQ File</a><br>
    187 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.13 <a href=#ppplogfile>Logfile Directory and Log mode</a><br>
    188 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.14 <a href=#pppnmeafile>NMEA Directory</a><br>
    189 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.15 <a href=#pppsnxtrofile>SNX TRO Directory</a><br>
    190 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.15.1 <a href=#pppsnxtrointr>Interval</a><br>
    191 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.15.2 <a href=#pppsnxtrosampl>Sampling</a><br>
    192 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.15.3 <a href=#pppsnxAc>Analysis Center</a><br>
    193 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.15.4 <a href=#pppsnxSol>Solution ID</a><br>
    194 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2 <a href=#pppOptions><b>PPP (2): Processing Options</b></a><br>
    195 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.1 <a href=#pppobs>GNSS Observations</a><br>
    196 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.2 <a href=#pppcodeobs>Code Observations</a><br>
    197 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.3 <a href=#pppphaseobs>Phase Observations</a><br>
    198 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.4 <a href=#pppeleweight>Elevation Dependent Weighting</a><br>
    199 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.5 <a href=#pppminobs>Minimum Number of Observations</a><br>
    200 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.6 <a href=#pppmineleva>Minimum Elevation</a><br>
    201 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.7 <a href=#pppwaitclockcorr>Wait for Clock Corrections</a><br>
    202 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.8 <a href=#pppseeding>Seeding</a><br>
    203 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.9 <a href=#pppconstraints>Constraints</a><br>
    204 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.9.0 <a href=#ppppseudogimobs>GIM Pseudo Observations - How it works</a><br>
    205 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.9.1 <a href=#ppppseudogimobssigma>GIM Pseudo Observations Sigma</a><br>
    206 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.10 <a href=#pppar>PPP-AR</a><br>
    207 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.10.0 <a href=#ppparmethod>Algorithm Description</a><br>
    208 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.10.1 <a href=#ppparsys>Constellations</a><br>
    209 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.10.2 <a href=#ppparmin>Min # Epo and Sat</a><br>
    210 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.10.3 <a href=#ppparmax>Max Frac and Sig</a><br>
    211 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.10.4 <a href=#ppparyaw>Yaw Usage</a><br>
    212 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.10.5 <a href=#ppparfix>Per-epoch fix percentage</a><br>
    213 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.3 <a href=#pppStation><b>PPP (3): Processed Stations</b></a><br>
    214 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.3.1 <a href=#pppsite>Station</a><br>
    215 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.3.2 <a href=#pppnehsigma>Sigma North/East/Up</a><br>
    216 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.3.3 <a href=#pppnehnoise>Noise North/East/Up</a><br>
    217 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.3.4 <a href=#ppptropsigma>Tropo Sigma</a><br>
    218 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.3.5 <a href=#ppptropnoise>Tropo Noise</a><br>
    219 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.3.6 <a href=#pppnmeaport>NMEA Port</a><br>
    220 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.3.6 <a href=#pppsignalpriorities>Signal Priorities</a><br>
    221 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.4 <a href=#pppPlots><b>PPP (4): Plots</b></a><br>
    222 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.4.1 <a href=#ppptimeseries>PPP Plot</a><br>
    223 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.4.2 <a href=#pppaudioresp>Audio Response</a><br>
    224 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.4.3 <a href=#ppptrackmap>Track Map</a><br>
    225 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.4.4 <a href=#pppdotprop>Dot-properties</a><br>
    226 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.4.4.1 <a href=#pppdotsize>Size</a><br>
    227 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.4.4.2 <a href=#pppdotcolor>Color</a><br>
    228 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.4.5 <a href=#pppspeed>Post Processing Speed</a><br>
    229 &nbsp; &nbsp; &nbsp; 2.14 <a href=#combi><b>Combine Corrections</b></a><br>
    230 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.14.1 <a href=#combimounttab>Combine Corrections Table</a><br>
    231 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.14.1.1 <a href=#combiadd>Add Row, Delete</a><br>
    232 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.14.1.2 <a href=#combimethod>Method</a><br>
    233 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.14.1.3 <a href=#combimaxres>Maximal Clock Residuum</a><br>
    234 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.14.1.4 <a href=#combimaxdisp>Maximal Orbit Displacement</a><br>
    235 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.14.1.5 <a href=#combismpl>Sampling</a><br>
    236 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.14.1.6 <a href=#combisatsys>Satellite Systems</a><br>
    237 &nbsp; &nbsp; &nbsp; 2.15 <a href=#upclk><b>Upload Corrections</b></a><br>
    238 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.1 <a href=#upadd>Add, Delete Row</a><br>
    239 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.2 <a href=#uphost>Host, Port, Mountpoint, Ntrip Version, User and Password </a><br>
    240 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.3 <a href=#upsystem>System</a><br>
    241 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.4 <a href=#upformat>Format</a><br>
    242 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.5 <a href=#upcom>Center of Mass</a><br>
    243 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.6 <a href=#upsp3>SP3 File</a><br>
    244 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.7 <a href=#uprinex>RNX File</a><br>
    245 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.8 <a href=#upsinex>BSX File</a><br>
    246 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.9 <a href=#pidsidiod>PID, SID, IOD</a><br>
    247 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.10 <a href=#upinter>Interval</a><br>
    248 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.11 <a href=#upclksmpl>Sampling</a><br>
    249 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.11.1 <a href=#upclkorb>Orbits</a><br>
    250 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.11.2 <a href=#upclksp3>SP3</a><br>
    251 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.11.3 <a href=#upclkrnx>RINEX</a><br>
    252 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.11.4 <a href=#upbiassnx>SINEX</a><br>
    253 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.12 <a href=#upcustom>Custom Trafo</a><br>
    254 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.13 <a href=#upantex>ANTEX File</a><br>
    255 &nbsp; &nbsp; &nbsp; 2.16 <a href=#upeph><b>Upload Ephemeris</b></a><br>
    256 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.16.1 <a href=#brdcserver>Host &amp; Port</a><br>
    257 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.16.2 <a href=#brdcmount>Mountpoint, Ntrip Version, User, Password</a><br>
    258 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.16.3 <a href=#brdcsys>Satellite System </a><br>
    259 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.16.4 <a href=#brdcsmpl>Sampling</a><br>
    260 &nbsp; &nbsp; &nbsp; 2.17 <a href=#upraw><b>Upload Raw Data - NtripServer Functionality</b></a><br>
    261 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.17.1 <a href=#rawsourcemount>Source Mountpoint</a><br>
    262 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.17.2 <a href=#rawserver>Host &amp; Port</a><br>
    263 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.17.3 <a href=#rawmount>Upload Mountpoint, Ntrip Version, User, Password</a><br>
    264 &nbsp; &nbsp; &nbsp; 2.18 <a href=#streams><b>Streams Canvas</b></a><br>
    265 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.18.1 <a href=#streamedit>Edit Streams</a><br>
    266 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.18.2 <a href=#streamdelete>Delete Stream</a><br>
    267 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.18.3 <a href=#streamconf>Reconfigure Stream Selection On-the-fly</a><br>
    268 &nbsp; &nbsp; &nbsp; 2.19 <a href=#logs><b>Logging Canvas</b></a><br>
    269 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.19.1 <a href=#logfile>Log</a><br>
    270 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.19.2 <a href=#throughput>Throughput</a><br>
    271 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.19.3 <a href=#latency>Latency</a><br>
    272 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.19.4 <a href=#ppptab>PPP Plot</a><br>
    273 &nbsp; &nbsp; &nbsp; 2.20 <a href=#bottom><b>Bottom Menu Bar</b></a><br>
    274 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.1 <a href=#streamadd>Add Stream</a><br>
    275 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.1.1 <a href=#streamcaster>Add Stream - Coming from Caster</a><br>
    276 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.1.1.1 <a href=#streamhost>Caster Host and Port</a><br>
    277 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.1.1.2 <a href=#streamtable>Casters Table</a><br>
    278 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.1.1.3 <a href=#streamuser>User and Password</a><br>
    279 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.1.1.4 <a href=#gettable>Get Table</a><br>
    280 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.1.1.5 <a href=#ntripv>Ntrip Version</a><br>
    281 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.1.1.6 <a href=#castermap>Map</a><br>
    282 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.1.2 <a href=#streamip>Add Stream - Coming from TCP/IP Port</a><br>
    283 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.1.3 <a href=#streamudp>Add Stream - Coming from UDP Port</a><br>
    284 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.1.4 <a href=#streamser>Add Stream - Coming from Serial Port</a><br>
    285 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.2 <a href=#streamsdelete>Delete Stream</a><br>
    286 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.3 <a href=#streamsmap>Map</a><br>
    287 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.4 <a href=#start>Start</a><br>
    288 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.5 <a href=#stop>Stop</a><br>
    289 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.6 <a href=#contexthelp>Help? = Shift+F1</a><br>
    290 &nbsp; &nbsp; &nbsp; 2.21 <a href=#cmd><b>Command Line Options</b></a><br>
    291 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.21.1 <a href=#cmdVersion>Version</a><br>
    292 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.21.2 <a href=#cmdDisplay>Display</a><br>
    293 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.21.3 <a href=#nw>No Window Mode</a><br>
    294 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.21.4 <a href=#post>File Mode</a><br>
    295 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.21.5 <a href=#conffile>Configuration File</a><br>
    296 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.21.6 <a href=#confopt>Configuration Options</a><br><br>
    297 <b>3.</b> <a href=#annex><b>Annex</b></a><br><br>
    298 &nbsp; &nbsp; &nbsp; 3.1 <a href=#rtcm>RTCM Standards</a><br>
    299 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3.1.1 <a href=#ntrip1>Ntrip Version 1</a><br>
    300 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3.1.2 <a href=#ntrip2>Ntrip Version 2</a><br>
    301 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3.1.3 <a href=#rtcm2>RTCM Version 2</a><br>
    302 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3.1.4 <a href=#rtcm3>RTCM Version 3</a><br>
    303 &nbsp; &nbsp; &nbsp; 3.2 <a href=#confList>Command Line Help</a><br>
    304 &nbsp; &nbsp; &nbsp; 3.3 <a href=#links>Further Reading</a><br>
    305 &nbsp; &nbsp; &nbsp; 3.4 <a href=#abbrev>Abbreviations</a>
    306 </p>
    307 <br>
    308 
    309 <p>
    310 <b>List of Figures</b><br>
    311 <table>
    312   <tr><td><b>Fig.&nbsp;&nbsp;</b></td><td><b>Title</b></td><td><b>Chapter</b></td></tr>
    313   <tr><td>1</td><td>Flowchart, BNC connected to a GNSS rover for Precise Point Positioning</td><td>1.3</td></tr>
    314   <tr><td>2</td><td>Flowchart, BNC converting RTCM streams to RINEX batches</td><td>1.3</td></tr>
    315   <tr><td>3</td><td>Flowchart, BNC feeding a real-time GNSS engine and uploading encoded Broadcast Corrections</td><td>1.3</td></tr>
    316   <tr><td>4</td><td>Flowchart, BNC combining Broadcast Correction streams</td><td>1.3</td></tr>
    317   <tr><td>5</td><td>Sections on BNC's main window</td><td>1.4</td></tr>
    318   <tr><td>6</td><td>Management of configuration options in BNC</td><td>1.6</td></tr>
    319   <tr><td>7</td><td>BNC's 'Network' panel configured to ignore eventually occurring SSL error messages</td><td>2.2.2</td></tr>
    320   <tr><td>8</td><td>BNC translating incoming RTCM Version 3 Observation streams to 15 min RINEX Version 4 Observation files</td><td>2.4</td></tr>
    321   <tr><td>9</td><td>Example for creating RINEX quality check analysis graphics output with BNC</td><td>2.6.6</td></tr>
    322   <tr><td>10</td><td>Example for satellite availability, elevation and PDOP plots as a result of a RINEX quality check analysis with BNC</td><td>2.6.6</td></tr>
    323   <tr><td>11</td><td>Sky plot examples for multipath, part of RINEX quality check analysis with BNC</td><td>2.6.6</td></tr>
    324   <tr><td>12</td><td>Sky plot examples for signal-to-noise ratio, part of RINEX quality check analysis with BNC</td><td>2.6.6</td></tr>
    325   <tr><td>13</td><td>Example for BNC's 'RINEX Editing Options' window</td><td>2.6.8</td></tr>
    326   <tr><td>14</td><td>Example for RINEX file concatenation with BNC</td><td>2.6.8</td></tr>
    327   <tr><td>15</td><td>Example for comparing two SP3 files with satellite orbit and clock data using BNC</td><td>2.7</td></tr>
    328   <tr><td>16</td><td>Graphical results from an example comparison of two SP3 files with satellite orbit and clock data using BNC</td><td>2.7.3</td></tr>
    329   <tr><td>17</td><td>Example for pulling, saving and output of Broadcast Corrections using BNC</td><td>2.8.3</td></tr>
    330   <tr><td>18</td><td>Synchronized BNC output via IP port to feed a GNSS real-time engine</td><td>2.9</td></tr>
    331   <tr><td>19</td><td>Flowcharts, BNC forwarding a stream to a serially connected receiver; sending NMEA sentences is mandatory for VRS streams</td><td>2.10</td></tr>
    332   <tr><td>20</td><td>BNC pulling a RTCM Version 3 stream to feed a serial connected receiver with observations from a nearby reference station for conventional RTK</td><td>2.10</td></tr>
    333   <tr><td>21</td><td>RTCM message numbers, latencies and observation types logged by BNC</td><td>2.12</td></tr>
    334   <tr><td>22</td><td>Real-time Precise Point Positioning with BNC, PPP Panel 1</td><td>2.13.1</td></tr>
    335   <tr><td>23</td><td>Precise Point Positioning with BNC, PPP Panel 2</td><td>2.13.2</td></tr>
    336   <tr><td>25</td><td>Precise Point Positioning with BNC, PPP Panel 3</td><td>2.13.3</td></tr>
    337   <tr><td>26</td><td>Precise Point Positioning with BNC with track of positions using OpenStreetMap, PPP Panel 4</td><td>2.13.4.3</td></tr>
    338   <tr><td>27</td><td>BNC combining Broadcast Correction streams</td><td>2.14</td></tr>
    339   <tr><td>28</td><td>'INTERNAL' PPP with BNC using a combination of Broadcast Corrections</td><td>2.14</td></tr>
    340   <tr><td>29</td><td>BNC producing Broadcast Corrections from incoming precise orbits and clocks and uploading them to an Ntrip Broadcaster</td><td>2.15</td></tr>
    341   <tr><td>30</td><td>Setting BNC's Custom Transformation Parameters window</td><td>2.15.3</td></tr>
    342   <tr><td>31</td><td>BNC uploading a combined Broadcast Correction stream</td><td>2.15.12</td></tr>
    343   <tr><td>32</td><td>BNC producing Broadcast Ephemeris streams from globally distributed RTCM streams; upload in RTCM format to an Ntrip Broadcaster</td><td>2.16.3</td></tr>
    344   <tr><td>33</td><td>Bandwidth consumption of RTCM streams received by BNC</td><td>2.18.2</td></tr>
    345   <tr><td>34</td><td>Latency of RTCM streams received by BNC</td><td>2.18.3</td></tr>
    346   <tr><td>35</td><td>Example for time series plot of displacements produced by BNC</td><td>2.18.4</td></tr>
    347   <tr><td>36</td><td>Steam input communication links accepted by BNC</td><td>2.19</td></tr>
    348   <tr><td>37</td><td>BNC's 'Select Broadcaster' table</td><td>2.19.1.1.2</td></tr>
    349   <tr><td>38</td><td>Broadcaster source-table shown by BNC</td><td>2.19.1.1.4</td></tr>
    350   <tr><td>39</td><td>Stream distribution map shown by BNC as derived from Ntrip Broadcaster source-table</td><td>2.19.1.1.6</td></tr>
    351   <tr><td>40</td><td>BNC configuration for pulling a stream via serial port</td><td>2.19.1.4</td></tr>
    352 </table>
    353 </p>
    354 <br>
    355 
    356 <p><b>List of Tables</b><br><br>
    357 <table>
    358   <tr><td><b>Tab.&nbsp;&nbsp;</b></td><td><b>Title</b></td><td><b>Chapter</b></td></tr>
    359   <tr><td>1</td><td>Status of RTCM Version 3 message implementations in BNC supporting various GNSS systems</td><td>1.2</td></tr>
    360   <tr><td>2</td><td>Contents and format of synchronized output of observations feeding a GNSS engine</td><td>2.9</td></tr>
    361 </table>
    362 </p>
    363 
    364 <h3 id="genInstruction">1. General Information</h3>
    365 <p>
    366 The BKG Ntrip Client (BNC) is a program for simultaneously retrieving, decoding, converting and processing or
    367 analyzing real-time GNSS data streams applying the 'Networked Transport of RTCM via Internet Protocol' (Ntrip) standard.
    368  It has been developed within the framework of the IAG sub-commission for Europe (EUREF) and the International GNSS
    369  Service (IGS). Although meant to be a real-time tool, it comes with some post processing functionality. It can be used
    370   for data coming from Ntrip Broadcasters like
    371 <ul>
    372   <li><a href="http://euref-ip.net/home" target="_blank">http://euref-ip.net/home</a></li>
    373   <li><a href="http://igs-ip.net/home" target="_blank">http://igs-ip.net/home</a></li>
    374   <li><a href="http://products.igs-ip.net/home" target="_blank">http://products.igs-ip.net/home</a></li>
    375 </ul>
    376 or similar caster installation.
    377 </p>
    378 
    379 <p>
    380 <b>Documentation</b><br><br>
    381 BNC provides context-sensitive help (<i>What's This</i>) related to specific objects.
    382 Furthermore, it comes with severl example configurations. The here presented documentation
    383 is available as part of the software, as a PDF file and can be find as well as an online documentation:
    384 <a href="http://software.rtcm-ntrip.org/export/HEAD/ntrip/trunk/BNC/src/bnchelp.html"
    385 target="_blank">http://software.rtcm-ntrip.org/export/HEAD/ntrip/trunk/BNC/src/bnchelp.html</a>.
    386 </p>
    387 
    388 <p>
    389 Note that some figures presented in this documentation may show screenshots from earlier versions of BNC.
    390 If so, there is either no relevant change compared to the current appearance of the program or no change at all.
    391 </p>
    392 
    393 <p>
    394 <b>Acknowledgements</b><br>
    395 <ul>
    396   <li>Oliver Montenbruck, German Space Operations Center, DLR, Oberpfaffenhofen, Germany published a RTCM Version 2 decoder
     85  </p>
     86  <br>
     87
     88  <h4>Table of Contents</h4>
     89  <p>
     90    <b>1.</b> <a href="#genInstruction"><b>General Information</b></a><br><br>
     91    &nbsp; &nbsp; &nbsp; 1.1 <a href="#introPurpose">Purpose</a><br>
     92    &nbsp; &nbsp; &nbsp; 1.2 <a href="#introSystem">Supported GNSS</a><br>
     93    &nbsp; &nbsp; &nbsp; 1.3 <a href="#introFlow">Data Flow</a><br>
     94    &nbsp; &nbsp; &nbsp; 1.4 <a href="#introHandling">Handling</a><br>
     95    &nbsp; &nbsp; &nbsp; 1.5 <a href="#introInst">Installation</a><br>
     96    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1.5.1 <a href="#introCompile">Compilation</a><br>
     97    &nbsp; &nbsp; &nbsp; 1.6 <a href="#introConf">Configuration</a><br>
     98    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1.6.1 <a href="#introExamples">Examples</a><br>
     99    &nbsp; &nbsp; &nbsp; 1.7 <a href="#introLimit">Limitations</a><br>
     100    &nbsp; &nbsp; &nbsp; 1.8 <a href="#introLBack">Looking Back</a><br><br>
     101    <b>2.</b> <a href="#optsettings"><b>Settings Details</b></a><br><br>
     102    &nbsp; &nbsp; &nbsp; 2.1 <a href="#topmenu"><b>Top Menu Bar</b></a><br>
     103    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.1.1 <a href="#file">File</a><br>
     104    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.1.2 <a href="#help">Help</a><br>
     105    &nbsp; &nbsp; &nbsp; 2.2 <a href="#network"><b>Network</b></a><br>
     106    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.2.1 <a href="#proxy">Proxy</a><br>
     107    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.2.2 <a href="#ssl">SSL</a><br>
     108    &nbsp; &nbsp; &nbsp; 2.3 <a href="#general"><b>General</b></a><br>
     109    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.3.1 <a href="#genlog">Logfile</a><br>
     110    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.3.2 <a href="#genapp">Append Files</a><br>
     111    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.3.3 <a href="#genconf">Reread Configuration</a><br>
     112    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.3.4 <a href="#genstart">Auto Start</a><br>
     113    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.3.5 <a href="#rawout">Raw Output File</a><br>
     114    &nbsp; &nbsp; &nbsp; 2.4 <a href="#rinex"><b>RINEX Observations</b></a><br>
     115    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.4.1 <a href="#rnxname">Filenames</a><br>
     116    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.4.2 <a href="#rnxdir">Directory</a><br>
     117    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.4.3 <a href="#rnxinterval">File Interval</a><br>
     118    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.4.4 <a href="#rnxsample">Sampling</a><br>
     119    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.4.5 <a href="#rnxskl">Skeleton Extension</a><br>
     120    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.4.6 <a href="#sklMandat">Skeleton Mandatory</a><br>
     121    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.4.7 <a href="#sklDir">Skeleton Directory</a><br>
     122    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.4.8 <a href="#rnxscript">Script</a><br>
     123    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.4.9 <a href="#rnxvers3_4">Version 3 and 4</a><br>
     124    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.4.10 <a href="#rnxvers2">Version 2</a><br>
     125    &nbsp; &nbsp; &nbsp; 2.5 <a href="#ephemeris"><b>RINEX Ephemeris</b></a><br>
     126    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.5.1 <a href="#ephdir">Directory</a><br>
     127    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.5.2 <a href="#ephint">Interval</a><br>
     128    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.5.3 <a href="#ephport">Port</a><br>
     129    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.5.4 <a href="#ephvers">Version</a><br>
     130    &nbsp; &nbsp; &nbsp; 2.6 <a href="#reqc"><b>RINEX Editing & QC</b></a><br>
     131    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.6.1 <a href="#reqcact">Action</a><br>
     132    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.6.2 <a href="#reqcinp">Input Files</a><br>
     133    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.6.3 <a href="#reqcout">Output Files</a><br>
     134    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.6.4 <a href="#reqcminele">Minimum Elevation</a><br>
     135    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.6.5 <a href="#reqclog">Logfiles</a><br>
     136    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.6.6 <a href="#reqcplots">Plots for Signals</a><br>
     137    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.6.7 <a href="#reqcdir">Directory for Plots</a><br>
     138    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.6.8 <a href="#reqcedit">Set Edit Options</a><br>
     139    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.6.9 <a href="#reqccommand">Command Line, No Window</a><br>
     140    &nbsp; &nbsp; &nbsp; 2.7 <a href="#sp3comp"><b>SP3 Comparison</b></a><br>
     141    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.7.1 <a href="#sp3input">Input SP3 Files</a><br>
     142    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.7.2 <a href="#sp3exclude">Exclude Satellites</a><br>
     143    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.7.3 <a href="#sp3log">Logfile</a><br>
     144    &nbsp; &nbsp; &nbsp; 2.8 <a href="#correct"><b>Broadcast Corrections</b></a><br>
     145    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.8.1 <a href="#corrdir">Directory, ASCII</a><br>
     146    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.8.2 <a href="#corrint">Interval</a><br>
     147    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.8.3 <a href="#corrport">Port</a><br>
     148    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.8.4 <a href="#corrwait">Wait for Full Corr Epoch</a><br>
     149    &nbsp; &nbsp; &nbsp; 2.9 <a href="#syncout"><b>Feed Engine</b></a><br>
     150    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.9.1 <a href="#syncport">Port</a><br>
     151    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.9.2 <a href="#syncwait">Wait for Full Obs Epoch</a><br>
     152    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.9.3 <a href="#syncsample">Sampling</a><br>
     153    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.9.4 <a href="#syncfile">File</a><br>
     154    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.9.5 <a href="#syncuport">Port (unsynchronized)</a><br>
     155    &nbsp; &nbsp; &nbsp; 2.10 <a href="#serial"><b>Serial Output</b></a><br>
     156    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.10.1 <a href="#sermount">Mountpoint</a><br>
     157    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.10.2 <a href="#serport">Port Name</a><br>
     158    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.10.3 <a href="#serbaud">Baud Rate</a><br>
     159    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.10.4 <a href="#serflow">Flow Control</a><br>
     160    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.10.5 <a href="#serparity">Parity</a><br>
     161    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.10.6 <a href="#serdata">Data Bits</a><br>
     162    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.10.7 <a href="#serstop">Stop Bits</a><br>
     163    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.10.8 <a href="#serauto">NMEA</a><br>
     164    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.10.9 <a href="#serfile">File</a><br>
     165    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.10.10 <a href="#serheight">Height</a><br>
     166    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.10.11 <a href="#sersampl">Sampling</a><br>
     167    &nbsp; &nbsp; &nbsp; 2.11 <a href=#advnote><b>Outages</b></a><br>
     168    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.11.1. <a href=#obsrate>Observation Rate</a><br>
     169    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.11.2. <a href=#advfail>Failure Threshold</a><br>
     170    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.11.3. <a href=#advreco>Recovery Threshold</a><br>
     171    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.11.4. <a href=#advscript>Script</a><br>
     172    &nbsp; &nbsp; &nbsp; 2.12 <a href=#misc><b>Miscellaneous</b></a><br>
     173    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.12.1. <a href=#miscmount>Mountpoint</a><br>
     174    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.12.2. <a href=#miscperf>Log Latency</a><br>
     175    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.12.3. <a href=#miscscan>Scan RTCM</a><br>
     176    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.12.4. <a href=#miscport>Port</a><br>
     177    &nbsp; &nbsp; &nbsp; 2.13 <a href=#pppclient><b>PPP Client</b></a><br>
     178    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1 <a href=#pppInp><b>PPP (1): Input and Output</b></a><br>
     179    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.1 <a href=#pppdatasource>Data Source</a><br>
     180    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.2 <a href=#pppcorrstream>Corrections
     181      Stream</a><br>
     182    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.3 <a href=#pppcorrfile>Corrections
     183      File</a><br>
     184    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.4 <a href=#pppbiasstream>Biases Stream</a><br>
     185    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.5 <a href=#pppbiasfile>Biases File</a><br>
     186    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.6 <a href=#pppionostream>Ionosphere
     187      Stream</a><br>
     188    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.7 <a href=#pppionofile>Ionosphere File</a><br>
     189    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.8 <a href=#ppprnxobs>RINEX Observation
     190      File</a><br>
     191    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.9 <a href=#ppprnxnav>RINEX Navigation
     192      File</a><br>
     193    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.10 <a href=#pppantexfile>ANTEX File</a><br>
     194    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.11 <a href=#pppmarkcoor>Coordinates
     195      File</a><br>
     196    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.12 <a href=#pppblqfile>BLQ File</a><br>
     197    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.13 <a href=#ppplogfile>Logfile Directory and
     198      Log mode</a><br>
     199    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.14 <a href=#pppnmeafile>NMEA Directory</a><br>
     200    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.15 <a href=#pppsnxtrofile>SNX TRO
     201      Directory</a><br>
     202    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.15.1 <a
     203      href=#pppsnxtrointr>Interval</a><br>
     204    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.15.2 <a
     205      href=#pppsnxtrosampl>Sampling</a><br>
     206    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.15.3 <a href=#pppsnxAc>Analysis
     207      Center</a><br>
     208    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.1.15.4 <a href=#pppsnxSol>Solution
     209      ID</a><br>
     210    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2 <a href=#pppOptions><b>PPP (2): Processing Options</b></a><br>
     211    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.1 <a href=#pppobs>GNSS Observations</a><br>
     212    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.2 <a href=#pppcodeobs>Code
     213      Observations</a><br>
     214    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.3 <a href=#pppphaseobs>Phase
     215      Observations</a><br>
     216    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.4 <a href=#pppeleweight>Elevation Dependent
     217      Weighting</a><br>
     218    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.5 <a href=#pppminobs>Minimum Number of
     219      Observations</a><br>
     220    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.6 <a href=#pppmineleva>Minimum
     221      Elevation</a><br>
     222    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.7 <a href=#pppwaitclockcorr>Wait for Clock
     223      Corrections</a><br>
     224    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.8 <a href=#pppseeding>Seeding</a><br>
     225    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.9 <a href=#pppconstraints>Constraints</a><br>
     226    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.9.0 <a href=#ppppseudogimobs>GIM Pseudo
     227      Observations - How it works</a><br>
     228    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.9.1 <a href=#ppppseudogimobssigma>GIM Pseudo
     229      Observations Sigma</a><br>
     230    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.10 <a href=#pppar>PPP-AR</a><br>
     231    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.10.0 <a href=#ppparmethod>Algorithm
     232      Description</a><br>
     233    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.10.1 <a href=#ppparsys>Constellations</a><br>
     234    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.10.2 <a href=#ppparmin>Min # Epo and
     235      Sat</a><br>
     236    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.10.3 <a href=#ppparmax>Max Frac and
     237      Sig</a><br>
     238    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.10.4 <a href=#ppparyaw>Yaw Usage</a><br>
     239    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.2.10.5 <a href=#ppparfix>Per-epoch fix
     240      percentage</a><br>
     241    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.3 <a href=#pppStation><b>PPP (3): Processed Stations</b></a><br>
     242    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.3.1 <a href=#pppsite>Station</a><br>
     243    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.3.2 <a href=#pppnehsigma>Sigma
     244      North/East/Up</a><br>
     245    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.3.3 <a href=#pppnehnoise>Noise
     246      North/East/Up</a><br>
     247    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.3.4 <a href=#ppptropsigma>Tropo Sigma</a><br>
     248    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.3.5 <a href=#ppptropnoise>Tropo Noise</a><br>
     249    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.3.6 <a href=#pppnmeaport>NMEA Port</a><br>
     250    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.3.6 <a href=#pppsignalpriorities>Signal
     251      Priorities</a><br>
     252    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.4 <a href=#pppPlots><b>PPP (4): Plots</b></a><br>
     253    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.4.1 <a href=#ppptimeseries>PPP Plot</a><br>
     254    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.4.2 <a href=#pppaudioresp>Audio Response</a><br>
     255    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.4.3 <a href=#ppptrackmap>Track Map</a><br>
     256    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.4.4 <a href=#pppdotprop>Dot-properties</a><br>
     257    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.4.4.1 <a
     258      href=#pppdotsize>Size</a><br>
     259    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.4.4.2 <a
     260      href=#pppdotcolor>Color</a><br>
     261    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.13.4.5 <a href=#pppspeed>Post Processing
     262      Speed</a><br>
     263    &nbsp; &nbsp; &nbsp; 2.14 <a href=#combi><b>Combine Corrections</b></a><br>
     264    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.14.1 <a href=#combimounttab>Combine Corrections Table</a><br>
     265    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.14.1.1 <a href=#combiadd>Add Row, Delete</a><br>
     266    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.14.1.2 <a href=#combimethod>Method</a><br>
     267    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.14.1.3 <a href=#combimaxres>Maximal Clock
     268      Residuum</a><br>
     269    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.14.1.4 <a href=#combimaxdisp>Maximal Orbit
     270      Displacement</a><br>
     271    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.14.1.5 <a href=#combismpl>Sampling</a><br>
     272    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.14.1.6 <a href=#combisatsys>Satellite
     273      Systems</a><br>
     274    &nbsp; &nbsp; &nbsp; 2.15 <a href=#upclk><b>Upload Corrections</b></a><br>
     275    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.1 <a href=#upadd>Add, Delete Row</a><br>
     276    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.2 <a href=#uphost>Host, Port, Mountpoint, Ntrip Version, User and
     277      Password </a><br>
     278    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.3 <a href=#upsystem>System</a><br>
     279    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.4 <a href=#upformat>Format</a><br>
     280    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.5 <a href=#upcom>Center of Mass</a><br>
     281    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.6 <a href=#upsp3>SP3 File</a><br>
     282    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.7 <a href=#uprinex>RNX File</a><br>
     283    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.8 <a href=#upsinex>BSX File</a><br>
     284    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.9 <a href=#pidsidiod>PID, SID, IOD</a><br>
     285    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.10 <a href=#upinter>Interval</a><br>
     286    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.11 <a href=#upclksmpl>Sampling</a><br>
     287    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.11.1 <a href=#upclkorb>Orbits</a><br>
     288    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.11.2 <a href=#upclksp3>SP3</a><br>
     289    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.11.3 <a href=#upclkrnx>RINEX</a><br>
     290    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.11.4 <a href=#upbiassnx>SINEX</a><br>
     291    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.12 <a href=#upcustom>Custom Trafo</a><br>
     292    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.15.13 <a href=#upantex>ANTEX File</a><br>
     293    &nbsp; &nbsp; &nbsp; 2.16 <a href=#upeph><b>Upload Ephemeris</b></a><br>
     294    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.16.1 <a href=#brdcserver>Host &amp; Port</a><br>
     295    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.16.2 <a href=#brdcmount>Mountpoint, Ntrip Version, User,
     296      Password</a><br>
     297    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.16.3 <a href=#brdcsys>Satellite System </a><br>
     298    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.16.4 <a href=#brdcsmpl>Sampling</a><br>
     299    &nbsp; &nbsp; &nbsp; 2.17 <a href=#upraw><b>Upload Raw Data - NtripServer Functionality</b></a><br>
     300    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.17.1 <a href=#rawsourcemount>Source Mountpoint</a><br>
     301    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.17.2 <a href=#rawserver>Host &amp; Port</a><br>
     302    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.17.3 <a href=#rawmount>Upload Mountpoint, Ntrip Version, User,
     303      Password</a><br>
     304    &nbsp; &nbsp; &nbsp; 2.18 <a href=#streams><b>Streams Canvas</b></a><br>
     305    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.18.1 <a href=#streamedit>Edit Streams</a><br>
     306    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.18.2 <a href=#streamdelete>Delete Stream</a><br>
     307    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.18.3 <a href=#streamconf>Reconfigure Stream Selection On-the-fly</a><br>
     308    &nbsp; &nbsp; &nbsp; 2.19 <a href=#logs><b>Logging Canvas</b></a><br>
     309    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.19.1 <a href=#logfile>Log</a><br>
     310    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.19.2 <a href=#throughput>Throughput</a><br>
     311    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.19.3 <a href=#latency>Latency</a><br>
     312    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.19.4 <a href=#ppptab>PPP Plot</a><br>
     313    &nbsp; &nbsp; &nbsp; 2.20 <a href=#bottom><b>Bottom Menu Bar</b></a><br>
     314    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.1 <a href=#streamadd>Add Stream</a><br>
     315    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.1.1 <a href=#streamcaster>Add Stream - Coming
     316      from Caster</a><br>
     317    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.1.1.1 <a
     318      href=#streamhost>Caster Host and Port</a><br>
     319    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.1.1.2 <a
     320      href=#streamtable>Casters Table</a><br>
     321    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.1.1.3 <a
     322      href=#streamuser>User and Password</a><br>
     323    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.1.1.4 <a href=#gettable>Get
     324      Table</a><br>
     325    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.1.1.5 <a href=#ntripv>Ntrip
     326      Version</a><br>
     327    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.1.1.6 <a
     328      href=#castermap>Map</a><br>
     329    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.1.2 <a href=#streamip>Add Stream - Coming from
     330      TCP/IP Port</a><br>
     331    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.1.3 <a href=#streamudp>Add Stream - Coming from
     332      UDP Port</a><br>
     333    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.1.4 <a href=#streamser>Add Stream - Coming from
     334      Serial Port</a><br>
     335    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.2 <a href=#streamsdelete>Delete Stream</a><br>
     336    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.3 <a href=#streamsmap>Map</a><br>
     337    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.4 <a href=#start>Start</a><br>
     338    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.5 <a href=#stop>Stop</a><br>
     339    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.20.6 <a href=#contexthelp>Help? = Shift+F1</a><br>
     340    &nbsp; &nbsp; &nbsp; 2.21 <a href=#cmd><b>Command Line Options</b></a><br>
     341    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.21.1 <a href=#cmdVersion>Version</a><br>
     342    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.21.2 <a href=#cmdDisplay>Display</a><br>
     343    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.21.3 <a href=#nw>No Window Mode</a><br>
     344    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.21.4 <a href=#post>File Mode</a><br>
     345    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.21.5 <a href=#conffile>Configuration File</a><br>
     346    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2.21.6 <a href=#confopt>Configuration Options</a><br><br>
     347    <b>3.</b> <a href=#annex><b>Annex</b></a><br><br>
     348    &nbsp; &nbsp; &nbsp; 3.1 <a href=#rtcm>RTCM Standards</a><br>
     349    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3.1.1 <a href=#ntrip1>Ntrip Version 1</a><br>
     350    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3.1.2 <a href=#ntrip2>Ntrip Version 2</a><br>
     351    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3.1.3 <a href=#rtcm2>RTCM Version 2</a><br>
     352    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3.1.4 <a href=#rtcm3>RTCM Version 3</a><br>
     353    &nbsp; &nbsp; &nbsp; 3.2 <a href=#confList>Command Line Help</a><br>
     354    &nbsp; &nbsp; &nbsp; 3.3 <a href=#links>Further Reading</a><br>
     355    &nbsp; &nbsp; &nbsp; 3.4 <a href=#abbrev>Abbreviations</a>
     356  </p>
     357  <br>
     358
     359  <p>
     360    <b>List of Figures</b><br>
     361  <table>
     362    <tr>
     363      <td><b>Fig.&nbsp;&nbsp;</b></td>
     364      <td><b>Title</b></td>
     365      <td><b>Chapter</b></td>
     366    </tr>
     367    <tr>
     368      <td>1</td>
     369      <td>Flowchart, BNC connected to a GNSS rover for Precise Point Positioning</td>
     370      <td>1.3</td>
     371    </tr>
     372    <tr>
     373      <td>2</td>
     374      <td>Flowchart, BNC converting RTCM streams to RINEX batches</td>
     375      <td>1.3</td>
     376    </tr>
     377    <tr>
     378      <td>3</td>
     379      <td>Flowchart, BNC feeding a real-time GNSS engine and uploading encoded Broadcast Corrections</td>
     380      <td>1.3</td>
     381    </tr>
     382    <tr>
     383      <td>4</td>
     384      <td>Flowchart, BNC combining Broadcast Correction streams</td>
     385      <td>1.3</td>
     386    </tr>
     387    <tr>
     388      <td>5</td>
     389      <td>Sections on BNC's main window</td>
     390      <td>1.4</td>
     391    </tr>
     392    <tr>
     393      <td>6</td>
     394      <td>Management of configuration options in BNC</td>
     395      <td>1.6</td>
     396    </tr>
     397    <tr>
     398      <td>7</td>
     399      <td>BNC's 'Network' panel configured to ignore eventually occurring SSL error messages</td>
     400      <td>2.2.2</td>
     401    </tr>
     402    <tr>
     403      <td>8</td>
     404      <td>BNC translating incoming RTCM Version 3 Observation streams to 15 min RINEX Version 4 Observation files</td>
     405      <td>2.4</td>
     406    </tr>
     407    <tr>
     408      <td>9</td>
     409      <td>Example for creating RINEX quality check analysis graphics output with BNC</td>
     410      <td>2.6.6</td>
     411    </tr>
     412    <tr>
     413      <td>10</td>
     414      <td>Example for satellite availability, elevation and PDOP plots as a result of a RINEX quality check analysis
     415        with BNC</td>
     416      <td>2.6.6</td>
     417    </tr>
     418    <tr>
     419      <td>11</td>
     420      <td>Sky plot examples for multipath, part of RINEX quality check analysis with BNC</td>
     421      <td>2.6.6</td>
     422    </tr>
     423    <tr>
     424      <td>12</td>
     425      <td>Sky plot examples for signal-to-noise ratio, part of RINEX quality check analysis with BNC</td>
     426      <td>2.6.6</td>
     427    </tr>
     428    <tr>
     429      <td>13</td>
     430      <td>Example for BNC's 'RINEX Editing Options' window</td>
     431      <td>2.6.8</td>
     432    </tr>
     433    <tr>
     434      <td>14</td>
     435      <td>Example for RINEX file concatenation with BNC</td>
     436      <td>2.6.8</td>
     437    </tr>
     438    <tr>
     439      <td>15</td>
     440      <td>Example for comparing two SP3 files with satellite orbit and clock data using BNC</td>
     441      <td>2.7</td>
     442    </tr>
     443    <tr>
     444      <td>16</td>
     445      <td>Graphical results from an example comparison of two SP3 files with satellite orbit and clock data using BNC
     446      </td>
     447      <td>2.7.3</td>
     448    </tr>
     449    <tr>
     450      <td>17</td>
     451      <td>Example for pulling, saving and output of Broadcast Corrections using BNC</td>
     452      <td>2.8.3</td>
     453    </tr>
     454    <tr>
     455      <td>18</td>
     456      <td>Synchronized BNC output via IP port to feed a GNSS real-time engine</td>
     457      <td>2.9</td>
     458    </tr>
     459    <tr>
     460      <td>19</td>
     461      <td>Flowcharts, BNC forwarding a stream to a serially connected receiver; sending NMEA sentences is mandatory for
     462        VRS streams</td>
     463      <td>2.10</td>
     464    </tr>
     465    <tr>
     466      <td>20</td>
     467      <td>BNC pulling a RTCM Version 3 stream to feed a serial connected receiver with observations from a nearby
     468        reference station for conventional RTK</td>
     469      <td>2.10</td>
     470    </tr>
     471    <tr>
     472      <td>21</td>
     473      <td>RTCM message numbers, latencies and observation types logged by BNC</td>
     474      <td>2.12</td>
     475    </tr>
     476    <tr>
     477      <td>22</td>
     478      <td>Real-time Precise Point Positioning with BNC, PPP Panel 1</td>
     479      <td>2.13.1</td>
     480    </tr>
     481    <tr>
     482      <td>23</td>
     483      <td>Precise Point Positioning with BNC, PPP Panel 2</td>
     484      <td>2.13.2</td>
     485    </tr>
     486    <tr>
     487      <td>25</td>
     488      <td>Precise Point Positioning with BNC, PPP Panel 3</td>
     489      <td>2.13.3</td>
     490    </tr>
     491    <tr>
     492      <td>26</td>
     493      <td>Precise Point Positioning with BNC with track of positions using OpenStreetMap, PPP Panel 4</td>
     494      <td>2.13.4.3</td>
     495    </tr>
     496    <tr>
     497      <td>27</td>
     498      <td>BNC combining Broadcast Correction streams</td>
     499      <td>2.14</td>
     500    </tr>
     501    <tr>
     502      <td>28</td>
     503      <td>'INTERNAL' PPP with BNC using a combination of Broadcast Corrections</td>
     504      <td>2.14</td>
     505    </tr>
     506    <tr>
     507      <td>29</td>
     508      <td>BNC producing Broadcast Corrections from incoming precise orbits and clocks and uploading them to an Ntrip
     509        Broadcaster</td>
     510      <td>2.15</td>
     511    </tr>
     512    <tr>
     513      <td>30</td>
     514      <td>Setting BNC's Custom Transformation Parameters window</td>
     515      <td>2.15.3</td>
     516    </tr>
     517    <tr>
     518      <td>31</td>
     519      <td>BNC uploading a combined Broadcast Correction stream</td>
     520      <td>2.15.12</td>
     521    </tr>
     522    <tr>
     523      <td>32</td>
     524      <td>BNC producing Broadcast Ephemeris streams from globally distributed RTCM streams; upload in RTCM format to an
     525        Ntrip Broadcaster</td>
     526      <td>2.16.3</td>
     527    </tr>
     528    <tr>
     529      <td>33</td>
     530      <td>Bandwidth consumption of RTCM streams received by BNC</td>
     531      <td>2.18.2</td>
     532    </tr>
     533    <tr>
     534      <td>34</td>
     535      <td>Latency of RTCM streams received by BNC</td>
     536      <td>2.18.3</td>
     537    </tr>
     538    <tr>
     539      <td>35</td>
     540      <td>Example for time series plot of displacements produced by BNC</td>
     541      <td>2.18.4</td>
     542    </tr>
     543    <tr>
     544      <td>36</td>
     545      <td>Steam input communication links accepted by BNC</td>
     546      <td>2.19</td>
     547    </tr>
     548    <tr>
     549      <td>37</td>
     550      <td>BNC's 'Select Broadcaster' table</td>
     551      <td>2.19.1.1.2</td>
     552    </tr>
     553    <tr>
     554      <td>38</td>
     555      <td>Broadcaster source-table shown by BNC</td>
     556      <td>2.19.1.1.4</td>
     557    </tr>
     558    <tr>
     559      <td>39</td>
     560      <td>Stream distribution map shown by BNC as derived from Ntrip Broadcaster source-table</td>
     561      <td>2.19.1.1.6</td>
     562    </tr>
     563    <tr>
     564      <td>40</td>
     565      <td>BNC configuration for pulling a stream via serial port</td>
     566      <td>2.19.1.4</td>
     567    </tr>
     568  </table>
     569  </p>
     570  <br>
     571
     572  <p><b>List of Tables</b><br><br>
     573  <table>
     574    <tr>
     575      <td><b>Tab.&nbsp;&nbsp;</b></td>
     576      <td><b>Title</b></td>
     577      <td><b>Chapter</b></td>
     578    </tr>
     579    <tr>
     580      <td>1</td>
     581      <td>Status of RTCM Version 3 message implementations in BNC supporting various GNSS systems</td>
     582      <td>1.2</td>
     583    </tr>
     584    <tr>
     585      <td>2</td>
     586      <td>Contents and format of synchronized output of observations feeding a GNSS engine</td>
     587      <td>2.9</td>
     588    </tr>
     589  </table>
     590  </p>
     591
     592  <h3 id="genInstruction">1. General Information</h3>
     593  <p>
     594    The BKG Ntrip Client (BNC) is a program for simultaneously retrieving, decoding, converting and processing or
     595    analyzing real-time GNSS data streams applying the 'Networked Transport of RTCM via Internet Protocol' (Ntrip)
     596    standard.
     597    It has been developed within the framework of the IAG sub-commission for Europe (EUREF) and the International GNSS
     598    Service (IGS). Although meant to be a real-time tool, it comes with some post processing functionality. It can be
     599    used
     600    for data coming from Ntrip Broadcasters like
     601  <ul>
     602    <li><a href="http://euref-ip.net/home" target="_blank">http://euref-ip.net/home</a></li>
     603    <li><a href="http://igs-ip.net/home" target="_blank">http://igs-ip.net/home</a></li>
     604    <li><a href="http://products.igs-ip.net/home" target="_blank">http://products.igs-ip.net/home</a></li>
     605  </ul>
     606  or similar caster installation.
     607  </p>
     608
     609  <p>
     610    <b>Documentation</b><br><br>
     611    BNC provides context-sensitive help (<i>What's This</i>) related to specific objects.
     612    Furthermore, it comes with severl example configurations. The here presented documentation
     613    is available as part of the software, as a PDF file and can be find as well as an online documentation:
     614    <a href="http://software.rtcm-ntrip.org/export/HEAD/ntrip/trunk/BNC/src/bnchelp.html"
     615      target="_blank">http://software.rtcm-ntrip.org/export/HEAD/ntrip/trunk/BNC/src/bnchelp.html</a>.
     616  </p>
     617
     618  <p>
     619    Note that some figures presented in this documentation may show screenshots from earlier versions of BNC.
     620    If so, there is either no relevant change compared to the current appearance of the program or no change at all.
     621  </p>
     622
     623  <p>
     624    <b>Acknowledgements</b><br>
     625  <ul>
     626    <li>Oliver Montenbruck, German Space Operations Center, DLR, Oberpfaffenhofen, Germany published a RTCM Version 2
     627      decoder
    397628      unter GNU GPL which has been integrated in BNC.</li>
    398   <li>Andre Hauschild, German Space Operations Center, DLR, revised the RTCM Version 2 decoder and has provided a lot of hints
     629    <li>Andre Hauschild, German Space Operations Center, DLR, revised the RTCM Version 2 decoder and has provided a lot
     630      of hints
    399631      regarding bugs and new features.</li>
    400   <li>Zdenek Lukes, Czech Technical University Prague, Department of Geodesy, extended the RTCM Version 2 decoder to handle
     632    <li>Zdenek Lukes, Czech Technical University Prague, Department of Geodesy, extended the RTCM Version 2 decoder to
     633      handle
    401634      message types 3, 20, 21, and 22 and added the loss of lock indicator.</li>
    402   <li>Lennard Huisman, Kadaster Netherlands, and Rolf Dach, Astronomical Institute University of Bern, assisted in handling
     635    <li>Lennard Huisman, Kadaster Netherlands, and Rolf Dach, Astronomical Institute University of Bern, assisted in
     636      handling
    403637      satellite clocks in transformations from ITRF to regional reference frames.</li>
    404   <li>Denis Laurichesse, Centre National d'Etudes Spatiales (CNES), suggested synchronizing observations and clock
     638    <li>Denis Laurichesse, Centre National d'Etudes Spatiales (CNES), suggested synchronizing observations and clock
    405639      corrections to reduce high frequency noise in PPP solutions.</li>
    406   <li>Alexis Blot, Centre National d'Etudes Spatiales (CNES), has provided a lot of hints regarding bugs and new features.
    407       Furthermore he has helped in the interoperability tests of RTCM-SSR and IGS-SSR format as well as the therefore used RTNET Interface.</li>
    408   <li>Loukis Agrotis, Symban Ltd, has provided a lot of hints regarding bugs and new features.</li>
    409   <li>Erwin Wiesensarter, Federal Agency for Cartography and Geodesy (BKG), provides actual builds of BNC for several Linux operating
     640    <li>Alexis Blot, Centre National d'Etudes Spatiales (CNES), has provided a lot of hints regarding bugs and new
     641      features.
     642      Furthermore he has helped in the interoperability tests of RTCM-SSR and IGS-SSR format as well as the therefore
     643      used RTNET Interface.</li>
     644    <li>Loukis Agrotis, Symban Ltd, has provided a lot of hints regarding bugs and new features.</li>
     645    <li>Erwin Wiesensarter, Federal Agency for Cartography and Geodesy (BKG), provides actual builds of BNC for several
     646      Linux operating
    410647      systems as well as for Mac OS X systems. Furthermore, he has provided some helpful scripts available under
    411       <a href="https://software.rtcm-ntrip.org/export/HEAD/ntrip/trunk/BNC/scripts"target="_blank">http://software.rtcm-ntrip.org/export/HEAD/ntrip/trunk/BNC/scripts</a>.</li>
    412   <li>Peter Neumaier, Federal Agency for Cartography and Geodesy (BKG), provide the Windows MSI File and helps a lot
     648      <a href="https://software.rtcm-ntrip.org/export/HEAD/ntrip/trunk/BNC/scripts"
     649        target="_blank">http://software.rtcm-ntrip.org/export/HEAD/ntrip/trunk/BNC/scripts</a>.
     650    </li>
     651    <li>Peter Neumaier, Federal Agency for Cartography and Geodesy (BKG), provide the Windows MSI File and helps a lot
    413652      regarding testing and user support.</li>
    414 </ul>
    415 </p>
    416 
    417 <h4 id="introPurpose">1.1 Purpose</h4>
    418 
    419 <p>
    420 Promoting Open RTCM Standards for streaming GNSS data over the Internet has been a major aspect in developing BNC as
    421 Open Source real-time software. Basically, the tool enables the test, validation and further evolution of new RTCM
    422 messages for precise satellite navigation. With high-level source code at hand, it also allows university education
    423 to catch up with comprehensive state-of-the-art positioning and potentially contributes fresh ideas which are free
    424 from any licensing.
    425 </p>
    426 
    427 <p> BNC was designed to serve the following purposes:
    428 <ul>
    429   <li>Retrieve real-time GNSS data streams available through the Ntrip transport protocol</li>
    430   <li>Retrieve real-time GNSS data streams via TCP directly from an IP address without using the Ntrip transport protocol</li>
    431   <li>Retrieve real-time GNSS data streams from a local UDP or serial port without using the Ntrip transport protocol</li>
    432   <li>Plot stream distribution map from Ntrip Broadcaster source-tables</li>
    433   <li>Generate RINEX Observation and Navigation files to support near real-time GNSS post processing applications</li>
    434   <li>Edit or concatenate RINEX files or carry out RINEX Quality Checks (QC)</li>
    435   <li>Handle RINEX Versions 2, 3 and 4 Observation and Navigation files</li>
    436   <li>Compare SP3 files containing satellite orbit and clock data</li>
    437   <li>Generate State Space Represenation (SSR) messages through an IP port to</li>
     653  </ul>
     654  </p>
     655
     656  <h4 id="introPurpose">1.1 Purpose</h4>
     657
     658  <p>
     659    Promoting Open RTCM Standards for streaming GNSS data over the Internet has been a major aspect in developing BNC as
     660    Open Source real-time software. Basically, the tool enables the test, validation and further evolution of new RTCM
     661    messages for precise satellite navigation. With high-level source code at hand, it also allows university education
     662    to catch up with comprehensive state-of-the-art positioning and potentially contributes fresh ideas which are free
     663    from any licensing.
     664  </p>
     665
     666  <p> BNC was designed to serve the following purposes:
     667  <ul>
     668    <li>Retrieve real-time GNSS data streams available through the Ntrip transport protocol</li>
     669    <li>Retrieve real-time GNSS data streams via TCP directly from an IP address without using the Ntrip transport
     670      protocol</li>
     671    <li>Retrieve real-time GNSS data streams from a local UDP or serial port without using the Ntrip transport protocol
     672    </li>
     673    <li>Plot stream distribution map from Ntrip Broadcaster source-tables</li>
     674    <li>Generate RINEX Observation and Navigation files to support near real-time GNSS post processing applications</li>
     675    <li>Edit or concatenate RINEX files or carry out RINEX Quality Checks (QC)</li>
     676    <li>Handle RINEX Versions 2, 3 and 4 Observation and Navigation files</li>
     677    <li>Compare SP3 files containing satellite orbit and clock data</li>
     678    <li>Generate State Space Represenation (SSR) messages through an IP port to</li>
    438679    <ul>
    439        <li>support real-time Precise Point Positioning on GNSS rovers</li>
    440        <li>support the (outside) combination of such streams as coming simultaneously from various correction providers</li>
     680      <li>support real-time Precise Point Positioning on GNSS rovers</li>
     681      <li>support the (outside) combination of such streams as coming simultaneously from various correction providers
     682      </li>
    441683    </ul>
    442   <li>Generate ephemeris and synchronized or unsynchronized observations epoch by epoch through an IP port
     684    <li>Generate ephemeris and synchronized or unsynchronized observations epoch by epoch through an IP port
    443685      to support real-time GNSS network engines</li>
    444   <li>Feed a stream into a GNSS receiver via serial communication link</li>
    445   <li>Monitor the performance of a network of real-time GNSS data streams to generate advisory notes in case of outages or corrupted streams</li>
    446   <li>Scan RTCM streams for incoming antenna information, observation types, message types and repetition rates and latencies
     686    <li>Feed a stream into a GNSS receiver via serial communication link</li>
     687    <li>Monitor the performance of a network of real-time GNSS data streams to generate advisory notes in case of
     688      outages or corrupted streams</li>
     689    <li>Scan RTCM streams for incoming antenna information, observation types, message types and repetition rates and
     690      latencies
    447691      and GLONASS slot numbers and frequency channels</li>
    448   <li>Carry out real-time Precise Point Positioning to determine GNSS rover positions</li>
    449   <li>Enable multi-station Precise Point Positioning for simultaneous processing of observations from a whole network of receivers</li>
    450   <li>Plot positions derived via PPP from RTCM streams or RINEX files on maps from OpenStreetMap</li>
    451   <li>Simultaneously process several SSR streams to produce, encode and upload combined SSR streams</li>
    452   <li>Estimate real-time tropospheric zenith path delays and save them in SINEX troposphere file format</li>
    453   <li>Read GNSS orbits and clocks in a plain ASCII format from an IP port. They can be produced by a real-time GNSS engine
     692    <li>Carry out real-time Precise Point Positioning to determine GNSS rover positions</li>
     693    <li>Enable multi-station Precise Point Positioning for simultaneous processing of observations from a whole network
     694      of receivers</li>
     695    <li>Plot positions derived via PPP from RTCM streams or RINEX files on maps from OpenStreetMap</li>
     696    <li>Simultaneously process several SSR streams to produce, encode and upload combined SSR streams</li>
     697    <li>Estimate real-time tropospheric zenith path delays and save them in SINEX troposphere file format</li>
     698    <li>Read GNSS orbits and clocks in a plain ASCII format from an IP port. They can be produced by a real-time GNSS
     699      engine
    454700      and should be referenced to the IGS Earth-Centered-Earth-Fixed (ECEF) reference system. BNC will then</li>
    455701    <ul>
    456       <li>Convert the IGS Earth-Centered-Earth-Fixed orbits and clocks into Broadcast Corrections with radial, along-track and out-of-plane components</li>
     702      <li>Convert the IGS Earth-Centered-Earth-Fixed orbits and clocks into Broadcast Corrections with radial,
     703        along-track and out-of-plane components</li>
    457704      <li>Upload Broadcast Corrections as an RTCM-SSR or IGS-SSR stream to an Ntrip Broadcaster</li>
    458705      <li>Refer the orbit and clock corrections to a specific reference system</li>
    459       <li>Log the Broadcast Clock Corrections as Clock RINEX files for further processing using other tools than BNC</li>
    460       <li>Log the Broadcast Orbit and Clock Corrections as SP3 files for further processing using other tools than BNC</li>
     706      <li>Log the Broadcast Clock Corrections as Clock RINEX files for further processing using other tools than BNC
     707      </li>
     708      <li>Log the Broadcast Orbit and Clock Corrections as SP3 files for further processing using other tools than BNC
     709      </li>
    461710      <li>Log the Code and Phase Biases as SINEX Bias files for further processing using other tools than BNC</li>
    462711    </ul>
    463   <li>Upload a Broadcast Ephemeris stream in RTCM Version 3 format;</li>
    464 </ul>
    465 </p>
    466 
    467 <p>
    468 BNC supports the following GNSS stream formats and message types:
    469 </p>
    470 <p>
    471 <ul>
    472   <li>RTCM Version 2 message types</li>
    473   <li>RTCM Version 3 legacy message types</li>
    474   <li>RTCM Version 3 Multiple Signal Messages (MSM) and High Precision Multiple Signal Messages (HP MSM)</li>
    475   <li>RTCM Version 3 message types for Broadcast Ephemeris</li>
    476   <li>RTCM Version 3 State Space Representation (SSR) messages</li>
    477   <li>IGS State Space Representation (SSR) Version 1 messages</li>
    478   <li>RTNET, a plain ASCII format defined within BNC to receive SSR informations from a serving GNSS engine</li>
    479 </ul>
    480 </p>
    481 
    482 <p>
    483 BNC supports the following GNSS file formats:
    484 </p>
    485 <p>
    486 <ul>
    487   <li>RINEX Version 2.11, 3.x and 4.x, Receiver Independent Exchange format for observation and navigation data</li>
    488   <li>The Extended Standard Product 3 Orbit Format SP3-d</li>
    489   <li>Clock RINEX Version 3.04 format for (station and) satellite clock solutions</li>
    490   <li>SINEX BIAS — Solution (Software/technique) INdependent EXchange Format for GNSS Biases Version 1.00</li>
    491   <li>SINEX TRO — Solution (Software/technique) INdependent EXchange Format for TROpospherican meteorological parameters Version 2.0
    492   <li>ANTEX Version 1.4, Antenna Exchange format for Antenna Phase Center variations</li>
    493   <li>NMEA Version 0813, National Marine Electronics Association format for satellite navigation data</li>
    494   <li>A plain ASCII format defined within BNC to save all SSR informations within a file</li>
    495 </ul>
    496 </p>
    497 
    498 <p>
    499 Note that BNC allows to by-pass decoding and conversion algorithms for incoming streams, leaves whatever is received
    500 untouched to save it in files or output it through a local TCP/IP port.
    501 </p>
    502 
    503 <p><h4 id="introSystem">1.2 Supported GNSS</h4></p>
    504 <p>
    505 BNC is permanently completed to finally support all existing GNSS systems throughout all features of the program.
    506 The table below shows in detail which GNSS systems are supported so far by particular applications when using the
    507 latest BNC version. Application areas named here are:
    508 <ul>
    509   <li>Decoding of RTCM, RTCM-SSR, IGS-SSR and RTNET streams</li>
    510   <li>RINEX and SINEX Bias file input and output</li>
    511   <li>SINEX TRO and SP3 file output</li>
    512   <li>Encoding of SSR and ephemeris messages</li>
    513   <li>Upload of SSR and ephemeris messages</li>
    514   <li>PPP (Precise Point Positioning)</li>
    515   <li>Combining/merging SSR or ephemeris messages from various real-time sources</li>
    516 </ul>
    517 The table indicates if a message implementation in BNC could so far only be based on a 'RTCM Proposal'.
    518 </p>
    519 <p>Table 1: Status of RTCM Version 3 message implementations in BNC supporting various GNSS systems</p>
    520 <p></p>
    521 <table border="1" rules="rows" frame="box" bgcolor="#FFF5EE" style="font-size:13">
    522 
    523 <tr align="center"><td><b>Message<br>Type #</b></td> <td><b>Description</b></td> <td><b>GNSS<br>System</b></td> <td><b>RTCM<br>Proposal&nbsp;</b></td> <td><b>Decoding&nbsp;</b></td> <td><b>&nbsp;RINEX/&nbsp;<br>&nbsp;SP3</b></td> <td><b>Encoding&nbsp;</b></td> <td><b>Upload&nbsp;</b></td> <td><b>&nbsp;PPP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b></td> <td><b>Combin.&nbsp;</b></td> </tr>
    524 
    525 <tr align="center"> <td><b><br>General</b></td> <td></td>             <td></td>              <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr>
    526 <tr align="center"> <td>1005,1006</td> <td>Station</td>               <td> </td>             <td> </td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr>
    527 <tr align="center"> <td>1007,1008</td> <td>Antenna</td>               <td> </td>             <td> </td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr>
    528 <tr align="center"> <td>1033</td>      <td>Receiver, Antenna</td>     <td> </td>             <td> </td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr>
    529 <tr align="center"> <td>1013</td>      <td>System Parameters</td>     <td> </td>             <td> </td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr>
    530 <tr align="center"> <td>1300</td>      <td>Service CRS      </td>     <td> </td>             <td> </td> <td>x</td> <td> </td> <td>x</td> <td>x</td> <td> </td> <td> </td> </tr>
    531 <tr align="center"> <td>1301</td>      <td>Helmert Trafo Parameters  </td>     <td> </td>    <td> </td> <td>x</td> <td> </td> <td>(x)</td> <td> </td> <td> </td> <td> </td> </tr>
    532 <tr align="center"> <td>1302</td>      <td>RTCM CRS         </td>     <td> </td>             <td> </td> <td>x</td> <td> </td> <td>x</td> <td>x</td> <td> </td> <td> </td> </tr>
    533 
    534 <tr align="center"> <td><b><br>Navigation</b></td> <td></td>          <td></td>              <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr>
    535 <tr align="center"> <td>1019</td> <td>Ephemeris</td>                  <td>GPS</td>           <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr>
    536 <tr align="center"> <td>1020</td> <td>Ephemeris</td>                  <td>GLONASS</td>       <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr>
    537 <tr align="center"> <td>1045</td> <td>Ephemeris</td>                  <td>Galileo F/Nav</td> <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td>x</td> </tr>
    538 <tr align="center"> <td>1046</td> <td>Ephemeris</td>                  <td>Galileo I/Nav</td> <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr>
    539 <tr align="center"> <td>1043</td> <td>Ephemeris</td>                  <td>SBAS</td>          <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td>x</td> </tr>
    540 <tr align="center"> <td>1044</td> <td>Ephemeris</td>                  <td>QZSS</td>          <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td>x</td> </tr>
    541 <tr align="center"> <td>1042</td> <td>Ephemeris</td>                  <td>BDS</td>           <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr>
    542 <tr align="center"> <td>1041</td> <td>Ephemeris</td>                  <td>NavIC</td>         <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td>x</td> </tr>
    543 
    544 <tr align="center"> <td><b><br>Observation</b></td> <td></td>         <td></td>              <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr>
    545 <tr align="center"> <td>1001-4</td>  <td>Conventional Messages</td>   <td>GPS</td>           <td> </td> <td>x</td> <td>x</td> <td> </td> <td> </td> <td>x</td> <td> </td> </tr>
    546 <tr align="center"> <td>1009-12</td> <td>Conventional Messages</td>   <td>GLONASS</td>       <td> </td> <td>x</td> <td>x</td> <td> </td> <td> </td> <td>x</td> <td> </td> </tr>
    547 
    548 <tr align="center"> <td><b><br>Observation</b></td> <td></td>         <td></td>              <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr>
    549 <tr align="center"> <td>1071-77</td> <td>Multiple Signal Message</td> <td>GPS</td>           <td> </td> <td>x</td> <td>x</td> <td> </td> <td> </td> <td>x</td> <td> </td> </tr>
    550 <tr align="center"> <td>1081-87</td> <td>Multiple Signal Message</td> <td>GLONASS</td>       <td> </td> <td>x</td> <td>x</td> <td> </td> <td> </td> <td>x</td> <td> </td> </tr>
    551 <tr align="center"> <td>1091-97</td> <td>Multiple Signal Message</td> <td>Galileo</td>       <td> </td> <td>x</td> <td>x</td> <td> </td> <td> </td> <td>x</td> <td> </td> </tr>
    552 <tr align="center"> <td>1101-07</td> <td>Multiple Signal Message</td> <td>SBAS</td>          <td> </td> <td>x</td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> </tr>
    553 <tr align="center"> <td>1111-17</td> <td>Multiple Signal Message</td> <td>QZSS</td>          <td> </td> <td>x</td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> </tr>
    554 <tr align="center"> <td>1121-27</td> <td>Multiple Signal Message</td> <td>BDS</td>           <td> </td> <td>x</td> <td>x</td> <td> </td> <td> </td> <td>x</td> <td> </td> </tr>
    555 <tr align="center"> <td>1131-37</td> <td>Multiple Signal Message</td> <td>NavIC</td>         <td> </td> <td>x</td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> </tr>
    556 
    557 <tr align="center"> <td><b><br>RTCM SSR I</b></td> <td></td>          <td></td>              <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr>
    558 <tr align="center"> <td>1057</td> <td>Orbit Corrections</td>          <td>GPS</td>           <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr>
    559 <tr align="center"> <td>1063</td> <td>Orbit Corrections</td>          <td>GLONASS</td>       <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr>
    560 <tr align="center"> <td>1240</td> <td>Orbit Corrections</td>          <td>Galileo</td>       <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr>
    561 <tr align="center"> <td>1246</td> <td>Orbit Corrections</td>          <td>SBAS</td>          <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td>x</td> </tr>
    562 <tr align="center"> <td>1252</td> <td>Orbit Corrections</td>          <td>QZSS</td>          <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td>x</td> </tr>
    563 <tr align="center"> <td>1258</td> <td>Orbit Corrections</td>          <td>BDS</td>           <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr>
    564 
    565 <tr align="center"> <td>1058</td> <td>Clock Corrections</td>          <td>GPS</td>           <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr>
    566 <tr align="center"> <td>1064</td> <td>Clock Corrections</td>          <td>GLONASS</td>       <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr>
    567 <tr align="center"> <td>1241</td> <td>Clock Corrections</td>          <td>Galileo</td>       <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr>
    568 <tr align="center"> <td>1247</td> <td>Clock Corrections</td>          <td>SBAS</td>          <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td>x</td> </tr>
    569 <tr align="center"> <td>1253</td> <td>Clock Corrections</td>          <td>QZSS</td>          <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td>x</td> </tr>
    570 <tr align="center"> <td>1259</td> <td>Clock Corrections</td>          <td>BDS</td>           <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr>
    571 
    572 <tr align="center"> <td>1059</td> <td>Code Biases</td>                <td>GPS</td>           <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr>
    573 <tr align="center"> <td>1065</td> <td>Code Biases</td>                <td>GLONASS</td>       <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr>
    574 <tr align="center"> <td>1242</td> <td>Code Biases</td>                <td>Galileo</td>       <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr>
    575 <tr align="center"> <td>1248</td> <td>Code Biases</td>                <td>SBAS</td>          <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td>x</td> </tr>
    576 <tr align="center"> <td>1254</td> <td>Code Biases</td>                <td>QZSS</td>          <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td>x</td> </tr>
    577 <tr align="center"> <td>1260</td> <td>Code Biases</td>                <td>BDS</td>           <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr>
    578 
    579 <tr align="center"> <td>1061, 1062</td> <td>User Range Accuracy, HR&nbsp;</td> <td>GPS</td>        <td> </td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr>
    580 <tr align="center"> <td>1067, 1068</td> <td>User Range Accuracy, HR&nbsp;</td> <td>GLONASS</td>    <td> </td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr>
    581 <tr align="center"> <td>1244, 1245</td> <td>User Range Accuracy, HR&nbsp;</td> <td>Galileo</td>    <td>x</td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr>
    582 <tr align="center"> <td>1250, 1251</td> <td>User Range Accuracy, HR&nbsp;</td> <td>SBAS</td>       <td>x</td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr>
    583 <tr align="center"> <td>1256, 1257</td> <td>User Range Accuracy, HR&nbsp;</td> <td>QZSS</td>       <td>x</td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr>
    584 <tr align="center"> <td>1262, 1263</td> <td>User Range Accuracy, HR&nbsp;</td> <td>BDS</td>        <td>x</td> <td>x</td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr>
    585 
    586 <tr align="center"> <td>1060</td> <td>Comb. Orbits & Clocks</td>      <td>GPS</td>           <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr>
    587 <tr align="center"> <td>1066</td> <td>Comb. Orbits & Clocks</td>      <td>GLONASS</td>       <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr>
    588 <tr align="center"> <td>1243</td> <td>Comb. Orbits & Clocks</td>      <td>Galileo</td>       <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr>
    589 <tr align="center"> <td>1249</td> <td>Comb. Orbits & Clocks</td>      <td>SBAS</td>          <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td>x</td> </tr>
    590 <tr align="center"> <td>1255</td> <td>Comb. Orbits & Clocks</td>      <td>QZSS</td>          <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td>x</td> </tr>
    591 <tr align="center"> <td>1261</td> <td>Comb. Orbits & Clocks</td>      <td>BDS</td>           <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr>
    592 
    593 <tr align="center"> <td><b><br>RTCM SSR II</b></td> <td></td>         <td></td>             <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td>  </td> </tr>
    594 <tr align="center"> <td>1264</td> <td>VTEC</td>                       <td>GNSS </td>         <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> </tr>
    595 <tr align="center"> <td>1265</td> <td>Phase Biases</td>               <td>GPS</td>           <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> </tr>
    596 <tr align="center"> <td>1266</td> <td>Phase Biases</td>               <td>GLONASS</td>       <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> </tr>
    597 <tr align="center"> <td>1267</td> <td>Phase Biases</td>               <td>Galileo</td>       <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> </tr>
    598 <tr align="center"> <td>1268</td> <td>Phase Biases</td>               <td>SBAS</td>          <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td> </td> </tr>
    599 <tr align="center"> <td>1269</td> <td>Phase Biases</td>               <td>QZSS</td>          <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> <td> </td> </tr>
    600 <tr align="center"> <td>1270</td> <td>Phase Biases</td>               <td>BDS</td>           <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td> </td> </tr>
    601 <tr align="center"> <td><b><br>IGS SSR</b></td> <td></td>             <td></td>              <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr>
    602 <tr align="center"> <td>4076</td> <td>IGS SSR</td>                    <td>GNSS </td>         <td> </td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> <td>x</td> </tr>
    603 
    604 </table>
    605 <br>
    606 <p><h4 id="introFlow">1.3 Data Flow</h4></p>
    607 <p>
    608 BNC can be used in different contexts with varying data flows. Typical real-time communication follows the Ntrip protocol
    609 over TCP/IP (also via SSL), RTSP/RTP or UDP, plain TCP/IP protocol, or serial communication links.
    610 Stream content could be observations, ephemeris, SSR products or NMEA sentences.
    611 </p>
    612 <p>
    613 The first of the following figures shows a flow chart of BNC connected to a GNSS receiver providing observations via
    614 serial or TCP communication link for the purpose of Precise Point Positioning.
    615 </p>
    616 <p><img src="IMG/Figure01.png" width="1000"></p>
    617 <p>Figure 1: Flowchart, BNC connected to a GNSS rover for Precise Point Positioning</p>
    618 <p>
    619 The second figure shows the conversion of RTCM streams to RINEX files.
    620 </p>
    621 <p>
    622 </p>
    623 <p><img src="IMG/Figure02.png"width=1000/></p>
    624 <p>Figure 2: Flowchart, BNC converting RTCM streams to RINEX batches</p>
    625 <p>
    626 The third figure shows a flow chart of BNC feeding a real-time GNSS engine, which
    627 estimates precise orbits and clocks. BNC is used in this scenario to encode SSR corrections to RTCM-SSR or IGS-SSR and upload
    628 them to an Ntrip Broadcaster.
    629 </p>
    630 <p>
    631 </p>
    632 <p><img src="IMG/Figure03.png"width=1000/></p>
    633 <p>Figure 3: Flowchart, BNC feeding a real-time GNSS engine and uploading encoded Broadcast Corrections</p>
    634 <p>
    635 The fourth figure shows BNC combining several Broadcast SSR Correction streams to
    636 disseminate the combination product while saving results in SP3, Clock RINEX and SINEX Bias files.
    637 </p>
    638 <p>
    639 </p>
    640 <p><img src="IMG/Figure04.png"width=1000/></p>
    641 <p>Figure 4: Flowchart, BNC combining Broadcast Correction streams</p>
    642 
    643 <p><h4 id="introHandling">1.4 Handling</h4></p>
    644 <p>
    645 Although BNC is mainly a real-time tool to be operated online, it can be run offline
    646 <ul>
    647   <li>To simulate real-time observation situations for debugging purposes;</li>
    648   <li>For post processing purposes.</li>
    649 </ul>
    650 Furthermore, apart from its regular window mode, BNC can be run as a batch/background job in a 'no window' mode,
    651 using processing options from a previously saved configuration or from command line.
    652 </p>
    653 <p>
    654 Unless it runs offline, BNC
    655 </p>
    656 <ul>
    657   <li>Requires access to the Internet with a minimum of about 2 to 6 kbits/sec per stream depending on the stream
    658       format and the number of visible satellites. You need to make sure that the connection can sustain the required bandwidth;</li>
    659   <li>Requires the clock of the host computer to be properly synchronized;</li>
    660   <li>Has the capacity to retrieve hundreds of GNSS data streams simultaneously. Please be aware that such usage may
     712    <li>Upload a Broadcast Ephemeris stream in RTCM Version 3 format;</li>
     713  </ul>
     714  </p>
     715
     716  <p>
     717    BNC supports the following GNSS stream formats and message types:
     718  </p>
     719  <p>
     720  <ul>
     721    <li>RTCM Version 2 message types</li>
     722    <li>RTCM Version 3 legacy message types</li>
     723    <li>RTCM Version 3 Multiple Signal Messages (MSM) and High Precision Multiple Signal Messages (HP MSM)</li>
     724    <li>RTCM Version 3 message types for Broadcast Ephemeris</li>
     725    <li>RTCM Version 3 State Space Representation (SSR) messages</li>
     726    <li>IGS State Space Representation (SSR) Version 1 messages</li>
     727    <li>RTNET, a plain ASCII format defined within BNC to receive SSR informations from a serving GNSS engine</li>
     728  </ul>
     729  </p>
     730
     731  <p>
     732    BNC supports the following GNSS file formats:
     733  </p>
     734  <p>
     735  <ul>
     736    <li>RINEX Version 2.11, 3.x and 4.x, Receiver Independent Exchange format for observation and navigation data</li>
     737    <li>The Extended Standard Product 3 Orbit Format SP3-d</li>
     738    <li>Clock RINEX Version 3.04 format for (station and) satellite clock solutions</li>
     739    <li>SINEX BIAS — Solution (Software/technique) INdependent EXchange Format for GNSS Biases Version 1.00</li>
     740    <li>SINEX TRO — Solution (Software/technique) INdependent EXchange Format for TROpospherican meteorological
     741      parameters Version 2.0
     742    <li>ANTEX Version 1.4, Antenna Exchange format for Antenna Phase Center variations</li>
     743    <li>NMEA Version 0813, National Marine Electronics Association format for satellite navigation data</li>
     744    <li>A plain ASCII format defined within BNC to save all SSR informations within a file</li>
     745  </ul>
     746  </p>
     747
     748  <p>
     749    Note that BNC allows to by-pass decoding and conversion algorithms for incoming streams, leaves whatever is received
     750    untouched to save it in files or output it through a local TCP/IP port.
     751  </p>
     752
     753  <p>
     754  <h4 id="introSystem">1.2 Supported GNSS</h4>
     755  </p>
     756  <p>
     757    BNC is permanently completed to finally support all existing GNSS systems throughout all features of the program.
     758    The table below shows in detail which GNSS systems are supported so far by particular applications when using the
     759    latest BNC version. Application areas named here are:
     760  <ul>
     761    <li>Decoding of RTCM, RTCM-SSR, IGS-SSR and RTNET streams</li>
     762    <li>RINEX and SINEX Bias file input and output</li>
     763    <li>SINEX TRO and SP3 file output</li>
     764    <li>Encoding of SSR and ephemeris messages</li>
     765    <li>Upload of SSR and ephemeris messages</li>
     766    <li>PPP (Precise Point Positioning)</li>
     767    <li>Combining/merging SSR or ephemeris messages from various real-time sources</li>
     768  </ul>
     769  The table indicates if a message implementation in BNC could so far only be based on a 'RTCM Proposal'.
     770  </p>
     771  <p>Table 1: Status of RTCM Version 3 message implementations in BNC supporting various GNSS systems</p>
     772  <p></p>
     773  <table border="1" rules="rows" frame="box" bgcolor="#FFF5EE" style="font-size:13">
     774
     775    <tr align="center">
     776      <td><b>Message<br>Type #</b></td>
     777      <td><b>Description</b></td>
     778      <td><b>GNSS<br>System</b></td>
     779      <td><b>RTCM<br>Proposal&nbsp;</b></td>
     780      <td><b>Decoding&nbsp;</b></td>
     781      <td><b>&nbsp;RINEX/&nbsp;<br>&nbsp;SP3</b></td>
     782      <td><b>Encoding&nbsp;</b></td>
     783      <td><b>Upload&nbsp;</b></td>
     784      <td><b>&nbsp;PPP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b></td>
     785      <td><b>Combin.&nbsp;</b></td>
     786    </tr>
     787
     788    <tr align="center">
     789      <td><b><br>General</b></td>
     790      <td></td>
     791      <td></td>
     792      <td> </td>
     793      <td> </td>
     794      <td> </td>
     795      <td> </td>
     796      <td> </td>
     797      <td> </td>
     798      <td> </td>
     799    </tr>
     800    <tr align="center">
     801      <td>1005,1006</td>
     802      <td>Station</td>
     803      <td> </td>
     804      <td> </td>
     805      <td>x</td>
     806      <td> </td>
     807      <td> </td>
     808      <td> </td>
     809      <td> </td>
     810      <td> </td>
     811    </tr>
     812    <tr align="center">
     813      <td>1007,1008</td>
     814      <td>Antenna</td>
     815      <td> </td>
     816      <td> </td>
     817      <td>x</td>
     818      <td> </td>
     819      <td> </td>
     820      <td> </td>
     821      <td> </td>
     822      <td> </td>
     823    </tr>
     824    <tr align="center">
     825      <td>1033</td>
     826      <td>Receiver, Antenna</td>
     827      <td> </td>
     828      <td> </td>
     829      <td>x</td>
     830      <td> </td>
     831      <td> </td>
     832      <td> </td>
     833      <td> </td>
     834      <td> </td>
     835    </tr>
     836    <tr align="center">
     837      <td>1013</td>
     838      <td>System Parameters</td>
     839      <td> </td>
     840      <td> </td>
     841      <td>x</td>
     842      <td> </td>
     843      <td> </td>
     844      <td> </td>
     845      <td> </td>
     846      <td> </td>
     847    </tr>
     848    <tr align="center">
     849      <td>1300</td>
     850      <td>Service CRS </td>
     851      <td> </td>
     852      <td> </td>
     853      <td>x</td>
     854      <td> </td>
     855      <td>x</td>
     856      <td>x</td>
     857      <td> </td>
     858      <td> </td>
     859    </tr>
     860    <tr align="center">
     861      <td>1301</td>
     862      <td>Helmert Trafo Parameters </td>
     863      <td> </td>
     864      <td> </td>
     865      <td>x</td>
     866      <td> </td>
     867      <td>(x)</td>
     868      <td> </td>
     869      <td> </td>
     870      <td> </td>
     871    </tr>
     872    <tr align="center">
     873      <td>1302</td>
     874      <td>RTCM CRS </td>
     875      <td> </td>
     876      <td> </td>
     877      <td>x</td>
     878      <td> </td>
     879      <td>x</td>
     880      <td>x</td>
     881      <td> </td>
     882      <td> </td>
     883    </tr>
     884
     885    <tr align="center">
     886      <td><b><br>Navigation</b></td>
     887      <td></td>
     888      <td></td>
     889      <td> </td>
     890      <td> </td>
     891      <td> </td>
     892      <td> </td>
     893      <td> </td>
     894      <td> </td>
     895      <td> </td>
     896    </tr>
     897    <tr align="center">
     898      <td>1019</td>
     899      <td>Ephemeris</td>
     900      <td>GPS</td>
     901      <td> </td>
     902      <td>x</td>
     903      <td>x</td>
     904      <td>x</td>
     905      <td>x</td>
     906      <td>x</td>
     907      <td>x</td>
     908    </tr>
     909    <tr align="center">
     910      <td>1020</td>
     911      <td>Ephemeris</td>
     912      <td>GLONASS</td>
     913      <td> </td>
     914      <td>x</td>
     915      <td>x</td>
     916      <td>x</td>
     917      <td>x</td>
     918      <td>x</td>
     919      <td>x</td>
     920    </tr>
     921    <tr align="center">
     922      <td>1045</td>
     923      <td>Ephemeris</td>
     924      <td>Galileo F/Nav</td>
     925      <td> </td>
     926      <td>x</td>
     927      <td>x</td>
     928      <td>x</td>
     929      <td>x</td>
     930      <td> </td>
     931      <td>x</td>
     932    </tr>
     933    <tr align="center">
     934      <td>1046</td>
     935      <td>Ephemeris</td>
     936      <td>Galileo I/Nav</td>
     937      <td> </td>
     938      <td>x</td>
     939      <td>x</td>
     940      <td>x</td>
     941      <td>x</td>
     942      <td>x</td>
     943      <td>x</td>
     944    </tr>
     945    <tr align="center">
     946      <td>1043</td>
     947      <td>Ephemeris</td>
     948      <td>SBAS</td>
     949      <td>x</td>
     950      <td>x</td>
     951      <td>x</td>
     952      <td>x</td>
     953      <td>x</td>
     954      <td> </td>
     955      <td>x</td>
     956    </tr>
     957    <tr align="center">
     958      <td>1044</td>
     959      <td>Ephemeris</td>
     960      <td>QZSS</td>
     961      <td> </td>
     962      <td>x</td>
     963      <td>x</td>
     964      <td>x</td>
     965      <td>x</td>
     966      <td> </td>
     967      <td>x</td>
     968    </tr>
     969    <tr align="center">
     970      <td>1042</td>
     971      <td>Ephemeris</td>
     972      <td>BDS</td>
     973      <td> </td>
     974      <td>x</td>
     975      <td>x</td>
     976      <td>x</td>
     977      <td>x</td>
     978      <td>x</td>
     979      <td>x</td>
     980    </tr>
     981    <tr align="center">
     982      <td>1041</td>
     983      <td>Ephemeris</td>
     984      <td>NavIC</td>
     985      <td> </td>
     986      <td>x</td>
     987      <td>x</td>
     988      <td>x</td>
     989      <td>x</td>
     990      <td> </td>
     991      <td>x</td>
     992    </tr>
     993
     994    <tr align="center">
     995      <td><b><br>Observation</b></td>
     996      <td></td>
     997      <td></td>
     998      <td> </td>
     999      <td> </td>
     1000      <td> </td>
     1001      <td> </td>
     1002      <td> </td>
     1003      <td> </td>
     1004      <td> </td>
     1005    </tr>
     1006    <tr align="center">
     1007      <td>1001-4</td>
     1008      <td>Conventional Messages</td>
     1009      <td>GPS</td>
     1010      <td> </td>
     1011      <td>x</td>
     1012      <td>x</td>
     1013      <td> </td>
     1014      <td> </td>
     1015      <td>x</td>
     1016      <td> </td>
     1017    </tr>
     1018    <tr align="center">
     1019      <td>1009-12</td>
     1020      <td>Conventional Messages</td>
     1021      <td>GLONASS</td>
     1022      <td> </td>
     1023      <td>x</td>
     1024      <td>x</td>
     1025      <td> </td>
     1026      <td> </td>
     1027      <td>x</td>
     1028      <td> </td>
     1029    </tr>
     1030
     1031    <tr align="center">
     1032      <td><b><br>Observation</b></td>
     1033      <td></td>
     1034      <td></td>
     1035      <td> </td>
     1036      <td> </td>
     1037      <td> </td>
     1038      <td> </td>
     1039      <td> </td>
     1040      <td> </td>
     1041      <td> </td>
     1042    </tr>
     1043    <tr align="center">
     1044      <td>1071-77</td>
     1045      <td>Multiple Signal Message</td>
     1046      <td>GPS</td>
     1047      <td> </td>
     1048      <td>x</td>
     1049      <td>x</td>
     1050      <td> </td>
     1051      <td> </td>
     1052      <td>x</td>
     1053      <td> </td>
     1054    </tr>
     1055    <tr align="center">
     1056      <td>1081-87</td>
     1057      <td>Multiple Signal Message</td>
     1058      <td>GLONASS</td>
     1059      <td> </td>
     1060      <td>x</td>
     1061      <td>x</td>
     1062      <td> </td>
     1063      <td> </td>
     1064      <td>x</td>
     1065      <td> </td>
     1066    </tr>
     1067    <tr align="center">
     1068      <td>1091-97</td>
     1069      <td>Multiple Signal Message</td>
     1070      <td>Galileo</td>
     1071      <td> </td>
     1072      <td>x</td>
     1073      <td>x</td>
     1074      <td> </td>
     1075      <td> </td>
     1076      <td>x</td>
     1077      <td> </td>
     1078    </tr>
     1079    <tr align="center">
     1080      <td>1101-07</td>
     1081      <td>Multiple Signal Message</td>
     1082      <td>SBAS</td>
     1083      <td> </td>
     1084      <td>x</td>
     1085      <td>x</td>
     1086      <td> </td>
     1087      <td> </td>
     1088      <td> </td>
     1089      <td> </td>
     1090    </tr>
     1091    <tr align="center">
     1092      <td>1111-17</td>
     1093      <td>Multiple Signal Message</td>
     1094      <td>QZSS</td>
     1095      <td> </td>
     1096      <td>x</td>
     1097      <td>x</td>
     1098      <td> </td>
     1099      <td> </td>
     1100      <td> </td>
     1101      <td> </td>
     1102    </tr>
     1103    <tr align="center">
     1104      <td>1121-27</td>
     1105      <td>Multiple Signal Message</td>
     1106      <td>BDS</td>
     1107      <td> </td>
     1108      <td>x</td>
     1109      <td>x</td>
     1110      <td> </td>
     1111      <td> </td>
     1112      <td>x</td>
     1113      <td> </td>
     1114    </tr>
     1115    <tr align="center">
     1116      <td>1131-37</td>
     1117      <td>Multiple Signal Message</td>
     1118      <td>NavIC</td>
     1119      <td> </td>
     1120      <td>x</td>
     1121      <td>x</td>
     1122      <td> </td>
     1123      <td> </td>
     1124      <td> </td>
     1125      <td> </td>
     1126    </tr>
     1127
     1128    <tr align="center">
     1129      <td><b><br>RTCM SSR I</b></td>
     1130      <td></td>
     1131      <td></td>
     1132      <td> </td>
     1133      <td> </td>
     1134      <td> </td>
     1135      <td> </td>
     1136      <td> </td>
     1137      <td> </td>
     1138      <td> </td>
     1139    </tr>
     1140    <tr align="center">
     1141      <td>1057</td>
     1142      <td>Orbit Corrections</td>
     1143      <td>GPS</td>
     1144      <td> </td>
     1145      <td>x</td>
     1146      <td>x</td>
     1147      <td>x</td>
     1148      <td>x</td>
     1149      <td>x</td>
     1150      <td>x</td>
     1151    </tr>
     1152    <tr align="center">
     1153      <td>1063</td>
     1154      <td>Orbit Corrections</td>
     1155      <td>GLONASS</td>
     1156      <td> </td>
     1157      <td>x</td>
     1158      <td>x</td>
     1159      <td>x</td>
     1160      <td>x</td>
     1161      <td>x</td>
     1162      <td>x</td>
     1163    </tr>
     1164    <tr align="center">
     1165      <td>1240</td>
     1166      <td>Orbit Corrections</td>
     1167      <td>Galileo</td>
     1168      <td>x</td>
     1169      <td>x</td>
     1170      <td>x</td>
     1171      <td>x</td>
     1172      <td>x</td>
     1173      <td>x</td>
     1174      <td>x</td>
     1175    </tr>
     1176    <tr align="center">
     1177      <td>1246</td>
     1178      <td>Orbit Corrections</td>
     1179      <td>SBAS</td>
     1180      <td>x</td>
     1181      <td>x</td>
     1182      <td>x</td>
     1183      <td>x</td>
     1184      <td>x</td>
     1185      <td> </td>
     1186      <td>x</td>
     1187    </tr>
     1188    <tr align="center">
     1189      <td>1252</td>
     1190      <td>Orbit Corrections</td>
     1191      <td>QZSS</td>
     1192      <td>x</td>
     1193      <td>x</td>
     1194      <td>x</td>
     1195      <td>x</td>
     1196      <td>x</td>
     1197      <td> </td>
     1198      <td>x</td>
     1199    </tr>
     1200    <tr align="center">
     1201      <td>1258</td>
     1202      <td>Orbit Corrections</td>
     1203      <td>BDS</td>
     1204      <td>x</td>
     1205      <td>x</td>
     1206      <td>x</td>
     1207      <td>x</td>
     1208      <td>x</td>
     1209      <td>x</td>
     1210      <td>x</td>
     1211    </tr>
     1212
     1213    <tr align="center">
     1214      <td>1058</td>
     1215      <td>Clock Corrections</td>
     1216      <td>GPS</td>
     1217      <td> </td>
     1218      <td>x</td>
     1219      <td>x</td>
     1220      <td>x</td>
     1221      <td>x</td>
     1222      <td>x</td>
     1223      <td>x</td>
     1224    </tr>
     1225    <tr align="center">
     1226      <td>1064</td>
     1227      <td>Clock Corrections</td>
     1228      <td>GLONASS</td>
     1229      <td> </td>
     1230      <td>x</td>
     1231      <td>x</td>
     1232      <td>x</td>
     1233      <td>x</td>
     1234      <td>x</td>
     1235      <td>x</td>
     1236    </tr>
     1237    <tr align="center">
     1238      <td>1241</td>
     1239      <td>Clock Corrections</td>
     1240      <td>Galileo</td>
     1241      <td>x</td>
     1242      <td>x</td>
     1243      <td>x</td>
     1244      <td>x</td>
     1245      <td>x</td>
     1246      <td>x</td>
     1247      <td>x</td>
     1248    </tr>
     1249    <tr align="center">
     1250      <td>1247</td>
     1251      <td>Clock Corrections</td>
     1252      <td>SBAS</td>
     1253      <td>x</td>
     1254      <td>x</td>
     1255      <td>x</td>
     1256      <td>x</td>
     1257      <td>x</td>
     1258      <td> </td>
     1259      <td>x</td>
     1260    </tr>
     1261    <tr align="center">
     1262      <td>1253</td>
     1263      <td>Clock Corrections</td>
     1264      <td>QZSS</td>
     1265      <td>x</td>
     1266      <td>x</td>
     1267      <td>x</td>
     1268      <td>x</td>
     1269      <td>x</td>
     1270      <td> </td>
     1271      <td>x</td>
     1272    </tr>
     1273    <tr align="center">
     1274      <td>1259</td>
     1275      <td>Clock Corrections</td>
     1276      <td>BDS</td>
     1277      <td>x</td>
     1278      <td>x</td>
     1279      <td>x</td>
     1280      <td>x</td>
     1281      <td>x</td>
     1282      <td>x</td>
     1283      <td>x</td>
     1284    </tr>
     1285
     1286    <tr align="center">
     1287      <td>1059</td>
     1288      <td>Code Biases</td>
     1289      <td>GPS</td>
     1290      <td> </td>
     1291      <td>x</td>
     1292      <td>x</td>
     1293      <td>x</td>
     1294      <td>x</td>
     1295      <td>x</td>
     1296      <td>x</td>
     1297    </tr>
     1298    <tr align="center">
     1299      <td>1065</td>
     1300      <td>Code Biases</td>
     1301      <td>GLONASS</td>
     1302      <td> </td>
     1303      <td>x</td>
     1304      <td>x</td>
     1305      <td>x</td>
     1306      <td>x</td>
     1307      <td>x</td>
     1308      <td>x</td>
     1309    </tr>
     1310    <tr align="center">
     1311      <td>1242</td>
     1312      <td>Code Biases</td>
     1313      <td>Galileo</td>
     1314      <td>x</td>
     1315      <td>x</td>
     1316      <td>x</td>
     1317      <td>x</td>
     1318      <td>x</td>
     1319      <td>x</td>
     1320      <td>x</td>
     1321    </tr>
     1322    <tr align="center">
     1323      <td>1248</td>
     1324      <td>Code Biases</td>
     1325      <td>SBAS</td>
     1326      <td>x</td>
     1327      <td>x</td>
     1328      <td>x</td>
     1329      <td>x</td>
     1330      <td>x</td>
     1331      <td> </td>
     1332      <td>x</td>
     1333    </tr>
     1334    <tr align="center">
     1335      <td>1254</td>
     1336      <td>Code Biases</td>
     1337      <td>QZSS</td>
     1338      <td>x</td>
     1339      <td>x</td>
     1340      <td>x</td>
     1341      <td>x</td>
     1342      <td>x</td>
     1343      <td> </td>
     1344      <td>x</td>
     1345    </tr>
     1346    <tr align="center">
     1347      <td>1260</td>
     1348      <td>Code Biases</td>
     1349      <td>BDS</td>
     1350      <td>x</td>
     1351      <td>x</td>
     1352      <td>x</td>
     1353      <td>x</td>
     1354      <td>x</td>
     1355      <td>x</td>
     1356      <td>x</td>
     1357    </tr>
     1358
     1359    <tr align="center">
     1360      <td>1061, 1062</td>
     1361      <td>User Range Accuracy, HR&nbsp;</td>
     1362      <td>GPS</td>
     1363      <td> </td>
     1364      <td>x</td>
     1365      <td> </td>
     1366      <td> </td>
     1367      <td> </td>
     1368      <td> </td>
     1369      <td> </td>
     1370    </tr>
     1371    <tr align="center">
     1372      <td>1067, 1068</td>
     1373      <td>User Range Accuracy, HR&nbsp;</td>
     1374      <td>GLONASS</td>
     1375      <td> </td>
     1376      <td>x</td>
     1377      <td> </td>
     1378      <td> </td>
     1379      <td> </td>
     1380      <td> </td>
     1381      <td> </td>
     1382    </tr>
     1383    <tr align="center">
     1384      <td>1244, 1245</td>
     1385      <td>User Range Accuracy, HR&nbsp;</td>
     1386      <td>Galileo</td>
     1387      <td>x</td>
     1388      <td>x</td>
     1389      <td> </td>
     1390      <td> </td>
     1391      <td> </td>
     1392      <td> </td>
     1393      <td> </td>
     1394    </tr>
     1395    <tr align="center">
     1396      <td>1250, 1251</td>
     1397      <td>User Range Accuracy, HR&nbsp;</td>
     1398      <td>SBAS</td>
     1399      <td>x</td>
     1400      <td>x</td>
     1401      <td> </td>
     1402      <td> </td>
     1403      <td> </td>
     1404      <td> </td>
     1405      <td> </td>
     1406    </tr>
     1407    <tr align="center">
     1408      <td>1256, 1257</td>
     1409      <td>User Range Accuracy, HR&nbsp;</td>
     1410      <td>QZSS</td>
     1411      <td>x</td>
     1412      <td>x</td>
     1413      <td> </td>
     1414      <td> </td>
     1415      <td> </td>
     1416      <td> </td>
     1417      <td> </td>
     1418    </tr>
     1419    <tr align="center">
     1420      <td>1262, 1263</td>
     1421      <td>User Range Accuracy, HR&nbsp;</td>
     1422      <td>BDS</td>
     1423      <td>x</td>
     1424      <td>x</td>
     1425      <td> </td>
     1426      <td> </td>
     1427      <td> </td>
     1428      <td> </td>
     1429      <td> </td>
     1430    </tr>
     1431
     1432    <tr align="center">
     1433      <td>1060</td>
     1434      <td>Comb. Orbits & Clocks</td>
     1435      <td>GPS</td>
     1436      <td> </td>
     1437      <td>x</td>
     1438      <td>x</td>
     1439      <td>x</td>
     1440      <td>x</td>
     1441      <td>x</td>
     1442      <td>x</td>
     1443    </tr>
     1444    <tr align="center">
     1445      <td>1066</td>
     1446      <td>Comb. Orbits & Clocks</td>
     1447      <td>GLONASS</td>
     1448      <td> </td>
     1449      <td>x</td>
     1450      <td>x</td>
     1451      <td>x</td>
     1452      <td>x</td>
     1453      <td>x</td>
     1454      <td>x</td>
     1455    </tr>
     1456    <tr align="center">
     1457      <td>1243</td>
     1458      <td>Comb. Orbits & Clocks</td>
     1459      <td>Galileo</td>
     1460      <td>x</td>
     1461      <td>x</td>
     1462      <td>x</td>
     1463      <td>x</td>
     1464      <td>x</td>
     1465      <td>x</td>
     1466      <td>x</td>
     1467    </tr>
     1468    <tr align="center">
     1469      <td>1249</td>
     1470      <td>Comb. Orbits & Clocks</td>
     1471      <td>SBAS</td>
     1472      <td>x</td>
     1473      <td>x</td>
     1474      <td>x</td>
     1475      <td>x</td>
     1476      <td>x</td>
     1477      <td> </td>
     1478      <td>x</td>
     1479    </tr>
     1480    <tr align="center">
     1481      <td>1255</td>
     1482      <td>Comb. Orbits & Clocks</td>
     1483      <td>QZSS</td>
     1484      <td>x</td>
     1485      <td>x</td>
     1486      <td>x</td>
     1487      <td>x</td>
     1488      <td>x</td>
     1489      <td> </td>
     1490      <td>x</td>
     1491    </tr>
     1492    <tr align="center">
     1493      <td>1261</td>
     1494      <td>Comb. Orbits & Clocks</td>
     1495      <td>BDS</td>
     1496      <td>x</td>
     1497      <td>x</td>
     1498      <td>x</td>
     1499      <td>x</td>
     1500      <td>x</td>
     1501      <td>x</td>
     1502      <td>x</td>
     1503    </tr>
     1504
     1505    <tr align="center">
     1506      <td><b><br>RTCM SSR II</b></td>
     1507      <td></td>
     1508      <td></td>
     1509      <td> </td>
     1510      <td> </td>
     1511      <td> </td>
     1512      <td> </td>
     1513      <td> </td>
     1514      <td> </td>
     1515      <td> </td>
     1516    </tr>
     1517    <tr align="center">
     1518      <td>1264</td>
     1519      <td>VTEC</td>
     1520      <td>GNSS </td>
     1521      <td>x</td>
     1522      <td>x</td>
     1523      <td>x</td>
     1524      <td>x</td>
     1525      <td>x</td>
     1526      <td>x</td>
     1527      <td> </td>
     1528    </tr>
     1529    <tr align="center">
     1530      <td>1265</td>
     1531      <td>Phase Biases</td>
     1532      <td>GPS</td>
     1533      <td>x</td>
     1534      <td>x</td>
     1535      <td>x</td>
     1536      <td>x</td>
     1537      <td>x</td>
     1538      <td>x</td>
     1539      <td> </td>
     1540    </tr>
     1541    <tr align="center">
     1542      <td>1266</td>
     1543      <td>Phase Biases</td>
     1544      <td>GLONASS</td>
     1545      <td>x</td>
     1546      <td>x</td>
     1547      <td>x</td>
     1548      <td>x</td>
     1549      <td>x</td>
     1550      <td>x</td>
     1551      <td> </td>
     1552    </tr>
     1553    <tr align="center">
     1554      <td>1267</td>
     1555      <td>Phase Biases</td>
     1556      <td>Galileo</td>
     1557      <td>x</td>
     1558      <td>x</td>
     1559      <td>x</td>
     1560      <td>x</td>
     1561      <td>x</td>
     1562      <td>x</td>
     1563      <td> </td>
     1564    </tr>
     1565    <tr align="center">
     1566      <td>1268</td>
     1567      <td>Phase Biases</td>
     1568      <td>SBAS</td>
     1569      <td>x</td>
     1570      <td>x</td>
     1571      <td>x</td>
     1572      <td>x</td>
     1573      <td>x</td>
     1574      <td> </td>
     1575      <td> </td>
     1576    </tr>
     1577    <tr align="center">
     1578      <td>1269</td>
     1579      <td>Phase Biases</td>
     1580      <td>QZSS</td>
     1581      <td>x</td>
     1582      <td>x</td>
     1583      <td>x</td>
     1584      <td>x</td>
     1585      <td>x</td>
     1586      <td> </td>
     1587      <td> </td>
     1588    </tr>
     1589    <tr align="center">
     1590      <td>1270</td>
     1591      <td>Phase Biases</td>
     1592      <td>BDS</td>
     1593      <td>x</td>
     1594      <td>x</td>
     1595      <td>x</td>
     1596      <td>x</td>
     1597      <td>x</td>
     1598      <td>x</td>
     1599      <td> </td>
     1600    </tr>
     1601    <tr align="center">
     1602      <td><b><br>IGS SSR</b></td>
     1603      <td></td>
     1604      <td></td>
     1605      <td> </td>
     1606      <td> </td>
     1607      <td> </td>
     1608      <td> </td>
     1609      <td> </td>
     1610      <td> </td>
     1611      <td> </td>
     1612    </tr>
     1613    <tr align="center">
     1614      <td>4076</td>
     1615      <td>IGS SSR</td>
     1616      <td>GNSS </td>
     1617      <td> </td>
     1618      <td>x</td>
     1619      <td>x</td>
     1620      <td>x</td>
     1621      <td>x</td>
     1622      <td>x</td>
     1623      <td>x</td>
     1624    </tr>
     1625
     1626  </table>
     1627  <br>
     1628  <p>
     1629  <h4 id="introFlow">1.3 Data Flow</h4>
     1630  </p>
     1631  <p>
     1632    BNC can be used in different contexts with varying data flows. Typical real-time communication follows the Ntrip
     1633    protocol
     1634    over TCP/IP (also via SSL), RTSP/RTP or UDP, plain TCP/IP protocol, or serial communication links.
     1635    Stream content could be observations, ephemeris, SSR products or NMEA sentences.
     1636  </p>
     1637  <p>
     1638    The first of the following figures shows a flow chart of BNC connected to a GNSS receiver providing observations via
     1639    serial or TCP communication link for the purpose of Precise Point Positioning.
     1640  </p>
     1641  <p><img src="IMG/Figure01.png" width="1000"></p>
     1642  <p>Figure 1: Flowchart, BNC connected to a GNSS rover for Precise Point Positioning</p>
     1643  <p>
     1644    The second figure shows the conversion of RTCM streams to RINEX files.
     1645  </p>
     1646  <p>
     1647  </p>
     1648  <p><img src="IMG/Figure02.png" width=1000 /></p>
     1649  <p>Figure 2: Flowchart, BNC converting RTCM streams to RINEX batches</p>
     1650  <p>
     1651    The third figure shows a flow chart of BNC feeding a real-time GNSS engine, which
     1652    estimates precise orbits and clocks. BNC is used in this scenario to encode SSR corrections to RTCM-SSR or IGS-SSR
     1653    and upload
     1654    them to an Ntrip Broadcaster.
     1655  </p>
     1656  <p>
     1657  </p>
     1658  <p><img src="IMG/Figure03.png" width=1000 /></p>
     1659  <p>Figure 3: Flowchart, BNC feeding a real-time GNSS engine and uploading encoded Broadcast Corrections</p>
     1660  <p>
     1661    The fourth figure shows BNC combining several Broadcast SSR Correction streams to
     1662    disseminate the combination product while saving results in SP3, Clock RINEX and SINEX Bias files.
     1663  </p>
     1664  <p>
     1665  </p>
     1666  <p><img src="IMG/Figure04.png" width=1000 /></p>
     1667  <p>Figure 4: Flowchart, BNC combining Broadcast Correction streams</p>
     1668
     1669  <p>
     1670  <h4 id="introHandling">1.4 Handling</h4>
     1671  </p>
     1672  <p>
     1673    Although BNC is mainly a real-time tool to be operated online, it can be run offline
     1674  <ul>
     1675    <li>To simulate real-time observation situations for debugging purposes;</li>
     1676    <li>For post processing purposes.</li>
     1677  </ul>
     1678  Furthermore, apart from its regular window mode, BNC can be run as a batch/background job in a 'no window' mode,
     1679  using processing options from a previously saved configuration or from command line.
     1680  </p>
     1681  <p>
     1682    Unless it runs offline, BNC
     1683  </p>
     1684  <ul>
     1685    <li>Requires access to the Internet with a minimum of about 2 to 6 kbits/sec per stream depending on the stream
     1686      format and the number of visible satellites. You need to make sure that the connection can sustain the required
     1687      bandwidth;</li>
     1688    <li>Requires the clock of the host computer to be properly synchronized;</li>
     1689    <li>Has the capacity to retrieve hundreds of GNSS data streams simultaneously. Please be aware that such usage may
    6611690      incur a heavy load on the Ntrip Broadcaster side depending on the number of streams requested. We recommend
    6621691      limiting the number of streams where possible to avoid unnecessary workload.</li>
    663 </ul>
    664 </p>
    665 <p>
    666 The main window of BNC shows a 'Top menu bar' section, a 'Settings' sections with panels to set processing options,
    667 a 'Streams' section, a section for 'Log' tabs, and a 'Bottom menu bar' section, see figure below.
    668 </p>
    669 <p><img src="IMG/Figure05.png"width=1000/></p>
    670 <p>Figure 5: Sections on BNC's main window</p>
    671 
    672 <p>
    673 Running BNC in interactive mode requires graphics support. This is also
    674 required in batch mode when producing plots. Windows and Mac OS X systems always
    675 support graphics. However, when using BNC in batch mode on Linux systems for
    676 producing plots, you need to make sure that at least a virtual X-Server like
    677 'Xvfb' is installed and the '-display' command line option is used. Alternatively,
    678 the command line option '--plattform' can be tried to use with the argument 'offscreen'
    679 and the '-display' command line option.
    680 </p>
    681 <p>
    682 The usual handling of BNC is that you first select a number of streams ('Add Stream'). Any stream configured to BNC
    683 shows up on the 'Streams' canvas in the middle of BNC's main window. You then go through BNC's various configuration
    684 panels to set a combination of input, processing and output options before you start the program ('Start').
    685 Most configuration panels are dedicated to a certain function of BNC. If the first option field on such a configuration
    686  panel is empty, the affected functionality is deactivated.
    687 </p>
    688 <p>
    689 Records of BNC's activities are shown in the 'Log' tab which is part of the 'Log' canvas. The bandwidth consumption
    690 per stream, the latency of incoming observations, and a PPP time series for coordinate displacements are also part
    691 of that canvas and shown in the 'Throughput', 'Latency' and 'PPP Plot' tabs.
    692 </p>
    693 <p>
    694 Configuration options are usually first set using BNC's Graphical User Interface (GUI), then saved in a configuration
    695  file. For routine operations in batch mode all of BNC's configuration options can be extracted from the configuration
    696  file and applied using the program's Command Line Interface (CLI).
    697 </p>
    698 <h4 id="introInst">1.5 Installation</h4>
    699 <p>
    700 Precompiled builds of BNC are available for Windows, Linux, and Mac OS X systems. They can be downloaded for
    701 installation from <a href="https://igs.bkg.bund.de/ntrip/bnc" target="_blank">https://igs.bkg.bund.de/ntrip/bnc</a>.
    702 Please ensure that you always use the latest version of the program.
    703 </p>
    704 <p>
    705 <b>Windows:</b> A dynamically compiled shared library build for Mircrosoft Windows systems is provided as
    706 Microsoft Installer (MSI) file. MSI files are used for installation, storage, and removal of programs.
    707 The BNC files are contained in a MSI package, which is used with the program's client-side installer service,
    708 an .EXE file, to open and install the program. We used the MSVC 2019 compiler to create BNC for Windows.
    709 After installation your 'bnc.exe' file shows up e.g. under 'All Programs'.
    710 </p>
    711 <p>
    712 <b>Linux:</b> Shared library builds for BNC are provided for a selection of Linux distributions.
    713 Download the ZIP archive for a version which fits to your Linux system, unzip the archive and run the included BNC binary.
    714 </p>
    715 <p>
    716 <b>Mac OS X Build:</b>
    717 A shared library 'Disk iMaGe' (DMG) file is provided for BNC on OS X systems; it also comes in a ZIP archive. The DMG
    718 file format is used in the Mac for distributing software. Mac install packages appear as a virtual disk drive. After
    719 download, when the DMG file icon is double clicked, the virtual drive is 'mounted' on the desktop. Install BNC by
    720 dragging the 'bnc.app' icon to your <i>'/Applications'</i> folder. To start BNC, double click on <i>'/Applications/bnc.app'</i>.
    721 You could also start BNC via Command Line Interface (CLI) using command <i>'/Applications/bnc.app/Contents/MacOS/bnc'</i>.
    722 </p>
    723 <h4 id="introCompile">1.5.1 Compilation</h4>
    724 <p>
    725 BNC has been written as Open Source and published under GNU General Public License (GPL). The latest source code can
    726 be checked out from the Subversion repository at <a href="http://software.rtcm-ntrip.org/svn/trunk/BNC"
    727 target="_blank">http://software.rtcm-ntrip.org/svn/trunk/BNC</a>. A ZIP archive available from
    728 <a href="https://igs.bkg.bund.de/ntrip/bnc" target="_blank">https://igs.bkg.bund.de/ntrip/bnc</a>
    729 provides the source code.
    730 </p>
    731 <p>The following describes how you can produce your own builds of BNC on Windows, Linux, and Mac systems.
    732 It is likely that BNC can also be compiled on other systems where a GNU compiler and Qt Version 5 or any later
    733  version is installed.
    734 </p>
    735 <p><b>Static versus Shared Libraries</b><br>
    736 You can produce static or shared library builds of BNC. <b>Static</b> builds are sufficient in case you do not want
    737 BNC to produce track maps on top of OpenStreetMap (OSM). The usage would require the
    738 QtWebEngineWidges library which can only be part of BNC builds from <b>shared</b> Qt libraries. Hence, having a shared library
    739  Qt installation available is a precondition for producing a shared library build of BNC.
    740 </p>
    741 
    742 <p><b>MS Windows Systems, Shared Library</b><br>
    743 This section contains some hints how to build a shared Qt 15.5.8 library on MS Windows systems to then create your own shared build of BNC.
    744 But it is highly recommended to use the dynamically compiled shared library build for Mircrosoft Windows systems which is provided as
    745 Microsoft Installer (MSI) file.
    746 </p>
    747 <ul>
    748 <li>Support for Secure Sockets Layer (SSL) communication is provided by the OpenSSL Toolkit, which must be obtained separately.
    749 Download the latest version of the toolkit that is supported by Qt and install OpenSSL libraries in C:\OpenSSL-Win64.
    750 The OpenSSL libraries are looked up first in the drectory of the executable, then in the Windows System directory,
    751 and finally in all directories listed in the PATH environment variable.
    752 You can configure how Qt uses OpenSSL by setting either the -openssl / -openssl-runtime or -openssl-linked configure flags.
    753 To link Qt Network against OpenSSL libraries, set the -openssl-linked configure argument and use the OPENSSL_PREFIX variable
    754 to let Qt correctly locate and build against your OpenSSL installation.
    755 For example: configure -openssl-linked OPENSSL_PREFIX="C:\OpenSSL-Win64".</li>
    756 <li>The following tools are required at build time:
    757 <ul>
    758     <li>Python 2.7.5 or later. Python 3 is not supported.</li>
    759     <li>Windows binaries of Bison, Flex, GPerf from the GnuWin32 project (<a href="http://gnuwin32.sourceforge.net/" target="_blank">http://gnuwin32.sourceforge.net/</a>), required to build QtWebEngine</li>
    760     <li>Node.js version 12 or later</li>
    761     <li>Visual Studio 2019 or clang-cl (msvc mode) version 8 or later, required to build QtWebEngine</li>
    762     <li>Jom is recommended because it is a clone of nmake to support the execution of multiple independent commands in parallel.
    763         It basically adds the -j command line switch similar to GNU make</li>
    764     <li>Active Template Library (ATL), usually included in the Visual Studio installation</li>
    765     <li>Windows 10 SDK version 10.0.19041 or later</li>
    766 </ul>
    767 and its location should be listed in the PATH environment variable.
    768 </li>
    769 <li>To use OpenGL, pass the command line option '-opengl dynamic' to the configure script.</li>
    770 <li>Download the file 'qt-everywhere-opensource-src-5.15.8.zip' e.g. from
    771 <a href="https://download.qt.io/official_releases/qt/5.15/5.15.8/single/"
    772 target="_blank">https://download.qt.io/official_releases/qt/5.15/5.15.8/single/</a>
    773 and unzip the ZIP archive and move the contents of the contained directory into a directory e.g. C:\Qt\qt-everywhere-src-5.15.8. </li>
    774 <li>Open a x64 Native Tools Command Promt for VS 2019 </li>
    775 <li>Go to directory C:\Qt\qt-everywhere-src-5.15.8 and configure Qt using command
    776 <pre>
     1692  </ul>
     1693  </p>
     1694  <p>
     1695    The main window of BNC shows a 'Top menu bar' section, a 'Settings' sections with panels to set processing options,
     1696    a 'Streams' section, a section for 'Log' tabs, and a 'Bottom menu bar' section, see figure below.
     1697  </p>
     1698  <p><img src="IMG/Figure05.png" width=1000 /></p>
     1699  <p>Figure 5: Sections on BNC's main window</p>
     1700
     1701  <p>
     1702    Running BNC in interactive mode requires graphics support. This is also
     1703    required in batch mode when producing plots. Windows and Mac OS X systems always
     1704    support graphics. However, when using BNC in batch mode on Linux systems for
     1705    producing plots, you need to make sure that at least a virtual X-Server like
     1706    'Xvfb' is installed and the '-display' command line option is used. Alternatively,
     1707    the command line option '--plattform' can be tried to use with the argument 'offscreen'
     1708    and the '-display' command line option.
     1709  </p>
     1710  <p>
     1711    The usual handling of BNC is that you first select a number of streams ('Add Stream'). Any stream configured to BNC
     1712    shows up on the 'Streams' canvas in the middle of BNC's main window. You then go through BNC's various configuration
     1713    panels to set a combination of input, processing and output options before you start the program ('Start').
     1714    Most configuration panels are dedicated to a certain function of BNC. If the first option field on such a
     1715    configuration
     1716    panel is empty, the affected functionality is deactivated.
     1717  </p>
     1718  <p>
     1719    Records of BNC's activities are shown in the 'Log' tab which is part of the 'Log' canvas. The bandwidth consumption
     1720    per stream, the latency of incoming observations, and a PPP time series for coordinate displacements are also part
     1721    of that canvas and shown in the 'Throughput', 'Latency' and 'PPP Plot' tabs.
     1722  </p>
     1723  <p>
     1724    Configuration options are usually first set using BNC's Graphical User Interface (GUI), then saved in a
     1725    configuration
     1726    file. For routine operations in batch mode all of BNC's configuration options can be extracted from the
     1727    configuration
     1728    file and applied using the program's Command Line Interface (CLI).
     1729  </p>
     1730  <h4 id="introInst">1.5 Installation</h4>
     1731  <p>
     1732    Precompiled builds of BNC are available for Windows, Linux, and Mac OS X systems. They can be downloaded for
     1733    installation from <a href="https://igs.bkg.bund.de/ntrip/bnc" target="_blank">https://igs.bkg.bund.de/ntrip/bnc</a>.
     1734    Please ensure that you always use the latest version of the program.
     1735  </p>
     1736  <p>
     1737    <b>Windows:</b> A dynamically compiled shared library build for Mircrosoft Windows systems is provided as
     1738    Microsoft Installer (MSI) file. MSI files are used for installation, storage, and removal of programs.
     1739    The BNC files are contained in a MSI package, which is used with the program's client-side installer service,
     1740    an .EXE file, to open and install the program. We used the MSVC 2019 compiler to create BNC for Windows.
     1741    After installation your 'bnc.exe' file shows up e.g. under 'All Programs'.
     1742  </p>
     1743  <p>
     1744    <b>Linux:</b> Shared library builds for BNC are provided for a selection of Linux distributions.
     1745    Download the ZIP archive for a version which fits to your Linux system, unzip the archive and run the included BNC
     1746    binary.
     1747  </p>
     1748  <p>
     1749    <b>Mac OS X Build:</b>
     1750    A shared library 'Disk iMaGe' (DMG) file is provided for BNC on OS X systems; it also comes in a ZIP archive. The
     1751    DMG
     1752    file format is used in the Mac for distributing software. Mac install packages appear as a virtual disk drive. After
     1753    download, when the DMG file icon is double clicked, the virtual drive is 'mounted' on the desktop. Install BNC by
     1754    dragging the 'bnc.app' icon to your <i>'/Applications'</i> folder. To start BNC, double click on
     1755    <i>'/Applications/bnc.app'</i>.
     1756    You could also start BNC via Command Line Interface (CLI) using command
     1757    <i>'/Applications/bnc.app/Contents/MacOS/bnc'</i>.
     1758  </p>
     1759  <h4 id="introCompile">1.5.1 Compilation</h4>
     1760  <p>
     1761    BNC has been written as Open Source and published under GNU General Public License (GPL). The latest source code can
     1762    be checked out from the Subversion repository at <a href="http://software.rtcm-ntrip.org/svn/trunk/BNC"
     1763      target="_blank">http://software.rtcm-ntrip.org/svn/trunk/BNC</a>. A ZIP archive available from
     1764    <a href="https://igs.bkg.bund.de/ntrip/bnc" target="_blank">https://igs.bkg.bund.de/ntrip/bnc</a>
     1765    provides the source code.
     1766  </p>
     1767  <p>The following describes how you can produce your own builds of BNC on Windows, Linux, and Mac systems.
     1768    It is likely that BNC can also be compiled on other systems where a GNU compiler and Qt Version 5 or any later
     1769    version is installed.
     1770  </p>
     1771  <p><b>Static versus Shared Libraries</b><br>
     1772    You can produce static or shared library builds of BNC. <b>Static</b> builds are sufficient in case you do not want
     1773    BNC to produce track maps on top of OpenStreetMap (OSM). The usage would require the
     1774    QtWebEngineWidges library which can only be part of BNC builds from <b>shared</b> Qt libraries. Hence, having a
     1775    shared library
     1776    Qt installation available is a precondition for producing a shared library build of BNC.
     1777  </p>
     1778
     1779  <p><b>MS Windows Systems, Shared Library</b><br>
     1780    This section contains some hints how to build a shared Qt 15.5.8 library on MS Windows systems to then create your
     1781    own shared build of BNC.
     1782    But it is highly recommended to use the dynamically compiled shared library build for Mircrosoft Windows systems
     1783    which is provided as
     1784    Microsoft Installer (MSI) file.
     1785  </p>
     1786  <ul>
     1787    <li>Support for Secure Sockets Layer (SSL) communication is provided by the OpenSSL Toolkit, which must be obtained
     1788      separately.
     1789      Download the latest version of the toolkit that is supported by Qt and install OpenSSL libraries in
     1790      C:\OpenSSL-Win64.
     1791      The OpenSSL libraries are looked up first in the drectory of the executable, then in the Windows System directory,
     1792      and finally in all directories listed in the PATH environment variable.
     1793      You can configure how Qt uses OpenSSL by setting either the -openssl / -openssl-runtime or -openssl-linked
     1794      configure flags.
     1795      To link Qt Network against OpenSSL libraries, set the -openssl-linked configure argument and use the
     1796      OPENSSL_PREFIX variable
     1797      to let Qt correctly locate and build against your OpenSSL installation.
     1798      For example: configure -openssl-linked OPENSSL_PREFIX="C:\OpenSSL-Win64".</li>
     1799    <li>The following tools are required at build time:
     1800      <ul>
     1801        <li>Python 2.7.5 or later. Python 3 is not supported.</li>
     1802        <li>Windows binaries of Bison, Flex, GPerf from the GnuWin32 project (<a href="http://gnuwin32.sourceforge.net/"
     1803            target="_blank">http://gnuwin32.sourceforge.net/</a>), required to build QtWebEngine</li>
     1804        <li>Node.js version 12 or later</li>
     1805        <li>Visual Studio 2019 or clang-cl (msvc mode) version 8 or later, required to build QtWebEngine</li>
     1806        <li>Jom is recommended because it is a clone of nmake to support the execution of multiple independent commands
     1807          in parallel.
     1808          It basically adds the -j command line switch similar to GNU make</li>
     1809        <li>Active Template Library (ATL), usually included in the Visual Studio installation</li>
     1810        <li>Windows 10 SDK version 10.0.19041 or later</li>
     1811      </ul>
     1812      and its location should be listed in the PATH environment variable.
     1813    </li>
     1814    <li>To use OpenGL, pass the command line option '-opengl dynamic' to the configure script.</li>
     1815    <li>Download the file 'qt-everywhere-opensource-src-5.15.8.zip' e.g. from
     1816      <a href="https://download.qt.io/official_releases/qt/5.15/5.15.8/single/"
     1817        target="_blank">https://download.qt.io/official_releases/qt/5.15/5.15.8/single/</a>
     1818      and unzip the ZIP archive and move the contents of the contained directory into a directory e.g.
     1819      C:\Qt\qt-everywhere-src-5.15.8.
     1820    </li>
     1821    <li>Open a x64 Native Tools Command Promt for VS 2019 </li>
     1822    <li>Go to directory C:\Qt\qt-everywhere-src-5.15.8 and configure Qt using command
     1823      <pre>
    7771824.\configure -prefix C:\Qt\5.15.8\ -opensource -release -platform win32-msvc -icu -I C:\icu-windows\include -L C:\icu-windows\lib64 -qt-pcre -qt-zlib -qt-freetype -qt-harfbuzz -qt-libpng -qt-libjpeg -qt-sqlite -qt-tiff -qt-webp -mp -confirm-license -openssl-linked OPENSSL_PREFIX="C:\OpenSSL-Win64" -opengl dynamic -webengine-proprietary-codecs -recheck-all -nomake tests -nomake examples -no-sql-mysql -skip qtdoc -skip qtquickcontrols -skip qtscript -skip qtxmlpatterns -skip qtandroidextras -skip qtgamepad -skip qtmultimedia -skip qtpurchasing -skip qtwayland -skip qtspeech -skip qtlottie -skip qtscxml -skip qt3d -skip qtcharts -skip qtdatavis3d -skip qtgraphicaleffects -skip qtquickcontrols -skip qtquickcontrols2 -skip qtremoteobjects
    7781825</pre>
    779 </li>
    780 <li>Compile Qt using command <pre>  jom or nmake </pre></li>
    781 <li>Install Qt using command <pre>  jom install or nmake install</pre></li>
    782 
    783 <li>Create somewhere a file QtEnv.bat with the following content:
    784 <pre>
     1826    </li>
     1827    <li>Compile Qt using command
     1828      <pre>  jom or nmake </pre>
     1829    </li>
     1830    <li>Install Qt using command
     1831      <pre>  jom install or nmake install</pre>
     1832    </li>
     1833
     1834    <li>Create somewhere a file QtEnv.bat with the following content:
     1835      <pre>
    7851836   set QTDIR=C:\Qt\5.15.8
    7861837   set PATH=%PATH%C:\Qt\5.15.8\bin;
    7871838   set QMAKESPEC=C:\Qt\5.15.8\mkspecs\win32-msvc
    7881839</pre>
    789 and exceute file QtEnv.bat</li>
    790 
    791 <li>Download latest BNC from SVN repository <a href="http://software.rtcm-ntrip.org/svn/trunk/BNC"
    792 target="_blank">http://software.rtcm-ntrip.org/svn/trunk/BNC</a>.</li>
    793 
    794 <li>Go to directory BNC and enter command
    795 <pre>
     1840      and exceute file QtEnv.bat
     1841    </li>
     1842
     1843    <li>Download latest BNC from SVN repository <a href="http://software.rtcm-ntrip.org/svn/trunk/BNC"
     1844        target="_blank">http://software.rtcm-ntrip.org/svn/trunk/BNC</a>.</li>
     1845
     1846    <li>Go to directory BNC and enter command
     1847      <pre>
    7961848   qmake bnc.pro
    797 </pre></li>
    798 
    799 <li>Enter command
    800 <pre>
     1849</pre>
     1850    </li>
     1851
     1852    <li>Enter command
     1853      <pre>
    8011854   nmake
    802 </pre></li>
    803 <li>Find binary file bnc.exe in directory named src.</li>
    804 </ul>
    805 <p>
    806 <b>Linux Systems</b><br>
    807 Qt development tools have to be installed as well as some other libraries e.g. for openssl. They can be easily installed from
    808 your system repositories. BNC 2.13 needs Qt5. See the <a href="https://software.rtcm-ntrip.org/browser/ntrip/trunk/BNC/docker" target="_blank">docker files</a> for the most used Linux systems.
    809 To compile the BNC program, you first download the source code from the SVN repository <a href="http://software.rtcm-ntrip.org/svn/trunk/BNC"
    810 target="_blank">http://software.rtcm-ntrip.org/svn/trunk/BNC</a>. Go to directory BNC and run the following commands:<br>
    811 </p>
    812 <pre>
     1855</pre>
     1856    </li>
     1857    <li>Find binary file bnc.exe in directory named src.</li>
     1858  </ul>
     1859  <p>
     1860    <b>Linux Systems</b><br>
     1861    Qt development tools have to be installed as well as some other libraries e.g. for openssl. They can be easily
     1862    installed from
     1863    your system repositories. BNC 2.13 needs Qt5. See the <a
     1864      href="https://software.rtcm-ntrip.org/browser/ntrip/trunk/BNC/docker" target="_blank">docker files</a> for the
     1865    most used Linux systems.
     1866    To compile the BNC program, you first download the source code from the SVN repository <a
     1867      href="http://software.rtcm-ntrip.org/svn/trunk/BNC"
     1868      target="_blank">http://software.rtcm-ntrip.org/svn/trunk/BNC</a>. Go to directory BNC and run the following
     1869    commands:<br>
     1870  </p>
     1871  <pre>
    8131872    qmake bnc.pro
    8141873    make
    8151874</pre>
    816 You will find a build of BNC in directory BNC.
    817 <p>
    818 <b>Mac OS X Systems</b><br>
    819 </p>
    820 Please use the precompiled build of BNC
    821 </p>
    822 
    823 <p><h4 id="introConf">1.6 Configuration</h4></p>
    824 <p>
    825 As a default, configuration files for running BNC on Unix/Linux/Mac OS X systems are saved in directory
    826 '${HOME}/.config/BKG'. On Windows systems, they are typically saved in directory 'C:/Documents and Settings/Username/.config/BKG'.
    827 The default configuration filename is 'BNC.bnc'.</p>
    828 <p>
    829 The default filename 'BNC.bnc' can be changed and the file content can easily be edited. On graphical user interfaces
    830  it is possible to Drag &amp; Drop a configuration file icon to start BNC (not on Mac OS X systems).
    831  It is also possible to start and configure BNC via command line. Some configuration options can be changed on-the-fly.
    832  See annexed 'Command Line Help' for a complete set of configuration options.
    833 </p>
    834 <p>
    835 BNC maintains configuration options at three different levels:
    836 </p>
    837 <ul>
    838   <li>GUI, input fields level</li>
    839   <li>Active configuration level</li>
    840   <li>Configuration file, disk level</li>
    841 </ul>
    842 <p><img src="IMG/Figure06.png"width=1000/></p>
    843 <p>Figure 6: Management of configuration options in BNC:<br>
    844 <table>
    845 <tr><td>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </td><td>Left:</td><td>BNC in graphics mode; active configuration options are introduced through GUI input fields and finally saved on disk</td></tr>
    846 <tr><td>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </td><td>Middle:</td><td>BNC in 'no window' mode; active configuration options are read from disk</td></tr>
    847 <tr><td>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </td><td>Right:</td><td>BNC in 'no window' mode without configuration file; default configuration options can be overwritten via command line options</td></tr>
    848 </table>
    849 
    850 <p>
    851 Configuration options are usually specified using GUI input fields (1) after launching BNC.
    852 When hitting the 'Start' button, configuration options are transferred one level down to become BNC's active configuration (2),
    853 allowing the program to begin its operation. Pushing the 'Stop' button ends data processing so that the user can finally
    854 terminate BNC through 'File'->'Quit'->'Save Options' which saves processing options in a configuration file to disk (3). It is important to understand that:
    855 </p>
    856 <ul>
    857   <li>Active configuration options (2) are independent from GUI input fields and configuration file content.</li>
    858   <li>Hence changing configuration options at GUI level (1) while BNC is already processing data does not influence a running job.</li>
    859   <li>Editing configuration options at disk level (3) while BNC is already processing data does also not influence a running job. However, there are two exceptions which force BNC to update certain active options on-the-fly:</li>
     1875  You will find a build of BNC in directory BNC.
     1876  <p>
     1877    <b>Mac OS X Systems</b><br>
     1878  </p>
     1879  Please use the precompiled build of BNC
     1880  </p>
     1881
     1882  <p>
     1883  <h4 id="introConf">1.6 Configuration</h4>
     1884  </p>
     1885  <p>
     1886    As a default, configuration files for running BNC on Unix/Linux/Mac OS X systems are saved in directory
     1887    '${HOME}/.config/BKG'. On Windows systems, they are typically saved in directory 'C:/Documents and
     1888    Settings/Username/.config/BKG'.
     1889    The default configuration filename is 'BNC.bnc'.</p>
     1890  <p>
     1891    The default filename 'BNC.bnc' can be changed and the file content can easily be edited. On graphical user
     1892    interfaces
     1893    it is possible to Drag &amp; Drop a configuration file icon to start BNC (not on Mac OS X systems).
     1894    It is also possible to start and configure BNC via command line. Some configuration options can be changed
     1895    on-the-fly.
     1896    See annexed 'Command Line Help' for a complete set of configuration options.
     1897  </p>
     1898  <p>
     1899    BNC maintains configuration options at three different levels:
     1900  </p>
     1901  <ul>
     1902    <li>GUI, input fields level</li>
     1903    <li>Active configuration level</li>
     1904    <li>Configuration file, disk level</li>
     1905  </ul>
     1906  <p><img src="IMG/Figure06.png" width=1000 /></p>
     1907  <p>Figure 6: Management of configuration options in BNC:<br>
     1908  <table>
     1909    <tr>
     1910      <td>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </td>
     1911      <td>Left:</td>
     1912      <td>BNC in graphics mode; active configuration options are introduced through GUI input fields and finally saved
     1913        on disk</td>
     1914    </tr>
     1915    <tr>
     1916      <td>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </td>
     1917      <td>Middle:</td>
     1918      <td>BNC in 'no window' mode; active configuration options are read from disk</td>
     1919    </tr>
     1920    <tr>
     1921      <td>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </td>
     1922      <td>Right:</td>
     1923      <td>BNC in 'no window' mode without configuration file; default configuration options can be overwritten via
     1924        command line options</td>
     1925    </tr>
     1926  </table>
     1927
     1928  <p>
     1929    Configuration options are usually specified using GUI input fields (1) after launching BNC.
     1930    When hitting the 'Start' button, configuration options are transferred one level down to become BNC's active
     1931    configuration (2),
     1932    allowing the program to begin its operation. Pushing the 'Stop' button ends data processing so that the user can
     1933    finally
     1934    terminate BNC through 'File'->'Quit'->'Save Options' which saves processing options in a configuration file to disk
     1935    (3). It is important to understand that:
     1936  </p>
     1937  <ul>
     1938    <li>Active configuration options (2) are independent from GUI input fields and configuration file content.</li>
     1939    <li>Hence changing configuration options at GUI level (1) while BNC is already processing data does not influence a
     1940      running job.</li>
     1941    <li>Editing configuration options at disk level (3) while BNC is already processing data does also not influence a
     1942      running job. However, there are two exceptions which force BNC to update certain active options on-the-fly:</li>
    8601943    <ul>
    861       <li>Pushing the 'Reread & Save Configuration' button lets BNC immediately reread its configuration from GUI input fields to make them active configuration options. Then BNC saves them on disk.</li>
    862       <li>Specifying the 'Reread configuration' option lets BNC reread its configuration from disk at pre-defined intervals.</li>
     1944      <li>Pushing the 'Reread & Save Configuration' button lets BNC immediately reread its configuration from GUI input
     1945        fields to make them active configuration options. Then BNC saves them on disk.</li>
     1946      <li>Specifying the 'Reread configuration' option lets BNC reread its configuration from disk at pre-defined
     1947        intervals.</li>
    8631948    </ul>
    864   <li>A specific BNC configuration can be started in 'no window' mode from scratch without a configuration file if options for the active configuration level (2) are provided via command line.</li>
    865 </ul>
    866 
    867 
    868 <p><h4 id="introExamples">1.6.1 Examples</h4></p>
    869 <p>
    870 BNC comes with a number of configuration examples which can be used on all operating systems.
    871 Copy the complete directory 'Example_Configs' which comes with the software to your disc. It includes sub-directories
    872 'Input' and 'Output'. There are several ways to start BNC using one of the example configurations:
    873 </p>
    874 <ul>
    875   <li>On graphical systems (except for Mac systems), you may use the computer mouse to 'drag' a configuration file icon and 'drop' it on top of BNC's program icon.</li>
    876   <li>You could also start BNC using a command line for naming a specific configuration file (suggested e.g. for Mac systems):<br>
     1949    <li>A specific BNC configuration can be started in 'no window' mode from scratch without a configuration file if
     1950      options for the active configuration level (2) are provided via command line.</li>
     1951  </ul>
     1952
     1953
     1954  <p>
     1955  <h4 id="introExamples">1.6.1 Examples</h4>
     1956  </p>
     1957  <p>
     1958    BNC comes with a number of configuration examples which can be used on all operating systems.
     1959    Copy the complete directory 'Example_Configs' which comes with the software to your disc. It includes
     1960    sub-directories
     1961    'Input' and 'Output'. There are several ways to start BNC using one of the example configurations:
     1962  </p>
     1963  <ul>
     1964    <li>On graphical systems (except for Mac systems), you may use the computer mouse to 'drag' a configuration file
     1965      icon and 'drop' it on top of BNC's program icon.</li>
     1966    <li>You could also start BNC using a command line for naming a specific configuration file (suggested e.g. for Mac
     1967      systems):<br>
    8771968      /Applications/bnc.app/Contents/MacOS/bnc --conf &lt;configFileName&gt;</li>
    878   <li>On non-graphical systems or when running BNC in batch mode in the background you may start the program using a command line
    879   with a configuration file option in '<u>n</u>o <u>w</u>indow' mode (example for Windows systems):<br>
     1969    <li>On non-graphical systems or when running BNC in batch mode in the background you may start the program using a
     1970      command line
     1971      with a configuration file option in '<u>n</u>o <u>w</u>indow' mode (example for Windows systems):<br>
    8801972      bnc.exe --conf &lt;configFileName&gt; --nw</li>
    881 </ul>
    882 <p>
    883 Although it's not a must, we suggest that you always create BNC configuration files with filename extension '.bnc'.
    884 </p>
    885 
    886 <p>
    887 We furthermore suggest for convenience reasons that you configure your system to automatically start BNC when you
    888 double-click a file with the filename extension '.bnc'. The following describes what to do on MS Windows systems to associate
    889 the BNC program to such configuration files:
    890 </p>
    891 
    892 <ol type="1">
    893   <li>Right-click a file that has the extension '.bnc' and then click 'Open'. If the 'Open' command is not available, click 'Open With' or double-click the file.</li>
    894   <li>Windows displays a dialog box that says that the system cannot open this file. The dialog box offers several options for selecting a program.</li>
    895   <li>Click 'Select the program from a list', and then click 'OK'.</li>
    896   <li>The 'Open With' dialog box is displayed. Click 'Browse', locate and then click the BNC program, and then click 'Open'.</li>
    897   <li>Click to select the 'Always use the selected program to open this kind of file' check box.</li>
    898   <li>Click 'OK'.</li>
    899 </ol>
    900 
    901 <p>
    902 Some of the presented example configurations contain a user ID 'Example' with a password 'Configs' for accessing a few
    903  GNSS streams from public Ntrip Broadcasters. This free generic account is arranged for convenience reasons only.
    904  Please be so kind as to replace the generic account details as well as the place holder's 'User' and 'Pass' by the
    905  personal user ID and password you receive following an online registration through <a href="http://register.rtcm-ntrip.org" target="_blank">http://register.rtcm-ntrip.org</a>.
    906 </p>
    907 
    908 <p>
    909   Note that the account for an Ntrip Broadcaster is usually limited to pulling a specified maximum number of streams at the same time.
    910   As running some of the example configurations requires pulling several streams, it is suggested to make sure that you do not exceed your account's limits.
    911 </p>
    912 
    913 <p>
    914 Make also sure that sub-directories 'Input' and 'Output' which are part of the example configurations exist on your system or adjust
    915 the affected example configuration options according to your needs.
    916 </p>
    917 
    918 <p>
    919 Some BNC options require Antenna Phase Center variations as made available from IGS through so-called ANTEX files
    920 at <a href="https://files.igs.org/pub/station/general/igs20.atx" target="_blank">https://files.igs.org/pub/station/general/igs20.atx</a>.
    921 An example ANTEX file 'igs20.atx' is part of the BNC package for convenience.
    922 </p>
    923 
    924 <p>
    925 The example configurations assume that no proxy protects your BNC host. Should a proxy be operated in front of BNC then
    926 you need to introduce its name or IP and port number in the 'Network' panel.
    927 </p>
    928 
    929 <p>
    930 <b>(A) Working with Configuration Files</b><br><br>
    931 You should be able to run all configuration file examples without changing contained options. However, configuration
    932 'Upload.bnc' is an exception because it requires an input stream from a connected network engine.
    933 </p>
    934 
    935 <ol type="1">
    936 <li> Configuration File 'RinexObs.bnc'<br>
    937 Purpose: Convert RTCM streams to RINEX Observation files.
    938 The configuration pulls RTCM Version 3 streams from Ntrip Broadcasters using
    939 Ntrip Version 2 to generate 15min 1Hz RINEX Version 4 Observation files.
    940 See <a href="https://igs.bkg.bund.de/ntrip/#rtcm-obs" target="_blank">https://igs.bkg.bund.de/ntrip/#rtcm-obs</a>
    941 for observation stream resources.
    942 </li>
    943 
    944 <li>Configuration File 'RinexEph.bnc'<br>
    945 Purpose: Convert a RTCM stream with navigation messages to RINEX Navigation
    946 files. The configuration pulls a RTCM Version 3 stream with Broadcast Ephemeris
    947 coming from the real-time EUREF and IGS networks and saves hourly RINEX Version
    948 4 Navigation files. See <a href="https://igs.bkg.bund.de/ntrip/#rtcm-eph" target="_blank">https://igs.bkg.bund.de/ntrip/#rtcm-eph</a>
    949 for further real-time Broadcast Ephemeris resources.
    950 </li>
    951 
    952 <li>Configuration File 'BrdcCorr.bnc'<br>
    953 Purpose: Save Broadcast Corrections from RTCM SSR messages in hourly plain
    954 ASCII files. See <a href="https://igs.bkg.bund.de/ntrip/#rtcm-corr" target="_blank">https://igs.bkg.bund.de/ntrip/#rtcm-corr</a>
    955 for various real-time IGS or EUREF orbit/clock correction products.
    956 </li>
    957 
    958 <li>Configuration File 'RinexConcat.bnc'<br>
    959 Purpose: Concatenate several RINEX Version 3 files to produce one compiled file
    960 and edit the marker name in the file header. The sampling interval is set to 30
    961 seconds. See section 'RINEX Editing & QC' in the documentation for examples on
    962 how to call BNC from command line in 'no window' mode for RINEX file editing,
    963 concatenation and quality check.
    964 </li>
    965 
    966 <li>Configuration File 'RinexQC.bnc'<br>
    967 Purpose: Check the quality of a RINEX Version 4 file by means of a multipath
    968 analysis. Results are saved on disk in terms of a plot in PNG format. See
    969 section 'RINEX Editing & QC' in the documentation for examples on how to call
    970 BNC from command line in 'no window' mode for RINEX file editing, concatenation
    971 and quality check.
    972 </li>
    973 
    974 <li>Configuration File 'RTK.bnc'<br>
    975 Purpose: Feed a serial connected receiver with observations from a nearby
    976 reference station for conventional RTK. The stream is scanned for RTCM
    977 messages. Message type numbers and latencies of incoming observations are
    978 reported in BNC's logfile.
    979 </li>
    980 
    981 <li>Configuration File 'FeedEngine.bnc'<br>
    982 Purpose: Feed a real-time GNSS engine with observations from remote reference
    983 stations. The configuration pulls a single stream from an Ntrip Broadcaster.
    984 You could also pull several streams from different casters. Incoming
    985 observations are decoded, synchronized, output through a local IP port and also
    986 saved into a file. Failure and recovery thresholds are specified to inform
    987 about outages.
    988 </li>
    989 
    990 <li>Configuration File 'PPP.bnc'<br>
    991 Purpose: Precise Point Positioning from observations of a rover receiver. The
    992 configuration reads RTCM Version 3 observations, a Broadcast Ephemeris stream
    993 and a stream with Broadcast Corrections. Positions are saved in the logfile.
    994 More detailed PPP results are saved in the PPP logfile.
    995 </li>
    996 
    997 <li>Configuration File 'PPPNet.bnc'<br>
    998 Purpose: Precise Point Positioning for several rovers or receivers from an
    999 entire network of reference stations in one BNC job. The possible maximum
    1000 number of PPP solutions per job depends on the processing power of the hosting
    1001 computer. This example configuration reads two RTCM Version 3 observation
    1002 streams, a Broadcast Ephemeris stream and a stream with Broadcast Corrections.
    1003 Detailed PPP Results for the two stations are saved in PPP logfiles.
    1004 </li>
    1005 
    1006 <li>Configuration File 'PPPQuickStart.bnc'<br>
    1007 Purpose: Precise Point Positioning in Quick-Start mode from observations of a
    1008 static receiver with precisely known position. The configuration reads RTCM
    1009 Version 3 observations, Broadcast Corrections and a Broadcast Ephemeris stream.
    1010 Positions are saved in NMEA format on disc. They are also output through IP
    1011 port for real-time visualization with tools like RTKPLOT. Positions are saved
    1012 in the logfile.
    1013 </li>
    1014 
    1015 <li>Configuration File 'PPPPostProc.bnc'<br>
    1016 Purpose: Precise Point Positioning in post processing mode. BNC reads RINEX
    1017 Version 3 Observation and Navigation files and a Broadcast Correction file.
    1018 Optionally, an Ionosphere file containing VTEC informations can be used. If such
    1019 a file is not specified, VTEC informations from the Broadcast Corrections file
    1020 are used. PPP processing options are set to support the Quick-Start mode.
    1021 The output is saved in a specific post processing logfile and contains
    1022 coordinates derived over time following the implemented PPP filter algorithm.
    1023 </li>
    1024 
    1025 <li>Configuration File 'PPPOsm.bnc'<br>
    1026 Purpose: Track BNC's point positioning solutions using OpenStreetMap as background.
    1027 BNC reads a RINEX Observation file and a RINEX Navigation file to carry out
    1028 a 'Standard Point Positioning' solution in post processing mode.
    1029 Although this is not a real-time application it requires the BNC host to be
    1030 connected to the Internet. Specify a computation speed, then hit button 'Open Map'
    1031 to open the track map, then hit 'Start' to visualize receiver positions on top
    1032 of OSM maps.
    1033 </li>
    1034 
    1035 <li>Configuration File 'PPPGalHAS.bnc'<br>
    1036 Purpose: Precise Point Positioning in Quick-Start mode with SSR corrections
    1037 from the Galileo HAS Internet Data Distribution (IDD) interface with observations
    1038 of a static receiver with quite precisely known position.
    1039 Because the Galileo HAS provides Code Biases and corrections for satellite orbits
    1040 and clocks for GPS and Galileo, the configuration uses GPS and Galileo
    1041 navigation data only.
    1042 Access to the Galileo HAS Internet Data Distribution is available by registration:
    1043 <a href="https://www.gsc-europa.eu/galileo/services/galileo-high-accuracy-service-has/internet-data-distribution-registration-form"
    1044 target="_blank">https://www.gsc-europa.eu/galileo/services/galileo-high-accuracy-service-has/internet-data-distribution-registration-form</a>
    1045 
    1046 Purpose: Single Point Positioning in Quick-Start mode from observations of a
    1047 static receiver with quite precisely known position. The configuration uses
    1048 Galileo observations only and a Broadcast Ephemeris stream.
    1049 </li>
    1050 
    1051 <li>Configuration File 'SaveSp3.bnc'<br>
    1052 Purpose: Produces SP3 files from a Broadcast Ephemeris stream and a Broadcast
    1053 Correction stream. The Broadcast Correction stream is formally introduced in
    1054 BNC's 'Combine Corrections' table. Note that producing SP3 requires an ANTEX
    1055 file because SP3 file content should be referred to CoM..
    1056 </li>
    1057 
    1058 <li>Configuration File 'Sp3ETRF2000PPP.bnc'<br>
    1059 Purpose: Produce SP3 files from a Broadcast Ephemeris stream and a stream
    1060 carrying ETRF2000 Broadcast Corrections. The Broadcast Correction stream is
    1061 formally introduced in BNC's 'Combine Corrections' table. The configuration
    1062 leads to a SP3 file containing orbits also referred to ETRF2000. Pulling in
    1063 addition observations from a reference station at precisely known ETRF2000
    1064 position allows comparing an 'INTERNAL' PPP solution with a known ETRF2000
    1065 reference coordinate.
    1066 </li>
    1067 
    1068 <li>Configuration File 'Upload.bnc'<br>
    1069 Purpose: Upload orbits and clocks from a real-time GNSS engine to an Ntrip
    1070 Broadcaster. For that the configuration reads precise orbits and clocks in
    1071 RTNET format. It also reads a stream carrying Broadcast Ephemeris. BNC converts
    1072 the orbits and clocks into Broadcast Corrections and encodes them to
    1073 IGS-SSR messages to finally upload them to an Ntrip Broadcaster. The
    1074 Broadcast Correction stream is referred to satellite Antenna Phase Center (APC)
    1075 and reference system IGS20. Orbits are saved on disk in SP3 format and clocks
    1076 are saved in Clock RINEX format.
    1077 </li>
    1078 
    1079 <li>Configuration File 'Combi.bnc'<br>
    1080 Purpose: Pull 2 streams carrying Broadcast Corrections, and Satellite Code Biases
    1081 together with Broadcast Ephemeris from an Ntrip Broadcaster
    1082 to produce a combined Broadcast Correction stream.
    1083 BNC encodes the combination product in IGS-SSR messages and uploads them to
    1084 an Ntrip Broadcaster. The Broadcast Correction stream is referred to
    1085 satellite Antenna Phase Center (APC) and not to satellite Center of
    1086 Mass (CoM). Its reference system is IGS20. Orbits are saved in SP3 format
    1087 (referred to CoM) and clocks in Clock RINEX format.
    1088 </li>
    1089 
    1090 <li>Configuration File 'CombiPPP.bnc'<br>
    1091 Purpose: This configuration equals the 'Combi.bnc' configuration. However, the
    1092 combined Broadcast Corrections are in addition used for an 'INTERNAL' PPP
    1093 solutions based on observations from a static reference station with known
    1094 precise coordinates. This allows a continuous quality check of the combination
    1095 product through observing coordinate displacements.
    1096 </li>
    1097 
    1098 <li>Configuration File 'UploadEph.bnc'<br>
    1099 Purpose: Pull a number of streams from reference stations to get the
    1100 contained Broadcast Ephemeris messages. They are encoded to RTCM Version 3
    1101 format and uploaded for the purpose of providing a Broadcast Ephemeris stream
    1102 with an update rate of 5 seconds.
    1103 </li>
    1104 
    1105 <li>Configuration File 'UploadRaw.bnc'<br>
    1106 Purpose: Forward the stream contents of the incoming stream BCEP00BKG0
    1107 from products.igs-ip.net to another caster.
    1108 </li>
    1109 
    1110 <li>Configuration File 'CompareSp3.bnc'<br>
    1111 Purpose: Compare two SP3 files to calculate RMS values for orbit and clock
    1112 differences. GPS satellite G05 and GLONASS satellite R18 are excluded from this
    1113 comparison. Comparison results are saved in a logfile.
    1114 </li>
    1115 
    1116 <li>Configuration File 'Empty.bnc'<br>
    1117 Purpose: Provide an empty example configuration file for BNC which only
    1118 contains the default settings.
    1119 </li>
    1120 
    1121 <li value="29"> Configuration File '29_PPPAR_CNES.bnc'<br>
    1122 Purpose: Precise Point Positioning with ambiguity resolution using an raw input file.
    1123 Call: bnc --conf  29_PPPAR_CNES.bnc --file WTZR_CNES_20251117.raw
    1124 The configuration reads RTCM Version 3 observations, a Broadcast Ephemeris stream
    1125 and a stream with SSR Corrections enabling PPP-AR. Positions are saved in the logfile.
    1126 More detailed PPP results are saved in the PPP logfile.
    1127 
    1128 <li value="30"> Configuration File '30_PPPAR_WHU.bnc'<br>
    1129 Purpose: Precise Point Positioning with ambiguity resolution using an raw input file.
    1130 Call: bnc --conf 30_PPPAR_WHU.bnc --file  WTZR_WHU_20251129.raw
    1131 The configuration reads RTCM Version 3 observations, a Broadcast Ephemeris stream
    1132 and a stream with SSR Corrections enabling PPP-AR. Positions are saved in the logfile.
    1133 More detailed PPP results are saved in the PPP logfile.
    1134 </li>
    1135 
    1136 </ol>
    1137 <b>(B) Working with Command Line configuration options</b><br><br>
    1138 The following configuration examples make use of BNC's 'Command Line Interface' (CLI). Configuration options are
    1139 exclusively specified via command line. No configuration file is used. Examples are provided as shell scripts
    1140 for a Linux system. They call BNC in 'no window' batch mode (command line option -nw). The scripts expect
    1141 'Example_Configs' to be the current working directory.
    1142 </li>
    1143 
    1144 <ol start="23">
    1145 <li>Shell Script 'RinexQC.sh'<br>
    1146 Purpose: Equals configuration file example 'RinexQC.bnc', checks the quality of
    1147 a RINEX Version 4 file by means of a multipath analysis. The platform offscreen
    1148 is used while producing plot files in PNG format. BNC is offline.
    1149 All results are saved on disk.
    1150 </li>
    1151 
    1152 <li>Shell Script 'RinexConcat.sh'<br>
    1153 Purpose: Equals configuration file example 'RinexConcat.bnc', concatenates
    1154 several RINEX Version 3 files to produce one compiled file and edit the marker
    1155 name in the file header. The sampling interval is set to 30 seconds. BNC is
    1156 offline.
    1157 </li>
    1158 
    1159 <li>Shell Script 'RinexEph.sh'<br>
    1160 Purpose: Equals configuration file example 'RinexEph.bnc', converts a RTCM
    1161 stream with navigation messages to RINEX Navigation files. The configuration
    1162 pulls a RTCM Version 3 stream with Broadcast Ephemeris coming from the
    1163 real-time EUREF and IGS networks and saves hourly RINEX Version 4 Navigation
    1164 files. BNC runs online until it's terminated after 10 seconds.
    1165 See <a href="https://igs.bkg.bund.de/ntrip/#rtcm-eph" target="_blank">https://igs.bkg.bund.de/ntrip/#rtcm-eph</a>
    1166 for further real-time Broadcast Ephemeris resources.
    1167 </li>
    1168 
    1169 <li>Shell Script 'ScanLate.sh'<br>
    1170 Purpose: Scan an observation stream for contained RTCM message types, print
    1171 observation latencies. The output is saved in a logfile. Latencies are
    1172 reported every 10 seconds. BNC runs online until it's terminated after 20
    1173 seconds.
    1174 </li>
    1175 
    1176 <li>Shell Script 'RinexObs.sh'<br>
    1177 Purpose: Equals configuration file example 'RinexObs.bnc', converts RTCM
    1178 streams to RINEX Observation files. The configuration pulls streams from two
    1179 Ntrip Broadcasters using Ntrip Version 2 to generate 15min 1Hz RINEX Version 4
    1180 Observation files.
    1181 See <a href="https://igs.bkg.bund.de/ntrip/#rtcm-obs" target="_blank">https://igs.bkg.bund.de/ntrip/#rtcm-obs</a>
    1182 for observation stream resources. BNC runs online until it's terminated after 30
    1183 seconds.
    1184 </li>
    1185 </ol>
    1186 
    1187 <b>(C) Command Line configuration options overwriting Configuration File options</b><br><br>
    1188 For specific applications you may like to use your own set of standard configuration options from a configuration file and update some of its content via command line. When using a configuration file together with command line configuration options in one BNC call, the command line configuration options will always overrule options contained in the configuration file.
    1189 
    1190 <ol start="28">
    1191 <li>Shell Script 'CompareSp3.sh'<br>
    1192 Purpose: Equals configuration file example 'CompareSp3.bnc', compares two SP3
    1193 files to calculate RMS values for orbit and clock differences. However, instead
    1194 of excluding GPS satellite G05 and GLONASS satellite R18 from the comparison as
    1195 specified in 'CompareSp3.bnc', GPS satellite G06 and all GLONASS satellites are
    1196 excluded via command line option. BNC runs offline. Comparison results are saved
    1197 in a logfile.
    1198 </li>
    1199 </ol>
    1200 </p>
    1201 
    1202 <p><h4 id="introLimit">1.7 Limitations</h4></p>
    1203 <ul>
    1204 <li>
    1205 In Qt-based desktop environments (like KDE) on Unix/Linux platforms it may happen that you experience a crash of BNC at startup
    1206 even when running the program in the background using the '-nw' option. This is a known bug most likely resulting
    1207 from an incompatibility of Qt libraries in the environment and in BNC. Entering the command 'unset SESSION_MANAGER'
    1208 before running BNC may help as a work-around.
    1209 </li>
    1210 
    1211 <li>
    1212 Using RTCM Version 3 to produce RINEX files, BNC will properly handle most message types. However, when handling message types 1001, 1003, 1009 and 1011 where the ambiguity field is not set, the output will be no valid RINEX. All values will be stored modulo 299792.458 (speed of light).
    1213 </li>
    1214 <li>
    1215 Using RTCM Version 2, BNC will only handle message types 18 and 19 or 20 and 21 together with position and the antenna offset information carried in types 3 and 22. Note that processing carrier phase corrections and pseudo-range corrections contained in message types 20 and 21 needs access to Broadcast Ephemeris. Hence, whenever dealing with message types 20 and 21, make sure that Broadcast Ephemeris become available for BNC through also retrieving at least one RTCM Version 3 stream carrying message types 1019 (GPS ephemeris) and 1020 (GLONASS ephemeris).
    1216 </li>
    1217 <li>
    1218 BNC's 'Get Table' function only shows the STR records of a source-table. You can use an Internet browser to download the full source-table content of any Ntrip Broadcaster by simply entering its URL in the form of <u>http://host:port</u>. Data field number 8 in the NET records may provide information about where to register for an Ntrip Broadcaster account.
    1219 </li>
    1220 <li>
    1221 EUREF as well as IGS adhere to an open data policy. Streams are made available through Ntrip Broadcasters at
    1222  <a href="http://euref-ip.net/home" target="_blank">http://euref-ip.net/home</a>,
    1223  <a href="http://igs-ip.net/home" target="_blank">http://igs-ip.net/home</a> and
    1224  <a href="http://products.igs-ip.net/home" target="_blank">http://products.igs-ip.net/home</a>
    1225  free of charge to anyone for any purpose. There is no indication up until now how many users will need to be supported simultaneously. The given situation may develop in such a way that it might become difficult to serve all registered users at the same times. In cases where limited resources on the Ntrip Broadcaster side (software restrictions, bandwidth limitation etc.) dictates, first priority in stream provision will be given to stream providers followed by re-broadcasting activities and real-time analysis centers while access to others might be temporarily denied.
    1226 </li>
    1227 <li>
    1228 Once BNC has been started, many of its configuration options cannot be changed as long as it is stopped. See chapter 'Reread Configuration' for on-the-fly configuration exceptions.
    1229 </li>
    1230 <li>
    1231 Drag and drop of configuration files is currently not supported on Mac OS X. On such system you have to start BNC via command line.
    1232 </li>
    1233 </ul>
    1234 
    1235 <p><h4 id="introLBack">Looking Back</h4></p>
    1236 <p>
    1237 A basic function of BNC is streaming GNSS data over the open Internet using the Ntrip transport protocol.
    1238 Employing IP streaming for satellite positioning goes back to the beginning of our century.
    1239 Wolfgang Rupprecht has been the first person who developed TCP/IP server software under the acronym of
    1240 DGPS-IP (Rupprecht 2000) and published it under GNU General Public License (GPL).
    1241 While connecting marine beacon receivers to PCs with permanent access to the Internet he
    1242 transmitted DGPS corrections in an RTCM format to support Differential GPS positioning over North America.
    1243  With approximately 200 bits/sec the bandwidth requirement for disseminating beacon data was comparatively small.
    1244  Each stream was transmitted over a unique combination of IP address and port.
    1245  Websites informed about existing streams and corresponding receiver positions.
    1246 </p>
    1247 <p>
    1248 To cope with an increasing number of transmitting GNSS reference stations, the Federal Agency for Cartography and Geodesy (BKG)
    1249 together with the Informatik Centrum Dortmund (ICD) in Germany developed a streaming protocol for satellite navigation data called
    1250 'Networked Transport of RTCM via Internet Protocol' (Ntrip). The protocol was built on top of the HTTP standard and included the
    1251 provision of meta data describing the stream content. Any stream could now be globally transmitted over just one IP port: HTTP port 80.
    1252 Stream availability and content details became part of the transport protocol. The concept was first published in 2003
    1253 (Weber and Honkala 2004, Weber et al. 2005a) and was based on three software components, namely an NtripServer pushing data from
    1254 a reference station to an NtripCaster and an NtripClient pulling data from the stream splitting caster to support a rover receiver.
    1255 (Note that from a socket-programmers perspective NtripServer and NtripClient both act as clients; only the NtripCaster operates as socket-server.)
    1256 Ntrip could essentially benefit from Internet Radio developments. It was the ICECAST multimedia server, which provided the bases
    1257 for BKG's 'Professional Ntrip Broadcaster' with software published first in 2003 and of course again as Open Source under GPL.
    1258 </p>
    1259 <p>
    1260 For BKG as a governmental agency, making Ntrip an Open Industry Standard has been an objective from the very beginning.
    1261 The 'Radio Technical Commission for Maritime Services' (RTCM) accepted 'Ntrip Version 1' in 2004 as 'RTCM Recommended Standard' (Weber et al. 2005b).
    1262 Nowadays there is almost no geodetic GNSS receiver which does not come with integrated NtripClient and NtripServer functionality as part of the firmware.
    1263 Hundreds of NtripCaster implementations are operated world-wide for highly accurate satellite navigation through RTK networks.
    1264 Thousands of reference stations upload observations via NtripServer to central computing facilities for any kind of NtripClient application.
    1265 In 2011 'Ntrip Version 2' was released (RTCM SC-104 2011) which cleared and fixed some design problems and HTTP protocol violations.
    1266 It also supports TCP/IP via SSL and adds optional communication over RTSP/RTP and UDP.
    1267 </p>
    1268 <p>
    1269 With the advent of Ntrip as an open streaming standard, BKG's interest turned towards taking advantage from free
    1270 real-time access to GNSS observations. International Associations such as the IAG Reference Frame Sub Commissions
    1271 for Africa (AFREF), Asia & Pacific (APREF), Europe (EUREF), North America (NAREF) Latin America & Caribbean (SIRGAS),
    1272 and the International GNSS Service (IGS) maintain continental or even global GNSS networks with the majority of modern
    1273 receivers supporting Ntrip stream upload. Through operating BKG's NtripCaster software, these networks became extremely
    1274 valuable sources of real-time GNSS information.  In 2005, this was the starting point for developing the
    1275 'BKG Ntrip Client' (BNC) as a multi-stream Open Source NtripClient that allows pulling hundreds of streams
    1276 simultaneously from any number of NtripCaster installations world-wide. Decoding incoming RTCM streams and output
    1277 observations epoch by epoch via IP port to feed a real-time GNSS network engine became BNC's first and foremost
    1278 ability (Weber and Mervart 2009). Converting decoded streams to short high-rate RINEX files to assist near real-time
    1279 applications became a welcome by-product right from the start of this development.
    1280 </p>
    1281 <p>
    1282 Adding real-time Precise Point Positioning (PPP) support to BNC began in 2010 as an important completion in view of developing an
    1283 Open RTCM Standard for that. According to the State Space Representation (SSR) model, new Version 3 messages are proposed to provide e.g.
    1284 satellite orbit and clock corrections and ionospheric corrections as well as biases for code and phase data.
    1285 The ultimate goal for SSR standardization is to reach centimeter level accuracy within seconds as an alternative to Network RTK methods
    1286 such as VRS, FKP, and MAC. Because of interoperability aspects, an Open Standard in this area is of particular interest for clients.
    1287 Regarding stand-alone PPP in BNC, it is worth mentioning that the program is not and can never be in competition with a receiver
    1288 manufacturer's proprietary solution. Only software or services that are part of a receiver firmware could have the potential of
    1289 becoming a thread for commercial interests. However, implementing or not implementing an Open PPP approach in a firmware is and
    1290 will always remain a manufacturer's decision.
    1291 </p>
    1292 <p>
    1293 Implementing some post processing capability is essential for debugging real-time software in case of problems.
    1294 So certain real-time options in BNC were complemented to work offline through reading data from files.
    1295 Moreover, beginning in 2012, the software was extended to support Galileo, BeiDou, and QZSS besides GPS and GLONASS.
    1296 With that, the Open Source tool BNC could be used for RINEX Version 3 file editing, concatenation and quality checks,
    1297  a post processing functionality demanded by the IGS Multi-GNSS Experiment and not really covered at that time by
    1298  UNAVCO's famous TEQC program with its limitation on GPS.
    1299 </p>
    1300 
    1301 <p>
    1302 The well-established, mature codebase is mostly written in C++ language.
    1303 Its publication under GNU GPL is thought to be well-suited for test, validation and demonstration of new
    1304 approaches in precise real-time satellite navigation when IP streaming is involved. Commissioned by a
    1305 German governmental agency, the overall intention has been to push the development of RTCM Recommended Standards
    1306 to the benefit of IAG institutions and services such as IGS and the interested public in general.
    1307 </p>
    1308 
    1309 <p><h3 id="optsettings">2. Settings Details</h3></p>
    1310 <p>
    1311 The general documentation approach is to create a separate chapter for each processing option in a sequence which follows the layout of
    1312 BNC's Graphical User Interface (GUI). The advantage is that searching for help by means of the document's Table of Contents (TOC) is
    1313 quite convenient. A rather comprehensive number of TOC entries is the accepted downside of this approach.
    1314 </p>
    1315 <p>
    1316 The following chapters describe how to set BNC program options. They explain the 'Top Menu Bar', the 'Settings Canvas' with the
    1317 processing options, the content of the 'Streams Canvas' and 'Logging Canvas', and the 'Bottom Menu Bar'.
    1318 </p>
    1319 
    1320 <p><h4 id="topmenu">2.1 Top Menu Bar</h4></p>
    1321 <p>
    1322 The top menu bar allows selecting a font for the BNC windows, save configured options, or quit the program execution.
    1323 It also provides access to the program's documentation.
    1324 </p>
    1325 
    1326 <p><h4 id="file">2.1.1 File</h4></p>
    1327 
    1328 <p>
    1329 The 'File' button lets you
    1330 </p>
    1331 <ul>
    1332   <li>Select an appropriate font.<br>
     1973  </ul>
     1974  <p>
     1975    Although it's not a must, we suggest that you always create BNC configuration files with filename extension '.bnc'.
     1976  </p>
     1977
     1978  <p>
     1979    We furthermore suggest for convenience reasons that you configure your system to automatically start BNC when you
     1980    double-click a file with the filename extension '.bnc'. The following describes what to do on MS Windows systems to
     1981    associate
     1982    the BNC program to such configuration files:
     1983  </p>
     1984
     1985  <ol type="1">
     1986    <li>Right-click a file that has the extension '.bnc' and then click 'Open'. If the 'Open' command is not available,
     1987      click 'Open With' or double-click the file.</li>
     1988    <li>Windows displays a dialog box that says that the system cannot open this file. The dialog box offers several
     1989      options for selecting a program.</li>
     1990    <li>Click 'Select the program from a list', and then click 'OK'.</li>
     1991    <li>The 'Open With' dialog box is displayed. Click 'Browse', locate and then click the BNC program, and then click
     1992      'Open'.</li>
     1993    <li>Click to select the 'Always use the selected program to open this kind of file' check box.</li>
     1994    <li>Click 'OK'.</li>
     1995  </ol>
     1996
     1997  <p>
     1998    Some of the presented example configurations contain a user ID 'Example' with a password 'Configs' for accessing a
     1999    few
     2000    GNSS streams from public Ntrip Broadcasters. This free generic account is arranged for convenience reasons only.
     2001    Please be so kind as to replace the generic account details as well as the place holder's 'User' and 'Pass' by the
     2002    personal user ID and password you receive following an online registration through <a
     2003      href="http://register.rtcm-ntrip.org" target="_blank">http://register.rtcm-ntrip.org</a>.
     2004  </p>
     2005
     2006  <p>
     2007    Note that the account for an Ntrip Broadcaster is usually limited to pulling a specified maximum number of streams
     2008    at the same time.
     2009    As running some of the example configurations requires pulling several streams, it is suggested to make sure that
     2010    you do not exceed your account's limits.
     2011  </p>
     2012
     2013  <p>
     2014    Make also sure that sub-directories 'Input' and 'Output' which are part of the example configurations exist on your
     2015    system or adjust
     2016    the affected example configuration options according to your needs.
     2017  </p>
     2018
     2019  <p>
     2020    Some BNC options require Antenna Phase Center variations as made available from IGS through so-called ANTEX files
     2021    at <a href="https://files.igs.org/pub/station/general/igs20.atx"
     2022      target="_blank">https://files.igs.org/pub/station/general/igs20.atx</a>.
     2023    An example ANTEX file 'igs20.atx' is part of the BNC package for convenience.
     2024  </p>
     2025
     2026  <p>
     2027    The example configurations assume that no proxy protects your BNC host. Should a proxy be operated in front of BNC
     2028    then
     2029    you need to introduce its name or IP and port number in the 'Network' panel.
     2030  </p>
     2031
     2032  <p>
     2033    <b>(A) Working with Configuration Files</b><br><br>
     2034    You should be able to run all configuration file examples without changing contained options. However, configuration
     2035    'Upload.bnc' is an exception because it requires an input stream from a connected network engine.
     2036  </p>
     2037
     2038  <ol type="1">
     2039    <li> Configuration File 'RinexObs.bnc'<br>
     2040      Purpose: Convert RTCM streams to RINEX Observation files.
     2041      The configuration pulls RTCM Version 3 streams from Ntrip Broadcasters using
     2042      Ntrip Version 2 to generate 15min 1Hz RINEX Version 4 Observation files.
     2043      See <a href="https://igs.bkg.bund.de/ntrip/#rtcm-obs" target="_blank">https://igs.bkg.bund.de/ntrip/#rtcm-obs</a>
     2044      for observation stream resources.
     2045    </li>
     2046
     2047    <li>Configuration File 'RinexEph.bnc'<br>
     2048      Purpose: Convert a RTCM stream with navigation messages to RINEX Navigation
     2049      files. The configuration pulls a RTCM Version 3 stream with Broadcast Ephemeris
     2050      coming from the real-time EUREF and IGS networks and saves hourly RINEX Version
     2051      4 Navigation files. See <a href="https://igs.bkg.bund.de/ntrip/#rtcm-eph"
     2052        target="_blank">https://igs.bkg.bund.de/ntrip/#rtcm-eph</a>
     2053      for further real-time Broadcast Ephemeris resources.
     2054    </li>
     2055
     2056    <li>Configuration File 'BrdcCorr.bnc'<br>
     2057      Purpose: Save Broadcast Corrections from RTCM SSR messages in hourly plain
     2058      ASCII files. See <a href="https://igs.bkg.bund.de/ntrip/#rtcm-corr"
     2059        target="_blank">https://igs.bkg.bund.de/ntrip/#rtcm-corr</a>
     2060      for various real-time IGS or EUREF orbit/clock correction products.
     2061    </li>
     2062
     2063    <li>Configuration File 'RinexConcat.bnc'<br>
     2064      Purpose: Concatenate several RINEX Version 3 files to produce one compiled file
     2065      and edit the marker name in the file header. The sampling interval is set to 30
     2066      seconds. See section 'RINEX Editing & QC' in the documentation for examples on
     2067      how to call BNC from command line in 'no window' mode for RINEX file editing,
     2068      concatenation and quality check.
     2069    </li>
     2070
     2071    <li>Configuration File 'RinexQC.bnc'<br>
     2072      Purpose: Check the quality of a RINEX Version 4 file by means of a multipath
     2073      analysis. Results are saved on disk in terms of a plot in PNG format. See
     2074      section 'RINEX Editing & QC' in the documentation for examples on how to call
     2075      BNC from command line in 'no window' mode for RINEX file editing, concatenation
     2076      and quality check.
     2077    </li>
     2078
     2079    <li>Configuration File 'RTK.bnc'<br>
     2080      Purpose: Feed a serial connected receiver with observations from a nearby
     2081      reference station for conventional RTK. The stream is scanned for RTCM
     2082      messages. Message type numbers and latencies of incoming observations are
     2083      reported in BNC's logfile.
     2084    </li>
     2085
     2086    <li>Configuration File 'FeedEngine.bnc'<br>
     2087      Purpose: Feed a real-time GNSS engine with observations from remote reference
     2088      stations. The configuration pulls a single stream from an Ntrip Broadcaster.
     2089      You could also pull several streams from different casters. Incoming
     2090      observations are decoded, synchronized, output through a local IP port and also
     2091      saved into a file. Failure and recovery thresholds are specified to inform
     2092      about outages.
     2093    </li>
     2094
     2095    <li>Configuration File 'PPP.bnc'<br>
     2096      Purpose: Precise Point Positioning from observations of a rover receiver. The
     2097      configuration reads RTCM Version 3 observations, a Broadcast Ephemeris stream
     2098      and a stream with Broadcast Corrections. Positions are saved in the logfile.
     2099      More detailed PPP results are saved in the PPP logfile.
     2100    </li>
     2101
     2102    <li>Configuration File 'PPPNet.bnc'<br>
     2103      Purpose: Precise Point Positioning for several rovers or receivers from an
     2104      entire network of reference stations in one BNC job. The possible maximum
     2105      number of PPP solutions per job depends on the processing power of the hosting
     2106      computer. This example configuration reads two RTCM Version 3 observation
     2107      streams, a Broadcast Ephemeris stream and a stream with Broadcast Corrections.
     2108      Detailed PPP Results for the two stations are saved in PPP logfiles.
     2109    </li>
     2110
     2111    <li>Configuration File 'PPPQuickStart.bnc'<br>
     2112      Purpose: Precise Point Positioning in Quick-Start mode from observations of a
     2113      static receiver with precisely known position. The configuration reads RTCM
     2114      Version 3 observations, Broadcast Corrections and a Broadcast Ephemeris stream.
     2115      Positions are saved in NMEA format on disc. They are also output through IP
     2116      port for real-time visualization with tools like RTKPLOT. Positions are saved
     2117      in the logfile.
     2118    </li>
     2119
     2120    <li>Configuration File 'PPPPostProc.bnc'<br>
     2121      Purpose: Precise Point Positioning in post processing mode. BNC reads RINEX
     2122      Version 3 Observation and Navigation files and a Broadcast Correction file.
     2123      Optionally, an Ionosphere file containing VTEC informations can be used. If such
     2124      a file is not specified, VTEC informations from the Broadcast Corrections file
     2125      are used. PPP processing options are set to support the Quick-Start mode.
     2126      The output is saved in a specific post processing logfile and contains
     2127      coordinates derived over time following the implemented PPP filter algorithm.
     2128    </li>
     2129
     2130    <li>Configuration File 'PPPOsm.bnc'<br>
     2131      Purpose: Track BNC's point positioning solutions using OpenStreetMap as background.
     2132      BNC reads a RINEX Observation file and a RINEX Navigation file to carry out
     2133      a 'Standard Point Positioning' solution in post processing mode.
     2134      Although this is not a real-time application it requires the BNC host to be
     2135      connected to the Internet. Specify a computation speed, then hit button 'Open Map'
     2136      to open the track map, then hit 'Start' to visualize receiver positions on top
     2137      of OSM maps.
     2138    </li>
     2139
     2140    <li>Configuration File 'PPPGalHAS.bnc'<br>
     2141      Purpose: Precise Point Positioning in Quick-Start mode with SSR corrections
     2142      from the Galileo HAS Internet Data Distribution (IDD) interface with observations
     2143      of a static receiver with quite precisely known position.
     2144      Because the Galileo HAS provides Code Biases and corrections for satellite orbits
     2145      and clocks for GPS and Galileo, the configuration uses GPS and Galileo
     2146      navigation data only.
     2147      Access to the Galileo HAS Internet Data Distribution is available by registration:
     2148      <a href="https://www.gsc-europa.eu/galileo/services/galileo-high-accuracy-service-has/internet-data-distribution-registration-form"
     2149        target="_blank">https://www.gsc-europa.eu/galileo/services/galileo-high-accuracy-service-has/internet-data-distribution-registration-form</a>
     2150
     2151      Purpose: Single Point Positioning in Quick-Start mode from observations of a
     2152      static receiver with quite precisely known position. The configuration uses
     2153      Galileo observations only and a Broadcast Ephemeris stream.
     2154    </li>
     2155
     2156    <li>Configuration File 'SaveSp3.bnc'<br>
     2157      Purpose: Produces SP3 files from a Broadcast Ephemeris stream and a Broadcast
     2158      Correction stream. The Broadcast Correction stream is formally introduced in
     2159      BNC's 'Combine Corrections' table. Note that producing SP3 requires an ANTEX
     2160      file because SP3 file content should be referred to CoM..
     2161    </li>
     2162
     2163    <li>Configuration File 'Sp3ETRF2000PPP.bnc'<br>
     2164      Purpose: Produce SP3 files from a Broadcast Ephemeris stream and a stream
     2165      carrying ETRF2000 Broadcast Corrections. The Broadcast Correction stream is
     2166      formally introduced in BNC's 'Combine Corrections' table. The configuration
     2167      leads to a SP3 file containing orbits also referred to ETRF2000. Pulling in
     2168      addition observations from a reference station at precisely known ETRF2000
     2169      position allows comparing an 'INTERNAL' PPP solution with a known ETRF2000
     2170      reference coordinate.
     2171    </li>
     2172
     2173    <li>Configuration File 'Upload.bnc'<br>
     2174      Purpose: Upload orbits and clocks from a real-time GNSS engine to an Ntrip
     2175      Broadcaster. For that the configuration reads precise orbits and clocks in
     2176      RTNET format. It also reads a stream carrying Broadcast Ephemeris. BNC converts
     2177      the orbits and clocks into Broadcast Corrections and encodes them to
     2178      IGS-SSR messages to finally upload them to an Ntrip Broadcaster. The
     2179      Broadcast Correction stream is referred to satellite Antenna Phase Center (APC)
     2180      and reference system IGS20. Orbits are saved on disk in SP3 format and clocks
     2181      are saved in Clock RINEX format.
     2182    </li>
     2183
     2184    <li>Configuration File 'Combi.bnc'<br>
     2185      Purpose: Pull 2 streams carrying Broadcast Corrections, and Satellite Code Biases
     2186      together with Broadcast Ephemeris from an Ntrip Broadcaster
     2187      to produce a combined Broadcast Correction stream.
     2188      BNC encodes the combination product in IGS-SSR messages and uploads them to
     2189      an Ntrip Broadcaster. The Broadcast Correction stream is referred to
     2190      satellite Antenna Phase Center (APC) and not to satellite Center of
     2191      Mass (CoM). Its reference system is IGS20. Orbits are saved in SP3 format
     2192      (referred to CoM) and clocks in Clock RINEX format.
     2193    </li>
     2194
     2195    <li>Configuration File 'CombiPPP.bnc'<br>
     2196      Purpose: This configuration equals the 'Combi.bnc' configuration. However, the
     2197      combined Broadcast Corrections are in addition used for an 'INTERNAL' PPP
     2198      solutions based on observations from a static reference station with known
     2199      precise coordinates. This allows a continuous quality check of the combination
     2200      product through observing coordinate displacements.
     2201    </li>
     2202
     2203    <li>Configuration File 'UploadEph.bnc'<br>
     2204      Purpose: Pull a number of streams from reference stations to get the
     2205      contained Broadcast Ephemeris messages. They are encoded to RTCM Version 3
     2206      format and uploaded for the purpose of providing a Broadcast Ephemeris stream
     2207      with an update rate of 5 seconds.
     2208    </li>
     2209
     2210    <li>Configuration File 'UploadRaw.bnc'<br>
     2211      Purpose: Forward the stream contents of the incoming stream BCEP00BKG0
     2212      from products.igs-ip.net to another caster.
     2213    </li>
     2214
     2215    <li>Configuration File 'CompareSp3.bnc'<br>
     2216      Purpose: Compare two SP3 files to calculate RMS values for orbit and clock
     2217      differences. GPS satellite G05 and GLONASS satellite R18 are excluded from this
     2218      comparison. Comparison results are saved in a logfile.
     2219    </li>
     2220
     2221    <li>Configuration File 'Empty.bnc'<br>
     2222      Purpose: Provide an empty example configuration file for BNC which only
     2223      contains the default settings.
     2224    </li>
     2225
     2226    <li value="29"> Configuration File '29_PPPAR_CNES.bnc'<br>
     2227      Purpose: Precise Point Positioning with ambiguity resolution using an raw input file.
     2228      Call: bnc --conf 29_PPPAR_CNES.bnc --file WTZR_CNES_20251117.raw
     2229      The configuration reads RTCM Version 3 observations, a Broadcast Ephemeris stream
     2230      and a stream with SSR Corrections enabling PPP-AR. Positions are saved in the logfile.
     2231      More detailed PPP results are saved in the PPP logfile.
     2232
     2233    <li value="30"> Configuration File '30_PPPAR_WHU.bnc'<br>
     2234      Purpose: Precise Point Positioning with ambiguity resolution using an raw input file.
     2235      Call: bnc --conf 30_PPPAR_WHU.bnc --file WTZR_WHU_20251129.raw
     2236      The configuration reads RTCM Version 3 observations, a Broadcast Ephemeris stream
     2237      and a stream with SSR Corrections enabling PPP-AR. Positions are saved in the logfile.
     2238      More detailed PPP results are saved in the PPP logfile.
     2239    </li>
     2240
     2241  </ol>
     2242  <b>(B) Working with Command Line configuration options</b><br><br>
     2243  The following configuration examples make use of BNC's 'Command Line Interface' (CLI). Configuration options are
     2244  exclusively specified via command line. No configuration file is used. Examples are provided as shell scripts
     2245  for a Linux system. They call BNC in 'no window' batch mode (command line option -nw). The scripts expect
     2246  'Example_Configs' to be the current working directory.
     2247  </li>
     2248
     2249  <ol start="23">
     2250    <li>Shell Script 'RinexQC.sh'<br>
     2251      Purpose: Equals configuration file example 'RinexQC.bnc', checks the quality of
     2252      a RINEX Version 4 file by means of a multipath analysis. The platform offscreen
     2253      is used while producing plot files in PNG format. BNC is offline.
     2254      All results are saved on disk.
     2255    </li>
     2256
     2257    <li>Shell Script 'RinexConcat.sh'<br>
     2258      Purpose: Equals configuration file example 'RinexConcat.bnc', concatenates
     2259      several RINEX Version 3 files to produce one compiled file and edit the marker
     2260      name in the file header. The sampling interval is set to 30 seconds. BNC is
     2261      offline.
     2262    </li>
     2263
     2264    <li>Shell Script 'RinexEph.sh'<br>
     2265      Purpose: Equals configuration file example 'RinexEph.bnc', converts a RTCM
     2266      stream with navigation messages to RINEX Navigation files. The configuration
     2267      pulls a RTCM Version 3 stream with Broadcast Ephemeris coming from the
     2268      real-time EUREF and IGS networks and saves hourly RINEX Version 4 Navigation
     2269      files. BNC runs online until it's terminated after 10 seconds.
     2270      See <a href="https://igs.bkg.bund.de/ntrip/#rtcm-eph" target="_blank">https://igs.bkg.bund.de/ntrip/#rtcm-eph</a>
     2271      for further real-time Broadcast Ephemeris resources.
     2272    </li>
     2273
     2274    <li>Shell Script 'ScanLate.sh'<br>
     2275      Purpose: Scan an observation stream for contained RTCM message types, print
     2276      observation latencies. The output is saved in a logfile. Latencies are
     2277      reported every 10 seconds. BNC runs online until it's terminated after 20
     2278      seconds.
     2279    </li>
     2280
     2281    <li>Shell Script 'RinexObs.sh'<br>
     2282      Purpose: Equals configuration file example 'RinexObs.bnc', converts RTCM
     2283      streams to RINEX Observation files. The configuration pulls streams from two
     2284      Ntrip Broadcasters using Ntrip Version 2 to generate 15min 1Hz RINEX Version 4
     2285      Observation files.
     2286      See <a href="https://igs.bkg.bund.de/ntrip/#rtcm-obs" target="_blank">https://igs.bkg.bund.de/ntrip/#rtcm-obs</a>
     2287      for observation stream resources. BNC runs online until it's terminated after 30
     2288      seconds.
     2289    </li>
     2290  </ol>
     2291
     2292  <b>(C) Command Line configuration options overwriting Configuration File options</b><br><br>
     2293  For specific applications you may like to use your own set of standard configuration options from a configuration file
     2294  and update some of its content via command line. When using a configuration file together with command line
     2295  configuration options in one BNC call, the command line configuration options will always overrule options contained
     2296  in the configuration file.
     2297
     2298  <ol start="28">
     2299    <li>Shell Script 'CompareSp3.sh'<br>
     2300      Purpose: Equals configuration file example 'CompareSp3.bnc', compares two SP3
     2301      files to calculate RMS values for orbit and clock differences. However, instead
     2302      of excluding GPS satellite G05 and GLONASS satellite R18 from the comparison as
     2303      specified in 'CompareSp3.bnc', GPS satellite G06 and all GLONASS satellites are
     2304      excluded via command line option. BNC runs offline. Comparison results are saved
     2305      in a logfile.
     2306    </li>
     2307  </ol>
     2308  </p>
     2309
     2310  <p>
     2311  <h4 id="introLimit">1.7 Limitations</h4>
     2312  </p>
     2313  <ul>
     2314    <li>
     2315      In Qt-based desktop environments (like KDE) on Unix/Linux platforms it may happen that you experience a crash of
     2316      BNC at startup
     2317      even when running the program in the background using the '-nw' option. This is a known bug most likely resulting
     2318      from an incompatibility of Qt libraries in the environment and in BNC. Entering the command 'unset
     2319      SESSION_MANAGER'
     2320      before running BNC may help as a work-around.
     2321    </li>
     2322
     2323    <li>
     2324      Using RTCM Version 3 to produce RINEX files, BNC will properly handle most message types. However, when handling
     2325      message types 1001, 1003, 1009 and 1011 where the ambiguity field is not set, the output will be no valid RINEX.
     2326      All values will be stored modulo 299792.458 (speed of light).
     2327    </li>
     2328    <li>
     2329      Using RTCM Version 2, BNC will only handle message types 18 and 19 or 20 and 21 together with position and the
     2330      antenna offset information carried in types 3 and 22. Note that processing carrier phase corrections and
     2331      pseudo-range corrections contained in message types 20 and 21 needs access to Broadcast Ephemeris. Hence, whenever
     2332      dealing with message types 20 and 21, make sure that Broadcast Ephemeris become available for BNC through also
     2333      retrieving at least one RTCM Version 3 stream carrying message types 1019 (GPS ephemeris) and 1020 (GLONASS
     2334      ephemeris).
     2335    </li>
     2336    <li>
     2337      BNC's 'Get Table' function only shows the STR records of a source-table. You can use an Internet browser to
     2338      download the full source-table content of any Ntrip Broadcaster by simply entering its URL in the form of
     2339      <u>http://host:port</u>. Data field number 8 in the NET records may provide information about where to register
     2340      for an Ntrip Broadcaster account.
     2341    </li>
     2342    <li>
     2343      EUREF as well as IGS adhere to an open data policy. Streams are made available through Ntrip Broadcasters at
     2344      <a href="http://euref-ip.net/home" target="_blank">http://euref-ip.net/home</a>,
     2345      <a href="http://igs-ip.net/home" target="_blank">http://igs-ip.net/home</a> and
     2346      <a href="http://products.igs-ip.net/home" target="_blank">http://products.igs-ip.net/home</a>
     2347      free of charge to anyone for any purpose. There is no indication up until now how many users will need to be
     2348      supported simultaneously. The given situation may develop in such a way that it might become difficult to serve
     2349      all registered users at the same times. In cases where limited resources on the Ntrip Broadcaster side (software
     2350      restrictions, bandwidth limitation etc.) dictates, first priority in stream provision will be given to stream
     2351      providers followed by re-broadcasting activities and real-time analysis centers while access to others might be
     2352      temporarily denied.
     2353    </li>
     2354    <li>
     2355      Once BNC has been started, many of its configuration options cannot be changed as long as it is stopped. See
     2356      chapter 'Reread Configuration' for on-the-fly configuration exceptions.
     2357    </li>
     2358    <li>
     2359      Drag and drop of configuration files is currently not supported on Mac OS X. On such system you have to start BNC
     2360      via command line.
     2361    </li>
     2362  </ul>
     2363
     2364  <p>
     2365  <h4 id="introLBack">Looking Back</h4>
     2366  </p>
     2367  <p>
     2368    A basic function of BNC is streaming GNSS data over the open Internet using the Ntrip transport protocol.
     2369    Employing IP streaming for satellite positioning goes back to the beginning of our century.
     2370    Wolfgang Rupprecht has been the first person who developed TCP/IP server software under the acronym of
     2371    DGPS-IP (Rupprecht 2000) and published it under GNU General Public License (GPL).
     2372    While connecting marine beacon receivers to PCs with permanent access to the Internet he
     2373    transmitted DGPS corrections in an RTCM format to support Differential GPS positioning over North America.
     2374    With approximately 200 bits/sec the bandwidth requirement for disseminating beacon data was comparatively small.
     2375    Each stream was transmitted over a unique combination of IP address and port.
     2376    Websites informed about existing streams and corresponding receiver positions.
     2377  </p>
     2378  <p>
     2379    To cope with an increasing number of transmitting GNSS reference stations, the Federal Agency for Cartography and
     2380    Geodesy (BKG)
     2381    together with the Informatik Centrum Dortmund (ICD) in Germany developed a streaming protocol for satellite
     2382    navigation data called
     2383    'Networked Transport of RTCM via Internet Protocol' (Ntrip). The protocol was built on top of the HTTP standard and
     2384    included the
     2385    provision of meta data describing the stream content. Any stream could now be globally transmitted over just one IP
     2386    port: HTTP port 80.
     2387    Stream availability and content details became part of the transport protocol. The concept was first published in
     2388    2003
     2389    (Weber and Honkala 2004, Weber et al. 2005a) and was based on three software components, namely an NtripServer
     2390    pushing data from
     2391    a reference station to an NtripCaster and an NtripClient pulling data from the stream splitting caster to support a
     2392    rover receiver.
     2393    (Note that from a socket-programmers perspective NtripServer and NtripClient both act as clients; only the
     2394    NtripCaster operates as socket-server.)
     2395    Ntrip could essentially benefit from Internet Radio developments. It was the ICECAST multimedia server, which
     2396    provided the bases
     2397    for BKG's 'Professional Ntrip Broadcaster' with software published first in 2003 and of course again as Open Source
     2398    under GPL.
     2399  </p>
     2400  <p>
     2401    For BKG as a governmental agency, making Ntrip an Open Industry Standard has been an objective from the very
     2402    beginning.
     2403    The 'Radio Technical Commission for Maritime Services' (RTCM) accepted 'Ntrip Version 1' in 2004 as 'RTCM
     2404    Recommended Standard' (Weber et al. 2005b).
     2405    Nowadays there is almost no geodetic GNSS receiver which does not come with integrated NtripClient and NtripServer
     2406    functionality as part of the firmware.
     2407    Hundreds of NtripCaster implementations are operated world-wide for highly accurate satellite navigation through RTK
     2408    networks.
     2409    Thousands of reference stations upload observations via NtripServer to central computing facilities for any kind of
     2410    NtripClient application.
     2411    In 2011 'Ntrip Version 2' was released (RTCM SC-104 2011) which cleared and fixed some design problems and HTTP
     2412    protocol violations.
     2413    It also supports TCP/IP via SSL and adds optional communication over RTSP/RTP and UDP.
     2414  </p>
     2415  <p>
     2416    With the advent of Ntrip as an open streaming standard, BKG's interest turned towards taking advantage from free
     2417    real-time access to GNSS observations. International Associations such as the IAG Reference Frame Sub Commissions
     2418    for Africa (AFREF), Asia & Pacific (APREF), Europe (EUREF), North America (NAREF) Latin America & Caribbean
     2419    (SIRGAS),
     2420    and the International GNSS Service (IGS) maintain continental or even global GNSS networks with the majority of
     2421    modern
     2422    receivers supporting Ntrip stream upload. Through operating BKG's NtripCaster software, these networks became
     2423    extremely
     2424    valuable sources of real-time GNSS information. In 2005, this was the starting point for developing the
     2425    'BKG Ntrip Client' (BNC) as a multi-stream Open Source NtripClient that allows pulling hundreds of streams
     2426    simultaneously from any number of NtripCaster installations world-wide. Decoding incoming RTCM streams and output
     2427    observations epoch by epoch via IP port to feed a real-time GNSS network engine became BNC's first and foremost
     2428    ability (Weber and Mervart 2009). Converting decoded streams to short high-rate RINEX files to assist near real-time
     2429    applications became a welcome by-product right from the start of this development.
     2430  </p>
     2431  <p>
     2432    Adding real-time Precise Point Positioning (PPP) support to BNC began in 2010 as an important completion in view of
     2433    developing an
     2434    Open RTCM Standard for that. According to the State Space Representation (SSR) model, new Version 3 messages are
     2435    proposed to provide e.g.
     2436    satellite orbit and clock corrections and ionospheric corrections as well as biases for code and phase data.
     2437    The ultimate goal for SSR standardization is to reach centimeter level accuracy within seconds as an alternative to
     2438    Network RTK methods
     2439    such as VRS, FKP, and MAC. Because of interoperability aspects, an Open Standard in this area is of particular
     2440    interest for clients.
     2441    Regarding stand-alone PPP in BNC, it is worth mentioning that the program is not and can never be in competition
     2442    with a receiver
     2443    manufacturer's proprietary solution. Only software or services that are part of a receiver firmware could have the
     2444    potential of
     2445    becoming a thread for commercial interests. However, implementing or not implementing an Open PPP approach in a
     2446    firmware is and
     2447    will always remain a manufacturer's decision.
     2448  </p>
     2449  <p>
     2450    Implementing some post processing capability is essential for debugging real-time software in case of problems.
     2451    So certain real-time options in BNC were complemented to work offline through reading data from files.
     2452    Moreover, beginning in 2012, the software was extended to support Galileo, BeiDou, and QZSS besides GPS and GLONASS.
     2453    With that, the Open Source tool BNC could be used for RINEX Version 3 file editing, concatenation and quality
     2454    checks,
     2455    a post processing functionality demanded by the IGS Multi-GNSS Experiment and not really covered at that time by
     2456    UNAVCO's famous TEQC program with its limitation on GPS.
     2457  </p>
     2458
     2459  <p>
     2460    The well-established, mature codebase is mostly written in C++ language.
     2461    Its publication under GNU GPL is thought to be well-suited for test, validation and demonstration of new
     2462    approaches in precise real-time satellite navigation when IP streaming is involved. Commissioned by a
     2463    German governmental agency, the overall intention has been to push the development of RTCM Recommended Standards
     2464    to the benefit of IAG institutions and services such as IGS and the interested public in general.
     2465  </p>
     2466
     2467  <p>
     2468  <h3 id="optsettings">2. Settings Details</h3>
     2469  </p>
     2470  <p>
     2471    The general documentation approach is to create a separate chapter for each processing option in a sequence which
     2472    follows the layout of
     2473    BNC's Graphical User Interface (GUI). The advantage is that searching for help by means of the document's Table of
     2474    Contents (TOC) is
     2475    quite convenient. A rather comprehensive number of TOC entries is the accepted downside of this approach.
     2476  </p>
     2477  <p>
     2478    The following chapters describe how to set BNC program options. They explain the 'Top Menu Bar', the 'Settings
     2479    Canvas' with the
     2480    processing options, the content of the 'Streams Canvas' and 'Logging Canvas', and the 'Bottom Menu Bar'.
     2481  </p>
     2482
     2483  <p>
     2484  <h4 id="topmenu">2.1 Top Menu Bar</h4>
     2485  </p>
     2486  <p>
     2487    The top menu bar allows selecting a font for the BNC windows, save configured options, or quit the program
     2488    execution.
     2489    It also provides access to the program's documentation.
     2490  </p>
     2491
     2492  <p>
     2493  <h4 id="file">2.1.1 File</h4>
     2494  </p>
     2495
     2496  <p>
     2497    The 'File' button lets you
     2498  </p>
     2499  <ul>
     2500    <li>Select an appropriate font.<br>
    13332501      Use smaller font size if the BNC main window exceeds the size of your screen.</li>
    1334   <li>Reread and save selected options in configuration file.<br>
     2502    <li>Reread and save selected options in configuration file.<br>
    13352503      When using 'Reread &amp; Save Configuration' while BNC is already processing data, some configuration options
    13362504      become immediately effective on-the-fly without interrupting uninvolved threads while all of them are saved on
    13372505      disk. See section 'Reread Configuration' for a list of on-the-fly changeable configuration options.</li>
    1338   <li>Quit the BNC program.</li>
    1339 </ul>
    1340 
    1341 
    1342 <p><h4 id="help">2.1.2 Help</h4></p>
    1343 
    1344 <p>
    1345 The 'Help' button provides access to
    1346 </p>
    1347 <ul>
    1348   <li>Help contents.<br>You may keep the 'Help Contents' window open while configuring BNC.</li>
    1349   <li>A 'Flow Chart' showing BNC linked to a real-time GNSS network engine such as RTNET.</li>
    1350   <li>General information about BNC.<br>Close the 'About BNC' window to continue working with BNC.</li>
    1351 </ul>
    1352 
    1353 <p><h4 id="network">2.2 Network</h4></p>
    1354 <p>
    1355 You may need to specify a proxy when running BNC in a protected network. You may also like to use the Transport Layer Security (TLS) and its predecessor,
    1356 Secure Sockets Layer (SSL) cryptographic protocols for secure Ntrip communication over the Internet.
    1357 </p>
    1358 <p><h4 id="proxy">2.2.1 Proxy - Usage in a protected LAN</h4></p>
    1359 <p>
    1360 If you are running BNC within a protected Local Area Network (LAN), you might need to use a proxy server to access the Internet.
    1361 Enter your proxy server IP and port number in case one is operated in front of BNC.
    1362 If you do not know the IP and port of your proxy server, check the proxy server settings in your Internet browser or ask your network administrator.
    1363 Without any entry, BNC will try to use the system proxies.</p>
    1364 <p>
    1365 Note that IP streaming is often not allowed in a LAN. In this case you need to ask your network administrator for an appropriate modification
    1366 of the local security policy or for the installation of a TCP relay to the Ntrip Broadcaster you need to access.
    1367 If this is not possible, you might need to run BNC outside your LAN on a host that has unobstructed connection to the Internet.</p>
    1368 
    1369 <p><h4 id="ssl">2.2.2 SSL - Transport Layer Security</h4></p>
    1370 <p>
    1371 Communication with an Ntrip Broadcaster over Secure Sockets Layer (SSL) as well as the download of RINEX skeleton files when available from HTTPS websites
    1372 requires the exchange of client and/or server certificates.  </p><p>
    1373 Specify the path to a directory where you save CA certificates on your system.
    1374 BNC creates from *.crt and *.pem files a CA certificate database, which is used by the socket during the handshake phase to validate the peer's certificate. </p>
    1375 <p>
    1376 SSL communication may involve queries coming from the Ntrip Broadcaster or from a HTTPS website hosting RINEX skeletons.
    1377 Such a query could show up under BNC's 'Log' tab especially when self-signed SSL certificates are used. Example:
    1378 <pre><p style="font-family:Monospace">
     2506    <li>Quit the BNC program.</li>
     2507  </ul>
     2508
     2509
     2510  <p>
     2511  <h4 id="help">2.1.2 Help</h4>
     2512  </p>
     2513
     2514  <p>
     2515    The 'Help' button provides access to
     2516  </p>
     2517  <ul>
     2518    <li>Help contents.<br>You may keep the 'Help Contents' window open while configuring BNC.</li>
     2519    <li>A 'Flow Chart' showing BNC linked to a real-time GNSS network engine such as RTNET.</li>
     2520    <li>General information about BNC.<br>Close the 'About BNC' window to continue working with BNC.</li>
     2521  </ul>
     2522
     2523  <p>
     2524  <h4 id="network">2.2 Network</h4>
     2525  </p>
     2526  <p>
     2527    You may need to specify a proxy when running BNC in a protected network. You may also like to use the Transport
     2528    Layer Security (TLS) and its predecessor,
     2529    Secure Sockets Layer (SSL) cryptographic protocols for secure Ntrip communication over the Internet.
     2530  </p>
     2531  <p>
     2532  <h4 id="proxy">2.2.1 Proxy - Usage in a protected LAN</h4>
     2533  </p>
     2534  <p>
     2535    If you are running BNC within a protected Local Area Network (LAN), you might need to use a proxy server to access
     2536    the Internet.
     2537    Enter your proxy server IP and port number in case one is operated in front of BNC.
     2538    If you do not know the IP and port of your proxy server, check the proxy server settings in your Internet browser or
     2539    ask your network administrator.
     2540    Without any entry, BNC will try to use the system proxies.</p>
     2541  <p>
     2542    Note that IP streaming is often not allowed in a LAN. In this case you need to ask your network administrator for an
     2543    appropriate modification
     2544    of the local security policy or for the installation of a TCP relay to the Ntrip Broadcaster you need to access.
     2545    If this is not possible, you might need to run BNC outside your LAN on a host that has unobstructed connection to
     2546    the Internet.</p>
     2547
     2548  <p>
     2549  <h4 id="ssl">2.2.2 SSL - Transport Layer Security</h4>
     2550  </p>
     2551  <p>
     2552    Communication with an Ntrip Broadcaster over Secure Sockets Layer (SSL) as well as the download of RINEX skeleton
     2553    files when available from HTTPS websites
     2554    requires the exchange of client and/or server certificates. </p>
     2555  <p>
     2556    Specify the path to a directory where you save CA certificates on your system.
     2557    BNC creates from *.crt and *.pem files a CA certificate database, which is used by the socket during the handshake
     2558    phase to validate the peer's certificate. </p>
     2559  <p>
     2560    SSL communication may involve queries coming from the Ntrip Broadcaster or from a HTTPS website hosting RINEX
     2561    skeletons.
     2562    Such a query could show up under BNC's 'Log' tab especially when self-signed SSL certificates are used. Example:
     2563  <pre><p style="font-family:Monospace">
    13792564   SSL Error
    13802565   Server Certificate Issued by:
     
    13872572   No certificates could be verified
    13882573</pre>
    1389 </p>
    1390 <p>
    1391 Queries should not be received by a client when a server uses official SSL certificates. </p>
    1392 <p>
    1393 You may also just try communication via SSL to check out whether this is supported by the involved Ntrip Broadcaster.
    1394 Note that SSL communication is usually done over port 443.</p>
    1395 <p>
    1396 Two-sided communication with an Ntrip Broadcaster over SSL requires in addition the exchange of client certificates.
    1397 Specify the full path to the client certificates on your system. The file naming convention for client certificates in BNC is as follows:
    1398 <pre>
     2574  </p>
     2575  <p>
     2576    Queries should not be received by a client when a server uses official SSL certificates. </p>
     2577  <p>
     2578    You may also just try communication via SSL to check out whether this is supported by the involved Ntrip
     2579    Broadcaster.
     2580    Note that SSL communication is usually done over port 443.</p>
     2581  <p>
     2582    Two-sided communication with an Ntrip Broadcaster over SSL requires in addition the exchange of client certificates.
     2583    Specify the full path to the client certificates on your system. The file naming convention for client certificates
     2584    in BNC is as follows:
     2585  <pre>
    13992586   &lt;hostname&gt;.&lt;port&gt;.crt for the certificate and
    14002587   &lt;hostname&gt;.&lt;port&gt;.key for the private key, where &lt;hostname&gt; is without https://.
    14012588</pre>
    1402 </p>
    1403 <p>
    1404 If available, the client or personal authentication certificate is presented to the peer during the SSL handshake process.
    1405 Password protected key files are not supported.
    1406 Don't try communication via two sided SSL if you are not sure whether this is supported by the involved Ntrip Broadcaster. </p>
    1407 <p>
    1408 Tick 'Ignore SSL authorization errors' if you generally trust the server and do not want to be bothered with this. </p>
    1409 <p><img src="IMG/Figure07.png"width=800/></p>
    1410 <p>Figure 7: BNC's 'Network' panel configured to ignore eventually occurring SSL error messages</p>
    1411 
    1412 <p><h4 id="general">2.3 General</h4></p>
    1413 <p>
    1414 The following defines general settings for BNC's logfile, file handling, reconfiguration on-the-fly, and auto-start.
    1415 </p>
    1416 
    1417 <p><h4 id="genlog">2.3.1 Logfile - optional</h4></p>
    1418 <p>
    1419 Records of BNC's activities are shown in the 'Log' tab on the bottom of the main window.
    1420 These logs can be saved into a file when a valid path is specified in the 'Logfile (full path)' field.
    1421 The logfile name will automatically be extended by a string '_YYMMDD' for the current date.
    1422 This leads to series of daily logfiles when running BNC continuously.
    1423 Message logs cover the communication status between BNC and the Ntrip Broadcaster as well as problems
    1424 that may occur in the communication link, stream availability, stream delay, stream conversion etc.
    1425 The time stamps within the 'Log' tab are given in UTC. The time stamps within the logfile are given in GPS Time.
    1426 The default value for 'Logfile (full path)' is an empty option field, meaning that BNC logs will not be saved into a file.
    1427 </p>
    1428 <p>
    1429 The following is an example for the content of a logfile written by BNC when operated in Precise Point Positioning (PPP) mode:
    1430 </p>
    1431 <pre><p style="font-family:Monospace">
     2589  </p>
     2590  <p>
     2591    If available, the client or personal authentication certificate is presented to the peer during the SSL handshake
     2592    process.
     2593    Password protected key files are not supported.
     2594    Don't try communication via two sided SSL if you are not sure whether this is supported by the involved Ntrip
     2595    Broadcaster. </p>
     2596  <p>
     2597    Tick 'Ignore SSL authorization errors' if you generally trust the server and do not want to be bothered with this.
     2598  </p>
     2599  <p><img src="IMG/Figure07.png" width=800 /></p>
     2600  <p>Figure 7: BNC's 'Network' panel configured to ignore eventually occurring SSL error messages</p>
     2601
     2602  <p>
     2603  <h4 id="general">2.3 General</h4>
     2604  </p>
     2605  <p>
     2606    The following defines general settings for BNC's logfile, file handling, reconfiguration on-the-fly, and auto-start.
     2607  </p>
     2608
     2609  <p>
     2610  <h4 id="genlog">2.3.1 Logfile - optional</h4>
     2611  </p>
     2612  <p>
     2613    Records of BNC's activities are shown in the 'Log' tab on the bottom of the main window.
     2614    These logs can be saved into a file when a valid path is specified in the 'Logfile (full path)' field.
     2615    The logfile name will automatically be extended by a string '_YYMMDD' for the current date.
     2616    This leads to series of daily logfiles when running BNC continuously.
     2617    Message logs cover the communication status between BNC and the Ntrip Broadcaster as well as problems
     2618    that may occur in the communication link, stream availability, stream delay, stream conversion etc.
     2619    The time stamps within the 'Log' tab are given in UTC. The time stamps within the logfile are given in GPS Time.
     2620    The default value for 'Logfile (full path)' is an empty option field, meaning that BNC logs will not be saved into a
     2621    file.
     2622  </p>
     2623  <p>
     2624    The following is an example for the content of a logfile written by BNC when operated in Precise Point Positioning
     2625    (PPP) mode:
     2626  </p>
     2627  <pre><p style="font-family:Monospace">
    1432262822-10-04 19:53:57 ========== Start BNC v2.13 (LINUX) ==========
    1433262922-10-04 19:53:57 Panel 'PPP' active
     
    14502646...
    14512647</pre>
    1452 </p>
    1453 
    1454 <p><h4 id="genapp">2.3.2 Append Files - optional</h4></p>
    1455 <p>
    1456 When BNC is started, new files are created by default and existing files with the same name will be overwritten. However, users might want to append existing files following a restart of BNC, a system crash or a BNC crash. Tick 'Append files' to continue with existing files and keep what has been recorded so far. Note that option 'Append files' affects all types of files created by BNC.
    1457 </p>
    1458 
    1459 <p><h4 id="genconf">2.3.3 Reread Configuration - optional</h4></p>
    1460 <p>
    1461 When operating BNC online in 'no window' mode (command line option -nw), some configuration options can nevertheless be changed on-the-fly without interrupting the running process. For that, you force the program to reread parts of its configuration in pre-defined intervals from disk. Select '1 min', '1 hour', or '1 day' to let BNC reread on-the-fly changeable configuration options every full minute, hour, or day. This lets in-between edited options become effective without interrupting uninvolved threads.
    1462 </p>
    1463 
    1464 <p>
    1465 Note that following configuration options saved on disk can be changed/edited on-the-fly while BNC is already processing data:
    1466 </p>
    1467 <p>
    1468 <ul>
    1469   <li>'mountPoints' to change the selection of streams to be processed, see section 'Streams'</li>
    1470   <li>'outWait' to change the 'Wait for full obs epoch' option, see section 'Feed Engine'</li>
    1471   <li>'outSampl' to change the 'Sampling' option, see section 'Feed Engine'</li>
    1472   <li>'outFile' to change the 'File' name where synchronized observations are saved in plain ASCII format</li>
    1473 </ul>
    1474 </p>
    1475 <p>
    1476 </p>
    1477 
    1478 <p><h4 id="genstart">2.3.4 Auto Start - optional</h4></p>
    1479 <p>
    1480 You may like to auto-start BNC at startup time in window mode with pre-assigned configuration options. This may be required e.g. immediately after booting your system. Tick 'Auto start' to supersede the usage of the 'Start' button. Make sure that you maintain a link to BNC for that in your Autostart directory (Windows systems) or call BNC in a script below directory /etc/init.d (Unix/Linux/Mac OS X systems).
    1481 </p>
    1482 <p>
    1483 See BNC's command line option '-nw' for an auto-start of BNC in 'no window' mode.
    1484 </p>
    1485 
    1486 <p><h4 id="rawout">2.3.5 Raw Output File - optional</h4></p>
    1487 <p>
    1488 BNC can save all data coming in through various streams in one daily file. The information is recorded in the specified 'Raw output file' in the received order and format. This feature allows a BNC user to run the PPP option offline with observations, Broadcast Corrections, and Broadcast Ephemeris being read from a previously saved file. It supports the offline repetition of a real-time situation for debugging purposes (Record &amp; Replay functionality) and is not meant for post processing.
    1489 </p>
    1490 <p>
    1491 Data will be saved in blocks in the received format separated by ASCII time stamps like (example):
    1492 <pre>
     2648  </p>
     2649
     2650  <p>
     2651  <h4 id="genapp">2.3.2 Append Files - optional</h4>
     2652  </p>
     2653  <p>
     2654    When BNC is started, new files are created by default and existing files with the same name will be overwritten.
     2655    However, users might want to append existing files following a restart of BNC, a system crash or a BNC crash. Tick
     2656    'Append files' to continue with existing files and keep what has been recorded so far. Note that option 'Append
     2657    files' affects all types of files created by BNC.
     2658  </p>
     2659
     2660  <p>
     2661  <h4 id="genconf">2.3.3 Reread Configuration - optional</h4>
     2662  </p>
     2663  <p>
     2664    When operating BNC online in 'no window' mode (command line option -nw), some configuration options can nevertheless
     2665    be changed on-the-fly without interrupting the running process. For that, you force the program to reread parts of
     2666    its configuration in pre-defined intervals from disk. Select '1 min', '1 hour', or '1 day' to let BNC reread
     2667    on-the-fly changeable configuration options every full minute, hour, or day. This lets in-between edited options
     2668    become effective without interrupting uninvolved threads.
     2669  </p>
     2670
     2671  <p>
     2672    Note that following configuration options saved on disk can be changed/edited on-the-fly while BNC is already
     2673    processing data:
     2674  </p>
     2675  <p>
     2676  <ul>
     2677    <li>'mountPoints' to change the selection of streams to be processed, see section 'Streams'</li>
     2678    <li>'outWait' to change the 'Wait for full obs epoch' option, see section 'Feed Engine'</li>
     2679    <li>'outSampl' to change the 'Sampling' option, see section 'Feed Engine'</li>
     2680    <li>'outFile' to change the 'File' name where synchronized observations are saved in plain ASCII format</li>
     2681  </ul>
     2682  </p>
     2683  <p>
     2684  </p>
     2685
     2686  <p>
     2687  <h4 id="genstart">2.3.4 Auto Start - optional</h4>
     2688  </p>
     2689  <p>
     2690    You may like to auto-start BNC at startup time in window mode with pre-assigned configuration options. This may be
     2691    required e.g. immediately after booting your system. Tick 'Auto start' to supersede the usage of the 'Start' button.
     2692    Make sure that you maintain a link to BNC for that in your Autostart directory (Windows systems) or call BNC in a
     2693    script below directory /etc/init.d (Unix/Linux/Mac OS X systems).
     2694  </p>
     2695  <p>
     2696    See BNC's command line option '-nw' for an auto-start of BNC in 'no window' mode.
     2697  </p>
     2698
     2699  <p>
     2700  <h4 id="rawout">2.3.5 Raw Output File - optional</h4>
     2701  </p>
     2702  <p>
     2703    BNC can save all data coming in through various streams in one daily file. The information is recorded in the
     2704    specified 'Raw output file' in the received order and format. This feature allows a BNC user to run the PPP option
     2705    offline with observations, Broadcast Corrections, and Broadcast Ephemeris being read from a previously saved file.
     2706    It supports the offline repetition of a real-time situation for debugging purposes (Record &amp; Replay
     2707    functionality) and is not meant for post processing.
     2708  </p>
     2709  <p>
     2710    Data will be saved in blocks in the received format separated by ASCII time stamps like (example):
     2711  <pre>
    14932712   2022-10-04T20:07:31 WTZR00DEU0 RTCM_3.3 202
    14942713</pre>
    1495 </p>
    1496 <p>
    1497 This example block header tells you that 202 bytes were saved in the data block following this time stamp. The information in this block is encoded in RTCM Version 3 format, comes from mountpoint WTZR00DEU0 and was received at 20:07:31 GPS Time on 2022-10-04. BNC adds its own time stamps in order to allow the reconstruction of a recorded real-time situation.
    1498 </p>
    1499 <p>
    1500 The default value for 'Raw output file' is an empty option field, meaning that BNC will not save all raw data into one single daily file.
    1501 </p>
    1502 
    1503 <p><h4 id="rinex">2.4 RINEX Observations</h4></p>
    1504 <p>
    1505 Observations will be converted to RINEX if they come in either RTCM Version 2 or RTCM Version 3 format.
    1506 Depending on the RINEX version and incoming RTCM message types, files generated by BNC may contain
    1507 data from GPS, GLONASS, Galileo, BDS, SBAS, QZSS, and/or NavIC. In case an observation type is listed
    1508 in the RINEX header but the corresponding observation is unavailable, its value is set to zero '0.000' or left blank.
    1509 Note that the 'RINEX TYPE' field in the RINEX Version 3 Observation file header is always set to 'M(MIXED)' or 'Mixed'
    1510 even if the file only contains data from one system.
    1511 </p>
    1512 <p>
    1513 It is important to understand that converting RTCM streams to RINEX files requires a priori information on observation types
    1514 for specifying a complete RINEX header. Regarding the RINEX Version 2 file header, BNC simply introduces all observation types defined
    1515 in the Version 2 standard and later reports "0.000" for observations which are not received.
    1516 However, following this approach is not possible for RINEX Version 3 files from RTCM Version 3 MSM streams because of the huge number
    1517 of observation types, which might in principle show up. The solution implemented in BNC is to start with
    1518 RINEX Version 3 observation type records from skeleton files (see section 'Skeleton Extension' and 'Skeleton Mandatory') and switch to
    1519 a default selection of observation types when such file is not available or does not contain the required information.
    1520 <p>
    1521 Please note that RTCM Version 3 messages 1084 (MSM4) for GLONASS observations do not contain the GLONASS channel numbers.
    1522 These observation messages can only be converted to RINEX when you add messages which include the channel numbers,
    1523 such as the GLONASS ephemeris messages 1020. The GLONASS channel number is available as extended information within MSM5/7 messages.
    1524 </p>
    1525 <p>
    1526 The screenshot below shows an example setup of BNC when converting streams to RINEX. Streams are coming from Ntrip Broadcaster
    1527 <a href="http://igs-ip.net:2101" target="_blank">http://igs-ip.net:2101</a>.
    1528 Specifying a decoder string 'ZERO2FILE' would mean to not convert the affected stream but save its content as received.
    1529 On Wed Oct  5 2022 that would result for the Mountpoint 'FFMJ00DEU0' into a file named 'FFMJ00DEU0_221005'.
    1530 </p>
    1531 
    1532 <p><img src="IMG/Figure08.png"width=1000/></p>
    1533 <p>Figure 8: BNC translating incoming RTCM Version 3 Observation streams to 15 min RINEX Version 4 Observation files</p>
    1534 
    1535 <p><h4 id="rnxname">2.4.1 RINEX Filenames</h4></p>
    1536 <p>
    1537 The RINEX filenames generated by BNC depend on the chosen RINEX format.
    1538 The following convention holds in case of RINEX Version 3 and RINEX Version 4 filenames:
    1539 </p>
    1540 
    1541 <table>
    1542   <tr><td><b>Filename Parameter&nbsp; &nbsp;</b></td><td><b>&nbsp;# Char.</b></td><td><b>&nbsp; Meaning</b></td></tr>
    1543   <tr><td>Name</td><td>&nbsp; 9</td><td>&nbsp; Site, station and country code</td></tr>
    1544   <tr><td>S</td><td>&nbsp; 1</td><td>&nbsp; Data source</td></tr>
    1545   <tr><td>Start Time</td><td>&nbsp; 11</td><td>&nbsp; YYYYDDDHHMM</td></tr>
    1546   <tr><td>Period</td><td>&nbsp; 3</td><td>&nbsp; File period</td></tr>
    1547   <tr><td>Obs. Freq.</td><td>&nbsp; 3</td><td>&nbsp; Observation frequency</td></tr>
    1548   <tr><td>Content</td><td>&nbsp; 2</td><td>&nbsp; Content type</td></tr>
    1549   <tr><td>Format</td><td>&nbsp; 3</td><td>&nbsp; File format</td></tr>
    1550   <tr><td>Compression</td><td>&nbsp; 2-3</td><td>&nbsp; Compression method (optional)</td></tr>
    1551 </table>
    1552 
    1553 <p>
    1554 Examples (Figure 8) for Mixed RINEX Version 4 GNSS observation filenames, files containing 15 minutes of data,
    1555 one observation every second, 'MO' standing for 'Mixed Observations':
    1556 </p>
    1557 <pre>
     2714  </p>
     2715  <p>
     2716    This example block header tells you that 202 bytes were saved in the data block following this time stamp. The
     2717    information in this block is encoded in RTCM Version 3 format, comes from mountpoint WTZR00DEU0 and was received at
     2718    20:07:31 GPS Time on 2022-10-04. BNC adds its own time stamps in order to allow the reconstruction of a recorded
     2719    real-time situation.
     2720  </p>
     2721  <p>
     2722    The default value for 'Raw output file' is an empty option field, meaning that BNC will not save all raw data into
     2723    one single daily file.
     2724  </p>
     2725
     2726  <p>
     2727  <h4 id="rinex">2.4 RINEX Observations</h4>
     2728  </p>
     2729  <p>
     2730    Observations will be converted to RINEX if they come in either RTCM Version 2 or RTCM Version 3 format.
     2731    Depending on the RINEX version and incoming RTCM message types, files generated by BNC may contain
     2732    data from GPS, GLONASS, Galileo, BDS, SBAS, QZSS, and/or NavIC. In case an observation type is listed
     2733    in the RINEX header but the corresponding observation is unavailable, its value is set to zero '0.000' or left
     2734    blank.
     2735    Note that the 'RINEX TYPE' field in the RINEX Version 3 Observation file header is always set to 'M(MIXED)' or
     2736    'Mixed'
     2737    even if the file only contains data from one system.
     2738  </p>
     2739  <p>
     2740    It is important to understand that converting RTCM streams to RINEX files requires a priori information on
     2741    observation types
     2742    for specifying a complete RINEX header. Regarding the RINEX Version 2 file header, BNC simply introduces all
     2743    observation types defined
     2744    in the Version 2 standard and later reports "0.000" for observations which are not received.
     2745    However, following this approach is not possible for RINEX Version 3 files from RTCM Version 3 MSM streams because
     2746    of the huge number
     2747    of observation types, which might in principle show up. The solution implemented in BNC is to start with
     2748    RINEX Version 3 observation type records from skeleton files (see section 'Skeleton Extension' and 'Skeleton
     2749    Mandatory') and switch to
     2750    a default selection of observation types when such file is not available or does not contain the required
     2751    information.
     2752  <p>
     2753    Please note that RTCM Version 3 messages 1084 (MSM4) for GLONASS observations do not contain the GLONASS channel
     2754    numbers.
     2755    These observation messages can only be converted to RINEX when you add messages which include the channel numbers,
     2756    such as the GLONASS ephemeris messages 1020. The GLONASS channel number is available as extended information within
     2757    MSM5/7 messages.
     2758  </p>
     2759  <p>
     2760    The screenshot below shows an example setup of BNC when converting streams to RINEX. Streams are coming from Ntrip
     2761    Broadcaster
     2762    <a href="http://igs-ip.net:2101" target="_blank">http://igs-ip.net:2101</a>.
     2763    Specifying a decoder string 'ZERO2FILE' would mean to not convert the affected stream but save its content as
     2764    received.
     2765    On Wed Oct 5 2022 that would result for the Mountpoint 'FFMJ00DEU0' into a file named 'FFMJ00DEU0_221005'.
     2766  </p>
     2767
     2768  <p><img src="IMG/Figure08.png" width=1000 /></p>
     2769  <p>Figure 8: BNC translating incoming RTCM Version 3 Observation streams to 15 min RINEX Version 4 Observation files
     2770  </p>
     2771
     2772  <p>
     2773  <h4 id="rnxname">2.4.1 RINEX Filenames</h4>
     2774  </p>
     2775  <p>
     2776    The RINEX filenames generated by BNC depend on the chosen RINEX format.
     2777    The following convention holds in case of RINEX Version 3 and RINEX Version 4 filenames:
     2778  </p>
     2779
     2780  <table>
     2781    <tr>
     2782      <td><b>Filename Parameter&nbsp; &nbsp;</b></td>
     2783      <td><b>&nbsp;# Char.</b></td>
     2784      <td><b>&nbsp; Meaning</b></td>
     2785    </tr>
     2786    <tr>
     2787      <td>Name</td>
     2788      <td>&nbsp; 9</td>
     2789      <td>&nbsp; Site, station and country code</td>
     2790    </tr>
     2791    <tr>
     2792      <td>S</td>
     2793      <td>&nbsp; 1</td>
     2794      <td>&nbsp; Data source</td>
     2795    </tr>
     2796    <tr>
     2797      <td>Start Time</td>
     2798      <td>&nbsp; 11</td>
     2799      <td>&nbsp; YYYYDDDHHMM</td>
     2800    </tr>
     2801    <tr>
     2802      <td>Period</td>
     2803      <td>&nbsp; 3</td>
     2804      <td>&nbsp; File period</td>
     2805    </tr>
     2806    <tr>
     2807      <td>Obs. Freq.</td>
     2808      <td>&nbsp; 3</td>
     2809      <td>&nbsp; Observation frequency</td>
     2810    </tr>
     2811    <tr>
     2812      <td>Content</td>
     2813      <td>&nbsp; 2</td>
     2814      <td>&nbsp; Content type</td>
     2815    </tr>
     2816    <tr>
     2817      <td>Format</td>
     2818      <td>&nbsp; 3</td>
     2819      <td>&nbsp; File format</td>
     2820    </tr>
     2821    <tr>
     2822      <td>Compression</td>
     2823      <td>&nbsp; 2-3</td>
     2824      <td>&nbsp; Compression method (optional)</td>
     2825    </tr>
     2826  </table>
     2827
     2828  <p>
     2829    Examples (Figure 8) for Mixed RINEX Version 4 GNSS observation filenames, files containing 15 minutes of data,
     2830    one observation every second, 'MO' standing for 'Mixed Observations':
     2831  </p>
     2832  <pre>
    15582833   FFMJ00DEU_S_20222781400_15M_01S_MO.rnx
    15592834   CUT000AUS_S_20222781400_15M_01S_MO.rnx
    15602835</pre>
    15612836
    1562 <p>
    1563 Note that filename details are produced from the stream's mountpoint as well as corresponding BNC settings and meta data from the Ntrip Broadcaster source-table.
    1564 </p>
    1565 
    1566 <p>
    1567 RINEX Version 2 filenames are derived from the first 4 characters of the corresponding stream's mountpoint (4-Char Station ID).
    1568 For example, data from mountpoints FFMJ00DEU0 and CUT000AUS0 will have 15-minutes RINEX Observation files named
    1569 </p>
    1570 <pre>
     2837  <p>
     2838    Note that filename details are produced from the stream's mountpoint as well as corresponding BNC settings and meta
     2839    data from the Ntrip Broadcaster source-table.
     2840  </p>
     2841
     2842  <p>
     2843    RINEX Version 2 filenames are derived from the first 4 characters of the corresponding stream's mountpoint (4-Char
     2844    Station ID).
     2845    For example, data from mountpoints FFMJ00DEU0 and CUT000AUS0 will have 15-minutes RINEX Observation files named
     2846  </p>
     2847  <pre>
    15712848   FFMJ278O00.22O
    15722849   CUT0278O00.22O
    15732850</pre>
    15742851
    1575 <p>
    1576 The RINEX version 2 filneme convention can be summrized as follows:
    1577 <pre>
     2852  <p>
     2853    The RINEX version 2 filneme convention can be summrized as follows:
     2854  <pre>
    15782855   {4-Char-Station-ID}{ddd}{h}{mm}.{yy}O
    15792856</pre>
    1580 where 'ddd' is the day of year, 'h' is a letter which corresponds to an hour long UTC time block,
    1581 'mm' is the starting minute within the hour. and 'yy' is the year.
    1582 </p>
    1583 
    1584 <p><h4 id="rnxdir">2.4.2 Directory - optional</h4></p>
    1585 <p>
    1586 Here you can specify the path to where the RINEX Observation files will be stored.
    1587 If the specified directory does not exist, BNC will not create RINEX Observation files.
    1588 Default value for 'Directory' is an empty option field, meaning that no RINEX Observation files will be written.
    1589 </p>
    1590 
    1591 <p><h4 id="rnxinterval">2.4.3 File Interval - mandatory if 'Directory' is set</h4></p>
    1592 <p>
    1593 Select the length of the RINEX Observation file to be generated. The default value is 1 day.
    1594 </p>
    1595 
    1596 <p><h4 id="rnxsample">2.4.4 Sampling - mandatory if 'Directory' is set </h4></p>
    1597 <p>
    1598 Select the RINEX Observation sampling interval in seconds. A value of zero '0' tells BNC to store all received epochs into RINEX. This is the default value.
    1599 </p>
    1600 
    1601 <p><h4 id="rnxskl">2.4.5 Skeleton Extension - optional</h4></p>
    1602 <p>
    1603 Whenever BNC starts to generate RINEX Observation files (and then once every day at midnight), it first tries to
    1604 retrieve information needed for RINEX headers from so-called public RINEX header skeleton files which are derived
    1605 from sitelogs. An HTTP or HTTPS link to a directory containing these skeleton files may be available through data
    1606 field number 7 of the affected NET record in the source-table.
    1607 See <a href="https://igs.bkg.bund.de/root_ftp/IGS/station/rnxskl/BRUX00BEL.skl" target="_blank">https://igs.bkg.bund.de/root_ftp/IGS/station/rnxskl/BRUX00BEL.skl</a>
    1608 for an example of a public RINEX header skeleton file for EPN station Brussels. Note that the download of RINEX
    1609 skeleton files from HTTPS websites requires the exchange of client and/or server certificates.
    1610 Clarify 'SSL' options offered through panel 'Network' for details.
    1611 </p>
    1612 <p>
    1613 Sometimes public RINEX header skeleton files are not available, their content is not up to date, or you need to put additional/optional
    1614 records in the RINEX header. For that, BNC allows using personal skeleton files that contain the header records you would like to include.
    1615 You can derive a personal RINEX header skeleton file from the information given in an up to date sitelog.
    1616 A file in the RINEX Observations 'Directory' with a 'Skeleton extension' suffix is interpreted by BNC as a personal RINEX header skeleton file
    1617 for the corresponding stream.
    1618 </p>
    1619 <p>
    1620 When producing RINEX Observation files from mountpoints like 'BRUX00BEL0' or 'WTZR_RTCM3', the following skeleton filenames would be accepted
    1621 </p>
    1622 <pre>
     2857  where 'ddd' is the day of year, 'h' is a letter which corresponds to an hour long UTC time block,
     2858  'mm' is the starting minute within the hour. and 'yy' is the year.
     2859  </p>
     2860
     2861  <p>
     2862  <h4 id="rnxdir">2.4.2 Directory - optional</h4>
     2863  </p>
     2864  <p>
     2865    Here you can specify the path to where the RINEX Observation files will be stored.
     2866    If the specified directory does not exist, BNC will not create RINEX Observation files.
     2867    Default value for 'Directory' is an empty option field, meaning that no RINEX Observation files will be written.
     2868  </p>
     2869
     2870  <p>
     2871  <h4 id="rnxinterval">2.4.3 File Interval - mandatory if 'Directory' is set</h4>
     2872  </p>
     2873  <p>
     2874    Select the length of the RINEX Observation file to be generated. The default value is 1 day.
     2875  </p>
     2876
     2877  <p>
     2878  <h4 id="rnxsample">2.4.4 Sampling - mandatory if 'Directory' is set </h4>
     2879  </p>
     2880  <p>
     2881    Select the RINEX Observation sampling interval in seconds. A value of zero '0' tells BNC to store all received
     2882    epochs into RINEX. This is the default value.
     2883  </p>
     2884
     2885  <p>
     2886  <h4 id="rnxskl">2.4.5 Skeleton Extension - optional</h4>
     2887  </p>
     2888  <p>
     2889    Whenever BNC starts to generate RINEX Observation files (and then once every day at midnight), it first tries to
     2890    retrieve information needed for RINEX headers from so-called public RINEX header skeleton files which are derived
     2891    from sitelogs. An HTTP or HTTPS link to a directory containing these skeleton files may be available through data
     2892    field number 7 of the affected NET record in the source-table.
     2893    See <a href="https://igs.bkg.bund.de/root_ftp/IGS/station/rnxskl/BRUX00BEL.skl"
     2894      target="_blank">https://igs.bkg.bund.de/root_ftp/IGS/station/rnxskl/BRUX00BEL.skl</a>
     2895    for an example of a public RINEX header skeleton file for EPN station Brussels. Note that the download of RINEX
     2896    skeleton files from HTTPS websites requires the exchange of client and/or server certificates.
     2897    Clarify 'SSL' options offered through panel 'Network' for details.
     2898  </p>
     2899  <p>
     2900    Sometimes public RINEX header skeleton files are not available, their content is not up to date, or you need to put
     2901    additional/optional
     2902    records in the RINEX header. For that, BNC allows using personal skeleton files that contain the header records you
     2903    would like to include.
     2904    You can derive a personal RINEX header skeleton file from the information given in an up to date sitelog.
     2905    A file in the RINEX Observations 'Directory' with a 'Skeleton extension' suffix is interpreted by BNC as a personal
     2906    RINEX header skeleton file
     2907    for the corresponding stream.
     2908  </p>
     2909  <p>
     2910    When producing RINEX Observation files from mountpoints like 'BRUX00BEL0' or 'WTZR_RTCM3', the following skeleton
     2911    filenames would be accepted
     2912  </p>
     2913  <pre>
    16232914   BRUX00BEL.skl (9 char corresponding to RINEX version 3,4)
    16242915   WTZR_RTCM.skl (9 char corresponding to RINEX version 3,4)
    16252916</pre>
    1626 <p>
    1627 if 'Skeleton extension' is set to 'skl'. As an alternative the basename is tried to use with lower cases as well.
    1628 </p>
    1629 <p>
    1630 Note the following regulations regarding personal RINEX header skeleton files:
    1631 If such a file exists in the 'RINEX directory', the corresponding public RINEX header skeleton file is ignored.
    1632 The RINEX header is generated solely from the content of the personal skeleton.
    1633 <ul>
    1634   <li>Personal skeletons should contain a complete first header record of type 'RINEX VERSION / TYPE'</li>
    1635   <li>They should then contain an empty header record of type 'PGM / RUN BY / DATE' which will be completed by BNC and included in the RINEX file header.</li>
    1636   <li>They should further contain complete header records of type
     2917  <p>
     2918    if 'Skeleton extension' is set to 'skl'. As an alternative the basename is tried to use with lower cases as well.
     2919  </p>
     2920  <p>
     2921    Note the following regulations regarding personal RINEX header skeleton files:
     2922    If such a file exists in the 'RINEX directory', the corresponding public RINEX header skeleton file is ignored.
     2923    The RINEX header is generated solely from the content of the personal skeleton.
     2924  <ul>
     2925    <li>Personal skeletons should contain a complete first header record of type 'RINEX VERSION / TYPE'</li>
     2926    <li>They should then contain an empty header record of type 'PGM / RUN BY / DATE' which will be completed by BNC and
     2927      included in the RINEX file header.</li>
     2928    <li>They should further contain complete header records of type
    16372929      <br> &nbsp; 'MARKER NAME'
    16382930      <br> &nbsp; 'OBSERVER / AGENCY'
     
    16422934      <br> &nbsp; 'ANTENNA: DELTA H/E/N'
    16432935      <br> &nbsp; 'WAVELENGTH FACT L1/2 for RINEX Version 2 files
    1644       <br> &nbsp; 'SYS / # / OBS TYPES' for RINEX Version 3 files, will be ignored in Version 2 files</li>
    1645   <li>They may contain any other optional complete header record as defined in the RINEX documentation.</li>
    1646   <li>They should also contain an empty header record of type '# / TYPES OF OBSERV'. It will be used in RINEX Version 2 files and ignored in Version 3 files.
    1647   <li>BNC will include these lines in the final RINEX file header together with an additional 'COMMENT'-line describing the source of the stream.</li>
    1648   <li>Personal skeletons  must not contain a header record of type 'TIME OF FIRST OBS'</li>
    1649   <li>They should finally contain an empty last header record of type 'END OF HEADER'</li>
    1650 
    1651 
    1652 </ul>
    1653 <p>
    1654 If neither a public nor a personal RINEX header skeleton file is available for BNC, a default header will be used.
    1655 </p>
    1656 <p>
    1657 The following is a skeleton example for a RINEX file:
    1658 </p>
    1659 
    1660 
    1661 <pre><p style="font-family:Monospace">
     2936      <br> &nbsp; 'SYS / # / OBS TYPES' for RINEX Version 3 files, will be ignored in Version 2 files
     2937    </li>
     2938    <li>They may contain any other optional complete header record as defined in the RINEX documentation.</li>
     2939    <li>They should also contain an empty header record of type '# / TYPES OF OBSERV'. It will be used in RINEX Version
     2940      2 files and ignored in Version 3 files.
     2941    <li>BNC will include these lines in the final RINEX file header together with an additional 'COMMENT'-line
     2942      describing the source of the stream.</li>
     2943    <li>Personal skeletons must not contain a header record of type 'TIME OF FIRST OBS'</li>
     2944    <li>They should finally contain an empty last header record of type 'END OF HEADER'</li>
     2945
     2946
     2947  </ul>
     2948  <p>
     2949    If neither a public nor a personal RINEX header skeleton file is available for BNC, a default header will be used.
     2950  </p>
     2951  <p>
     2952    The following is a skeleton example for a RINEX file:
     2953  </p>
     2954
     2955
     2956  <pre><p style="font-family:Monospace">
    16622957                    OBSERVATION DATA    M                   RINEX VERSION / TYPE
    16632958PORTIONS OF THIS HEADER GENERATED BY BKG AT 05-Oct-22 04:51 COMMENT
     
    16842979
    16852980
    1686 <p><h4 id="sklMandat">2.4.6 Skeleton Mandatory - optional</h4></p>
    1687 <p>
    1688 Tick check box 'Skeleton mandatory' in case you want that RINEX files are only produced when skeleton files are available for BNC. If no skeleton file is available for a particular source, then no RINEX observation file will be produced from the affected stream.
    1689 </p>
    1690 <p>Note that a skeleton file contains RINEX header information such as receiver and antenna types. In case of stream conversion to RINEX Version 3, a skeleton file should also contain information on potentially available observation types. A missing skeleton file will force BNC to only save a default set of RINEX 3 observation types.
    1691 </p>
    1692 <p>
    1693 A skeleton file carrying only RINEX Version 2 style observation types (2-character codes, e.g. 'C1', 'L1') cannot supply the tracking-mode
    1694 attribute a RINEX Version 3/4 header needs, so BNC will not use such a skeleton when producing Version 3/4 files. It is treated the same
    1695 way as a missing skeleton: with 'Skeleton mandatory' ticked, no RINEX file is produced for the affected stream; otherwise BNC falls back
    1696 to a default set of RINEX 3/4 observation types. Conversely, a skeleton carrying RINEX Version 3/4 style observation types
    1697 (3-character codes) is always usable when producing RINEX Version 2 files, because the Version 3/4 codes can be unambiguously mapped
    1698 down to Version 2 codes (see section 'Version 2').
    1699 </p>
    1700 
    1701 <p><h4 id="sklDir">2.4.7 Skeleton Directory - optional</h4></p>
    1702 <p>
    1703 Here you can specify the path, where local skeleton files are located. If no directory is specified, the path is assumed to where the RINEX Observation files will stored.
    1704 </p>
    1705 
    1706 
    1707 <p><h4 id="rnxscript">2.4.8 Script - optional</h4></p>
    1708 <p>
    1709 Whenever a RINEX Observation file is saved, you might want to compress, copy or upload it immediately via FTP. BNC allows you to execute a script/batch file to carry out these operations. To do that, specify the full path to such script/batch file. BNC will pass the RINEX Observation file path to the script as a command line parameter (%1 on Windows systems, $1 on Unix/Linux/Mac OS X systems).
    1710 </p>
    1711 <p>
    1712 The triggering event for calling the script or batch file is the end of a RINEX Observation file 'Interval'. If that is overridden by a stream outage, the triggering event is the stream reconnection.
    1713 </p>
    1714 <p>
    1715 As an alternative to initiating file uploads through BNC, you may like to call an upload script or batch file through your crontable or Task Scheduler (independent from BNC) once every one or two minutes after the end of each RINEX file 'Interval'.
    1716 </p>
    1717 
    1718 <p><h4 id="rnxvers3_4">2.4.9 Version 3 and 4 - optional</h4></p>
    1719 <p>
    1720 Currently, the default format for RINEX Observation files is RINEX Version 3.
    1721 RINEX version 4 can be chosen as well. The resulting observation files are backward compatible to RINEX version 3.
    1722 </p>
    1723 <p>
    1724 Note, that it is possible to force an RTCM Version 2 stream to be saved in RINEX Version 3 file format.
    1725 However, this is not recommended, because such stream cannot be precisely mapped to RINEX Version 3
    1726 as the required information on tracking modes (observation attributes) is not part of RTCM Version 2.
    1727 </p>
    1728 <p>
    1729 For the same reason, a RINEX header skeleton file that only carries RINEX Version 2 style observation types
    1730 (2-character codes) cannot be used to build a RINEX Version 3/4 header. BNC ignores such a skeleton for that
    1731 purpose and falls back to a default set of RINEX 3/4 observation types instead, see section 'Skeleton Mandatory'.
    1732 </p>
    1733 
    1734 <p><h4 id="rnxvers2">2.4.10 Version 2 - optional</h4></p>
    1735 <p>
    1736 GNSS observation data are generally hold available within BNC according to attributes as defined in RINEX Version 3 or 4.
    1737 These attributes describe the tracking mode or channel when generating the observation signals.
    1738 Capital letters specifying signal generation attributes are e.g. A, B, C, D, E, I, L, M, N, P, Q, S, W, X, Y, or Z, see RINEX Version 3 and 4 documentation.
    1739 Nevertheless, there are two applications where the program can be setup to produce data files in RINEX Version 2.11 format:
    1740 <ol type="1">
    1741 <li>When saving the content of incoming observation streams in RINEX Version 2 files as described in this section.</li>
    1742 <li>When editing or concatenating RINEX version 3/4 files to save them in Version 2 format, see section on 'RINEX Editing & QC'.</li>
    1743 </ol>
    1744 Select RINEX 'Version 2' if you would like to save RTCM Version 3 observation streams in RINEX Version 2 format.
    1745 As the Version 2 format ignores signal generation attributes, BNC is forced to somehow map RINEX Version 3/4 to RINEX Version 2
    1746 although this cannot be done in one-to-one correspondence.
    1747 Hence we introduce a 'Signal priority' list of attributes (characters, forming a string) for mapping Version 3/4 to Version 2.
    1748 </p>
    1749 <p>
    1750 Signal priorities can be specified as equal for all systems, as system specific or as system and frequency specific. For example:
    1751 </p>
    1752 <ul>
    1753 <li>'CWPX_?' (General signal priorities valid for all GNSS)</li>
    1754 <li>'I:ABCX' (System specific signal priorities for NavIC)</li>
    1755 <li>'G:12&PWCSLX G:5&IQX R:12&PC R:3&IQX' (System and frequency specific signal priorities)</li>
    1756 </ul>
    1757 
    1758 <p>
    1759 The default 'Signal priority' list is defined as follows:
    1760 <ul>
    1761  <li>'G:12&PWCSLX G:5&IQX R:12&PC R:3&IQX R:46&ABX E:16&BCXZ E:578&IQX J:1&SLXCZ J:26&SLX J:5&IQX C:267&IQX C:18&DPX I:ABCX S:1&C S:5&IQX'</li>
    1762 </ul>
    1763 
    1764 As an example the 'Signal priority' of 'CWPX_?' is explained in more detail:
    1765 <ul>
    1766 <li>Signals with attribute 'C' enjoy the highest priority. If such a RINEX Version 3/4 observation becomes available,
    1767     it is presented as RINEX Version 2 observation if that is the format you wish to see. Observations with other attributes are being ignored.</li>
    1768 <li>If no signal with 'C' attribute is available but we have an observation with 'W' attribute, BNC presents that one as RINEX Version 2 observation
    1769     and ignores all observations with other attributes. The same applies mutatis mutandis to observations with P and X attributes.</li>
    1770 <li>If no signal with 'C', 'W', 'P', or 'X' attribute is available but a signal with undefined generation attribute (underscore character, '_') exists,
    1771     BNC presents that one as RINEX Version 2 observation. Note that observation attributes should actually always be available in RINEX Version 3/4.
    1772     Hence the underscore character makes only sense in a few very special cases.</li>
    1773 <li>If no signal with 'C', 'W', 'P', 'X', or '_' generation attribute exists then the question mark '?' tells BNC to present the first of any other
    1774     appearing signal as RINEX Version 2 observation.</li>
    1775 </ul>
    1776 </p>
    1777 
    1778 <p>
    1779 You may like to specify your own 'Signal priority' string(s) for producing RINEX Version 2 files.
    1780 </p>
    1781 
    1782 <p><h4 id="ephemeris">2.5 RINEX Ephemeris</h4></p>
    1783 <p>
    1784 Broadcast Ephemeris can be saved in RINEX Navigation files when received e.g. via RTCM Version 3 message types.</p>
    1785 <p>
    1786 In RINEX version 4 the following navigation message types are defined but not all of them are currently supported in RTCM version 3 messages:
    1787 </p>
    1788 <table>
    1789 <tr><td>Navigation              </td><td>Description                                                    </td><td>Constellation                  </td><td>RTCM </td></tr>
    1790 <tr><td>Message Type    </td><td>                                                                               </td><td>and Signal                     </td><td>Message Type</td></tr>
    1791 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    1792 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    1793 <tr><td>LNAV</td><td>                   GPS Legacy navigation message                   </td><td>GPS  L1 C/A            </td><td>1019</td></tr>
    1794 <tr><td>        </td><td>                       QZSS Legacy navigation message                  </td><td>QZSS L1 C/A or L1 C/B  </td><td>1044</td></tr>
    1795 <tr><td>        </td><td>                       NavIC Legacy navigation message                 </td><td>NavIC L5/S SPS         </td><td>1041</td></tr>
    1796 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    1797 <tr><td>FDMA</td><td>                   GLONASS Legacy FDMA navigation message  </td><td>GLO L1 C/A                             </td><td>1020</td></tr>
    1798 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    1799 <tr><td>FNAV</td><td>                   Galileo Free            navigation message      </td><td>GAL E5a                    </td><td>1045</td></tr>
    1800 <tr><td>INAV</td><td>                   Galileo Integrity       navigation message      </td><td>GAL E1, E5b            </td><td>1046</td></tr>
    1801 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    1802 <tr><td>D1      </td><td>                       BeiDou-2/3 MEO/IGSO navigation message  </td><td>BDS B1I, B2I, B3I      </td><td>1042</td></tr>
    1803 <tr><td>D2      </td><td>                       BeiDou-2/3 GEO      navigation message  </td><td>BDS B1I, B2I, B3I              </td><td>1042</td></tr>
    1804 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    1805 <tr><td>SBAS</td><td>                   SBAS      navigation message                    </td><td>SBAS L1                </td><td>1043</td></tr>
    1806 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    1807 <tr><td>CNAV</td><td>                   GPS  CNAV navigation message                    </td><td>GPS  L2C, L5                   </td><td>        </td></tr>
    1808 <tr><td>        </td><td>                       QZSS CNAV navigation message                    </td><td>QZSS L2C, L5                   </td><td>        </td></tr>
    1809 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    1810 <tr><td>CNV1</td><td>                   BeiDou-3 CNAV-1 navigation message      </td><td>BDS-3 B1C              </td><td>        </td></tr>
    1811 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    1812 <tr><td>CNV2</td><td>                   GPS      CNAV-2 navigation message      </td><td>GPS L1C                </td><td>        </td></tr>
    1813 <tr><td>        </td><td>                       QZSS     CNAV-2 navigation message      </td><td>QZSS L1C               </td><td>        </td></tr>
    1814 <tr><td>        </td><td>                       BeiDou-3 CNAV-2 navigation message      </td><td>BDS-3 B2a              </td><td>        </td></tr>
    1815 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    1816 <tr><td>CNV3</td><td>                   BeiDou-3 CNAV-3 navigation message      </td><td>BDS-3 B2b                      </td><td>        </td></tr>
    1817 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    1818 <tr><td>L1NV</td><td>               NavIC L1 navigation messages                        </td><td>NavIC L1               </td><td>        </td></tr>
    1819 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    1820 <tr><td>L1OC</td><td>               GLONASS L1 CDMA navigation message          </td><td>GLO L1 OC                      </td><td>        </td></tr>
    1821 <tr><td>L3OC</td><td>               GLONASS L3 CDMA navigation message          </td><td>GLO L3 OC                      </td><td>        </td></tr>
    1822 </table>
    1823  <p>
    1824 The filename convention follows the details given in section 'RINEX Filenames' except that the first four characters are 'BRDC'.
    1825 </p>
    1826 <p>
    1827 Regarding RINEX Version 3/4 you will find all ephemeris data for GPS, GLONASS, Galileo, SBAS, QZSS, BDS, and NavIC gathered in one Navigation file.
    1828 </p>
    1829 <p>
    1830 The following is an example for a RINEX Version 3/4 Navigation filename. The file contains one hour's data. 'MN' stands for 'Multi Constellation Navigation' data.
    1831 </p>
    1832 <pre>
     2981  <p>
     2982  <h4 id="sklMandat">2.4.6 Skeleton Mandatory - optional</h4>
     2983  </p>
     2984  <p>
     2985    Tick check box 'Skeleton mandatory' in case you want that RINEX files are only produced when skeleton files are
     2986    available for BNC. If no skeleton file is available for a particular source, then no RINEX observation file will be
     2987    produced from the affected stream.
     2988  </p>
     2989  <p>Note that a skeleton file contains RINEX header information such as receiver and antenna types. In case of stream
     2990    conversion to RINEX Version 3, a skeleton file should also contain information on potentially available observation
     2991    types. A missing skeleton file will force BNC to only save a default set of RINEX 3 observation types.
     2992  </p>
     2993  <p>
     2994    A skeleton file carrying only RINEX Version 2 style observation types (2-character codes, e.g. 'C1', 'L1') cannot
     2995    supply the tracking-mode
     2996    attribute a RINEX Version 3/4 header needs, so BNC will not use such a skeleton when producing Version 3/4 files. It
     2997    is treated the same
     2998    way as a missing skeleton: with 'Skeleton mandatory' ticked, no RINEX file is produced for the affected stream;
     2999    otherwise BNC falls back
     3000    to a default set of RINEX 3/4 observation types. Conversely, a skeleton carrying RINEX Version 3/4 style observation
     3001    types
     3002    (3-character codes) is always usable when producing RINEX Version 2 files, because the Version 3/4 codes can be
     3003    unambiguously mapped
     3004    down to Version 2 codes (see section 'Version 2').
     3005  </p>
     3006
     3007  <p>
     3008  <h4 id="sklDir">2.4.7 Skeleton Directory - optional</h4>
     3009  </p>
     3010  <p>
     3011    Here you can specify the path, where local skeleton files are located. If no directory is specified, the path is
     3012    assumed to where the RINEX Observation files will stored.
     3013  </p>
     3014
     3015
     3016  <p>
     3017  <h4 id="rnxscript">2.4.8 Script - optional</h4>
     3018  </p>
     3019  <p>
     3020    Whenever a RINEX Observation file is saved, you might want to compress, copy or upload it immediately via FTP. BNC
     3021    allows you to execute a script/batch file to carry out these operations. To do that, specify the full path to such
     3022    script/batch file. BNC will pass the RINEX Observation file path to the script as a command line parameter (%1 on
     3023    Windows systems, $1 on Unix/Linux/Mac OS X systems).
     3024  </p>
     3025  <p>
     3026    The triggering event for calling the script or batch file is the end of a RINEX Observation file 'Interval'. If that
     3027    is overridden by a stream outage, the triggering event is the stream reconnection.
     3028  </p>
     3029  <p>
     3030    As an alternative to initiating file uploads through BNC, you may like to call an upload script or batch file
     3031    through your crontable or Task Scheduler (independent from BNC) once every one or two minutes after the end of each
     3032    RINEX file 'Interval'.
     3033  </p>
     3034
     3035  <p>
     3036  <h4 id="rnxvers3_4">2.4.9 Version 3 and 4 - optional</h4>
     3037  </p>
     3038  <p>
     3039    Currently, the default format for RINEX Observation files is RINEX Version 3.
     3040    RINEX version 4 can be chosen as well. The resulting observation files are backward compatible to RINEX version 3.
     3041  </p>
     3042  <p>
     3043    Note, that it is possible to force an RTCM Version 2 stream to be saved in RINEX Version 3 file format.
     3044    However, this is not recommended, because such stream cannot be precisely mapped to RINEX Version 3
     3045    as the required information on tracking modes (observation attributes) is not part of RTCM Version 2.
     3046  </p>
     3047  <p>
     3048    For the same reason, a RINEX header skeleton file that only carries RINEX Version 2 style observation types
     3049    (2-character codes) cannot be used to build a RINEX Version 3/4 header. BNC ignores such a skeleton for that
     3050    purpose and falls back to a default set of RINEX 3/4 observation types instead, see section 'Skeleton Mandatory'.
     3051  </p>
     3052
     3053  <p>
     3054  <h4 id="rnxvers2">2.4.10 Version 2 - optional</h4>
     3055  </p>
     3056  <p>
     3057    GNSS observation data are generally hold available within BNC according to attributes as defined in RINEX Version 3
     3058    or 4.
     3059    These attributes describe the tracking mode or channel when generating the observation signals.
     3060    Capital letters specifying signal generation attributes are e.g. A, B, C, D, E, I, L, M, N, P, Q, S, W, X, Y, or Z,
     3061    see RINEX Version 3 and 4 documentation.
     3062    Nevertheless, there are two applications where the program can be setup to produce data files in RINEX Version 2.11
     3063    format:
     3064  <ol type="1">
     3065    <li>When saving the content of incoming observation streams in RINEX Version 2 files as described in this section.
     3066    </li>
     3067    <li>When editing or concatenating RINEX version 3/4 files to save them in Version 2 format, see section on 'RINEX
     3068      Editing & QC'.</li>
     3069  </ol>
     3070  Select RINEX 'Version 2' if you would like to save RTCM Version 3 observation streams in RINEX Version 2 format.
     3071  As the Version 2 format ignores signal generation attributes, BNC is forced to somehow map RINEX Version 3/4 to RINEX
     3072  Version 2
     3073  although this cannot be done in one-to-one correspondence.
     3074  Hence we introduce a 'Signal priority' list of attributes (characters, forming a string) for mapping Version 3/4 to
     3075  Version 2.
     3076  </p>
     3077  <p>
     3078    Signal priorities can be specified as equal for all systems, as system specific or as system and frequency specific.
     3079    For example:
     3080  </p>
     3081  <ul>
     3082    <li>'CWPX_?' (General signal priorities valid for all GNSS)</li>
     3083    <li>'I:ABCX' (System specific signal priorities for NavIC)</li>
     3084    <li>'G:12&PWCSLX G:5&IQX R:12&PC R:3&IQX' (System and frequency specific signal priorities)</li>
     3085  </ul>
     3086
     3087  <p>
     3088    The default 'Signal priority' list is defined as follows:
     3089  <ul>
     3090    <li>'G:12&PWCSLX G:5&IQX R:12&PC R:3&IQX R:46&ABX E:16&BCXZ E:578&IQX J:1&SLXCZ J:26&SLX J:5&IQX C:267&IQX C:18&DPX
     3091      I:ABCX S:1&C S:5&IQX'</li>
     3092  </ul>
     3093
     3094  As an example the 'Signal priority' of 'CWPX_?' is explained in more detail:
     3095  <ul>
     3096    <li>Signals with attribute 'C' enjoy the highest priority. If such a RINEX Version 3/4 observation becomes
     3097      available,
     3098      it is presented as RINEX Version 2 observation if that is the format you wish to see. Observations with other
     3099      attributes are being ignored.</li>
     3100    <li>If no signal with 'C' attribute is available but we have an observation with 'W' attribute, BNC presents that
     3101      one as RINEX Version 2 observation
     3102      and ignores all observations with other attributes. The same applies mutatis mutandis to observations with P and X
     3103      attributes.</li>
     3104    <li>If no signal with 'C', 'W', 'P', or 'X' attribute is available but a signal with undefined generation attribute
     3105      (underscore character, '_') exists,
     3106      BNC presents that one as RINEX Version 2 observation. Note that observation attributes should actually always be
     3107      available in RINEX Version 3/4.
     3108      Hence the underscore character makes only sense in a few very special cases.</li>
     3109    <li>If no signal with 'C', 'W', 'P', 'X', or '_' generation attribute exists then the question mark '?' tells BNC to
     3110      present the first of any other
     3111      appearing signal as RINEX Version 2 observation.</li>
     3112  </ul>
     3113  </p>
     3114
     3115  <p>
     3116    You may like to specify your own 'Signal priority' string(s) for producing RINEX Version 2 files.
     3117  </p>
     3118
     3119  <p>
     3120  <h4 id="ephemeris">2.5 RINEX Ephemeris</h4>
     3121  </p>
     3122  <p>
     3123    Broadcast Ephemeris can be saved in RINEX Navigation files when received e.g. via RTCM Version 3 message types.</p>
     3124  <p>
     3125    In RINEX version 4 the following navigation message types are defined but not all of them are currently supported in
     3126    RTCM version 3 messages:
     3127  </p>
     3128  <table>
     3129    <tr>
     3130      <td>Navigation </td>
     3131      <td>Description </td>
     3132      <td>Constellation </td>
     3133      <td>RTCM </td>
     3134    </tr>
     3135    <tr>
     3136      <td>Message Type </td>
     3137      <td> </td>
     3138      <td>and Signal </td>
     3139      <td>Message Type</td>
     3140    </tr>
     3141    <tr>
     3142      <td> </td>
     3143      <td> </td>
     3144      <td> </td>
     3145      <td> </td>
     3146    </tr>
     3147    <tr>
     3148      <td> </td>
     3149      <td> </td>
     3150      <td> </td>
     3151      <td> </td>
     3152    </tr>
     3153    <tr>
     3154      <td>LNAV</td>
     3155      <td> GPS Legacy navigation message </td>
     3156      <td>GPS L1 C/A </td>
     3157      <td>1019</td>
     3158    </tr>
     3159    <tr>
     3160      <td> </td>
     3161      <td> QZSS Legacy navigation message </td>
     3162      <td>QZSS L1 C/A or L1 C/B </td>
     3163      <td>1044</td>
     3164    </tr>
     3165    <tr>
     3166      <td> </td>
     3167      <td> NavIC Legacy navigation message </td>
     3168      <td>NavIC L5/S SPS </td>
     3169      <td>1041</td>
     3170    </tr>
     3171    <tr>
     3172      <td> </td>
     3173      <td> </td>
     3174      <td> </td>
     3175      <td> </td>
     3176    </tr>
     3177    <tr>
     3178      <td>FDMA</td>
     3179      <td> GLONASS Legacy FDMA navigation message </td>
     3180      <td>GLO L1 C/A </td>
     3181      <td>1020</td>
     3182    </tr>
     3183    <tr>
     3184      <td> </td>
     3185      <td> </td>
     3186      <td> </td>
     3187      <td> </td>
     3188    </tr>
     3189    <tr>
     3190      <td>FNAV</td>
     3191      <td> Galileo Free navigation message </td>
     3192      <td>GAL E5a </td>
     3193      <td>1045</td>
     3194    </tr>
     3195    <tr>
     3196      <td>INAV</td>
     3197      <td> Galileo Integrity navigation message </td>
     3198      <td>GAL E1, E5b </td>
     3199      <td>1046</td>
     3200    </tr>
     3201    <tr>
     3202      <td> </td>
     3203      <td> </td>
     3204      <td> </td>
     3205      <td> </td>
     3206    </tr>
     3207    <tr>
     3208      <td>D1 </td>
     3209      <td> BeiDou-2/3 MEO/IGSO navigation message </td>
     3210      <td>BDS B1I, B2I, B3I </td>
     3211      <td>1042</td>
     3212    </tr>
     3213    <tr>
     3214      <td>D2 </td>
     3215      <td> BeiDou-2/3 GEO navigation message </td>
     3216      <td>BDS B1I, B2I, B3I </td>
     3217      <td>1042</td>
     3218    </tr>
     3219    <tr>
     3220      <td> </td>
     3221      <td> </td>
     3222      <td> </td>
     3223      <td> </td>
     3224    </tr>
     3225    <tr>
     3226      <td>SBAS</td>
     3227      <td> SBAS navigation message </td>
     3228      <td>SBAS L1 </td>
     3229      <td>1043</td>
     3230    </tr>
     3231    <tr>
     3232      <td> </td>
     3233      <td> </td>
     3234      <td> </td>
     3235      <td> </td>
     3236    </tr>
     3237    <tr>
     3238      <td>CNAV</td>
     3239      <td> GPS CNAV navigation message </td>
     3240      <td>GPS L2C, L5 </td>
     3241      <td> </td>
     3242    </tr>
     3243    <tr>
     3244      <td> </td>
     3245      <td> QZSS CNAV navigation message </td>
     3246      <td>QZSS L2C, L5 </td>
     3247      <td> </td>
     3248    </tr>
     3249    <tr>
     3250      <td> </td>
     3251      <td> </td>
     3252      <td> </td>
     3253      <td> </td>
     3254    </tr>
     3255    <tr>
     3256      <td>CNV1</td>
     3257      <td> BeiDou-3 CNAV-1 navigation message </td>
     3258      <td>BDS-3 B1C </td>
     3259      <td> </td>
     3260    </tr>
     3261    <tr>
     3262      <td> </td>
     3263      <td> </td>
     3264      <td> </td>
     3265      <td> </td>
     3266    </tr>
     3267    <tr>
     3268      <td>CNV2</td>
     3269      <td> GPS CNAV-2 navigation message </td>
     3270      <td>GPS L1C </td>
     3271      <td> </td>
     3272    </tr>
     3273    <tr>
     3274      <td> </td>
     3275      <td> QZSS CNAV-2 navigation message </td>
     3276      <td>QZSS L1C </td>
     3277      <td> </td>
     3278    </tr>
     3279    <tr>
     3280      <td> </td>
     3281      <td> BeiDou-3 CNAV-2 navigation message </td>
     3282      <td>BDS-3 B2a </td>
     3283      <td> </td>
     3284    </tr>
     3285    <tr>
     3286      <td> </td>
     3287      <td> </td>
     3288      <td> </td>
     3289      <td> </td>
     3290    </tr>
     3291    <tr>
     3292      <td>CNV3</td>
     3293      <td> BeiDou-3 CNAV-3 navigation message </td>
     3294      <td>BDS-3 B2b </td>
     3295      <td> </td>
     3296    </tr>
     3297    <tr>
     3298      <td> </td>
     3299      <td> </td>
     3300      <td> </td>
     3301      <td> </td>
     3302    </tr>
     3303    <tr>
     3304      <td>L1NV</td>
     3305      <td> NavIC L1 navigation messages </td>
     3306      <td>NavIC L1 </td>
     3307      <td> </td>
     3308    </tr>
     3309    <tr>
     3310      <td> </td>
     3311      <td> </td>
     3312      <td> </td>
     3313      <td> </td>
     3314    </tr>
     3315    <tr>
     3316      <td>L1OC</td>
     3317      <td> GLONASS L1 CDMA navigation message </td>
     3318      <td>GLO L1 OC </td>
     3319      <td> </td>
     3320    </tr>
     3321    <tr>
     3322      <td>L3OC</td>
     3323      <td> GLONASS L3 CDMA navigation message </td>
     3324      <td>GLO L3 OC </td>
     3325      <td> </td>
     3326    </tr>
     3327  </table>
     3328  <p>
     3329    The filename convention follows the details given in section 'RINEX Filenames' except that the first four characters
     3330    are 'BRDC'.
     3331  </p>
     3332  <p>
     3333    Regarding RINEX Version 3/4 you will find all ephemeris data for GPS, GLONASS, Galileo, SBAS, QZSS, BDS, and NavIC
     3334    gathered in one Navigation file.
     3335  </p>
     3336  <p>
     3337    The following is an example for a RINEX Version 3/4 Navigation filename. The file contains one hour's data. 'MN'
     3338    stands for 'Multi Constellation Navigation' data.
     3339  </p>
     3340  <pre>
    18333341   BRDC00WRD_S_20222791000_01H_MN.rnx
    18343342</pre>
    18353343
    18363344
    1837 <p>
    1838 For RINEX Version 2 Navigation files the last character is 'N' or 'G' for GPS or GLONASS ephemeris in two separate files.
    1839 </p>
    1840 
    1841 <p>
    1842 Note further that BNC will ignore incorrect or outdated Broadcast Ephemeris data, leaving a note 'WRONG EPHEMERIS' or 'OUTDATED EPHEMERIS' in the logfile.
    1843 </p>
    1844 
    1845 <p><h4 id="ephdir">2.5.1 Directory - optional</h4></p>
    1846 <p>
    1847 Specify a path for saving Broadcast Ephemeris data in RINEX Navigation files. If the specified directory does not exist,
    1848 BNC will not create RINEX Navigation files. Default value for Ephemeris 'Directory' is an empty option field, meaning that
    1849 no RINEX Navigation files will be created.
    1850 </p>
    1851 
    1852 <p><h4 id="ephint">2.5.2 Interval - mandatory if 'Directory' is set</h4></p>
    1853 <p>
    1854 Select the length of RINEX Navigation files. The default value is '1 day'.
    1855 </p>
    1856 
    1857 <p><h4 id="ephport">2.5.3 Port - optional</h4></p>
    1858 <p>
    1859 BNC can output Broadcast Ephemeris in RINEX Version 3 format on your local host (IP 127.0.0.1) through an IP 'Port'.
    1860 Specify an IP port number to activate this function. The default is an empty option field, meaning that no ASCII ephemeris output via IP port is generated.
    1861 </p>
    1862 <p>
    1863 The source code for BNC comes with an example Perl script 'test_tcpip_client.pl' that allows you to read BNC's ephemeris ASCII output from the IP port.
    1864 </p>
    1865 
    1866 <p><h4 id="ephvers">2.5.4 Version - optional</h4></p>
    1867 <p>
    1868 Default format for RINEX Navigation files containing Broadcast Ephemeris is RINEX Version 3, saving the ephemeris data in RINEX Version 3.05.
    1869 Select 'Version 2' if you want to save the ephemeris data in RINEX Version 2.11 format.
    1870 Select 'Version 4' if you want to save the ephemeris data in RINEX Version 4.x format.
    1871 </p>
    1872 <p>
    1873 Note that the here choosen Version concerns the Broadcast Ephemeris output through IP port as well.
    1874 </p>
    1875 
    1876 <p><h4 id="reqc">2.6 RINEX Editing & QC</h4></p>
    1877 <p>
    1878 Besides stream conversion from RTCM to RINEX, BNC allows editing RINEX files or concatenate their content. RINEX Observation and Navigation files can be handled.
    1879 BNC can also carry out a RINEX file Quality Check. In summary  and besides Stream <b>T</b>ranslation, this functionality in BNC covers
    1880 <ul>
    1881   <li>File <b>E</b>diting and concatenation</li>
    1882   <li>File <b>Q</b>uality <b>C</b>heck</li>
     3345  <p>
     3346    For RINEX Version 2 Navigation files the last character is 'N' or 'G' for GPS or GLONASS ephemeris in two separate
     3347    files.
     3348  </p>
     3349
     3350  <p>
     3351    Note further that BNC will ignore incorrect or outdated Broadcast Ephemeris data, leaving a note 'WRONG EPHEMERIS'
     3352    or 'OUTDATED EPHEMERIS' in the logfile.
     3353  </p>
     3354
     3355  <p>
     3356  <h4 id="ephdir">2.5.1 Directory - optional</h4>
     3357  </p>
     3358  <p>
     3359    Specify a path for saving Broadcast Ephemeris data in RINEX Navigation files. If the specified directory does not
     3360    exist,
     3361    BNC will not create RINEX Navigation files. Default value for Ephemeris 'Directory' is an empty option field,
     3362    meaning that
     3363    no RINEX Navigation files will be created.
     3364  </p>
     3365
     3366  <p>
     3367  <h4 id="ephint">2.5.2 Interval - mandatory if 'Directory' is set</h4>
     3368  </p>
     3369  <p>
     3370    Select the length of RINEX Navigation files. The default value is '1 day'.
     3371  </p>
     3372
     3373  <p>
     3374  <h4 id="ephport">2.5.3 Port - optional</h4>
     3375  </p>
     3376  <p>
     3377    BNC can output Broadcast Ephemeris in RINEX Version 3 format on your local host (IP 127.0.0.1) through an IP 'Port'.
     3378    Specify an IP port number to activate this function. The default is an empty option field, meaning that no ASCII
     3379    ephemeris output via IP port is generated.
     3380  </p>
     3381  <p>
     3382    The source code for BNC comes with an example Perl script 'test_tcpip_client.pl' that allows you to read BNC's
     3383    ephemeris ASCII output from the IP port.
     3384  </p>
     3385
     3386  <p>
     3387  <h4 id="ephvers">2.5.4 Version - optional</h4>
     3388  </p>
     3389  <p>
     3390    Default format for RINEX Navigation files containing Broadcast Ephemeris is RINEX Version 3, saving the ephemeris
     3391    data in RINEX Version 3.05.
     3392    Select 'Version 2' if you want to save the ephemeris data in RINEX Version 2.11 format.
     3393    Select 'Version 4' if you want to save the ephemeris data in RINEX Version 4.x format.
     3394  </p>
     3395  <p>
     3396    Note that the here choosen Version concerns the Broadcast Ephemeris output through IP port as well.
     3397  </p>
     3398
     3399  <p>
     3400  <h4 id="reqc">2.6 RINEX Editing & QC</h4>
     3401  </p>
     3402  <p>
     3403    Besides stream conversion from RTCM to RINEX, BNC allows editing RINEX files or concatenate their content. RINEX
     3404    Observation and Navigation files can be handled.
     3405    BNC can also carry out a RINEX file Quality Check. In summary and besides Stream <b>T</b>ranslation, this
     3406    functionality in BNC covers
    18833407  <ul>
    1884     <li>Multipath analysis sky plots</li>
    1885     <li>Signal-to-noise ratio sky plots</li>
    1886     <li>Satellite availability plots</li>
    1887     <li>Satellite elevation plots</li>
    1888     <li>PDOP plots</li>
     3408    <li>File <b>E</b>diting and concatenation</li>
     3409    <li>File <b>Q</b>uality <b>C</b>heck</li>
     3410    <ul>
     3411      <li>Multipath analysis sky plots</li>
     3412      <li>Signal-to-noise ratio sky plots</li>
     3413      <li>Satellite availability plots</li>
     3414      <li>Satellite elevation plots</li>
     3415      <li>PDOP plots</li>
     3416    </ul>
    18893417  </ul>
    1890 </ul>
    1891 and hence follows UNAVCO's famous TEQC program (see Estey and Meertens 1999). The remarkable thing about BNC in this context is that it supports RINEX Version 3
    1892 under GNU General Public License with full GUI support and graphics output.
    1893 
    1894 <p><h4 id="reqcact">2.6.1 Action - optional</h4></p>
    1895 <p>Select an action. Options are 'Edit/Concatenate' and 'Analyze'.
    1896 <ul>
    1897 <li>Select 'Edit/Concatenate' if you want to edit RINEX file content according to options specified under 'Set Edit Options' or if you want
    1898     to concatenate several RINEX files.</li>
    1899 <li>Select 'Analyze' if you are interested in a quality check of your RINEX file content.</li>
    1900 </ul>
    1901 
    1902 <p><h4 id="reqcinp">2.6.2 Input Files - mandatory</h4></p>
    1903 <p>
    1904 Specify full path to input RINEX Observation file(s), and<br>
    1905 specify full path to input RINEX Navigation file(s).
    1906 </p>
    1907 <p>
    1908 In case of a Quality Check the following type of Broadcast navigation messages is used per individulal GNSS:
    1909 </p>
    1910 <table>
    1911 <tr><td>Navigation              </td><td>Description                                                    </td><td>Constellation                  </td><td>RTCM </td></tr>
    1912 <tr><td>Message Type    </td><td>                                                                               </td><td>and Signal                     </td><td>Message Type</td></tr>
    1913 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    1914 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    1915 <tr><td>LNAV</td><td>                   GPS Legacy navigation message                   </td><td>GPS  L1 C/A            </td><td>1019</td></tr>
    1916 <tr><td>        </td><td>                       QZSS Legacy navigation message                  </td><td>QZSS L1 C/A or L1 C/B  </td><td>1044</td></tr>
    1917 <tr><td>        </td><td>                       NavIC Legacy navigation message                 </td><td>NavIC L5/S SPS         </td><td>1041</td></tr>
    1918 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    1919 <tr><td>FDMA</td><td>                   GLONASS Legacy FDMA navigation message  </td><td>GLO L1 C/A                             </td><td>1020</td></tr>
    1920 <tr><td>        </td><td>                       from M-satellites                                               </td><td>                                       </td><td>        </td></tr>
    1921 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    1922 <tr><td>INAV</td><td>                   Galileo Integrity       navigation message      </td><td>GAL E1, E5b            </td><td>1046</td></tr>
    1923 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    1924 <tr><td>D1      </td><td>                       BeiDou-2/3 MEO/IGSO navigation message  </td><td>BDS B1I, B2I, B3I      </td><td>1042</td></tr>
    1925 <tr><td>D2      </td><td>                       BeiDou-2/3 GEO      navigation message  </td><td>BDS B1I, B2I, B3I              </td><td>1042</td></tr>
    1926 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    1927 <tr><td>SBAS</td><td>                   SBAS      navigation message                    </td><td>SBAS L1                </td><td>1043</td></tr>
    1928 </table>
    1929 <p>
    1930 When specifying several input files, BNC will concatenate their contents. In case of RINEX Observation input files
    1931 with different observation type header records, BNC will output only one set of adjusted observation type records in
    1932 the RINEX header which fits to the whole file content.
    1933 </p>
    1934 
    1935 <p><h4 id="reqcout">2.6.3 Output Files - optional if 'Action' is set to 'Edit/Concatenate'</h4></p>
    1936 <p>
    1937 If 'Edit/Concatenate' is selected, specifying the full path to output RINEX Observation file(s) and specifying the full
    1938 path to output RINEX Navigation file(s) is optional. Default are empty option fields, meaning that no RINEX files will be saved on disk.
    1939 </p>
    1940 
    1941 <p><h4 id="reqcminele">2.6.4 Minimum Elevation - optional</h4></p>
    1942 <p>
    1943 Select a minimum for satellite elevation angles. Observations from a satellite not reaching or exceeding this minimum
    1944 elevation will be excluded, no matter whether 'Action' is set to 'Edit/Concatenate' or 'Analyze'. Determining a satellite's
    1945 elevation requires specifying a RINEX Navigation input file, see section 'Input Files'.
    1946 </p>
    1947 <p>
    1948 Default is '0 deg', meaning that no elevation mask is applied and all observations are used regardless of the involved satellite's elevation angle.
    1949 </p>
    1950 
    1951 <p><h4 id="reqclog">2.6.5 Logfile - optional</h4></p>
    1952 <p>
    1953 Specify the name of a logfile to save information on RINEX file Editing/Concatenation or Analysis. Default is an empty option field,
    1954 meaning that no logfile will be saved.
    1955 </p>
    1956 
    1957 <p>
    1958 Note that logfiles from analyzing RINEX files may become quite large. Hence, BNC provides an option 'Summary only'
    1959 to limit logfile content to some essential information in case 'Action' is set to 'Analyze'.
    1960 The following is an example for a RINEX quality check analysis logfile:
    1961 </p>
    1962 <pre><p style="font-family:Monospace">
     3418  and hence follows UNAVCO's famous TEQC program (see Estey and Meertens 1999). The remarkable thing about BNC in this
     3419  context is that it supports RINEX Version 3
     3420  under GNU General Public License with full GUI support and graphics output.
     3421
     3422  <p>
     3423  <h4 id="reqcact">2.6.1 Action - optional</h4>
     3424  </p>
     3425  <p>Select an action. Options are 'Edit/Concatenate' and 'Analyze'.
     3426  <ul>
     3427    <li>Select 'Edit/Concatenate' if you want to edit RINEX file content according to options specified under 'Set Edit
     3428      Options' or if you want
     3429      to concatenate several RINEX files.</li>
     3430    <li>Select 'Analyze' if you are interested in a quality check of your RINEX file content.</li>
     3431  </ul>
     3432
     3433  <p>
     3434  <h4 id="reqcinp">2.6.2 Input Files - mandatory</h4>
     3435  </p>
     3436  <p>
     3437    Specify full path to input RINEX Observation file(s), and<br>
     3438    specify full path to input RINEX Navigation file(s).
     3439  </p>
     3440  <p>
     3441    In case of a Quality Check the following type of Broadcast navigation messages is used per individulal GNSS:
     3442  </p>
     3443  <table>
     3444    <tr>
     3445      <td>Navigation </td>
     3446      <td>Description </td>
     3447      <td>Constellation </td>
     3448      <td>RTCM </td>
     3449    </tr>
     3450    <tr>
     3451      <td>Message Type </td>
     3452      <td> </td>
     3453      <td>and Signal </td>
     3454      <td>Message Type</td>
     3455    </tr>
     3456    <tr>
     3457      <td> </td>
     3458      <td> </td>
     3459      <td> </td>
     3460      <td> </td>
     3461    </tr>
     3462    <tr>
     3463      <td> </td>
     3464      <td> </td>
     3465      <td> </td>
     3466      <td> </td>
     3467    </tr>
     3468    <tr>
     3469      <td>LNAV</td>
     3470      <td> GPS Legacy navigation message </td>
     3471      <td>GPS L1 C/A </td>
     3472      <td>1019</td>
     3473    </tr>
     3474    <tr>
     3475      <td> </td>
     3476      <td> QZSS Legacy navigation message </td>
     3477      <td>QZSS L1 C/A or L1 C/B </td>
     3478      <td>1044</td>
     3479    </tr>
     3480    <tr>
     3481      <td> </td>
     3482      <td> NavIC Legacy navigation message </td>
     3483      <td>NavIC L5/S SPS </td>
     3484      <td>1041</td>
     3485    </tr>
     3486    <tr>
     3487      <td> </td>
     3488      <td> </td>
     3489      <td> </td>
     3490      <td> </td>
     3491    </tr>
     3492    <tr>
     3493      <td>FDMA</td>
     3494      <td> GLONASS Legacy FDMA navigation message </td>
     3495      <td>GLO L1 C/A </td>
     3496      <td>1020</td>
     3497    </tr>
     3498    <tr>
     3499      <td> </td>
     3500      <td> from M-satellites </td>
     3501      <td> </td>
     3502      <td> </td>
     3503    </tr>
     3504    <tr>
     3505      <td> </td>
     3506      <td> </td>
     3507      <td> </td>
     3508      <td> </td>
     3509    </tr>
     3510    <tr>
     3511      <td>INAV</td>
     3512      <td> Galileo Integrity navigation message </td>
     3513      <td>GAL E1, E5b </td>
     3514      <td>1046</td>
     3515    </tr>
     3516    <tr>
     3517      <td> </td>
     3518      <td> </td>
     3519      <td> </td>
     3520      <td> </td>
     3521    </tr>
     3522    <tr>
     3523      <td>D1 </td>
     3524      <td> BeiDou-2/3 MEO/IGSO navigation message </td>
     3525      <td>BDS B1I, B2I, B3I </td>
     3526      <td>1042</td>
     3527    </tr>
     3528    <tr>
     3529      <td>D2 </td>
     3530      <td> BeiDou-2/3 GEO navigation message </td>
     3531      <td>BDS B1I, B2I, B3I </td>
     3532      <td>1042</td>
     3533    </tr>
     3534    <tr>
     3535      <td> </td>
     3536      <td> </td>
     3537      <td> </td>
     3538      <td> </td>
     3539    </tr>
     3540    <tr>
     3541      <td>SBAS</td>
     3542      <td> SBAS navigation message </td>
     3543      <td>SBAS L1 </td>
     3544      <td>1043</td>
     3545    </tr>
     3546  </table>
     3547  <p>
     3548    When specifying several input files, BNC will concatenate their contents. In case of RINEX Observation input files
     3549    with different observation type header records, BNC will output only one set of adjusted observation type records in
     3550    the RINEX header which fits to the whole file content.
     3551  </p>
     3552
     3553  <p>
     3554  <h4 id="reqcout">2.6.3 Output Files - optional if 'Action' is set to 'Edit/Concatenate'</h4>
     3555  </p>
     3556  <p>
     3557    If 'Edit/Concatenate' is selected, specifying the full path to output RINEX Observation file(s) and specifying the
     3558    full
     3559    path to output RINEX Navigation file(s) is optional. Default are empty option fields, meaning that no RINEX files
     3560    will be saved on disk.
     3561  </p>
     3562
     3563  <p>
     3564  <h4 id="reqcminele">2.6.4 Minimum Elevation - optional</h4>
     3565  </p>
     3566  <p>
     3567    Select a minimum for satellite elevation angles. Observations from a satellite not reaching or exceeding this
     3568    minimum
     3569    elevation will be excluded, no matter whether 'Action' is set to 'Edit/Concatenate' or 'Analyze'. Determining a
     3570    satellite's
     3571    elevation requires specifying a RINEX Navigation input file, see section 'Input Files'.
     3572  </p>
     3573  <p>
     3574    Default is '0 deg', meaning that no elevation mask is applied and all observations are used regardless of the
     3575    involved satellite's elevation angle.
     3576  </p>
     3577
     3578  <p>
     3579  <h4 id="reqclog">2.6.5 Logfile - optional</h4>
     3580  </p>
     3581  <p>
     3582    Specify the name of a logfile to save information on RINEX file Editing/Concatenation or Analysis. Default is an
     3583    empty option field,
     3584    meaning that no logfile will be saved.
     3585  </p>
     3586
     3587  <p>
     3588    Note that logfiles from analyzing RINEX files may become quite large. Hence, BNC provides an option 'Summary only'
     3589    to limit logfile content to some essential information in case 'Action' is set to 'Analyze'.
     3590    The following is an example for a RINEX quality check analysis logfile:
     3591  </p>
     3592  <pre><p style="font-family:Monospace">
    19633593QC Format Version  : 1.1
    19643594
     
    22063836</pre>
    22073837
    2208 <p>
    2209 <b>The epoch-specific output </b>
    2210 </p>
    2211 
    2212 <p>
    2213 Each 'Epoch Record' contains 9 parameters. Example:
    2214 </p>
    2215 <pre>
     3838  <p>
     3839    <b>The epoch-specific output </b>
     3840  </p>
     3841
     3842  <p>
     3843    Each 'Epoch Record' contains 9 parameters. Example:
     3844  </p>
     3845  <pre>
    22163846> 2022 06 21 00 00 30.0000000 49  0.5
    22173847</pre>
    2218 <p>
    2219 Their meaning is as follows:
    2220 </p>
    2221 <ul>
    2222   <li>Special character '&#62;' is the first character in each 'Epoch Record' (as we have it in RINEX Version 3/4)</li>
    2223   <li>Year, GPS time</li>
    2224   <li>Month, GPS time</li>
    2225   <li>Day, GPS time</li>
    2226   <li>Hour, GPS time</li>
    2227   <li>Minute, GPS time</li>
    2228   <li>Second, GPS time</li>
    2229   <li>Number of satellites</li>
    2230   <li>PDOP value</li>
    2231 </ul>
    2232 <p>
    2233 Each of the 'Satellite Records' in such an epoch block carries information for one specific satellite. Example:
    2234 </p>
    2235 <pre>
     3848  <p>
     3849    Their meaning is as follows:
     3850  </p>
     3851  <ul>
     3852    <li>Special character '&#62;' is the first character in each 'Epoch Record' (as we have it in RINEX Version 3/4)
     3853    </li>
     3854    <li>Year, GPS time</li>
     3855    <li>Month, GPS time</li>
     3856    <li>Day, GPS time</li>
     3857    <li>Hour, GPS time</li>
     3858    <li>Minute, GPS time</li>
     3859    <li>Second, GPS time</li>
     3860    <li>Number of satellites</li>
     3861    <li>PDOP value</li>
     3862  </ul>
     3863  <p>
     3864    Each of the 'Satellite Records' in such an epoch block carries information for one specific satellite. Example:
     3865  </p>
     3866  <pre>
    22363867E05  37.64  160.08  10  L1C .. 46.5  C1C  . 0.13  L6C .. 49.7  C6C  . 0.00  L5Q .. 47.0  C5Q  . 0.12  L7Q .. 47.5  C7Q  . 0.10  L8Q .. 50.3  C8Q  . 0.00
    22373868</pre>
    2238 <p>
    2239 A satellite-specific line starts with:
    2240 </p>
    2241 <ul>
    2242 <li>GNSS Indicator and Satellite Vehicle Pseudo Random Number</li>
    2243 <li>Elevation [&deg;]</li>
    2244 <li>Azimuth [&deg;]</li>
    2245 <li>Number of observations types</li>
    2246 </ul>
    2247 <p>
    2248 An observation type block, for example
    2249 </p>
    2250 <pre>
     3869  <p>
     3870    A satellite-specific line starts with:
     3871  </p>
     3872  <ul>
     3873    <li>GNSS Indicator and Satellite Vehicle Pseudo Random Number</li>
     3874    <li>Elevation [&deg;]</li>
     3875    <li>Azimuth [&deg;]</li>
     3876    <li>Number of observations types</li>
     3877  </ul>
     3878  <p>
     3879    An observation type block, for example
     3880  </p>
     3881  <pre>
    22513882L1C .. 46.5
    22523883</pre>
    2253 <p>
    2254 or
    2255 </p>
    2256 <pre>
     3884  <p>
     3885    or
     3886  </p>
     3887  <pre>
    22573888C1C  . 0.13
    22583889</pre>
    2259 <p>
    2260 contains the RINEX Version 3/4 observation code and
    2261 </p>
    2262 <ul>
    2263   <li>for a carrier phase observation: </li>
     3890  <p>
     3891    contains the RINEX Version 3/4 observation code and
     3892  </p>
    22643893  <ul>
    2265   <li>two characters,  where 's' means cycle slip, 'g' means gap and '.' means OK </li>
    2266   <li>  signal-to-noise ratio SNR [dBHz] </li>
     3894    <li>for a carrier phase observation: </li>
     3895    <ul>
     3896      <li>two characters, where 's' means cycle slip, 'g' means gap and '.' means OK </li>
     3897      <li> signal-to-noise ratio SNR [dBHz] </li>
     3898    </ul>
     3899    <li>for a code observation: </li>
     3900    <ul>
     3901      <li> two characters: the first one (for slips) is empty, 'g' means gap and '.' means OK </li>
     3902      <li> multipath standard deviation [m] </li>
     3903    </ul>
    22673904  </ul>
    2268   <li>for a code observation: </li>
     3905  <p>
     3906    With respect to the summary note, that in addition to cycle slips recorded in the RINEX 'file',
     3907    cycle slips identified by BNC are reported as 'found'.
     3908  </p>
     3909
     3910  <p>
     3911  <h4 id="reqcplots">2.6.6 Plots for Signals - mandatory if 'Action' is set to 'Analyze'</h4>
     3912  </p>
     3913  <p>
     3914    BNC can produce plots for multipath, signal-to-noise ratio, satellite availability, satellite elevation, and PDOP
     3915    values.
     3916    The 'Plots for signals' option lets you exactly specify the observation signals to be used for that and also enables
     3917    the plot production.
     3918    You can specify
    22693919  <ul>
    2270   <li> two characters: the first one (for slips) is empty, 'g' means gap and '.' means OK </li>
    2271   <li> multipath standard deviation [m] </li>
     3920    <li> the navigation system (C = BDS, E = Galileo, G = GPS, I = NavIC, J = QZSS, R = GLONASS, S = SBAS),</li>
     3921    <li> the band/frequency, and </li>
     3922    <li> the attribute as defined in RINEX Version 3/4.</li>
    22723923  </ul>
    2273 </ul>
    2274 <p>
    2275 With respect to the summary note, that in addition to cycle slips recorded in the RINEX 'file',
    2276 cycle slips identified by BNC are reported as 'found'.
    2277 </p>
    2278 
    2279 <p><h4 id="reqcplots">2.6.6 Plots for Signals - mandatory if 'Action' is set to 'Analyze'</h4></p>
    2280 <p>
    2281 BNC can produce plots for multipath, signal-to-noise ratio, satellite availability, satellite elevation, and PDOP values.
    2282 The 'Plots for signals' option lets you exactly specify the observation signals to be used for that and also enables the plot production.
    2283 You can specify
    2284 <ul>
    2285 <li> the navigation system (C = BDS, E = Galileo, G = GPS, I = NavIC, J = QZSS, R = GLONASS, S = SBAS),</li>
    2286 <li> the band/frequency, and </li>
    2287 <li> the attribute as defined in RINEX Version 3/4.</li>
    2288 </ul>
    2289 Specifications for band/frequency and attribute must be separated by ampersand character '&'.
    2290 <p>
    2291 Specifications for each navigation system must be separated by blank character ' '.
    2292 </p>
    2293 <p>
    2294 Default is 'G:1&2&5 R:1&2&3 E:1&7 C:2&6 J:1&2 I:5&9 S:1&5'. Specifying an empty option string would be overruled by this default.
    2295 </p>
    2296 Examples for the 'Plots for signals' option:
    2297 <ul>
    2298 <li>G:1&2&5 E:1&7 (Plots will be based on GPS observations on 1st, 2nd and 5th frequency as well as on Galileo observations on 1st and 7th frequency.)</li>
    2299 <li>G:1C&5X (Plots will be based on GPS observations on the 1st frequency in 'C' tracking mode andand on the 5th frequency in 'X' tracking mode.)</li>
    2300 <li>C:2I&6I (Plots will be based on BDS observations on the 2th and on the 6th frequency; both in 'I' tracking mode.)</li>
    2301 </ul>
    2302 <p>
    2303 An example configuration with plot results can be seen below.
    2304 </p>
    2305 <p><img src="IMG/Figure09.png"width=1000/></p>
    2306 <p>Figure 9: Example for creating RINEX quality check analysis graphics output with BNC</p>
    2307 
    2308 <p><img src="IMG/Figure10.png"width=1000/></p>
    2309 <p>Figure 10: Example for satellite availability, elevation and PDOP plots as a result of a RINEX quality check analysis with BNC</p>
    2310 
    2311 <p><img src="IMG/Figure11.png"width=1000/></p>
    2312 <p>Figure 11: Sky plot examples for multipath, part of RINEX quality check analysis with BNC</p>
    2313 
    2314 <p><img src="IMG/Figure12.png"width=1000/></p>
    2315 <p>Figure 12: Sky plot examples for signal-to-noise ratio, part of RINEX quality check analysis with BNC</p>
    2316 
    2317 <p><h4 id="reqcdir">2.6.7 Directory for Plots - optional if 'Action' is set to 'Analyze'</h4></p>
    2318 <p>
    2319 If 'Analyze' is selected, specifying the path to a directory where plot files will be saved is optional.
    2320 Filenames will be composed from the RINEX input filename(s) plus suffix 'png' to indicate the plot file format in use.
    2321 Default is an empty option field, meaning that plots will not be saved on disk.
    2322 </p>
    2323 
    2324 <p><h4 id="reqcedit">2.6.8 Set Edit Options - mandatory if 'Action' is set to 'Edit/Concatenate'</h4></p>
    2325 <p>
    2326 Once the 'Edit/Concatenate' action is selected, you have to 'Set Edit Options'.
    2327 BNC lets you specify the RINEX version, a signal priority list when mapping RINEX Version 3/4 to Version 2,
    2328 the sampling interval, begin and end of file, operator, observation types, comment lines, and marker, antenna,
    2329 receiver details. Note that some of the specifications for editing and concatenation are only meaningful
    2330 for RINEX Observation files but not for RINEX Navigation files.
    2331 </p>
    2332 
    2333 <p>
    2334 A note on converting RINEX Version 3 to RINEX Version 2 and vice versa:
    2335 </p>
    2336 
    2337 <ul>
    2338   <li>The RINEX Version 2 format ignores signal generation attributes. Therefore, when converting <b>RINEX Version 3/4 to Version 2</b>
    2339       Observation files, BNC is forced to somehow map signals with attributes to signals without attributes although this cannot be done
    2340       in one-to-one correspondence. Hence we introduce a 'Version 2 Signal Priority' list of attributes (characters, forming a string)
     3924  Specifications for band/frequency and attribute must be separated by ampersand character '&'.
     3925  <p>
     3926    Specifications for each navigation system must be separated by blank character ' '.
     3927  </p>
     3928  <p>
     3929    Default is 'G:1&2&5 R:1&2&3 E:1&7 C:2&6 J:1&2 I:5&9 S:1&5'. Specifying an empty option string would be overruled by
     3930    this default.
     3931  </p>
     3932  Examples for the 'Plots for signals' option:
     3933  <ul>
     3934    <li>G:1&2&5 E:1&7 (Plots will be based on GPS observations on 1st, 2nd and 5th frequency as well as on Galileo
     3935      observations on 1st and 7th frequency.)</li>
     3936    <li>G:1C&5X (Plots will be based on GPS observations on the 1st frequency in 'C' tracking mode andand on the 5th
     3937      frequency in 'X' tracking mode.)</li>
     3938    <li>C:2I&6I (Plots will be based on BDS observations on the 2th and on the 6th frequency; both in 'I' tracking
     3939      mode.)</li>
     3940  </ul>
     3941  <p>
     3942    An example configuration with plot results can be seen below.
     3943  </p>
     3944  <p><img src="IMG/Figure09.png" width=1000 /></p>
     3945  <p>Figure 9: Example for creating RINEX quality check analysis graphics output with BNC</p>
     3946
     3947  <p><img src="IMG/Figure10.png" width=1000 /></p>
     3948  <p>Figure 10: Example for satellite availability, elevation and PDOP plots as a result of a RINEX quality check
     3949    analysis with BNC</p>
     3950
     3951  <p><img src="IMG/Figure11.png" width=1000 /></p>
     3952  <p>Figure 11: Sky plot examples for multipath, part of RINEX quality check analysis with BNC</p>
     3953
     3954  <p><img src="IMG/Figure12.png" width=1000 /></p>
     3955  <p>Figure 12: Sky plot examples for signal-to-noise ratio, part of RINEX quality check analysis with BNC</p>
     3956
     3957  <p>
     3958  <h4 id="reqcdir">2.6.7 Directory for Plots - optional if 'Action' is set to 'Analyze'</h4>
     3959  </p>
     3960  <p>
     3961    If 'Analyze' is selected, specifying the path to a directory where plot files will be saved is optional.
     3962    Filenames will be composed from the RINEX input filename(s) plus suffix 'png' to indicate the plot file format in
     3963    use.
     3964    Default is an empty option field, meaning that plots will not be saved on disk.
     3965  </p>
     3966
     3967  <p>
     3968  <h4 id="reqcedit">2.6.8 Set Edit Options - mandatory if 'Action' is set to 'Edit/Concatenate'</h4>
     3969  </p>
     3970  <p>
     3971    Once the 'Edit/Concatenate' action is selected, you have to 'Set Edit Options'.
     3972    BNC lets you specify the RINEX version, a signal priority list when mapping RINEX Version 3/4 to Version 2,
     3973    the sampling interval, begin and end of file, operator, observation types, comment lines, and marker, antenna,
     3974    receiver details. Note that some of the specifications for editing and concatenation are only meaningful
     3975    for RINEX Observation files but not for RINEX Navigation files.
     3976  </p>
     3977
     3978  <p>
     3979    A note on converting RINEX Version 3 to RINEX Version 2 and vice versa:
     3980  </p>
     3981
     3982  <ul>
     3983    <li>The RINEX Version 2 format ignores signal generation attributes. Therefore, when converting <b>RINEX Version 3/4
     3984        to Version 2</b>
     3985      Observation files, BNC is forced to somehow map signals with attributes to signals without attributes although
     3986      this cannot be done
     3987      in one-to-one correspondence. Hence we introduce a 'Version 2 Signal Priority' list of attributes (characters,
     3988      forming a string)
    23413989      for mapping Version 3/4 to Version 2, see details in section 'RINEX Observations/Version 2'.</li>
    2342   <li>Converting <b>RINEX Version 2 to Version 3/4</b> Observation files  is not recommended because the attribute in the observation code
    2343       (last character out of the 3-character) is left blank if unknown. This is a compromise, which is not in accordance with the
     3990    <li>Converting <b>RINEX Version 2 to Version 3/4</b> Observation files is not recommended because the attribute in
     3991      the observation code
     3992      (last character out of the 3-character) is left blank if unknown. This is a compromise, which is not in accordance
     3993      with the
    23443994      RINEX Version 3/4 documentation.</li>
    2345 </ul>
    2346 
    2347 <p>
    2348 Optionally you may specify a 'RUN BY' string to be included in the emerging new RINEX file header. Default is an empty option field,
    2349 meaning the operator's ID is automatically used as 'RUN BY' string.
    2350 </p>
    2351 <p>
    2352 You can specify a list of observation codes in field 'Use Obs. Types' to limit the output file content to specific observation codes.
    2353 GNSS system characters in that list are followed by a colon and a 2- or 3-Character observation code.
    2354 A 2-Character observation code would mean that all available tracking modes of the affected observation type and frequency
    2355 will be accepted as part of the RINEX output file. Observation codes are separated by a blank character.
    2356 Default is an empty option field, meaning that any input observation code will become part of the RINEX output file.
    2357 </p>
    2358 
    2359 <p>
    2360 Specifying comment line text to be added to the emerging new RINEX file header is another option.
    2361 Any introduction of a newline through '\n' in this enforces the beginning of a further comment line.
    2362 Comment lines will be added to the header immediately after the 'PGM / RUN BY / DATE' record.
    2363 Default is an empty option field, meaning that no additional comment line will be added to the RINEX header.
    2364 </p>
    2365 
    2366 <p>
    2367 If you specify a 'New' but no 'Old' marker/antenna/receiver name, the corresponding data field in the emerging new RINEX Observation file
    2368 will be filled accordingly. If you in addition specify an 'Old' marker/antenna/receiver name, the corresponding data field
    2369 in the emerging new RINEX Observation file will only be filled accordingly where 'Old' specifications match existing file content.
    2370 </p>
    2371 
    2372 <p><img src="IMG/Figure13.png"width=500/></p>
    2373 <p>Figure 13: Example for BNC's 'RINEX Editing Options' window</p>
    2374 
    2375 <p><img src="IMG/Figure14.png"width=1000/></p>
    2376 <p>Figure 14: Example for RINEX file concatenation with BNC</p>
    2377 
    2378 <p><h4 id="reqccommand">2.6.9 Command Line, No Window - optional</h4></p>
    2379 <p>
    2380 BNC applies options from the configuration file but allows updating every one of them on the command line
    2381 while the content of the configuration file remains unchanged, see section on 'Command Line Options'.
    2382 Note the following syntax for Command Line Interface (CLI) options:
    2383 </p>
    2384 <pre>
     3995  </ul>
     3996
     3997  <p>
     3998    Optionally you may specify a 'RUN BY' string to be included in the emerging new RINEX file header. Default is an
     3999    empty option field,
     4000    meaning the operator's ID is automatically used as 'RUN BY' string.
     4001  </p>
     4002  <p>
     4003    You can specify a list of observation codes in field 'Use Obs. Types' to limit the output file content to specific
     4004    observation codes.
     4005    GNSS system characters in that list are followed by a colon and a 2- or 3-Character observation code.
     4006    A 2-Character observation code would mean that all available tracking modes of the affected observation type and
     4007    frequency
     4008    will be accepted as part of the RINEX output file. Observation codes are separated by a blank character.
     4009    Default is an empty option field, meaning that any input observation code will become part of the RINEX output file.
     4010  </p>
     4011
     4012  <p>
     4013    Specifying comment line text to be added to the emerging new RINEX file header is another option.
     4014    Any introduction of a newline through '\n' in this enforces the beginning of a further comment line.
     4015    Comment lines will be added to the header immediately after the 'PGM / RUN BY / DATE' record.
     4016    Default is an empty option field, meaning that no additional comment line will be added to the RINEX header.
     4017  </p>
     4018
     4019  <p>
     4020    If you specify a 'New' but no 'Old' marker/antenna/receiver name, the corresponding data field in the emerging new
     4021    RINEX Observation file
     4022    will be filled accordingly. If you in addition specify an 'Old' marker/antenna/receiver name, the corresponding data
     4023    field
     4024    in the emerging new RINEX Observation file will only be filled accordingly where 'Old' specifications match existing
     4025    file content.
     4026  </p>
     4027
     4028  <p><img src="IMG/Figure13.png" width=500 /></p>
     4029  <p>Figure 13: Example for BNC's 'RINEX Editing Options' window</p>
     4030
     4031  <p><img src="IMG/Figure14.png" width=1000 /></p>
     4032  <p>Figure 14: Example for RINEX file concatenation with BNC</p>
     4033
     4034  <p>
     4035  <h4 id="reqccommand">2.6.9 Command Line, No Window - optional</h4>
     4036  </p>
     4037  <p>
     4038    BNC applies options from the configuration file but allows updating every one of them on the command line
     4039    while the content of the configuration file remains unchanged, see section on 'Command Line Options'.
     4040    Note the following syntax for Command Line Interface (CLI) options:
     4041  </p>
     4042  <pre>
    23854043   --key &lt;keyName&gt; &lt;keyValue&gt;
    23864044</pre>
    2387 <p>
    2388 Parameter &lt;keyName&gt; stands for the name of an option contained in the configuration file
    2389 and &lt;keyValue&gt; stands for the value you want to assign to it.
    2390 This functionality may be helpful in the 'RINEX Editing & QC' context when running BNC on a routine basis
    2391 for maintaining a RINEX file archive.
    2392 </p>
    2393 <p>
    2394 You may use asterisk '*' and/or question mark '?' wildcard characters as shown with the following globbing command line option
    2395 to specify a selection of files in the working directory:
    2396 </p>
    2397 <p><pre>
     4045  <p>
     4046    Parameter &lt;keyName&gt; stands for the name of an option contained in the configuration file
     4047    and &lt;keyValue&gt; stands for the value you want to assign to it.
     4048    This functionality may be helpful in the 'RINEX Editing & QC' context when running BNC on a routine basis
     4049    for maintaining a RINEX file archive.
     4050  </p>
     4051  <p>
     4052    You may use asterisk '*' and/or question mark '?' wildcard characters as shown with the following globbing command
     4053    line option
     4054    to specify a selection of files in the working directory:
     4055  </p>
     4056  <p>
     4057  <pre>
    23984058   --key reqcObsFile "Input/BRUX00BEL_S_2021125*_15M_01S_MO.rnx"
    2399 </pre><p>
    2400 or:
    2401 </p>
    2402 <p><pre>
     4059</pre>
     4060  <p>
     4061    or:
     4062  </p>
     4063  <p>
     4064  <pre>
    24034065   --key reqcObsFile Input/BRUX00BEL_S_2021125\*_15M_01S_MO.rnx
    2404 </pre><p>
    2405 The following example for a Linux platform calls BNC in 'no window' mode with a local configuration file 'rnx.conf'
    2406 for concatenating four 15min RINEX files from station BRUX00BEL residing in the 'Input' directory to produce an hourly RINEX Version 3 file
    2407 with 30 seconds sampling interval:
    2408 <pre><p style="font-family:Monospace">
     4066</pre>
     4067  <p>
     4068    The following example for a Linux platform calls BNC in 'no window' mode with a local configuration file 'rnx.conf'
     4069    for concatenating four 15min RINEX files from station BRUX00BEL residing in the 'Input' directory to produce an
     4070    hourly RINEX Version 3 file
     4071    with 30 seconds sampling interval:
     4072  <pre><p style="font-family:Monospace">
    24094073  /home/user/bnc --nw --conf rnx.conf \
    24104074       --key reqcAction Edit/Concatenate \
     
    24164080       --key reqcOutObsFile Output/BRUX00BEL_S_20211251100_01H_01S_MO.rnx
    24174081</p></pre>
    2418 <p>
    2419 The following Linux command line produces RINEX QC plots (see Estey and Meertens 1999) offline in 'no window' mode
    2420 and saves them in directory '/home/user'. Introducing a dummy configuration file /dev/null makes sure that no configuration options
    2421 previously saved on disc are used:
    2422 </p>
    2423 <pre><p style="font-family:Monospace">
     4082  <p>
     4083    The following Linux command line produces RINEX QC plots (see Estey and Meertens 1999) offline in 'no window' mode
     4084    and saves them in directory '/home/user'. Introducing a dummy configuration file /dev/null makes sure that no
     4085    configuration options
     4086    previously saved on disc are used:
     4087  </p>
     4088  <pre><p style="font-family:Monospace">
    24244089  /home/user/bnc --nw --conf /dev/null -display :1 --platform offscreen \
    24254090       --key reqcAction Analyze \
     
    24304095       --key reqcPlotDir Output 2>/dev/null
    24314096</p></pre>
    2432 <p>
    2433 <p>The following Linux command line produces the same RINEX QC plots in interactive autoStart mode:
    2434 </p>
    2435 <pre><p style="font-family:Monospace">
     4097  <p>
     4098  <p>The following Linux command line produces the same RINEX QC plots in interactive autoStart mode:
     4099  </p>
     4100  <pre><p style="font-family:Monospace">
    24364101  /home/user/bnc --conf /dev/null \
    24374102       --key reqcAction Analyze \
     
    24424107       --key startTab 4 --key autoStart 2
    24434108</p></pre>
    2444 <p>
    2445 The following is a list of available key names for '<u>R</u>INEX <u>E</u>diting & <u>QC</u>' (short: REQC, pronounced 'rek') options
    2446 and their meaning, cf. section 'Configuration Examples':
    2447 </p>
    2448 <table>
    2449 <tr></tr>
    2450 <tr><td><b>Keyname</b></td><td></td><td><b>Meaning</b></td></tr>
    2451 <tr><td>reqcAction</td><td></td><td>RINEX Editing & QC action</td></tr>
    2452 <tr><td>reqcObsFile</td><td></td><td>RINEX Observation input file(s)</td></tr>
    2453 <tr><td>reqcNavFile</td><td></td><td>RINEX Navigation input files(s)</td></tr>
    2454 <tr><td>reqcOutObsFile</td><td></td><td>RINEX Observation output file</td></tr>
    2455 <tr><td>reqcOutNavFile</td><td></td><td>RINEX Navigation output file</td></tr>
    2456 <tr><td>reqcMinEle</td><td></td><td>Minimum Elevation</td></tr>
    2457 <tr><td>reqcOutLogFile</td><td></td><td>Logfile</td></tr>
    2458 <tr><td>reqcLogSummaryOnly</td><td></td><td>Summary of Logfile</td></tr>
    2459 <tr><td>reqcSkyPlotSignals</td><td></td><td>Plots for signals</td></tr>
    2460 <tr><td>reqcPlotDir</td><td></td><td>RINEX QC plot directory</td></tr>
    2461 <tr><td>reqcRnxVersion</td><td></td><td>RINEX version of emerging new file</td></tr>
    2462 <tr><td>reqcSampling</td><td></td><td>Sampling interval of emerging new RINEX file</td></tr>
    2463 <tr><td>reqcV2Priority</td><td></td><td>Version 2 Signal Priority</td></tr>
    2464 <tr><td>reqcStartDateTime</td><td></td><td>Begin of emerging new RINEX file</td></tr>
    2465 <tr><td>reqcEndDateTime</td><td></td><td>End of emerging new RINEX file</td></tr>
    2466 <tr><td>reqcRunBy</td><td></td><td>Operator name</td></tr>
    2467 <tr><td>reqcUseObsTypes</td><td></td><td>GNSS systems and observation types</td></tr>
    2468 <tr><td>reqcComment</td><td></td><td>Additional comment lines</td></tr>
    2469 <tr><td>reqcOldMarkerName</td><td></td><td>Old marker name</td></tr>
    2470 <tr><td>reqcNewMarkerName</td><td></td><td>New marker name</td></tr>
    2471 <tr><td>reqcOldAntennaName</td><td></td><td>Old antenna name</td></tr>
    2472 <tr><td>reqcNewAntennaName</td><td></td><td>New antenna name</td></tr>
    2473 <tr><td>reqcOldAntennaNumber</td><td></td><td>Old antenna number</td></tr>
    2474 <tr><td>reqcNewAntennaNumber</td><td></td><td>New antenna number</td></tr>
    2475 <tr><td>reqcOldAntennadN</td><td></td><td>Old component of north eccentricity</td></tr>
    2476 <tr><td>reqcOldAntennadE</td><td></td><td>Old component of east eccentricity</td></tr>
    2477 <tr><td>reqcOldAntennadU</td><td></td><td>Old component of up eccentricity</td></tr>
    2478 <tr><td>reqcNewAntennadN</td><td></td><td>New component of north eccentricity</td></tr>
    2479 <tr><td>reqcNewAntennadE</td><td></td><td>New component of east eccentricity</td></tr>
    2480 <tr><td>reqcNewAntennadU</td><td></td><td>New component of up eccentricity</td></tr>
    2481 <tr><td>reqcOldReceiverName</td><td></td><td>Old receiver name</td></tr>
    2482 <tr><td>reqcNewReceiverName</td><td></td><td>New receiver name</td></tr>
    2483 <tr><td>reqcOldReceiverNumber</td><td></td><td>Old receiver number</td></tr>
    2484 <tr><td>reqcNewReceiverNumber</td><td></td><td>New receiver number</td></tr>
    2485 </table>
    2486 
    2487 <p><h4 id="sp3comp">2.7 SP3 Comparison</h4></p>
    2488 <p>
    2489 BNC allows to compare the contents of two files with GNSS orbit and clock data in SP3 format.
    2490 SP3 ASCII files basically contain a list of records over a certain period of time.
    2491 Each record carries a time tag, the XYZ position of the satellite's Center of Mass at that time and
    2492 the corresponding satellite clock value. Both SP3 files may contain some records for different epochs.
    2493 If so, then BNC only compares records for identical epochs. BNC accepts that a specific GNSS system
    2494 or a specific satellite is only available from one of the SP3 files.
    2495 Note that BNC does not interpolate orbits when comparing SP3 files.
    2496 </p>
    2497 <p>
    2498 To compare satellite clocks provided by the two files, BNC first converts coordinate differences dX,dY,dZ
    2499 into along track, out-of-plane, and radial components. It then corrects the clock differences for the radial components
    2500 of coordinate differences. RMS values of clock differences are finally calculated after introducing at first one offset
    2501 'per epoch for all satellites' and secondly one offset 'per satellite for all epochs'.
    2502 </p>
    2503 <p><img src="IMG/Figure15.png"width=800/></p>
    2504 <p>Figure 15: Example for comparing two SP3 files with satellite orbit and clock data using BNC</p>
    2505 
    2506 <p><h4 id="sp3input">2.7.1 Input SP3 Files - optional</h4></p>
    2507 <p>
    2508 Specify the full paths of two SP3 files, separate them by comma.
    2509 </p>
    2510 
    2511 <p><h4 id="sp3exclude">2.7.2 Exclude Satellites - optional</h4></p>
    2512 <p>
    2513 You may want to exclude one or more satellites in your SP3 files from the comparison.
    2514 Or you may like to exclude all satellites of a specific GNSS system from the comparison.
    2515 The following are example strings to be entered for excluding satellites from the comparison.
    2516 <ul>
    2517   <li>G05,G31 (excluding GPS satellites with PRN 5 and 31)</li>
    2518   <li>G (excluding all GPS satellites)</li>
    2519   <li>R (excluding all GLONASS satellites)</li>
    2520   <li>R12,R24 (excluding GLONASS satellites with slot number 12 and 24)</li>
    2521   <li>G04,G31,R (excluding GPS satellites with PRN 4 and 31 as well as all GLONASS satellites)</li>
    2522 </ul>
    2523 </p>
    2524 <p>
    2525 Default is an empty option field, meaning that no satellite will be excluded from the comparison.
    2526 </p>
    2527 
    2528 <p><h4 id="sp3log">2.7.3 Logfile - mandatory if 'Input SP3 Files' is set</h4></p>
    2529 <p>
    2530 Specify a logfile name to save results of the SP3 file comparison. BNC provides an option 'Summary only' to limit logfile content to 'Summary' information only.
    2531 </p>
    2532 <p>
    2533 The following is an example for a SP3 Comparison logfile:
    2534 </p>
    2535 <pre><p style="font-family:Monospace">
     4109  <p>
     4110    The following is a list of available key names for '<u>R</u>INEX <u>E</u>diting & <u>QC</u>' (short: REQC,
     4111    pronounced 'rek') options
     4112    and their meaning, cf. section 'Configuration Examples':
     4113  </p>
     4114  <table>
     4115    <tr></tr>
     4116    <tr>
     4117      <td><b>Keyname</b></td>
     4118      <td></td>
     4119      <td><b>Meaning</b></td>
     4120    </tr>
     4121    <tr>
     4122      <td>reqcAction</td>
     4123      <td></td>
     4124      <td>RINEX Editing & QC action</td>
     4125    </tr>
     4126    <tr>
     4127      <td>reqcObsFile</td>
     4128      <td></td>
     4129      <td>RINEX Observation input file(s)</td>
     4130    </tr>
     4131    <tr>
     4132      <td>reqcNavFile</td>
     4133      <td></td>
     4134      <td>RINEX Navigation input files(s)</td>
     4135    </tr>
     4136    <tr>
     4137      <td>reqcOutObsFile</td>
     4138      <td></td>
     4139      <td>RINEX Observation output file</td>
     4140    </tr>
     4141    <tr>
     4142      <td>reqcOutNavFile</td>
     4143      <td></td>
     4144      <td>RINEX Navigation output file</td>
     4145    </tr>
     4146    <tr>
     4147      <td>reqcMinEle</td>
     4148      <td></td>
     4149      <td>Minimum Elevation</td>
     4150    </tr>
     4151    <tr>
     4152      <td>reqcOutLogFile</td>
     4153      <td></td>
     4154      <td>Logfile</td>
     4155    </tr>
     4156    <tr>
     4157      <td>reqcLogSummaryOnly</td>
     4158      <td></td>
     4159      <td>Summary of Logfile</td>
     4160    </tr>
     4161    <tr>
     4162      <td>reqcSkyPlotSignals</td>
     4163      <td></td>
     4164      <td>Plots for signals</td>
     4165    </tr>
     4166    <tr>
     4167      <td>reqcPlotDir</td>
     4168      <td></td>
     4169      <td>RINEX QC plot directory</td>
     4170    </tr>
     4171    <tr>
     4172      <td>reqcRnxVersion</td>
     4173      <td></td>
     4174      <td>RINEX version of emerging new file</td>
     4175    </tr>
     4176    <tr>
     4177      <td>reqcSampling</td>
     4178      <td></td>
     4179      <td>Sampling interval of emerging new RINEX file</td>
     4180    </tr>
     4181    <tr>
     4182      <td>reqcV2Priority</td>
     4183      <td></td>
     4184      <td>Version 2 Signal Priority</td>
     4185    </tr>
     4186    <tr>
     4187      <td>reqcStartDateTime</td>
     4188      <td></td>
     4189      <td>Begin of emerging new RINEX file</td>
     4190    </tr>
     4191    <tr>
     4192      <td>reqcEndDateTime</td>
     4193      <td></td>
     4194      <td>End of emerging new RINEX file</td>
     4195    </tr>
     4196    <tr>
     4197      <td>reqcRunBy</td>
     4198      <td></td>
     4199      <td>Operator name</td>
     4200    </tr>
     4201    <tr>
     4202      <td>reqcUseObsTypes</td>
     4203      <td></td>
     4204      <td>GNSS systems and observation types</td>
     4205    </tr>
     4206    <tr>
     4207      <td>reqcComment</td>
     4208      <td></td>
     4209      <td>Additional comment lines</td>
     4210    </tr>
     4211    <tr>
     4212      <td>reqcOldMarkerName</td>
     4213      <td></td>
     4214      <td>Old marker name</td>
     4215    </tr>
     4216    <tr>
     4217      <td>reqcNewMarkerName</td>
     4218      <td></td>
     4219      <td>New marker name</td>
     4220    </tr>
     4221    <tr>
     4222      <td>reqcOldAntennaName</td>
     4223      <td></td>
     4224      <td>Old antenna name</td>
     4225    </tr>
     4226    <tr>
     4227      <td>reqcNewAntennaName</td>
     4228      <td></td>
     4229      <td>New antenna name</td>
     4230    </tr>
     4231    <tr>
     4232      <td>reqcOldAntennaNumber</td>
     4233      <td></td>
     4234      <td>Old antenna number</td>
     4235    </tr>
     4236    <tr>
     4237      <td>reqcNewAntennaNumber</td>
     4238      <td></td>
     4239      <td>New antenna number</td>
     4240    </tr>
     4241    <tr>
     4242      <td>reqcOldAntennadN</td>
     4243      <td></td>
     4244      <td>Old component of north eccentricity</td>
     4245    </tr>
     4246    <tr>
     4247      <td>reqcOldAntennadE</td>
     4248      <td></td>
     4249      <td>Old component of east eccentricity</td>
     4250    </tr>
     4251    <tr>
     4252      <td>reqcOldAntennadU</td>
     4253      <td></td>
     4254      <td>Old component of up eccentricity</td>
     4255    </tr>
     4256    <tr>
     4257      <td>reqcNewAntennadN</td>
     4258      <td></td>
     4259      <td>New component of north eccentricity</td>
     4260    </tr>
     4261    <tr>
     4262      <td>reqcNewAntennadE</td>
     4263      <td></td>
     4264      <td>New component of east eccentricity</td>
     4265    </tr>
     4266    <tr>
     4267      <td>reqcNewAntennadU</td>
     4268      <td></td>
     4269      <td>New component of up eccentricity</td>
     4270    </tr>
     4271    <tr>
     4272      <td>reqcOldReceiverName</td>
     4273      <td></td>
     4274      <td>Old receiver name</td>
     4275    </tr>
     4276    <tr>
     4277      <td>reqcNewReceiverName</td>
     4278      <td></td>
     4279      <td>New receiver name</td>
     4280    </tr>
     4281    <tr>
     4282      <td>reqcOldReceiverNumber</td>
     4283      <td></td>
     4284      <td>Old receiver number</td>
     4285    </tr>
     4286    <tr>
     4287      <td>reqcNewReceiverNumber</td>
     4288      <td></td>
     4289      <td>New receiver number</td>
     4290    </tr>
     4291  </table>
     4292
     4293  <p>
     4294  <h4 id="sp3comp">2.7 SP3 Comparison</h4>
     4295  </p>
     4296  <p>
     4297    BNC allows to compare the contents of two files with GNSS orbit and clock data in SP3 format.
     4298    SP3 ASCII files basically contain a list of records over a certain period of time.
     4299    Each record carries a time tag, the XYZ position of the satellite's Center of Mass at that time and
     4300    the corresponding satellite clock value. Both SP3 files may contain some records for different epochs.
     4301    If so, then BNC only compares records for identical epochs. BNC accepts that a specific GNSS system
     4302    or a specific satellite is only available from one of the SP3 files.
     4303    Note that BNC does not interpolate orbits when comparing SP3 files.
     4304  </p>
     4305  <p>
     4306    To compare satellite clocks provided by the two files, BNC first converts coordinate differences dX,dY,dZ
     4307    into along track, out-of-plane, and radial components. It then corrects the clock differences for the radial
     4308    components
     4309    of coordinate differences. RMS values of clock differences are finally calculated after introducing at first one
     4310    offset
     4311    'per epoch for all satellites' and secondly one offset 'per satellite for all epochs'.
     4312  </p>
     4313  <p><img src="IMG/Figure15.png" width=800 /></p>
     4314  <p>Figure 15: Example for comparing two SP3 files with satellite orbit and clock data using BNC</p>
     4315
     4316  <p>
     4317  <h4 id="sp3input">2.7.1 Input SP3 Files - optional</h4>
     4318  </p>
     4319  <p>
     4320    Specify the full paths of two SP3 files, separate them by comma.
     4321  </p>
     4322
     4323  <p>
     4324  <h4 id="sp3exclude">2.7.2 Exclude Satellites - optional</h4>
     4325  </p>
     4326  <p>
     4327    You may want to exclude one or more satellites in your SP3 files from the comparison.
     4328    Or you may like to exclude all satellites of a specific GNSS system from the comparison.
     4329    The following are example strings to be entered for excluding satellites from the comparison.
     4330  <ul>
     4331    <li>G05,G31 (excluding GPS satellites with PRN 5 and 31)</li>
     4332    <li>G (excluding all GPS satellites)</li>
     4333    <li>R (excluding all GLONASS satellites)</li>
     4334    <li>R12,R24 (excluding GLONASS satellites with slot number 12 and 24)</li>
     4335    <li>G04,G31,R (excluding GPS satellites with PRN 4 and 31 as well as all GLONASS satellites)</li>
     4336  </ul>
     4337  </p>
     4338  <p>
     4339    Default is an empty option field, meaning that no satellite will be excluded from the comparison.
     4340  </p>
     4341
     4342  <p>
     4343  <h4 id="sp3log">2.7.3 Logfile - mandatory if 'Input SP3 Files' is set</h4>
     4344  </p>
     4345  <p>
     4346    Specify a logfile name to save results of the SP3 file comparison. BNC provides an option 'Summary only' to limit
     4347    logfile content to 'Summary' information only.
     4348  </p>
     4349  <p>
     4350    The following is an example for a SP3 Comparison logfile:
     4351  </p>
     4352  <pre><p style="font-family:Monospace">
    25364353! SP3 File 1: Input/CNE1MGXRTS_20222410000_01D_05S_ORB.SP3
    25374354! SP3 File 2: Input/BKG1MGXRTS_20222410000_01D_05S_ORB.SP3
     
    26034420</p>
    26044421</pre>
    2605 <p>
    2606 The first part of this output following string 'following string' uses the following abbreviations:
    2607 </p>
    2608 
    2609 <table>
    2610 <tr><td>'Epoch' &nbsp;</td><td>Epoch Date and Time</td></tr>
    2611 <tr><td>'PRN' &nbsp;</td><td>Satellite specification</td></tr>
    2612 <tr><td>'radial' &nbsp;</td><td>Radial component of orbit coordinate difference [m]</td></tr>
    2613 <tr><td>'along' &nbsp;</td><td>Along track component of orbit coordinate difference [m]</td></tr>
    2614 <tr><td>'out' &nbsp;</td><td>Out-of-plane component of orbit coordinate difference [m]</td></tr>
    2615 <tr><td>'clk' &nbsp;</td><td>Clock difference [m]</td></tr>
    2616 <tr><td>'clkRed' &nbsp;</td><td>Clock difference reduced by radial component of orbit coordinate difference [m]</td></tr>
    2617 <tr><td>'iPRN' &nbsp;</td><td>BNC internal sequence number</td></tr>
    2618 </table>
    2619 <p>
    2620 The second part following string 'Summary' provides a summary of the comparison using the following
    2621 abbreviations:<br>
    2622 </p>
    2623 <table>
    2624 <tr><td>'PRN' &nbsp;</td><td>Satellite specification</td></tr>
    2625 <tr><td>'radialRMS' &nbsp;</td><td>RMS of the radial component of orbit coordinate differences [mm]</td></tr>
    2626 <tr><td>'alongRMS' &nbsp;</td><td>RMS of the along track component of orbit coordinate differences [mm]</td></tr>
    2627 <tr><td>'outRMS' &nbsp;</td><td>RMS of the out-of-plane component of orbit coordinate differences [mm]</td></tr>
    2628 <tr><td>'3DRMS' &nbsp;</td><td>3D RMS of the orbit coordinate differences [mm]</td></tr>
    2629 <tr><td>'nOrb' &nbsp;</td><td>Number of epochs used in in orbit comparison</td></tr>
    2630 <tr><td>'clkRMS' &nbsp;</td><td>RMS of clock differences [ns]</td></tr>
    2631 <tr><td>'clkRedRMS' &nbsp;</td><td>RMS of the clock differences after reduction of radial orbit differences [ns]</td></tr>
    2632 <tr><td>'clkRedSig' &nbsp;</td><td>Sigma of the clock differences after reduction of radial orbit differences [ns]</td></tr>
    2633 <tr><td>'nClk' &nbsp;</td><td>Number of epochs use in clock comparisons</td></tr>
    2634 <tr><td>'Offset' &nbsp;</td><td>Clock offset [ns]</td></tr>
    2635 </table>
    2636 <br>
    2637 <p><img src="IMG/Figure16.png"width=1000/></p>
    2638 <p>Figure 16: Graphical results from an example comparison of two SP3 files with satellite orbit and clock data using BNC</p>
    2639 
    2640 <p><h4 id="correct">2.8 Broadcast Corrections</h4></p>
    2641 <p>
    2642 Differential GNSS and RTK operation using RTCM streams is currently based on corrections and/or raw measurements from single or
    2643 multiple reference stations. This approach to differential positioning uses 'observation space' information.
    2644 The representation with the RTCM standard can be called 'Observation Space Representation' (OSR).
    2645 </p>
    2646 <p>
    2647 An alternative to the observation space approach is the so-called 'state space' approach. The principle here is to provide
    2648 information on individual error sources. It can be called 'State Space Representation' (SSR).
    2649 For a rover position, state space information concerning precise satellite clocks, orbits, ionosphere, troposphere et cetera
    2650 can be converted into observation space and used to correct the rover observables for more accurate positioning.
    2651 Alternatively, the state information can be used directly in the rover's processing or adjustment model.
    2652 </p>
    2653 <p>
    2654 RTCM is currently developing Version 3 messages to transport SSR corrections in real-time. They may refer to satellite Antenna Phase Center (APC)
    2655 or Center of Mass (CoM). Because the development was stagnating in RTCM over years, IGS has developed similar SSR messages in parallel.
    2656 Available and unter development are:
    2657 <ul>
    2658   <li>SSR, Step I:</li>
     4422  <p>
     4423    The first part of this output following string 'following string' uses the following abbreviations:
     4424  </p>
     4425
     4426  <table>
     4427    <tr>
     4428      <td>'Epoch' &nbsp;</td>
     4429      <td>Epoch Date and Time</td>
     4430    </tr>
     4431    <tr>
     4432      <td>'PRN' &nbsp;</td>
     4433      <td>Satellite specification</td>
     4434    </tr>
     4435    <tr>
     4436      <td>'radial' &nbsp;</td>
     4437      <td>Radial component of orbit coordinate difference [m]</td>
     4438    </tr>
     4439    <tr>
     4440      <td>'along' &nbsp;</td>
     4441      <td>Along track component of orbit coordinate difference [m]</td>
     4442    </tr>
     4443    <tr>
     4444      <td>'out' &nbsp;</td>
     4445      <td>Out-of-plane component of orbit coordinate difference [m]</td>
     4446    </tr>
     4447    <tr>
     4448      <td>'clk' &nbsp;</td>
     4449      <td>Clock difference [m]</td>
     4450    </tr>
     4451    <tr>
     4452      <td>'clkRed' &nbsp;</td>
     4453      <td>Clock difference reduced by radial component of orbit coordinate difference [m]</td>
     4454    </tr>
     4455    <tr>
     4456      <td>'iPRN' &nbsp;</td>
     4457      <td>BNC internal sequence number</td>
     4458    </tr>
     4459  </table>
     4460  <p>
     4461    The second part following string 'Summary' provides a summary of the comparison using the following
     4462    abbreviations:<br>
     4463  </p>
     4464  <table>
     4465    <tr>
     4466      <td>'PRN' &nbsp;</td>
     4467      <td>Satellite specification</td>
     4468    </tr>
     4469    <tr>
     4470      <td>'radialRMS' &nbsp;</td>
     4471      <td>RMS of the radial component of orbit coordinate differences [mm]</td>
     4472    </tr>
     4473    <tr>
     4474      <td>'alongRMS' &nbsp;</td>
     4475      <td>RMS of the along track component of orbit coordinate differences [mm]</td>
     4476    </tr>
     4477    <tr>
     4478      <td>'outRMS' &nbsp;</td>
     4479      <td>RMS of the out-of-plane component of orbit coordinate differences [mm]</td>
     4480    </tr>
     4481    <tr>
     4482      <td>'3DRMS' &nbsp;</td>
     4483      <td>3D RMS of the orbit coordinate differences [mm]</td>
     4484    </tr>
     4485    <tr>
     4486      <td>'nOrb' &nbsp;</td>
     4487      <td>Number of epochs used in in orbit comparison</td>
     4488    </tr>
     4489    <tr>
     4490      <td>'clkRMS' &nbsp;</td>
     4491      <td>RMS of clock differences [ns]</td>
     4492    </tr>
     4493    <tr>
     4494      <td>'clkRedRMS' &nbsp;</td>
     4495      <td>RMS of the clock differences after reduction of radial orbit differences [ns]</td>
     4496    </tr>
     4497    <tr>
     4498      <td>'clkRedSig' &nbsp;</td>
     4499      <td>Sigma of the clock differences after reduction of radial orbit differences [ns]</td>
     4500    </tr>
     4501    <tr>
     4502      <td>'nClk' &nbsp;</td>
     4503      <td>Number of epochs use in clock comparisons</td>
     4504    </tr>
     4505    <tr>
     4506      <td>'Offset' &nbsp;</td>
     4507      <td>Clock offset [ns]</td>
     4508    </tr>
     4509  </table>
     4510  <br>
     4511  <p><img src="IMG/Figure16.png" width=1000 /></p>
     4512  <p>Figure 16: Graphical results from an example comparison of two SP3 files with satellite orbit and clock data using
     4513    BNC</p>
     4514
     4515  <p>
     4516  <h4 id="correct">2.8 Broadcast Corrections</h4>
     4517  </p>
     4518  <p>
     4519    Differential GNSS and RTK operation using RTCM streams is currently based on corrections and/or raw measurements
     4520    from single or
     4521    multiple reference stations. This approach to differential positioning uses 'observation space' information.
     4522    The representation with the RTCM standard can be called 'Observation Space Representation' (OSR).
     4523  </p>
     4524  <p>
     4525    An alternative to the observation space approach is the so-called 'state space' approach. The principle here is to
     4526    provide
     4527    information on individual error sources. It can be called 'State Space Representation' (SSR).
     4528    For a rover position, state space information concerning precise satellite clocks, orbits, ionosphere, troposphere
     4529    et cetera
     4530    can be converted into observation space and used to correct the rover observables for more accurate positioning.
     4531    Alternatively, the state information can be used directly in the rover's processing or adjustment model.
     4532  </p>
     4533  <p>
     4534    RTCM is currently developing Version 3 messages to transport SSR corrections in real-time. They may refer to
     4535    satellite Antenna Phase Center (APC)
     4536    or Center of Mass (CoM). Because the development was stagnating in RTCM over years, IGS has developed similar SSR
     4537    messages in parallel.
     4538    Available and unter development are:
    26594539  <ul>
    2660     <li>Orbit corrections to Broadcast Ephemeris</li>
    2661     <li>Clock corrections to Broadcast Ephemeris</li>
    2662     <li>High-rate clock corrections to Broadcast Ephemeris</li>
    2663     <li>Combined orbit and clock corrections to Broadcast Ephemeris</li>
    2664     <li>User Range Accuracy (URA)</li>
    2665     <li>High Rate User Range Accuracy (HR URA)</li>
    2666     <li>Code biases</li>
     4540    <li>SSR, Step I:</li>
     4541    <ul>
     4542      <li>Orbit corrections to Broadcast Ephemeris</li>
     4543      <li>Clock corrections to Broadcast Ephemeris</li>
     4544      <li>High-rate clock corrections to Broadcast Ephemeris</li>
     4545      <li>Combined orbit and clock corrections to Broadcast Ephemeris</li>
     4546      <li>User Range Accuracy (URA)</li>
     4547      <li>High Rate User Range Accuracy (HR URA)</li>
     4548      <li>Code biases</li>
     4549    </ul>
     4550    <li>SSR, Step II:</li>
     4551    <ul>
     4552      <li>Phase biases</li>
     4553      <li>Vertical Total Electron Content (VTEC)</li>
     4554    </ul>
    26674555  </ul>
    2668   <li>SSR, Step II:</li>
    2669   <ul>
    2670     <li>Phase biases</li>
    2671     <li>Vertical Total Electron Content (VTEC)</li>
    2672   </ul>
    2673 </ul>
    2674 
    2675 <p>
    2676 SSR streams carrying these messages may be used e.g. to support real-time Precise Point Positioning (PPP) applications.
    2677 </p>
    2678 <p>
    2679 Orbit corrections are provided in along-track, out-of-plane and radial components.
    2680 These components are defined in the Earth-Centered, Earth-Fixed reference frame of the Broadcast Ephemeris.
    2681 For an observer in this frame, the along-track component is aligned in both direction and sign with the velocity vector,
    2682 the out-of-plane component is perpendicular to the plane defined by the satellite position and velocity vectors, and
    2683 the radial direction is perpendicular to the along track and out-of-plane ones. The three components form a right-handed orthogonal system.
    2684 </p>
    2685 
    2686 <p>
    2687 After applying corrections, the satellite position and clock is referred to the 'ionospheric free' phase center of the antenna
    2688 which is compatible with the broadcast orbit reference.
    2689 </p>
    2690 
    2691 <p>
    2692 The orbit and clock corrections do not include local effects like Ocean Loading, Solid Earth Tides or tropospheric delays.
    2693 However, accurate single frequency applications can be corrected for global ionospheric effects using so-call VTEC messages
    2694 for global ionospheric state parameters.
    2695 </p>
    2696 
    2697 <p>
    2698 While we have a plain ASCII standard for saving Broadcast Ephemeris in RINEX Navigation files, we do not have an equivalent standard
    2699 for corrections to Broadcast Ephemeris. Hence, BNC saves Broadcast Correction files following its own format definition.
    2700 </p>
    2701 <p>
    2702 The filename convention for Broadcast Correction files follows in general the convention for RINEX Version 3/4 files
    2703 except for the two characters of the data type as well as for the characters of the filename suffix, which is set to 'ssr':
    2704 The files below contains one day's data. 'MC' stands for 'Multi Constellation Clock' data and 'ION' stands for 'Ionosphere' data.
    2705 </p>
    2706 <pre>
     4556
     4557  <p>
     4558    SSR streams carrying these messages may be used e.g. to support real-time Precise Point Positioning (PPP)
     4559    applications.
     4560  </p>
     4561  <p>
     4562    Orbit corrections are provided in along-track, out-of-plane and radial components.
     4563    These components are defined in the Earth-Centered, Earth-Fixed reference frame of the Broadcast Ephemeris.
     4564    For an observer in this frame, the along-track component is aligned in both direction and sign with the velocity
     4565    vector,
     4566    the out-of-plane component is perpendicular to the plane defined by the satellite position and velocity vectors, and
     4567    the radial direction is perpendicular to the along track and out-of-plane ones. The three components form a
     4568    right-handed orthogonal system.
     4569  </p>
     4570
     4571  <p>
     4572    After applying corrections, the satellite position and clock is referred to the 'ionospheric free' phase center of
     4573    the antenna
     4574    which is compatible with the broadcast orbit reference.
     4575  </p>
     4576
     4577  <p>
     4578    The orbit and clock corrections do not include local effects like Ocean Loading, Solid Earth Tides or tropospheric
     4579    delays.
     4580    However, accurate single frequency applications can be corrected for global ionospheric effects using so-call VTEC
     4581    messages
     4582    for global ionospheric state parameters.
     4583  </p>
     4584
     4585  <p>
     4586    While we have a plain ASCII standard for saving Broadcast Ephemeris in RINEX Navigation files, we do not have an
     4587    equivalent standard
     4588    for corrections to Broadcast Ephemeris. Hence, BNC saves Broadcast Correction files following its own format
     4589    definition.
     4590  </p>
     4591  <p>
     4592    The filename convention for Broadcast Correction files follows in general the convention for RINEX Version 3/4 files
     4593    except for the two characters of the data type as well as for the characters of the filename suffix, which is set to
     4594    'ssr':
     4595    The files below contains one day's data. 'MC' stands for 'Multi Constellation Clock' data and 'ION' stands for
     4596    'Ionosphere' data.
     4597  </p>
     4598  <pre>
    27074599SSRA00CNE1_S_20222750000_01D_MC.ssr
    27084600IONO00IGS1_S_20222740000_01D_ION.ssr
    27094601</pre>
    2710 BNC's Broadcast Correction files contain blocks of records in plain ASCII format.
    2711 Each block covers information about one specific topic and starts with an 'Epoch Record'.
    2712 <p>
    2713 <b>The 'Epoch Record' of a Broadcast Correction block</b>
    2714 </p>
    2715 
    2716 <p>
    2717 The leading 'Epoch Record' of each block in a Broadcast Correction file contains 11 parameters. Example:
    2718 </p>
    2719 <pre><p style="font-family:Monospace">
     4602  BNC's Broadcast Correction files contain blocks of records in plain ASCII format.
     4603  Each block covers information about one specific topic and starts with an 'Epoch Record'.
     4604  <p>
     4605    <b>The 'Epoch Record' of a Broadcast Correction block</b>
     4606  </p>
     4607
     4608  <p>
     4609    The leading 'Epoch Record' of each block in a Broadcast Correction file contains 11 parameters. Example:
     4610  </p>
     4611  <pre><p style="font-family:Monospace">
    27204612> ORBIT 2022 10 01 23 59 45.0 2 110 SSRA00CNE1
    27214613</p></pre>
    2722 Their meaning is as follows:
    2723 <ol type="1">
    2724   <li>Special character '&#62;' is the first character in each 'Epoch Record' (as we have it in RINEX Version 3)</li>
    2725   <li>SSR message or topic descriptor, valid descriptors are:<br>ORBIT, CLOCK, CODE_BIAS, PHASE_BIAS, or VTEC</li>
    2726   <li>Year, GPS time</li>
    2727   <li>Month, GPS time</li>
    2728   <li>Day, GPS time</li>
    2729   <li>Hour, GPS time</li>
    2730   <li>Minute, GPS time</li>
    2731   <li>Second, GPS time</li>
    2732   <li>SSR message update interval indicator</li>
    2733   <ul>
    2734     <li>0 = 1 sec</li>
    2735     <li>1 = 2 sec</li>
    2736     <li>2 = 5 sec</li>
    2737     <li>3 = 10 sec</li>
    2738     <li>4 = 15 sec</li>
    2739     <li>5 = 30 sec</li>
    2740     <li>6 = 60 sec</li>
    2741     <li>7 = 120 sec</li>
    2742     <li>8 = 240 sec</li>
    2743     <li>9 = 300 sec</li>
    2744     <li>10 = 600 sec</li>
    2745     <li>11 = 900 sec</li>
    2746     <li>12 = 1800 sec</li>
    2747     <li>13 = 3600 sec</li>
    2748     <li>14 = 7200 sec</li>
    2749     <li>15 = 10800 sec</li>
    2750   </ul>
    2751   <li>Number of following records in this block</li>
    2752   <li>Mountpoint, source/stream indicator</li>
    2753 </ol>
    2754 Each of the following 'satellite records' in such a block carries information for one specific satellite.
    2755 Undefined parameters in the 'satellite records' could be set to zero &quot;0.000&quot;.
    2756 
    2757 <p>
    2758 <b>Example for block 'ORBIT' carrying orbit corrections</b>
    2759 </p>
    2760 <pre><p style="font-family:Monospace">
     4614  Their meaning is as follows:
     4615  <ol type="1">
     4616    <li>Special character '&#62;' is the first character in each 'Epoch Record' (as we have it in RINEX Version 3)</li>
     4617    <li>SSR message or topic descriptor, valid descriptors are:<br>ORBIT, CLOCK, CODE_BIAS, PHASE_BIAS, or VTEC</li>
     4618    <li>Year, GPS time</li>
     4619    <li>Month, GPS time</li>
     4620    <li>Day, GPS time</li>
     4621    <li>Hour, GPS time</li>
     4622    <li>Minute, GPS time</li>
     4623    <li>Second, GPS time</li>
     4624    <li>SSR message update interval indicator</li>
     4625    <ul>
     4626      <li>0 = 1 sec</li>
     4627      <li>1 = 2 sec</li>
     4628      <li>2 = 5 sec</li>
     4629      <li>3 = 10 sec</li>
     4630      <li>4 = 15 sec</li>
     4631      <li>5 = 30 sec</li>
     4632      <li>6 = 60 sec</li>
     4633      <li>7 = 120 sec</li>
     4634      <li>8 = 240 sec</li>
     4635      <li>9 = 300 sec</li>
     4636      <li>10 = 600 sec</li>
     4637      <li>11 = 900 sec</li>
     4638      <li>12 = 1800 sec</li>
     4639      <li>13 = 3600 sec</li>
     4640      <li>14 = 7200 sec</li>
     4641      <li>15 = 10800 sec</li>
     4642    </ul>
     4643    <li>Number of following records in this block</li>
     4644    <li>Mountpoint, source/stream indicator</li>
     4645  </ol>
     4646  Each of the following 'satellite records' in such a block carries information for one specific satellite.
     4647  Undefined parameters in the 'satellite records' could be set to zero &quot;0.000&quot;.
     4648
     4649  <p>
     4650    <b>Example for block 'ORBIT' carrying orbit corrections</b>
     4651  </p>
     4652  <pre><p style="font-family:Monospace">
    27614653> ORBIT 2022 10 01 23 59 45.0 2 110 SSRA00CNE1
    27624654G01          93    -0.1588    -0.8664    -0.0600        0.2210    -0.1200    -0.0400
     
    27804672<p></pre>
    27814673
    2782 Records in this block provide the following satellite specific information:
    2783 <ul>
    2784 <li>GNSS Indicator and Satellite Vehicle Pseudo Random Number</li>
    2785 <li>IOD referring to Broadcast Ephemeris set</li>
    2786 <li>Radial Component of Orbit Correction to Broadcast Ephemeris [m]</li>
    2787 <li>Along-track Component of Orbit Correction to Broadcast Ephemeris [m]</li>
    2788 <li>Out-of-plane Component of Orbit Correction to Broadcast Ephemeris [m]</li>
    2789 <li>Velocity of Radial Component of Orbit Correction to Broadcast Ephemeris [mm/s]</li>
    2790 <li>Velocity of Along-track Component of Orbit Correction to Broadcast Ephemeris [mm/s]</li>
    2791 <li>Velocity of Out-of-plane Component of Orbit Correction to Broadcast Ephemeris [mm/s]</li>
    2792 </ul>
    2793 </p>
    2794 
    2795 <p>
    2796 <b>Example for block 'CLOCK' carrying clock corrections</b>
    2797 </p>
    2798 
    2799 <pre><p style="font-family:Monospace">
     4674  Records in this block provide the following satellite specific information:
     4675  <ul>
     4676    <li>GNSS Indicator and Satellite Vehicle Pseudo Random Number</li>
     4677    <li>IOD referring to Broadcast Ephemeris set</li>
     4678    <li>Radial Component of Orbit Correction to Broadcast Ephemeris [m]</li>
     4679    <li>Along-track Component of Orbit Correction to Broadcast Ephemeris [m]</li>
     4680    <li>Out-of-plane Component of Orbit Correction to Broadcast Ephemeris [m]</li>
     4681    <li>Velocity of Radial Component of Orbit Correction to Broadcast Ephemeris [mm/s]</li>
     4682    <li>Velocity of Along-track Component of Orbit Correction to Broadcast Ephemeris [mm/s]</li>
     4683    <li>Velocity of Out-of-plane Component of Orbit Correction to Broadcast Ephemeris [mm/s]</li>
     4684  </ul>
     4685  </p>
     4686
     4687  <p>
     4688    <b>Example for block 'CLOCK' carrying clock corrections</b>
     4689  </p>
     4690
     4691  <pre><p style="font-family:Monospace">
    28004692> CLOCK 2022 10 01 23 59 45.0 2 110 SSRA00CNE1
    28014693G01          93     0.1498     0.0000     0.0000
     
    28184710</p>
    28194711</pre>
    2820 <p>
    2821 Records in this block provide the following satellite specific information:
    2822 <ul>
    2823 <li>GNSS Indicator and Satellite Vehicle Pseudo Random Number</li>
    2824 <li>IOD referring to Broadcast Ephemeris set</li>
    2825 <li>C0 polynomial coefficient for Clock Correction to Broadcast Ephemeris [m]</li>
    2826 <li>C1 polynomial coefficient for Clock Correction to Broadcast Ephemeris [mm/s]</li>
    2827 <li>C2 polynomial coefficient for Clock Correction to Broadcast Ephemeris [mm/s**2]</li>
    2828 </ul>
    2829 </p>
    2830 <p>
    2831 <b>Example for block 'CODE_BIAS' carrying code biases</b>
    2832 </p>
    2833 <pre><p style="font-family:Monospace">
     4712  <p>
     4713    Records in this block provide the following satellite specific information:
     4714  <ul>
     4715    <li>GNSS Indicator and Satellite Vehicle Pseudo Random Number</li>
     4716    <li>IOD referring to Broadcast Ephemeris set</li>
     4717    <li>C0 polynomial coefficient for Clock Correction to Broadcast Ephemeris [m]</li>
     4718    <li>C1 polynomial coefficient for Clock Correction to Broadcast Ephemeris [mm/s]</li>
     4719    <li>C2 polynomial coefficient for Clock Correction to Broadcast Ephemeris [mm/s**2]</li>
     4720  </ul>
     4721  </p>
     4722  <p>
     4723    <b>Example for block 'CODE_BIAS' carrying code biases</b>
     4724  </p>
     4725  <pre><p style="font-family:Monospace">
    28344726> CODE_BIAS 2022 10 01 23 59 45.0 2 110 SSRA00CNE1
    28354727G01    7   1C    -2.6900   1P    -2.8300   1W    -3.1000   2L    -3.8000   2S    -3.8000   2W    -5.1000   5Q    -0.6300
     
    28514743C02    3   2I     4.4700   6I     6.7600   7I     1.9700
    28524744</p></pre>
    2853 <p>
    2854 Records in this block provide the following satellite specific information:
    2855 <ul>
    2856   <li>GNSS Indicator and Satellite Vehicle Pseudo Random Number</li>
    2857   <li>Number of Code Biases, succeeded by code specific information:</li>
     4745  <p>
     4746    Records in this block provide the following satellite specific information:
    28584747  <ul>
    2859     <li>Indicator to specify the signal and tracking mode</li>
    2860     <li>Code Bias [m]</li>
    2861     <li>Indicator to specify the signal and tracking mode</li>
    2862     <li>Code Bias [m]</li>
    2863     <li>etc.</li>
     4748    <li>GNSS Indicator and Satellite Vehicle Pseudo Random Number</li>
     4749    <li>Number of Code Biases, succeeded by code specific information:</li>
     4750    <ul>
     4751      <li>Indicator to specify the signal and tracking mode</li>
     4752      <li>Code Bias [m]</li>
     4753      <li>Indicator to specify the signal and tracking mode</li>
     4754      <li>Code Bias [m]</li>
     4755      <li>etc.</li>
     4756    </ul>
    28644757  </ul>
    2865 </ul>
    2866 </p>
    2867 
    2868 <p>
    2869 <b>Example for block 'PHASE_BIAS' carrying phase biases</b>
    2870 </p>
    2871 <pre><p style="font-family:Monospace">
     4758  </p>
     4759
     4760  <p>
     4761    <b>Example for block 'PHASE_BIAS' carrying phase biases</b>
     4762  </p>
     4763  <pre><p style="font-family:Monospace">
    28724764> PHASE_BIAS 2022 10 01 23 59 45.0 2 110 SSRA00CNE1
    28734765 0   1
     
    28904782C02   0.00000000   0.00000000    3   2I     0.5378   0   2  15   7I     4.1515   0   2  15   6I     0.7121   0   2  15
    28914783</p></pre>
    2892 <p>
    2893 The second record in this block provides the following consistency information:
    2894 <ul>
    2895 
    2896 <li>Dispersive bias consistency indicatory<br>
    2897 0 &minus; phase biases valid for non-dispersive signal only<br>
    2898 1 &minus; phase biases maintain consistency between non-dispersive and all original dispersive phase signals
    2899 </li>
    2900 
    2901 <li>MW consistency indicator<br>
    2902 0 &minus; code and phase biases are independently derived<br>
    2903 1 &minus; consistency between code and phase biases is maintained for the MW combinations
    2904 </li>
    2905 
    2906 </ul>
    2907 Following records provide satellite specific information:
    2908 <ul>
    2909   <li>GNSS Indicator and Satellite Vehicle Pseudo Random Number</li>
    2910   <li>Yaw angle [&deg;], restricted to [0&deg... 360&deg]</li>
    2911   <li>Yaw rate [&deg;/s]</li>
    2912   <li>Number of phase biases in this record, succeeded by phase specific information:</li>
     4784  <p>
     4785    The second record in this block provides the following consistency information:
    29134786  <ul>
    2914     <li>Signal and tracking mode indicator</li>
    2915     <li>Phase bias [m]</li>
    2916     <li>Signal integer indicator</li>
    2917     <li>Signal wide-lane integer indicator</li>
    2918     <li>Signal discontinuity counter</li>
     4787
     4788    <li>Dispersive bias consistency indicatory<br>
     4789      0 &minus; phase biases valid for non-dispersive signal only<br>
     4790      1 &minus; phase biases maintain consistency between non-dispersive and all original dispersive phase signals
     4791    </li>
     4792
     4793    <li>MW consistency indicator<br>
     4794      0 &minus; code and phase biases are independently derived<br>
     4795      1 &minus; consistency between code and phase biases is maintained for the MW combinations
     4796    </li>
     4797
    29194798  </ul>
    2920 </ul>
    2921 </p>
    2922 
    2923 <p>
    2924 <b>Example for block 'VTEC' carrying ionospheric corrections</b>
    2925 </p>
    2926 <pre><p style="font-family:Monospace"
     4799  Following records provide satellite specific information:
     4800  <ul>
     4801    <li>GNSS Indicator and Satellite Vehicle Pseudo Random Number</li>
     4802    <li>Yaw angle [&deg;], restricted to [0&deg... 360&deg]</li>
     4803    <li>Yaw rate [&deg;/s]</li>
     4804    <li>Number of phase biases in this record, succeeded by phase specific information:</li>
     4805    <ul>
     4806      <li>Signal and tracking mode indicator</li>
     4807      <li>Phase bias [m]</li>
     4808      <li>Signal integer indicator</li>
     4809      <li>Signal wide-lane integer indicator</li>
     4810      <li>Signal discontinuity counter</li>
     4811    </ul>
     4812  </ul>
     4813  </p>
     4814
     4815  <p>
     4816    <b>Example for block 'VTEC' carrying ionospheric corrections</b>
     4817  </p>
     4818  <pre><p style="font-family:Monospace"
    29274819> VTEC 2022 10 02 00 00 00.0 6 1 SSRA00CNE1
    29284820 1 12 12   450000.0
     
    29544846    0.0000     0.0750    -0.1400     0.0850    -0.0200    -0.0150     0.0750     0.0000     0.0050     0.0200     0.0250     0.0100     0.0450
    29554847</p></pre>
    2956 <p>
    2957 The second record in this block provides four parameters:
    2958 <ul>
    2959   <li>Layer number</li>
    2960   <li>Maximum degree of spherical harmonics</li>
    2961   <li>Maximum order of spherical harmonics</li>
    2962   <li>Height of ionospheric layer [m]</li>
    2963 </ul>
    2964 Subsequent records in this block provide the following information:
    2965 <ul>
    2966   <li>Spherical harmonic coefficients C and S, sorted by degree and order (0 to maximum)</li>
    2967 </ul>
    2968 </p>
    2969 
    2970 <p><h4 id="corrdir">2.8.1 Directory, ASCII - optional</h4></p>
    2971 <p>
    2972 Specify a directory for saving Broadcast Corrections in files. If the specified directory does not exist,
    2973 BNC will not create Broadcast Correction files. Default value for Broadcast Correction 'Directory' is
    2974 an empty option field, meaning that no Broadcast Correction files will be created.
    2975 </p>
    2976 
    2977 <p><h4 id="corrint">2.8.2 Interval - mandatory if 'Directory, ASCII' is set</h4></p>
    2978 <p>
    2979 Select the length of the Broadcast Correction files. The default value is '1 day'.
    2980 </p>
    2981 
    2982 <p><h4 id="corrport">2.8.3 Port - optional</h4></p>
    2983 <p>
    2984 BNC can output epoch by epoch synchronized Broadcast Corrections in ASCII format on your local host (IP 127.0.0.1)
    2985 through an IP 'Port'. Specify an IP port number to activate this function. The default is an empty option field,
    2986 meaning that no Broadcast Correction output via IP port is generated.
    2987 </p>
    2988 <p>
    2989 The output format is the same to the format used for saving Broadcast Corrections in a file.
    2990 </p>
    2991 <p>
    2992 The source code for BNC comes with an example Perl script 'test_tcpip_client.pl' that allows to read
    2993 BNC's Broadcast Corrections from the IP port for verification.
    2994 </p>
    2995 
    2996 <p><img src="IMG/Figure17.png"width=1000/></p>
    2997 <p>Figure 17: Example for pulling, saving and output of Broadcast Corrections using BNC</p>
    2998 
    2999 <p><h4 id="syncout">2.9 Feed Engine</h4></p>
    3000 
    3001 <p>
    3002 BNC can produce synchronized or unsynchronized observations epoch by epoch from all stations and satellites to feed
    3003 a real-time GNSS network engine.  Observations can be streamed out through an IP port and/or saved in a local file.
    3004 The output is always in the same plain ASCII format and sorted per incoming stream.
    3005 </p>
    3006 
    3007 <p>
    3008 Each epoch in the synchronized output begins with a line containing the GPS Week Number and the seconds within the GPS Week.
    3009 Following lines begin with the mountpoint string of the stream which provides the observations followed by a satellite number.
    3010 Specifications for satellite number, code, phase, doppler and signal strength data follow definitions presented in the
    3011 RINEX Version 3 documentation. In case of phase observations, a 'Slip Counter' is added. The end of an epoch is indicated by an empty line.
    3012 </p>
    3013 
    3014 <p>
    3015 A valid 'Slip Counter' is only presented for observations from RTCM Version 2 streams (Cummulative Loss of Lock Indicator).
    3016 In RTCM Version 3 streams a 'Lock Time Indicator' is available instead. This parameter indicates a measure of the amount
    3017 of time that has elapsed during which the receiver has maintained continuous lock on that satellite signal.
    3018 If a cycle slip occurs during the previous measurement cycle, the 'Lock Time Indicator' will be reset to zero.
    3019 But, this 'Lock Time Indicator' ist defined with different resolution for different RTCM version 3 observation types (MSMi, legacy messages).
    3020 </p>
    3021 
    3022 <p>
    3023 From the RTCM version 3 'Lock Time Indicator' a valid 'Lock Time' can be computed with the respective calculation rule.
    3024 This parameter provides a measure of the amount of time that has elapsed during which the receiver has maintained continuous
    3025 lock on that satellite signal in seconds. If a cycle slip occurs during the previous measurement cycle, the 'Lock Time' will decrease.
    3026 This information will be used, to provide a 'Slip Counter' for RTCM Version 3 observations as well.  With it, we have an output
    3027 format that is independent from the RTCM version of the observations. The 'Lock Time' output can be activated optional.
    3028 </p>
    3029 
    3030 <p>
    3031 The following table describes the format of BNC's synchronized output of GNSS observations which consists of 'Epoch Records'
    3032 and 'Observation Records'. Each Epoch Record is followed by one or more Observation Records. The Observation Record is repeated
    3033 for each satellite having been observed in the current epoch. The length of an Observation Record is given by the number of
    3034 observation types for this satellite.
    3035 </p>
    3036 
    3037 <p>Table 2: Contents and format of synchronized output of observations feeding a GNSS engine</p>
    3038 <p>
    3039 <table>
    3040 <tr><td></td><td><b>Example</b></td><td><b>Format</b></td></tr>
    3041 
    3042 <tr><td><b>Epoch Record</b></td><td></td><td></td></tr>
    3043 <tr><td>Record Identifier</td><td>></td><td>A1</td></tr>
    3044 <tr><td>GPS Week Number</td><td>1850</td><td>1X,I4</td></tr>
    3045 <tr><td>GPS Seconds of Week</td><td>120556.0000000 &nbsp; &nbsp;</td><td>1X,F14.7</td></tr>
    3046 
    3047 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
    3048 <tr><td><b>Observation Record</b></td><td></td><td></td></tr>
    3049 <tr><td>Mountpoint</td><td>WTZR00DEU0</td><td>A</td></tr>
    3050 <tr><td>Satellite Number</td><td>G01</td><td>1X,A3</td></tr>
    3051 
    3052 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
    3053 
    3054 <tr><td><b>Pseudo-Range Data</b></td><td></td><td></td></tr>
    3055 <tr><td>Observation Code</td><td><b>C</b>1C</td><td>1X,A3</td></tr>
    3056 <tr><td>Pseudo-Range Observation</td><td>25394034.112</td><td>1X,F14.3</td></tr>
    3057 
    3058 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
    3059 
    3060 <tr><td><b>Carrier Phase Data</b></td><td></td><td></td></tr>
    3061 <tr><td>Observation Code</td><td><b>L</b>1C</td><td>1X,A3</td></tr>
    3062 <tr><td>Carrier Phase Observation</td><td>133446552.870</td><td>1X,F14.3</td></tr>
    3063 <tr><td>Slip Counter</td><td>11</td><td>1X,I4</td></tr>
    3064 
    3065 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
    3066 
    3067 <tr><td><b>Doppler Data</b></td><td></td><td></td></tr>
    3068 <tr><td>Observation Code</td><td><b>D</b>1C</td><td>1X,A3</td></tr>
    3069 <tr><td>Doppler Observation</td><td>-87.977</td><td>1X,F14.3</td></tr>
    3070 
    3071 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
    3072 
    3073 <tr><td><b>Signal Strength</b></td><td></td><td></td></tr>
    3074 <tr><td>Observation Code</td><td><b>S</b>2W</td><td>1X,A3</td></tr>
    3075 <tr><td>Observed Signal Strength &nbsp; &nbsp;</td><td>34.750</td><td>1X,F8.3</td></tr>
    3076 
    3077 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
    3078 
    3079 <tr><td><b>Lock Time (optional)</b></td><td></td><td></td></tr>
    3080 <tr><td>Observation Code</td><td><b>T</b>2W</td><td>1X,A3</td></tr>
    3081 <tr><td>Computed Lock Time &nbsp; &nbsp;</td><td>937.000</td><td>1X,F8.3</td></tr>
    3082 </table>
    3083 </p>
    3084 
    3085 The following is an example epoch for synchronized file and IP port output, which presents observations
    3086 from GPS, GLONASS, Galileo, BDS (BeiDou), and QZSS satellites as collected through the stream CUT000AUS0:
    3087 <pre><p style="font-family:Monospace">
     4848  <p>
     4849    The second record in this block provides four parameters:
     4850  <ul>
     4851    <li>Layer number</li>
     4852    <li>Maximum degree of spherical harmonics</li>
     4853    <li>Maximum order of spherical harmonics</li>
     4854    <li>Height of ionospheric layer [m]</li>
     4855  </ul>
     4856  Subsequent records in this block provide the following information:
     4857  <ul>
     4858    <li>Spherical harmonic coefficients C and S, sorted by degree and order (0 to maximum)</li>
     4859  </ul>
     4860  </p>
     4861
     4862  <p>
     4863  <h4 id="corrdir">2.8.1 Directory, ASCII - optional</h4>
     4864  </p>
     4865  <p>
     4866    Specify a directory for saving Broadcast Corrections in files. If the specified directory does not exist,
     4867    BNC will not create Broadcast Correction files. Default value for Broadcast Correction 'Directory' is
     4868    an empty option field, meaning that no Broadcast Correction files will be created.
     4869  </p>
     4870
     4871  <p>
     4872  <h4 id="corrint">2.8.2 Interval - mandatory if 'Directory, ASCII' is set</h4>
     4873  </p>
     4874  <p>
     4875    Select the length of the Broadcast Correction files. The default value is '1 day'.
     4876  </p>
     4877
     4878  <p>
     4879  <h4 id="corrport">2.8.3 Port - optional</h4>
     4880  </p>
     4881  <p>
     4882    BNC can output epoch by epoch synchronized Broadcast Corrections in ASCII format on your local host (IP 127.0.0.1)
     4883    through an IP 'Port'. Specify an IP port number to activate this function. The default is an empty option field,
     4884    meaning that no Broadcast Correction output via IP port is generated.
     4885  </p>
     4886  <p>
     4887    The output format is the same to the format used for saving Broadcast Corrections in a file.
     4888  </p>
     4889  <p>
     4890    The source code for BNC comes with an example Perl script 'test_tcpip_client.pl' that allows to read
     4891    BNC's Broadcast Corrections from the IP port for verification.
     4892  </p>
     4893
     4894  <p><img src="IMG/Figure17.png" width=1000 /></p>
     4895  <p>Figure 17: Example for pulling, saving and output of Broadcast Corrections using BNC</p>
     4896
     4897  <p>
     4898  <h4 id="syncout">2.9 Feed Engine</h4>
     4899  </p>
     4900
     4901  <p>
     4902    BNC can produce synchronized or unsynchronized observations epoch by epoch from all stations and satellites to feed
     4903    a real-time GNSS network engine. Observations can be streamed out through an IP port and/or saved in a local file.
     4904    The output is always in the same plain ASCII format and sorted per incoming stream.
     4905  </p>
     4906
     4907  <p>
     4908    Each epoch in the synchronized output begins with a line containing the GPS Week Number and the seconds within the
     4909    GPS Week.
     4910    Following lines begin with the mountpoint string of the stream which provides the observations followed by a
     4911    satellite number.
     4912    Specifications for satellite number, code, phase, doppler and signal strength data follow definitions presented in
     4913    the
     4914    RINEX Version 3 documentation. In case of phase observations, a 'Slip Counter' is added. The end of an epoch is
     4915    indicated by an empty line.
     4916  </p>
     4917
     4918  <p>
     4919    A valid 'Slip Counter' is only presented for observations from RTCM Version 2 streams (Cummulative Loss of Lock
     4920    Indicator).
     4921    In RTCM Version 3 streams a 'Lock Time Indicator' is available instead. This parameter indicates a measure of the
     4922    amount
     4923    of time that has elapsed during which the receiver has maintained continuous lock on that satellite signal.
     4924    If a cycle slip occurs during the previous measurement cycle, the 'Lock Time Indicator' will be reset to zero.
     4925    But, this 'Lock Time Indicator' ist defined with different resolution for different RTCM version 3 observation types
     4926    (MSMi, legacy messages).
     4927  </p>
     4928
     4929  <p>
     4930    From the RTCM version 3 'Lock Time Indicator' a valid 'Lock Time' can be computed with the respective calculation
     4931    rule.
     4932    This parameter provides a measure of the amount of time that has elapsed during which the receiver has maintained
     4933    continuous
     4934    lock on that satellite signal in seconds. If a cycle slip occurs during the previous measurement cycle, the 'Lock
     4935    Time' will decrease.
     4936    This information will be used, to provide a 'Slip Counter' for RTCM Version 3 observations as well. With it, we have
     4937    an output
     4938    format that is independent from the RTCM version of the observations. The 'Lock Time' output can be activated
     4939    optional.
     4940  </p>
     4941
     4942  <p>
     4943    The following table describes the format of BNC's synchronized output of GNSS observations which consists of 'Epoch
     4944    Records'
     4945    and 'Observation Records'. Each Epoch Record is followed by one or more Observation Records. The Observation Record
     4946    is repeated
     4947    for each satellite having been observed in the current epoch. The length of an Observation Record is given by the
     4948    number of
     4949    observation types for this satellite.
     4950  </p>
     4951
     4952  <p>Table 2: Contents and format of synchronized output of observations feeding a GNSS engine</p>
     4953  <p>
     4954  <table>
     4955    <tr>
     4956      <td></td>
     4957      <td><b>Example</b></td>
     4958      <td><b>Format</b></td>
     4959    </tr>
     4960
     4961    <tr>
     4962      <td><b>Epoch Record</b></td>
     4963      <td></td>
     4964      <td></td>
     4965    </tr>
     4966    <tr>
     4967      <td>Record Identifier</td>
     4968      <td>></td>
     4969      <td>A1</td>
     4970    </tr>
     4971    <tr>
     4972      <td>GPS Week Number</td>
     4973      <td>1850</td>
     4974      <td>1X,I4</td>
     4975    </tr>
     4976    <tr>
     4977      <td>GPS Seconds of Week</td>
     4978      <td>120556.0000000 &nbsp; &nbsp;</td>
     4979      <td>1X,F14.7</td>
     4980    </tr>
     4981
     4982    <tr>
     4983      <td>&nbsp;</td>
     4984      <td>&nbsp;</td>
     4985      <td>&nbsp;</td>
     4986    </tr>
     4987    <tr>
     4988      <td><b>Observation Record</b></td>
     4989      <td></td>
     4990      <td></td>
     4991    </tr>
     4992    <tr>
     4993      <td>Mountpoint</td>
     4994      <td>WTZR00DEU0</td>
     4995      <td>A</td>
     4996    </tr>
     4997    <tr>
     4998      <td>Satellite Number</td>
     4999      <td>G01</td>
     5000      <td>1X,A3</td>
     5001    </tr>
     5002
     5003    <tr>
     5004      <td>&nbsp;</td>
     5005      <td>&nbsp;</td>
     5006      <td>&nbsp;</td>
     5007    </tr>
     5008
     5009    <tr>
     5010      <td><b>Pseudo-Range Data</b></td>
     5011      <td></td>
     5012      <td></td>
     5013    </tr>
     5014    <tr>
     5015      <td>Observation Code</td>
     5016      <td><b>C</b>1C</td>
     5017      <td>1X,A3</td>
     5018    </tr>
     5019    <tr>
     5020      <td>Pseudo-Range Observation</td>
     5021      <td>25394034.112</td>
     5022      <td>1X,F14.3</td>
     5023    </tr>
     5024
     5025    <tr>
     5026      <td>&nbsp;</td>
     5027      <td>&nbsp;</td>
     5028      <td>&nbsp;</td>
     5029    </tr>
     5030
     5031    <tr>
     5032      <td><b>Carrier Phase Data</b></td>
     5033      <td></td>
     5034      <td></td>
     5035    </tr>
     5036    <tr>
     5037      <td>Observation Code</td>
     5038      <td><b>L</b>1C</td>
     5039      <td>1X,A3</td>
     5040    </tr>
     5041    <tr>
     5042      <td>Carrier Phase Observation</td>
     5043      <td>133446552.870</td>
     5044      <td>1X,F14.3</td>
     5045    </tr>
     5046    <tr>
     5047      <td>Slip Counter</td>
     5048      <td>11</td>
     5049      <td>1X,I4</td>
     5050    </tr>
     5051
     5052    <tr>
     5053      <td>&nbsp;</td>
     5054      <td>&nbsp;</td>
     5055      <td>&nbsp;</td>
     5056    </tr>
     5057
     5058    <tr>
     5059      <td><b>Doppler Data</b></td>
     5060      <td></td>
     5061      <td></td>
     5062    </tr>
     5063    <tr>
     5064      <td>Observation Code</td>
     5065      <td><b>D</b>1C</td>
     5066      <td>1X,A3</td>
     5067    </tr>
     5068    <tr>
     5069      <td>Doppler Observation</td>
     5070      <td>-87.977</td>
     5071      <td>1X,F14.3</td>
     5072    </tr>
     5073
     5074    <tr>
     5075      <td>&nbsp;</td>
     5076      <td>&nbsp;</td>
     5077      <td>&nbsp;</td>
     5078    </tr>
     5079
     5080    <tr>
     5081      <td><b>Signal Strength</b></td>
     5082      <td></td>
     5083      <td></td>
     5084    </tr>
     5085    <tr>
     5086      <td>Observation Code</td>
     5087      <td><b>S</b>2W</td>
     5088      <td>1X,A3</td>
     5089    </tr>
     5090    <tr>
     5091      <td>Observed Signal Strength &nbsp; &nbsp;</td>
     5092      <td>34.750</td>
     5093      <td>1X,F8.3</td>
     5094    </tr>
     5095
     5096    <tr>
     5097      <td>&nbsp;</td>
     5098      <td>&nbsp;</td>
     5099      <td>&nbsp;</td>
     5100    </tr>
     5101
     5102    <tr>
     5103      <td><b>Lock Time (optional)</b></td>
     5104      <td></td>
     5105      <td></td>
     5106    </tr>
     5107    <tr>
     5108      <td>Observation Code</td>
     5109      <td><b>T</b>2W</td>
     5110      <td>1X,A3</td>
     5111    </tr>
     5112    <tr>
     5113      <td>Computed Lock Time &nbsp; &nbsp;</td>
     5114      <td>937.000</td>
     5115      <td>1X,F8.3</td>
     5116    </tr>
     5117  </table>
     5118  </p>
     5119
     5120  The following is an example epoch for synchronized file and IP port output, which presents observations
     5121  from GPS, GLONASS, Galileo, BDS (BeiDou), and QZSS satellites as collected through the stream CUT000AUS0:
     5122  <pre><p style="font-family:Monospace">
    30885123> 2235 161041.0000000
    30895124CUT000AUS0 G05 C1C   22397546.124 L1C  117700392.329    0 D1C      -1640.054 S1C   43.812 C2W   22397552.729 L2W   91714594.476    0 S2W   40.500 C2X   22397553.316 L2X   91714226.480    0 S2X   42.312
     
    31345169..
    31355170</p></pre>
    3136 <p>
    3137 The source code for BNC comes with a Perl script named 'test_tcpip_client.pl' that allows to read BNC's (synchronized or unsynchronized)
    3138 ASCII observation output from the IP port and print it on standard output for verification.
    3139 </p>
    3140 
    3141 <p>
    3142 Note that any socket connection of an application to BNC's synchronized or unsynchronized observation ports is recorded in the 'Log' tab
    3143 on the bottom of the main window together with a connection counter, resulting in log records like 'New client connection on sync/usync port: # 1'.
    3144 </p>
    3145 
    3146 <p>
    3147 The following figure shows the screenshot of a BNC configuration where a number of streams is pulled from different Ntrip Broadcasters
    3148 to feed a GNSS engine via IP port output.
    3149 </p>
    3150 <p><img src="IMG/Figure18.png"width=1000/></p>
    3151 <p>Figure 18: Synchronized BNC output via IP port to feed a GNSS real-time engine</p>
    3152 
    3153 <p><h4 id="syncport">2.9.1 Port - optional</h4></p>
    3154 <p>
    3155 BNC can produce synchronized observations in ASCII format on your local host (IP 127.0.0.1) through an IP 'Port'.
    3156 Synchronized means that BNC collects all observation data for a specific epoch, which become available within
    3157 a certain number of seconds (see 'Wait for Full Obs Epoch' option). It then - epoch by epoch - outputs whatever has been received.
    3158 The output comes block-wise per stream following the format specified in Table 2. Enter an IP port number here to activate this function.
    3159 The default is an empty option field, meaning that no synchronized output is generated.</p>
    3160 </p>
    3161 
    3162 <p><h4 id="syncwait">2.9.2 Wait for Full Obs Epoch - mandatory if 'Port' is set</h4></p>
    3163 <p>
    3164 When feeding a real-time GNSS network engine waiting for synchronized observations epoch by epoch, BNC drops whatever is
    3165 received later than 'Wait for full obs epoch' seconds. A value of 3 to 5 seconds could be an appropriate choice for that,
    3166 depending on the latency of the incoming streams and the delay acceptable for your real-time GNSS product.
    3167 Default value for 'Wait for full obs epoch' is 5 seconds.
    3168 Note that 'Wait for full obs epoch' does not affect the RINEX Observation file content. Observations received later
    3169 than 'Wait for full obs epoch' seconds will still be included in the RINEX Observation files.
    3170 </p>
    3171 
    3172 <p><h4 id="syncsample">2.9.3 Sampling - mandatory if 'File' or 'Port' is set</h4></p>
    3173 <p>
    3174 Select a synchronized observation output sampling interval in seconds.
    3175 </p>
    3176 
    3177 <p><h4 id="syncfile">2.9.4 File - optional</h4></p>
    3178 <p>
    3179 Specify the full path to a 'File' where synchronized observations are saved in plain ASCII format.
    3180 The default value is an empty option field, meaning that no ASCII output file is created.
    3181 Beware that the size of this file can rapidly increase depending on the number of incoming streams.
    3182 To prevent it from becoming too large, the name of the file can be changed on-the-fly.
    3183 This option is primarily meant for test and evaluation.
    3184 </p>
    3185 
    3186 <p><h4 id="syncuport">2.9.5 Port (unsynchronized) - optional</h4></p>
    3187 <p>
    3188 BNC can produce unsynchronized observations from all configured streams in ASCII format on your local host (IP 127.0.0.1) through an IP 'Port'.
    3189 Unsynchronized means that BNC immediately forwards any received observation to the port.
    3190 Nevertheless, the output is produced block-wise per stream. Specify an IP port number here to activate this function.
    3191 The default is an empty option field, meaning that no unsynchronized output is generated.
    3192 </p>
    3193 <p>
    3194 The following is an example for unsynchronized IP port output which presents observations from GPS, GLONASS, Galileo, BDS (BeiDou)
    3195 as collected through stream WTZR00DEU0. The format for synchronized and unsynchronized output of observations is very much the same.
    3196 However, unsynchronized output does not have 'Epoch Records' and 'Observation Records'.
    3197 Instead each record contains the 'GPS Week Number' and 'GPS Second of Week' time tag between the mountpoint string and the satellite number,
    3198 see Table 2 for format details.
    3199 </p>
    3200 
    3201 <pre><p style="font-family:Monospace">
     5171  <p>
     5172    The source code for BNC comes with a Perl script named 'test_tcpip_client.pl' that allows to read BNC's
     5173    (synchronized or unsynchronized)
     5174    ASCII observation output from the IP port and print it on standard output for verification.
     5175  </p>
     5176
     5177  <p>
     5178    Note that any socket connection of an application to BNC's synchronized or unsynchronized observation ports is
     5179    recorded in the 'Log' tab
     5180    on the bottom of the main window together with a connection counter, resulting in log records like 'New client
     5181    connection on sync/usync port: # 1'.
     5182  </p>
     5183
     5184  <p>
     5185    The following figure shows the screenshot of a BNC configuration where a number of streams is pulled from different
     5186    Ntrip Broadcasters
     5187    to feed a GNSS engine via IP port output.
     5188  </p>
     5189  <p><img src="IMG/Figure18.png" width=1000 /></p>
     5190  <p>Figure 18: Synchronized BNC output via IP port to feed a GNSS real-time engine</p>
     5191
     5192  <p>
     5193  <h4 id="syncport">2.9.1 Port - optional</h4>
     5194  </p>
     5195  <p>
     5196    BNC can produce synchronized observations in ASCII format on your local host (IP 127.0.0.1) through an IP 'Port'.
     5197    Synchronized means that BNC collects all observation data for a specific epoch, which become available within
     5198    a certain number of seconds (see 'Wait for Full Obs Epoch' option). It then - epoch by epoch - outputs whatever has
     5199    been received.
     5200    The output comes block-wise per stream following the format specified in Table 2. Enter an IP port number here to
     5201    activate this function.
     5202    The default is an empty option field, meaning that no synchronized output is generated.</p>
     5203  </p>
     5204
     5205  <p>
     5206  <h4 id="syncwait">2.9.2 Wait for Full Obs Epoch - mandatory if 'Port' is set</h4>
     5207  </p>
     5208  <p>
     5209    When feeding a real-time GNSS network engine waiting for synchronized observations epoch by epoch, BNC drops
     5210    whatever is
     5211    received later than 'Wait for full obs epoch' seconds. A value of 3 to 5 seconds could be an appropriate choice for
     5212    that,
     5213    depending on the latency of the incoming streams and the delay acceptable for your real-time GNSS product.
     5214    Default value for 'Wait for full obs epoch' is 5 seconds.
     5215    Note that 'Wait for full obs epoch' does not affect the RINEX Observation file content. Observations received later
     5216    than 'Wait for full obs epoch' seconds will still be included in the RINEX Observation files.
     5217  </p>
     5218
     5219  <p>
     5220  <h4 id="syncsample">2.9.3 Sampling - mandatory if 'File' or 'Port' is set</h4>
     5221  </p>
     5222  <p>
     5223    Select a synchronized observation output sampling interval in seconds.
     5224  </p>
     5225
     5226  <p>
     5227  <h4 id="syncfile">2.9.4 File - optional</h4>
     5228  </p>
     5229  <p>
     5230    Specify the full path to a 'File' where synchronized observations are saved in plain ASCII format.
     5231    The default value is an empty option field, meaning that no ASCII output file is created.
     5232    Beware that the size of this file can rapidly increase depending on the number of incoming streams.
     5233    To prevent it from becoming too large, the name of the file can be changed on-the-fly.
     5234    This option is primarily meant for test and evaluation.
     5235  </p>
     5236
     5237  <p>
     5238  <h4 id="syncuport">2.9.5 Port (unsynchronized) - optional</h4>
     5239  </p>
     5240  <p>
     5241    BNC can produce unsynchronized observations from all configured streams in ASCII format on your local host (IP
     5242    127.0.0.1) through an IP 'Port'.
     5243    Unsynchronized means that BNC immediately forwards any received observation to the port.
     5244    Nevertheless, the output is produced block-wise per stream. Specify an IP port number here to activate this
     5245    function.
     5246    The default is an empty option field, meaning that no unsynchronized output is generated.
     5247  </p>
     5248  <p>
     5249    The following is an example for unsynchronized IP port output which presents observations from GPS, GLONASS,
     5250    Galileo, BDS (BeiDou)
     5251    as collected through stream WTZR00DEU0. The format for synchronized and unsynchronized output of observations is
     5252    very much the same.
     5253    However, unsynchronized output does not have 'Epoch Records' and 'Observation Records'.
     5254    Instead each record contains the 'GPS Week Number' and 'GPS Second of Week' time tag between the mountpoint string
     5255    and the satellite number,
     5256    see Table 2 for format details.
     5257  </p>
     5258
     5259  <pre><p style="font-family:Monospace">
    32025260WTZR00DEU0 2235 163641.0000000 C45 C2I   21792728.974 L2I  113480606.233    0 D2I       -840.222 S2I   49.000 C6I   21792718.056 L6I   92212301.720    0 D6I       -682.735 S6I   53.000 C5P   21792722.630 L5P   85519518.841    0 D5P       -633.150 S5P   55.000 C1P   21792728.867 L1P  114521718.308    0 D1P       -847.940 S1P   49.000
    32035261WTZR00DEU0 2235 163641.0000000 C57 C2I   35241541.940 L2I  183511967.699    0 D2I       3312.134 S2I   38.000
     
    32275285</p></pre>
    32285286
    3229 <p><h4 id="serial">2.10 Serial Output</h4></p>
    3230 <p>
    3231 You may use BNC to feed a serially connected device like a GNSS receiver. For that, an incoming stream can be forwarded to a serial port.
    3232 Depending on the stream content, the receiver may use it for Differential GNSS, Precise Point Positioning or any other purpose
    3233 supported by its firmware.
    3234 </p>
    3235 <p>
    3236 Note that receiving a VRS stream requires the receiver sending NMEA sentences (option 'NMEA' set to 'Manual' or 'Auto') to the Ntrip Broadcaster.
    3237 The following figure shows the data flow when pulling a VRS stream or a physical (non-VRS) stream.
    3238 </p>
    3239 
    3240 <p><img src="IMG/Figure19.png"width=1000/></p>
    3241 <p>Figure 19: Flowcharts, BNC forwarding a stream to a serially connected receiver; sending NMEA sentences is mandatory for VRS streams</p>
    3242 
    3243 <p>
    3244 The following figure shows the screenshot of an example situation where BNC pulls a VRS stream from an Ntrip Broadcaster
    3245 to feed a serially connected RTK rover.
    3246 </p>
    3247 
    3248 <p><img src="IMG/Figure20.png"width=1000/></p>
    3249 <p>Figure 20: BNC pulling a RTCM Version 3 stream to feed a serial connected receiver with observations from a nearby reference station for conventional RTK</p>
    3250 
    3251 <p><h4 id="sermount">2.10.1 Mountpoint - optional</h4></p>
    3252 <p>
    3253 Enter a 'Mountpoint' to forward its corresponding stream to a serially connected GNSS receiver.
    3254 </p>
    3255 <p>
    3256 When selecting one of the serial communication options listed below, make sure that you pick those configured to the
    3257 serially connected receiver.
    3258 </p>
    3259 
    3260 <p><h4 id="serport">2.10.2 Port Name - mandatory if 'Mountpoint' is set</h4></p>
    3261 <p>
    3262 Enter the serial 'Port name' selected on your host for communication with the serially connected receiver.
    3263 Valid port names are
    3264 </p>
    3265 <table>
    3266   <tr><td>Windows:      </td><td>&nbsp; COM1, COM2              </td></tr>
    3267   <tr><td>Linux:        </td><td>&nbsp; /dev/ttyS0, /dev/ttyS1  </td></tr>
    3268   <tr><td>FreeBSD:      </td><td>&nbsp; /dev/ttyd0, /dev/ttyd1  </td></tr>
    3269   <tr><td>Digital Unix: </td><td>&nbsp; /dev/tty01, /dev/tty02  </td></tr>
    3270   <tr><td>HP-UX:        </td><td>&nbsp; /dev/tty1p0, /dev/tty2p0</td></tr>
    3271   <tr><td>SGI/IRIX:     </td><td>&nbsp; /dev/ttyf1, /dev/ttyf2  </td></tr>
    3272   <tr><td>SunOS/Solaris:</td><td>&nbsp; /dev/ttya, /dev/ttyb    </td></tr>
    3273 </table>
    3274 <p>
    3275 Note that you must plug a serial cable in the port defined here before you start BNC.
    3276 </p>
    3277 
    3278 <p><h4 id="serbaud">2.10.3 Baud Rate - mandatory if 'Mountpoint' is set</h4></p>
    3279 <p>
    3280 Select a 'Baud rate' for the serial output link. Note that using a high baud rate is recommended.
    3281 </p>
    3282 
    3283 <p><h4 id="serflow">2.10.4 Flow Control - mandatory if 'Mountpoint' is set</h4></p>
    3284 <p>
    3285 Select a 'Flow control' for the serial output link. Note that your selection must equal the flow control configured to the serially connected device.
    3286 Select 'OFF' if you do not know better.
    3287 </p>
    3288 
    3289 <p><h4 id="serparity">2.10.5 Parity - mandatory if 'Mountpoint' is set</h4></p>
    3290 <p>
    3291 Select the 'Parity' for the serial output link. Note that parity is often set to 'NONE'.
    3292 </p>
    3293 
    3294 <p><h4 id="serdata">2.10.6 Data Bits - mandatory if 'Mountpoint' is set</h4></p>
    3295 <p>
    3296 Select the number of 'Data bits' for the serial output link. Note that often '8' data bits are used.
    3297 </p>
    3298 
    3299 <p><h4 id="serstop">2.10.7 Stop Bits - mandatory if 'Mountpoint' is set</h4></p>
    3300 <p>
    3301 Select the number of 'Stop bits' for the serial output link. Note that often '1' stop bit is used.
    3302 </p>
    3303 
    3304 <p><h4 id="serauto">2.10.8 NMEA - mandatory if 'Mountpoint' is set</h4></p>
    3305 <p>The 'NMEA' option supports the so-called 'Virtual Reference Station' (VRS) concept which requires the receiver to send
    3306 approximate position information to the Ntrip Broadcaster. Select 'no' if you do not want BNC to forward or upload any NMEA sentence
    3307 to the Ntrip broadcaster in support of VRS.
    3308 </p>
    3309 <p>
    3310 Select 'Auto' to automatically forward NMEA sentences of type GGA from your serially connected receiver to the Ntrip broadcaster
    3311 and/or save them in a file.
    3312 </p>
    3313 <p>Select 'Manual GPGGA' or 'Manual GNGGA' if you want BNC to produce and upload GPGGA or GNGGA NMEA sentences to the Ntrip broadcaster
    3314 because your serially connected receiver does not generate them. A Talker ID 'GP' proceeding the GGA string stands for GPS solutions
    3315 while a Talker ID 'GN' stands for multi-constellation solutions.
    3316 </p>
    3317 <p>
    3318 Note that selecting 'Auto' or 'Manual' works only for VRS streams which show up under the 'Streams' canvas on BNC's main window
    3319 with 'nmea' stream attribute set to 'yes'. This attribute is either extracted from the Ntrip broadcaster's source-table or
    3320 introduced by the user through editing the BNC configuration file.
    3321 </p>
    3322 
    3323 <p><h4 id="serfile">2.10.9 File - optional if 'NMEA' is set to 'Auto'</h4></p>
    3324 <p>
    3325 Specify the full path to a file where NMEA sentences coming from your serially connected receiver are saved.
    3326 Default is an empty option field, meaning that no NMEA sentences will be saved on disk.
    3327 </p>
    3328 <p><h4 id="serheight">2.10.10 Height - mandatory if 'NMEA' is set to 'Manual'</h4></p>
    3329 <p>
    3330 Specify an approximate 'Height' above mean sea level in meters for the reference station introduced through 'Mountpoint'.
    3331 Together with the latitude and longitude from the Ntrip broadcaster source-table, the height information is used
    3332 to build GGA sentences to be sent to the Ntrip broadcaster.
    3333 </p>
    3334 <p>
    3335 For adjusting latitude and longitude values of a VRS stream given in the 'Streams' canvas,
    3336 you can double click the latitude/longitude data fields, specify appropriate values and then hit Enter.
    3337 </p>
    3338 <p>
    3339 This option is only relevant when option 'NMEA' is set to 'Manual GPGGA' or 'Manual GNGGA' respectively.
    3340 </p>
    3341 
    3342 <p><h4 id="sersampl">2.10.11 Sampling - mandatory if 'NMEA' is set to 'Manual'</h4></p>
    3343 <p>
    3344 Select a sampling interval in seconds for manual generation and upload of NMEA GGA sentences.
    3345 </p>
    3346 <p>
    3347 A sampling rate of '0' means that a GGA sentence will be sent only once to initialize the requested VRS stream.
    3348 Note that some VRS systems need GGA sentences at regular intervals.
    3349 </p>
    3350 
    3351 <p><h4 id="advnote">2.11 Outages</h4></p>
    3352 <p>
    3353 At any time an incoming stream might become unavailable or corrupted. In such cases, it is important that the BNC operator
    3354 and/or the stream providers become aware of the situation so that measures can be taken to restore the stream.
    3355 Furthermore, continuous attempts to decode a corrupted stream can generate unnecessary workload for BNC.
    3356 Outages and corruptions are handled by BNC as follows:
    3357 </p>
    3358 <p>
    3359 <u>Stream outages:</u> BNC considers a connection to be broken when there are no incoming data detected for more than 20 seconds.
    3360 When this occurs, BNC will try to reconnect at a decreasing rate. It will first try to reconnect with 1 second delay and
    3361 again in 2 seconds if the previous attempt failed. If the attempt is still unsuccessful, it will try to reconnect
    3362 within 4 seconds after the previous attempt and so on. The waiting time doubles each time with a maximum of 256 seconds.
    3363 </p>
    3364 <p>
    3365 <u>Stream corruption:</u> Not all chunks of bits transferred to BNC's internal decoder may return valid observations.
    3366 Sometimes several chunks might be needed before the next observation can be properly decoded.
    3367 BNC buffers all outputs (both valid and invalid) from the decoder for a short time span
    3368 (size derived from the expected 'Observation rate') to then determine whether a stream is valid or corrupted.
    3369 </p>
    3370 <p>
    3371 Outage and corruption events are reported in the 'Log' tab. They can also be passed on as parameters to a shell script
    3372 or batch file to generate an advisory note to BNC's operator or affected stream providers.
    3373 This functionality lets users utilize BNC as a real-time performance monitor and alarm system for a network of GNSS reference stations.
    3374 </p>
    3375 
    3376 <p><h4 id="obsrate">2.11.1 Observation Rate - optional</h4></p>
    3377 <p>
    3378 BNC can collect all returns (success or failure) coming from a decoder within a certain short time span to then decide whether
    3379 a stream has an outage or its content is corrupted. This procedure needs a rough a priori estimate of the expected
    3380 observation rate of the incoming streams.
    3381 </p>
    3382 <p>An empty option field (default) means that you do not want explicit information from BNC about stream outages and
    3383 incoming streams that cannot be decoded.
    3384 </p>
    3385 
    3386 <p><h4 id="advfail">2.11.2 Failure Threshold - mandatory if 'Observation rate' is set</h4></p>
    3387 <p>
    3388 Event 'Begin_Failure' will be reported if no data is received continuously for longer than the 'Failure threshold' time.
    3389 Similarly, event 'Begin_Corrupted' will be reported when corrupted data is detected by the decoder continuously for
    3390 longer than this 'Failure threshold' time. The default value is set to 15 minutes and is recommended as to not inundate
    3391 users with too many event reports.
    3392 </p>
    3393 <p>
    3394 Note that specifying a value of zero '0' for the 'Failure threshold' will force BNC to report any stream failure immediately.
    3395 Note also that for using this function you need to specify the 'Observation rate'.
    3396 </p>
    3397 
    3398 <p><h4 id="advreco">2.11.3 Recovery Threshold - mandatory if 'Observation rate' is set</h4></p>
    3399 <p>
    3400 Once a 'Begin_Failure' or 'Begin_Corrupted' event has been reported, BNC will check when the stream again becomes available or uncorrupted.
    3401 Event 'End_Failure' or 'End_Corrupted' will be reported as soon as valid observations are detected continuously throughout
    3402 the 'Recovery threshold' time span. The default value is set to 5 minutes and is recommended as to not inundate users with too many event reports.
    3403 </p>
    3404 <p>
    3405 Note that specifying a value of zero '0' for the 'Recovery threshold' will force BNC to report any stream recovery immediately.
    3406 Note also that for using this function you need to specify the 'Observation rate'.
    3407 </p>
    3408 
    3409 <p><h4 id="advscript">2.11.4 Script - optional if 'Observation rate' is set</h4></p>
    3410 <p>
    3411 As mentioned before, BNC can trigger a shell script or a batch file to be executed when one of the described events is reported.
    3412 This script can be used to email an advisory note to network operator or stream providers. To enable this feature,
    3413 specify the full path to the script or batch file in the 'Script' field. The affected stream's mountpoint and type of event
    3414 reported ('Begin_Outage', 'End_Outage', 'Begin_Corrupted' or 'End_Corrupted') will then be passed on to the script as
    3415 command line parameters (%1 and %2 on Windows systems or $1 and $2 on Unix/Linux/Mac OS X systems) together with date and time information.
    3416 </p>
    3417 <p>
    3418 Leave the 'Script' field empty if you do not wish to use this option. An invalid path will also disable this option.
    3419 </p>
    3420 <p>
    3421 Examples for command line parameter strings passed on to the advisory 'Script' are:
    3422 <pre><p style="font-family:Monospace">
     5287  <p>
     5288  <h4 id="serial">2.10 Serial Output</h4>
     5289  </p>
     5290  <p>
     5291    You may use BNC to feed a serially connected device like a GNSS receiver. For that, an incoming stream can be
     5292    forwarded to a serial port.
     5293    Depending on the stream content, the receiver may use it for Differential GNSS, Precise Point Positioning or any
     5294    other purpose
     5295    supported by its firmware.
     5296  </p>
     5297  <p>
     5298    Note that receiving a VRS stream requires the receiver sending NMEA sentences (option 'NMEA' set to 'Manual' or
     5299    'Auto') to the Ntrip Broadcaster.
     5300    The following figure shows the data flow when pulling a VRS stream or a physical (non-VRS) stream.
     5301  </p>
     5302
     5303  <p><img src="IMG/Figure19.png" width=1000 /></p>
     5304  <p>Figure 19: Flowcharts, BNC forwarding a stream to a serially connected receiver; sending NMEA sentences is
     5305    mandatory for VRS streams</p>
     5306
     5307  <p>
     5308    The following figure shows the screenshot of an example situation where BNC pulls a VRS stream from an Ntrip
     5309    Broadcaster
     5310    to feed a serially connected RTK rover.
     5311  </p>
     5312
     5313  <p><img src="IMG/Figure20.png" width=1000 /></p>
     5314  <p>Figure 20: BNC pulling a RTCM Version 3 stream to feed a serial connected receiver with observations from a nearby
     5315    reference station for conventional RTK</p>
     5316
     5317  <p>
     5318  <h4 id="sermount">2.10.1 Mountpoint - optional</h4>
     5319  </p>
     5320  <p>
     5321    Enter a 'Mountpoint' to forward its corresponding stream to a serially connected GNSS receiver.
     5322  </p>
     5323  <p>
     5324    When selecting one of the serial communication options listed below, make sure that you pick those configured to the
     5325    serially connected receiver.
     5326  </p>
     5327
     5328  <p>
     5329  <h4 id="serport">2.10.2 Port Name - mandatory if 'Mountpoint' is set</h4>
     5330  </p>
     5331  <p>
     5332    Enter the serial 'Port name' selected on your host for communication with the serially connected receiver.
     5333    Valid port names are
     5334  </p>
     5335  <table>
     5336    <tr>
     5337      <td>Windows: </td>
     5338      <td>&nbsp; COM1, COM2 </td>
     5339    </tr>
     5340    <tr>
     5341      <td>Linux: </td>
     5342      <td>&nbsp; /dev/ttyS0, /dev/ttyS1 </td>
     5343    </tr>
     5344    <tr>
     5345      <td>FreeBSD: </td>
     5346      <td>&nbsp; /dev/ttyd0, /dev/ttyd1 </td>
     5347    </tr>
     5348    <tr>
     5349      <td>Digital Unix: </td>
     5350      <td>&nbsp; /dev/tty01, /dev/tty02 </td>
     5351    </tr>
     5352    <tr>
     5353      <td>HP-UX: </td>
     5354      <td>&nbsp; /dev/tty1p0, /dev/tty2p0</td>
     5355    </tr>
     5356    <tr>
     5357      <td>SGI/IRIX: </td>
     5358      <td>&nbsp; /dev/ttyf1, /dev/ttyf2 </td>
     5359    </tr>
     5360    <tr>
     5361      <td>SunOS/Solaris:</td>
     5362      <td>&nbsp; /dev/ttya, /dev/ttyb </td>
     5363    </tr>
     5364  </table>
     5365  <p>
     5366    Note that you must plug a serial cable in the port defined here before you start BNC.
     5367  </p>
     5368
     5369  <p>
     5370  <h4 id="serbaud">2.10.3 Baud Rate - mandatory if 'Mountpoint' is set</h4>
     5371  </p>
     5372  <p>
     5373    Select a 'Baud rate' for the serial output link. Note that using a high baud rate is recommended.
     5374  </p>
     5375
     5376  <p>
     5377  <h4 id="serflow">2.10.4 Flow Control - mandatory if 'Mountpoint' is set</h4>
     5378  </p>
     5379  <p>
     5380    Select a 'Flow control' for the serial output link. Note that your selection must equal the flow control configured
     5381    to the serially connected device.
     5382    Select 'OFF' if you do not know better.
     5383  </p>
     5384
     5385  <p>
     5386  <h4 id="serparity">2.10.5 Parity - mandatory if 'Mountpoint' is set</h4>
     5387  </p>
     5388  <p>
     5389    Select the 'Parity' for the serial output link. Note that parity is often set to 'NONE'.
     5390  </p>
     5391
     5392  <p>
     5393  <h4 id="serdata">2.10.6 Data Bits - mandatory if 'Mountpoint' is set</h4>
     5394  </p>
     5395  <p>
     5396    Select the number of 'Data bits' for the serial output link. Note that often '8' data bits are used.
     5397  </p>
     5398
     5399  <p>
     5400  <h4 id="serstop">2.10.7 Stop Bits - mandatory if 'Mountpoint' is set</h4>
     5401  </p>
     5402  <p>
     5403    Select the number of 'Stop bits' for the serial output link. Note that often '1' stop bit is used.
     5404  </p>
     5405
     5406  <p>
     5407  <h4 id="serauto">2.10.8 NMEA - mandatory if 'Mountpoint' is set</h4>
     5408  </p>
     5409  <p>The 'NMEA' option supports the so-called 'Virtual Reference Station' (VRS) concept which requires the receiver to
     5410    send
     5411    approximate position information to the Ntrip Broadcaster. Select 'no' if you do not want BNC to forward or upload
     5412    any NMEA sentence
     5413    to the Ntrip broadcaster in support of VRS.
     5414  </p>
     5415  <p>
     5416    Select 'Auto' to automatically forward NMEA sentences of type GGA from your serially connected receiver to the Ntrip
     5417    broadcaster
     5418    and/or save them in a file.
     5419  </p>
     5420  <p>Select 'Manual GPGGA' or 'Manual GNGGA' if you want BNC to produce and upload GPGGA or GNGGA NMEA sentences to the
     5421    Ntrip broadcaster
     5422    because your serially connected receiver does not generate them. A Talker ID 'GP' proceeding the GGA string stands
     5423    for GPS solutions
     5424    while a Talker ID 'GN' stands for multi-constellation solutions.
     5425  </p>
     5426  <p>
     5427    Note that selecting 'Auto' or 'Manual' works only for VRS streams which show up under the 'Streams' canvas on BNC's
     5428    main window
     5429    with 'nmea' stream attribute set to 'yes'. This attribute is either extracted from the Ntrip broadcaster's
     5430    source-table or
     5431    introduced by the user through editing the BNC configuration file.
     5432  </p>
     5433
     5434  <p>
     5435  <h4 id="serfile">2.10.9 File - optional if 'NMEA' is set to 'Auto'</h4>
     5436  </p>
     5437  <p>
     5438    Specify the full path to a file where NMEA sentences coming from your serially connected receiver are saved.
     5439    Default is an empty option field, meaning that no NMEA sentences will be saved on disk.
     5440  </p>
     5441  <p>
     5442  <h4 id="serheight">2.10.10 Height - mandatory if 'NMEA' is set to 'Manual'</h4>
     5443  </p>
     5444  <p>
     5445    Specify an approximate 'Height' above mean sea level in meters for the reference station introduced through
     5446    'Mountpoint'.
     5447    Together with the latitude and longitude from the Ntrip broadcaster source-table, the height information is used
     5448    to build GGA sentences to be sent to the Ntrip broadcaster.
     5449  </p>
     5450  <p>
     5451    For adjusting latitude and longitude values of a VRS stream given in the 'Streams' canvas,
     5452    you can double click the latitude/longitude data fields, specify appropriate values and then hit Enter.
     5453  </p>
     5454  <p>
     5455    This option is only relevant when option 'NMEA' is set to 'Manual GPGGA' or 'Manual GNGGA' respectively.
     5456  </p>
     5457
     5458  <p>
     5459  <h4 id="sersampl">2.10.11 Sampling - mandatory if 'NMEA' is set to 'Manual'</h4>
     5460  </p>
     5461  <p>
     5462    Select a sampling interval in seconds for manual generation and upload of NMEA GGA sentences.
     5463  </p>
     5464  <p>
     5465    A sampling rate of '0' means that a GGA sentence will be sent only once to initialize the requested VRS stream.
     5466    Note that some VRS systems need GGA sentences at regular intervals.
     5467  </p>
     5468
     5469  <p>
     5470  <h4 id="advnote">2.11 Outages</h4>
     5471  </p>
     5472  <p>
     5473    At any time an incoming stream might become unavailable or corrupted. In such cases, it is important that the BNC
     5474    operator
     5475    and/or the stream providers become aware of the situation so that measures can be taken to restore the stream.
     5476    Furthermore, continuous attempts to decode a corrupted stream can generate unnecessary workload for BNC.
     5477    Outages and corruptions are handled by BNC as follows:
     5478  </p>
     5479  <p>
     5480    <u>Stream outages:</u> BNC considers a connection to be broken when there are no incoming data detected for more
     5481    than 20 seconds.
     5482    When this occurs, BNC will try to reconnect at a decreasing rate. It will first try to reconnect with 1 second delay
     5483    and
     5484    again in 2 seconds if the previous attempt failed. If the attempt is still unsuccessful, it will try to reconnect
     5485    within 4 seconds after the previous attempt and so on. The waiting time doubles each time with a maximum of 256
     5486    seconds.
     5487  </p>
     5488  <p>
     5489    <u>Stream corruption:</u> Not all chunks of bits transferred to BNC's internal decoder may return valid
     5490    observations.
     5491    Sometimes several chunks might be needed before the next observation can be properly decoded.
     5492    BNC buffers all outputs (both valid and invalid) from the decoder for a short time span
     5493    (size derived from the expected 'Observation rate') to then determine whether a stream is valid or corrupted.
     5494  </p>
     5495  <p>
     5496    Outage and corruption events are reported in the 'Log' tab. They can also be passed on as parameters to a shell
     5497    script
     5498    or batch file to generate an advisory note to BNC's operator or affected stream providers.
     5499    This functionality lets users utilize BNC as a real-time performance monitor and alarm system for a network of GNSS
     5500    reference stations.
     5501  </p>
     5502
     5503  <p>
     5504  <h4 id="obsrate">2.11.1 Observation Rate - optional</h4>
     5505  </p>
     5506  <p>
     5507    BNC can collect all returns (success or failure) coming from a decoder within a certain short time span to then
     5508    decide whether
     5509    a stream has an outage or its content is corrupted. This procedure needs a rough a priori estimate of the expected
     5510    observation rate of the incoming streams.
     5511  </p>
     5512  <p>An empty option field (default) means that you do not want explicit information from BNC about stream outages and
     5513    incoming streams that cannot be decoded.
     5514  </p>
     5515
     5516  <p>
     5517  <h4 id="advfail">2.11.2 Failure Threshold - mandatory if 'Observation rate' is set</h4>
     5518  </p>
     5519  <p>
     5520    Event 'Begin_Failure' will be reported if no data is received continuously for longer than the 'Failure threshold'
     5521    time.
     5522    Similarly, event 'Begin_Corrupted' will be reported when corrupted data is detected by the decoder continuously for
     5523    longer than this 'Failure threshold' time. The default value is set to 15 minutes and is recommended as to not
     5524    inundate
     5525    users with too many event reports.
     5526  </p>
     5527  <p>
     5528    Note that specifying a value of zero '0' for the 'Failure threshold' will force BNC to report any stream failure
     5529    immediately.
     5530    Note also that for using this function you need to specify the 'Observation rate'.
     5531  </p>
     5532
     5533  <p>
     5534  <h4 id="advreco">2.11.3 Recovery Threshold - mandatory if 'Observation rate' is set</h4>
     5535  </p>
     5536  <p>
     5537    Once a 'Begin_Failure' or 'Begin_Corrupted' event has been reported, BNC will check when the stream again becomes
     5538    available or uncorrupted.
     5539    Event 'End_Failure' or 'End_Corrupted' will be reported as soon as valid observations are detected continuously
     5540    throughout
     5541    the 'Recovery threshold' time span. The default value is set to 5 minutes and is recommended as to not inundate
     5542    users with too many event reports.
     5543  </p>
     5544  <p>
     5545    Note that specifying a value of zero '0' for the 'Recovery threshold' will force BNC to report any stream recovery
     5546    immediately.
     5547    Note also that for using this function you need to specify the 'Observation rate'.
     5548  </p>
     5549
     5550  <p>
     5551  <h4 id="advscript">2.11.4 Script - optional if 'Observation rate' is set</h4>
     5552  </p>
     5553  <p>
     5554    As mentioned before, BNC can trigger a shell script or a batch file to be executed when one of the described events
     5555    is reported.
     5556    This script can be used to email an advisory note to network operator or stream providers. To enable this feature,
     5557    specify the full path to the script or batch file in the 'Script' field. The affected stream's mountpoint and type
     5558    of event
     5559    reported ('Begin_Outage', 'End_Outage', 'Begin_Corrupted' or 'End_Corrupted') will then be passed on to the script
     5560    as
     5561    command line parameters (%1 and %2 on Windows systems or $1 and $2 on Unix/Linux/Mac OS X systems) together with
     5562    date and time information.
     5563  </p>
     5564  <p>
     5565    Leave the 'Script' field empty if you do not wish to use this option. An invalid path will also disable this option.
     5566  </p>
     5567  <p>
     5568    Examples for command line parameter strings passed on to the advisory 'Script' are:
     5569  <pre><p style="font-family:Monospace">
    34235570   FFMJ00DEU0 Begin_Outage 22-02-21 09:25:59
    34245571   FFMJ00DEU0 End_Outage 22-02-21 11:36:02 Begin was 22-02-21 09:25:59
    34255572</p></pre>
    3426 <p>
    3427 Sample script for Unix/Linux/Mac OS X systems:
    3428 </p>
    3429 <pre><p style="font-family:Monospace">
     5573  <p>
     5574    Sample script for Unix/Linux/Mac OS X systems:
     5575  </p>
     5576  <pre><p style="font-family:Monospace">
    34305577   #!/bin/bash
    34315578   sleep $((60*RANDOM/32767))
     
    34385585   mail -s &quot;NABU: $1&quot; email@address &lt; mail.txt
    34395586</p></pre>
    3440 <p>
    3441 Note the sleep command in this script, which causes the system to wait for a random period of up to 60 seconds before sending the email.
    3442 This should avoid overloading your mail server in case of a simultaneous failure of many streams.
    3443 </p>
    3444 
    3445 <p><h4 id="misc">2.12 Miscellaneous</h4></p>
    3446 <p>
    3447 This section describes several miscellaneous options which can be applied to a single stream (mountpoint) or to all configured streams.
    3448 </p>
    3449 
    3450 <p>
    3451 The following figure shows RTCM message numbers and observation types contained in stream 'CUT000AUS0' and the message latencies
    3452 recorded every 2 seconds.
    3453 </p>
    3454 <p><img src="IMG/Figure21.png"width=1000/></p>
    3455 <p>Figure 21: RTCM message numbers, latencies and observation types logged by BNC</p>
    3456 
    3457 
    3458 <p><h4 id="miscmount">2.12.1 Mountpoint - optional </h4></p>
    3459 <p>
    3460 Specify a mountpoint to apply one or several of the 'Miscellaneous' options to the corresponding stream.
    3461 Enter 'ALL' if you want to apply these options to all configured streams. An empty option field (default) means
    3462 that you do not want BNC to apply any of these options.
    3463 </p>
    3464 
    3465 <p><h4 id="miscperf">2.12.2 Log Latency - optional </h4></p>
    3466 <p>
    3467  BNC can average latencies per stream over a certain period of GPS time, the 'Log latency' interval.
    3468  Mean latencies are calculated from the individual latencies of one (first incoming) observation or
    3469  Broadcast Correction per second. The mean latencies are then saved in BNC's logfile.
    3470  Note that computing correct latencies requires the clock of the host computer to be properly synchronized.
    3471  Note further that visualized latencies from the 'Latency' tab on the bottom of the main window represent
    3472  individual latencies and not the mean latencies for the logfile.
    3473 </p>
    3474 <p>
    3475 <b>Latency:</b> Latency is defined in BNC by the following equation:
    3476 </p>
    3477 <pre>
     5587  <p>
     5588    Note the sleep command in this script, which causes the system to wait for a random period of up to 60 seconds
     5589    before sending the email.
     5590    This should avoid overloading your mail server in case of a simultaneous failure of many streams.
     5591  </p>
     5592
     5593  <p>
     5594  <h4 id="misc">2.12 Miscellaneous</h4>
     5595  </p>
     5596  <p>
     5597    This section describes several miscellaneous options which can be applied to a single stream (mountpoint) or to all
     5598    configured streams.
     5599  </p>
     5600
     5601  <p>
     5602    The following figure shows RTCM message numbers and observation types contained in stream 'CUT000AUS0' and the
     5603    message latencies
     5604    recorded every 2 seconds.
     5605  </p>
     5606  <p><img src="IMG/Figure21.png" width=1000 /></p>
     5607  <p>Figure 21: RTCM message numbers, latencies and observation types logged by BNC</p>
     5608
     5609
     5610  <p>
     5611  <h4 id="miscmount">2.12.1 Mountpoint - optional </h4>
     5612  </p>
     5613  <p>
     5614    Specify a mountpoint to apply one or several of the 'Miscellaneous' options to the corresponding stream.
     5615    Enter 'ALL' if you want to apply these options to all configured streams. An empty option field (default) means
     5616    that you do not want BNC to apply any of these options.
     5617  </p>
     5618
     5619  <p>
     5620  <h4 id="miscperf">2.12.2 Log Latency - optional </h4>
     5621  </p>
     5622  <p>
     5623    BNC can average latencies per stream over a certain period of GPS time, the 'Log latency' interval.
     5624    Mean latencies are calculated from the individual latencies of one (first incoming) observation or
     5625    Broadcast Correction per second. The mean latencies are then saved in BNC's logfile.
     5626    Note that computing correct latencies requires the clock of the host computer to be properly synchronized.
     5627    Note further that visualized latencies from the 'Latency' tab on the bottom of the main window represent
     5628    individual latencies and not the mean latencies for the logfile.
     5629  </p>
     5630  <p>
     5631    <b>Latency:</b> Latency is defined in BNC by the following equation:
     5632  </p>
     5633  <pre>
    34785634    UTC time provided by BNC's host (QDateTime::currentDateTime().toUTC())
    34795635  - GPS time of currently processed epoch
     
    34825638  = Latency
    34835639</pre>
    3484 <p>
    3485 <b>Statistics:</b> BNC counts the number of GPS seconds covered by at least one observation.
    3486 It also estimates an observation rate (independent from the a priori specified 'Observation rate')
    3487 from all observations received throughout the first full 'Log latency' interval. Based on this rate,
    3488 BNC estimates the number of data gaps when appearing in subsequent intervals.
    3489 </p>
    3490 <p>
    3491 Latencies of observations or corrections to Broadcast Ephemeris and statistical information can be recorded in the 'Log' tab
    3492 at the end of each 'Log latency' interval. A typical output from a 1 hour 'Log latency' interval would be:
    3493 </p>
    3494 <pre>
     5640  <p>
     5641    <b>Statistics:</b> BNC counts the number of GPS seconds covered by at least one observation.
     5642    It also estimates an observation rate (independent from the a priori specified 'Observation rate')
     5643    from all observations received throughout the first full 'Log latency' interval. Based on this rate,
     5644    BNC estimates the number of data gaps when appearing in subsequent intervals.
     5645  </p>
     5646  <p>
     5647    Latencies of observations or corrections to Broadcast Ephemeris and statistical information can be recorded in the
     5648    'Log' tab
     5649    at the end of each 'Log latency' interval. A typical output from a 1 hour 'Log latency' interval would be:
     5650  </p>
     5651  <pre>
    3495565222-11-09 11:59:42 CUT000AUS0 Observations: Mean latency 0.48 sec, min 0.25, max 0.97, rms 0.50, 3600 epochs, 0 gaps
    34965653</pre>
    3497 <p>
    3498 Select a 'Log latency' interval to activate this function or select the empty option field if you do not want BNC
    3499 to log latencies and statistical information.
    3500 </p>
    3501 
    3502 
    3503 <p><h4 id="miscscan">2.12.3 Scan RTCM - optional</h4></p>
    3504 <p>
    3505 When configuring a GNSS receiver for RTCM stream generation, the firmware's setup interface may not provide details about
    3506 RTCM message types and observation types. As reliable information concerning stream content should be available e.g.
    3507 for Ntrip Broadcaster operators to maintain the broadcaster's source-table, BNC allows to scan RTCM streams for
    3508 incoming message types and printout some of the contained meta-data. Contained observation types are also printed because
    3509 such information is required a priori for the conversion of RTCM Version 3 MSM streams to RINEX Version 3 files.
    3510 </p>
    3511 <p>
    3512 Tick 'Scan RTCM' to scan RTCM Version 2 or 3 streams and log all contained
    3513 </p>
    3514 <ul>
    3515   <li>Numbers and size of incoming message types</li>
    3516   <li>Antenna Reference Point (ARP) coordinates</li>
    3517   <li>Antenna Phase Center (APC) coordinates</li>
    3518   <li>Antenna height above marker</li>
    3519   <li>Antenna descriptor.</li>
    3520 </ul>
    3521 In case of RTCM Version 3 streams the output includes
    3522 <ul>
    3523   <li>RINEX Version 3 Observation types</li>
    3524 </ul>
    3525 </p>
    3526 
    3527 <p>
    3528 Note that in RTCM Version 2 message types 18 and 19 carry only the observables of one frequency.
    3529 Hence it needs two type 18 and 19 messages per epoch to transport observations from dual frequency receivers.
    3530 </p>
    3531 
    3532 <p>
    3533 Please note further that RTCM Version 3 message types 1084 for GLONASS do not contain GLONASS channel numbers.
    3534 The same is true for most of the GLONASS MSM messages, expect for MSM5 and MSM7, where the GLONASS channel number is available
    3535 as extended information. Such observations can only be decoded when you include 1020 GLONASS ephemeris messages to your stream,
    3536 which contain the channels. You could also add another stream carrying 1087 GLONASS observation messages or
    3537 1020 GLONASS ephemeris messages to get the GLONASS channel numbers.
    3538 </p>
    3539 
    3540 <p>
    3541 Logged time stamps refer to message reception time and allow understanding repetition rates.
    3542 Enter 'ALL' if you want to log this information from all configured streams.
    3543 Beware that the size of the logfile can rapidly increase depending on the number of incoming RTCM streams.
    3544 </p>
    3545 <p>This option is primarily meant for test and evaluation. Use it to figure out what exactly is produced
    3546 by a specific GNSS receiver's configuration. An empty option field (default) means that you do not want BNC
    3547 to print message type numbers and antenna information carried in RTCM streams.
    3548 </p>
    3549 
    3550 <p><h4 id="miscport">2.12.4 Port - optional</h4></p>
    3551 <p>
    3552 BNC can output streams related to the above specified 'Mountpoint' through a TCP/IP port of your local host.
    3553 Enter a port number to activate this function. The stream content remains untouched. BNC does not decode or reformat the data for this output.
    3554 If the decoder string is not an accepted one ('RTCM_2.x', 'RTCM_3.x' and 'RTNET'), please change the decoder string to <ul>
    3555 <li> 'ZERO' (forward the raw data) or </li>
    3556 <li> 'ZERO2File' (forward and store the raw data)</li> </ul> in addition.
    3557 </p>
    3558 
    3559 <p>
    3560  An empty option field (default) means that you do not want BNC to apply the TCP/IP port output option.
    3561 </p>
    3562 
    3563 <p><h4 id="pppclient">2.13 PPP Client</h4></p>
    3564 <p>
    3565 BNC can derive coordinates for rover positions following different Precise Point Positioning (PPP) methods:
    3566 <ul>
    3567   <li>Uncombined PPP for GPS, GLONASS, Galileo and BDS</li>
    3568   <li>Ionosphere-free PPP for GPS, GLONASS, Galileo and BDS</li>
    3569   <li>PPP with ambiguity resolution for GPS, Galileo and BDS </li>
    3570 </ul>
    3571 Therefore it uses code data (P), phase data (L) from one or more GNSS.
    3572 Besides pulling streams of observations from a dual frequency GNSS receiver, this
    3573 <ul>
    3574   <li>Requires pulling in addition a stream carrying satellite orbit and clock corrections to Broadcast Ephemeris in the form of
     5654  <p>
     5655    Select a 'Log latency' interval to activate this function or select the empty option field if you do not want BNC
     5656    to log latencies and statistical information.
     5657  </p>
     5658
     5659
     5660  <p>
     5661  <h4 id="miscscan">2.12.3 Scan RTCM - optional</h4>
     5662  </p>
     5663  <p>
     5664    When configuring a GNSS receiver for RTCM stream generation, the firmware's setup interface may not provide details
     5665    about
     5666    RTCM message types and observation types. As reliable information concerning stream content should be available e.g.
     5667    for Ntrip Broadcaster operators to maintain the broadcaster's source-table, BNC allows to scan RTCM streams for
     5668    incoming message types and printout some of the contained meta-data. Contained observation types are also printed
     5669    because
     5670    such information is required a priori for the conversion of RTCM Version 3 MSM streams to RINEX Version 3 files.
     5671  </p>
     5672  <p>
     5673    Tick 'Scan RTCM' to scan RTCM Version 2 or 3 streams and log all contained
     5674  </p>
     5675  <ul>
     5676    <li>Numbers and size of incoming message types</li>
     5677    <li>Antenna Reference Point (ARP) coordinates</li>
     5678    <li>Antenna Phase Center (APC) coordinates</li>
     5679    <li>Antenna height above marker</li>
     5680    <li>Antenna descriptor.</li>
     5681  </ul>
     5682  In case of RTCM Version 3 streams the output includes
     5683  <ul>
     5684    <li>RINEX Version 3 Observation types</li>
     5685  </ul>
     5686  </p>
     5687
     5688  <p>
     5689    Note that in RTCM Version 2 message types 18 and 19 carry only the observables of one frequency.
     5690    Hence it needs two type 18 and 19 messages per epoch to transport observations from dual frequency receivers.
     5691  </p>
     5692
     5693  <p>
     5694    Please note further that RTCM Version 3 message types 1084 for GLONASS do not contain GLONASS channel numbers.
     5695    The same is true for most of the GLONASS MSM messages, expect for MSM5 and MSM7, where the GLONASS channel number is
     5696    available
     5697    as extended information. Such observations can only be decoded when you include 1020 GLONASS ephemeris messages to
     5698    your stream,
     5699    which contain the channels. You could also add another stream carrying 1087 GLONASS observation messages or
     5700    1020 GLONASS ephemeris messages to get the GLONASS channel numbers.
     5701  </p>
     5702
     5703  <p>
     5704    Logged time stamps refer to message reception time and allow understanding repetition rates.
     5705    Enter 'ALL' if you want to log this information from all configured streams.
     5706    Beware that the size of the logfile can rapidly increase depending on the number of incoming RTCM streams.
     5707  </p>
     5708  <p>This option is primarily meant for test and evaluation. Use it to figure out what exactly is produced
     5709    by a specific GNSS receiver's configuration. An empty option field (default) means that you do not want BNC
     5710    to print message type numbers and antenna information carried in RTCM streams.
     5711  </p>
     5712
     5713  <p>
     5714  <h4 id="miscport">2.12.4 Port - optional</h4>
     5715  </p>
     5716  <p>
     5717    BNC can output streams related to the above specified 'Mountpoint' through a TCP/IP port of your local host.
     5718    Enter a port number to activate this function. The stream content remains untouched. BNC does not decode or reformat
     5719    the data for this output.
     5720    If the decoder string is not an accepted one ('RTCM_2.x', 'RTCM_3.x' and 'RTNET'), please change the decoder string
     5721    to
     5722  <ul>
     5723    <li> 'ZERO' (forward the raw data) or </li>
     5724    <li> 'ZERO2File' (forward and store the raw data)</li>
     5725  </ul> in addition.
     5726  </p>
     5727
     5728  <p>
     5729    An empty option field (default) means that you do not want BNC to apply the TCP/IP port output option.
     5730  </p>
     5731
     5732  <p>
     5733  <h4 id="pppclient">2.13 PPP Client</h4>
     5734  </p>
     5735  <p>
     5736    BNC can derive coordinates for rover positions following different Precise Point Positioning (PPP) methods:
     5737  <ul>
     5738    <li>Uncombined PPP for GPS, GLONASS, Galileo and BDS</li>
     5739    <li>Ionosphere-free PPP for GPS, GLONASS, Galileo and BDS</li>
     5740    <li>PPP with ambiguity resolution for GPS, Galileo and BDS </li>
     5741  </ul>
     5742  Therefore it uses code data (P), phase data (L) from one or more GNSS.
     5743  Besides pulling streams of observations from a dual frequency GNSS receiver, this
     5744  <ul>
     5745    <li>Requires pulling in addition a stream carrying satellite orbit and clock corrections to Broadcast Ephemeris in
     5746      the form of
    35755747      RTCM-SSR or IGS-SSR messages. Note that for BNC these Broadcast Corrections need to be referred to the satellite's
    35765748      Antenna Phase Center (APC). Streams providing such messages are listed on
    35775749      <a href="https://igs.bkg.bund.de/ntrip/#rtcm-corr" target="_blank">https://igs.bkg.bund.de/ntrip/#rtcm-corr</a>
    3578       Stream 'SSRA00BKG0' (RTCM-SSR) or 'SSRA00BKG1' (IGS-SSR) on Ntrip Broadcaster 'products.igs-ip.net:2101' is an example.</li>
    3579   <li>May require pulling a stream carrying Broadcast Ephemeris available as RTCM Version 3 message types 1019, 1020, 1043, 1044, 1045, 1046, etc..
    3580       This becomes a must only when the stream coming from the receiver does not contain Broadcast Ephemeris or provides them only
     5750      Stream 'SSRA00BKG0' (RTCM-SSR) or 'SSRA00BKG1' (IGS-SSR) on Ntrip Broadcaster 'products.igs-ip.net:2101' is an
     5751      example.
     5752    </li>
     5753    <li>May require pulling a stream carrying Broadcast Ephemeris available as RTCM Version 3 message types 1019, 1020,
     5754      1043, 1044, 1045, 1046, etc..
     5755      This becomes a must only when the stream coming from the receiver does not contain Broadcast Ephemeris or provides
     5756      them only
    35815757      at very low repetition rate. Streams providing such messages are listed on
    35825758      <a href="https://igs.bkg.bund.de/ntrip/#rtcm-eph" target="_blank">https://igs.bkg.bund.de/ntrip/#rtcm-eph</a>
    3583       Stream 'BCEP00BKG0' on caster 'products.igs-ip.net:2101' is an example.</li>
    3584 </ul>
    3585 Note that Broadcast Ephemeris parameters pass a plausibility check in BNC which allows to ignore incorrect or outdated ephemeris data
    3586 when necessary, leaving a note 'WRONG EPHEMERIS' or 'OUTDATED EPHEMERIS' in the logfile. Unhealthy ephemeris data sets are remaining
    3587 and leaving a note 'UNHEALTHY' in the logfile.
    3588 </p>
    3589 When using the PPP option, BNC does correct for:
    3590 <ul>
    3591   <li>Solid Earth Tides and Phase Windup</li>
    3592   <li>Satellite Antenna Phase Center offsets and variations</li>
    3593   <li>Receiver  Antenna Phase Center offsets and variations:
     5759      Stream 'BCEP00BKG0' on caster 'products.igs-ip.net:2101' is an example.
     5760    </li>
     5761  </ul>
     5762  Note that Broadcast Ephemeris parameters pass a plausibility check in BNC which allows to ignore incorrect or outdated
     5763  ephemeris data
     5764  when necessary, leaving a note 'WRONG EPHEMERIS' or 'OUTDATED EPHEMERIS' in the logfile. Unhealthy ephemeris data sets
     5765  are remaining
     5766  and leaving a note 'UNHEALTHY' in the logfile.
     5767  </p>
     5768  When using the PPP option, BNC does correct for:
     5769  <ul>
     5770    <li>Solid Earth Tides and Phase Windup</li>
     5771    <li>Satellite Antenna Phase Center offsets and variations</li>
     5772    <li>Receiver Antenna Phase Center offsets and variations:
    35945773      Depending on whether or not these corrections are applied, the estimated position is either that of the receiver's
    35955774      Antenna Phase Center or that of the receiver's Antenna Reference Point</li>
    3596   <li>Ocean and atmospheric loading:
    3597       Atmospheric loading is pretty small but Ocean loading may reach up to about 10 centimeters for coastal stations</li>
    3598 </ul>
    3599 <p>
    3600 Rotational deformation due to polar motion (Polar Tides) is not corrected because this is a small effect usually less than 2 centimeters.
    3601 </p>
    3602 <p>
    3603 The provider of an orbit/clock correction stream may switch with his service at any time from a duty to a backup server installation.
    3604 This shall be noted in the SSR stream through a change of the Issue Of Data (IOD SSR) parameter.
    3605 The PPP option in BNC will immediately reset all ambiguities in such a situation.
    3606 </p>
    3607 <p>
    3608 PPP options are specified in BNC through the following four panels.
    3609 <ul>
    3610   <li>PPP (1): Input and output, specifying real-time or post processing mode and associated data sources</li>
    3611   <li>PPP (2): Processing options, specifying general PPP processing options</li>
    3612   <li>PPP (3): Processed stations, specifying sigmas and noise of a priori coordinates and troposphere paremeters,
    3613                NMEA stream output and signal priorities</li>
    3614   <li>PPP (4): Plots, specifying visualization through time series and track maps</li>
    3615 </ul>
    3616 </p>
    3617 
    3618 <p><h4 id="pppInp">2.13.1 PPP (1): Input and Output</h4></p>
    3619 <p>
    3620 This panel provides options for specifying the input and output streams and files required by BNC for real-time or post processing PPP.
    3621 </p>
    3622 <p><img src="IMG/Figure22.png"width=1000/></p>
    3623 <p>Figure 22: Real-time Precise Point Positioning with BNC, PPP Panel 1</p>
    3624 
    3625 <p><h4 id="pppdatasource">2.13.1.1 Data Source - optional</h4></p>
    3626 <p>
    3627 Choose between input from 'Real-time Streams' or 'RINEX Files' for PPP with BNC in real-time or post processing mode.
    3628 </p>
    3629 <p><b>Real-time Streams</b>: When choosing 'Real-time Streams' BNC will do PPP solutions in real-time.
    3630 This requires pulling GNSS observation streams, Broadcast Ephemeris messages and a stream containing corrections to Broadcast Ephemerides.
    3631 Streams with observation and navigation data have to be in RTCM Version 3 format. Correction streams have to be in RTCM-SSR or IGS-SSR format.
    3632 If you do not pull Broadcast Corrections, BNC will switch with its solution to 'Single Point Positioning' (SPP) mode.
    3633 </p>
    3634 <p><b>RINEX Files</b>: This input mode allows to specify RINEX Observation, RINEX Navigation and Broadcast Correction files.
    3635 BNC accepts RINEX Version 2 as well as RINEX Version 3 Observation or Navigation file formats.
    3636 Files carrying Broadcast Corrections must have the format produced by BNC through the 'Broadcast Corrections' panel.
    3637 Specifying only a RINEX Observation and a RINEX Navigation file and no Broadcast Correction file leads BNC to a
    3638 'Single Point Positioning' (SPP) solution.
    3639 <p>
    3640 The following type of Broadcast navigation messages is used per individulal GNSS:</p>
    3641       <table>
    3642                 <tr><td>Navigation              </td><td>Description                                                    </td><td>Constellation                  </td><td>RTCM </td></tr>
    3643                 <tr><td>Message Type    </td><td>                                                                               </td><td>and Signal                     </td><td>Message Type</td></tr>
    3644                 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    3645                 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    3646                 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    3647                 <tr><td>LNAV</td><td>                   GPS Legacy navigation message                   </td><td>GPS  L1 C/A            </td><td>1019</td></tr>
    3648                 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    3649                 <tr><td>FDMA</td><td>                   GLONASS Legacy FDMA navigation message  </td><td>GLO L1 C/A                             </td><td>1020</td></tr>
    3650                 <tr><td>        </td><td>               from M-satellites                                       </td><td>                                       </td><td>        </td></tr>
    3651                 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    3652                 <tr><td>INAV</td><td>                   Galileo Integrity       navigation message      </td><td>GAL E1, E5b            </td><td>1046</td></tr>
    3653                 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    3654                 <tr><td>D1      </td><td>                       BeiDou-2/3 MEO/IGSO navigation message  </td><td>BDS B1I, B2I, B3I      </td><td>1042</td></tr>
    3655                 <tr><td>D2      </td><td>                       BeiDou-2/3 GEO      navigation message  </td><td>BDS B1I, B2I, B3I              </td><td>1042</td></tr>
    3656                 </table>
    3657 <p>
    3658 Note that for debugging purposes, BNC's real-time PPP functionality can also be used offline.
    3659 Apply the 'File Mode' 'Command Line' option for that to read a file containing synchronized observations,
    3660 orbit and clock correctors, and Broadcast Ephemeris. Example:</p>
    3661 <pre>
     5775    <li>Ocean and atmospheric loading:
     5776      Atmospheric loading is pretty small but Ocean loading may reach up to about 10 centimeters for coastal stations
     5777    </li>
     5778  </ul>
     5779  <p>
     5780    Rotational deformation due to polar motion (Polar Tides) is not corrected because this is a small effect usually
     5781    less than 2 centimeters.
     5782  </p>
     5783  <p>
     5784    The provider of an orbit/clock correction stream may switch with his service at any time from a duty to a backup
     5785    server installation.
     5786    This shall be noted in the SSR stream through a change of the Issue Of Data (IOD SSR) parameter.
     5787    The PPP option in BNC will immediately reset all ambiguities in such a situation.
     5788  </p>
     5789  <p>
     5790    PPP options are specified in BNC through the following four panels.
     5791  <ul>
     5792    <li>PPP (1): Input and output, specifying real-time or post processing mode and associated data sources</li>
     5793    <li>PPP (2): Processing options, specifying general PPP processing options</li>
     5794    <li>PPP (3): Processed stations, specifying sigmas and noise of a priori coordinates and troposphere paremeters,
     5795      NMEA stream output and signal priorities</li>
     5796    <li>PPP (4): Plots, specifying visualization through time series and track maps</li>
     5797  </ul>
     5798  </p>
     5799
     5800  <p>
     5801  <h4 id="pppInp">2.13.1 PPP (1): Input and Output</h4>
     5802  </p>
     5803  <p>
     5804    This panel provides options for specifying the input and output streams and files required by BNC for real-time or
     5805    post processing PPP.
     5806  </p>
     5807  <p><img src="IMG/Figure22.png" width=1000 /></p>
     5808  <p>Figure 22: Real-time Precise Point Positioning with BNC, PPP Panel 1</p>
     5809
     5810  <p>
     5811  <h4 id="pppdatasource">2.13.1.1 Data Source - optional</h4>
     5812  </p>
     5813  <p>
     5814    Choose between input from 'Real-time Streams' or 'RINEX Files' for PPP with BNC in real-time or post processing
     5815    mode.
     5816  </p>
     5817  <p><b>Real-time Streams</b>: When choosing 'Real-time Streams' BNC will do PPP solutions in real-time.
     5818    This requires pulling GNSS observation streams, Broadcast Ephemeris messages and a stream containing corrections to
     5819    Broadcast Ephemerides.
     5820    Streams with observation and navigation data have to be in RTCM Version 3 format. Correction streams have to be in
     5821    RTCM-SSR or IGS-SSR format.
     5822    If you do not pull Broadcast Corrections, BNC will switch with its solution to 'Single Point Positioning' (SPP)
     5823    mode.
     5824  </p>
     5825  <p><b>RINEX Files</b>: This input mode allows to specify RINEX Observation, RINEX Navigation and Broadcast Correction
     5826    files.
     5827    BNC accepts RINEX Version 2 as well as RINEX Version 3 Observation or Navigation file formats.
     5828    Files carrying Broadcast Corrections must have the format produced by BNC through the 'Broadcast Corrections' panel.
     5829    Specifying only a RINEX Observation and a RINEX Navigation file and no Broadcast Correction file leads BNC to a
     5830    'Single Point Positioning' (SPP) solution.
     5831  <p>
     5832    The following type of Broadcast navigation messages is used per individulal GNSS:</p>
     5833  <table>
     5834    <tr>
     5835      <td>Navigation </td>
     5836      <td>Description </td>
     5837      <td>Constellation </td>
     5838      <td>RTCM </td>
     5839    </tr>
     5840    <tr>
     5841      <td>Message Type </td>
     5842      <td> </td>
     5843      <td>and Signal </td>
     5844      <td>Message Type</td>
     5845    </tr>
     5846    <tr>
     5847      <td> </td>
     5848      <td> </td>
     5849      <td> </td>
     5850      <td> </td>
     5851    </tr>
     5852    <tr>
     5853      <td> </td>
     5854      <td> </td>
     5855      <td> </td>
     5856      <td> </td>
     5857    </tr>
     5858    <tr>
     5859      <td> </td>
     5860      <td> </td>
     5861      <td> </td>
     5862      <td> </td>
     5863    </tr>
     5864    <tr>
     5865      <td>LNAV</td>
     5866      <td> GPS Legacy navigation message </td>
     5867      <td>GPS L1 C/A </td>
     5868      <td>1019</td>
     5869    </tr>
     5870    <tr>
     5871      <td> </td>
     5872      <td> </td>
     5873      <td> </td>
     5874      <td> </td>
     5875    </tr>
     5876    <tr>
     5877      <td>FDMA</td>
     5878      <td> GLONASS Legacy FDMA navigation message </td>
     5879      <td>GLO L1 C/A </td>
     5880      <td>1020</td>
     5881    </tr>
     5882    <tr>
     5883      <td> </td>
     5884      <td> from M-satellites </td>
     5885      <td> </td>
     5886      <td> </td>
     5887    </tr>
     5888    <tr>
     5889      <td> </td>
     5890      <td> </td>
     5891      <td> </td>
     5892      <td> </td>
     5893    </tr>
     5894    <tr>
     5895      <td>INAV</td>
     5896      <td> Galileo Integrity navigation message </td>
     5897      <td>GAL E1, E5b </td>
     5898      <td>1046</td>
     5899    </tr>
     5900    <tr>
     5901      <td> </td>
     5902      <td> </td>
     5903      <td> </td>
     5904      <td> </td>
     5905    </tr>
     5906    <tr>
     5907      <td>D1 </td>
     5908      <td> BeiDou-2/3 MEO/IGSO navigation message </td>
     5909      <td>BDS B1I, B2I, B3I </td>
     5910      <td>1042</td>
     5911    </tr>
     5912    <tr>
     5913      <td>D2 </td>
     5914      <td> BeiDou-2/3 GEO navigation message </td>
     5915      <td>BDS B1I, B2I, B3I </td>
     5916      <td>1042</td>
     5917    </tr>
     5918  </table>
     5919  <p>
     5920    Note that for debugging purposes, BNC's real-time PPP functionality can also be used offline.
     5921    Apply the 'File Mode' 'Command Line' option for that to read a file containing synchronized observations,
     5922    orbit and clock correctors, and Broadcast Ephemeris. Example:</p>
     5923  <pre>
    36625924        Windows: bnc.exe --conf c:\temp\PPP.bnc --file c:\temp\RAW
    36635925</pre>
    3664 Such a file (here: 'RAW') must be saved beforehand using BNC's 'Raw output file' option.
    3665 </p>
    3666 <p><h4 id="pppcorrstream">2.13.1.2 Corrections Stream - optional if 'Data source' is set to 'Real-Time Streams'</h4></p>
    3667 <p>
    3668 Specify a Broadcast 'Corrections stream' from the list of selected 'Streams' you are pulling if you want BNC to correct your
    3669 satellite ephemeris and observations accordingly. Note that the stream's orbit and clock corrections must refer to the
    3670 satellite Antenna Phase Center (APC). Streams providing such corrections are made available e.g. through the
    3671 International GNSS Service (IGS) and can for example be be pulled from <a href="https://products.igs-ip.net" target="_blank">https://products.igs-ip.net</a>
    3672 The stream format must be RTCM-SSR or IGS-SSR containing so-called SSR messages. Streams 'SSRA03IGS1' and 'SSRA00BKG1' are examples
    3673 using the IGS-SSR format.
    3674 If you do not specify a 'Corrections stream', BNC will fall back from a PPP solution to a Single Point Positioning (SPP) solution.
    3675 </p>
    3676 <p><h4 id="pppcorrfile">2.13.1.3 Corrections File - optional if 'Data source' is set to 'RINEX Files'</h4></p>
    3677 <p>
    3678 Specify a Broadcast 'Corrections file' as saved beforehand using BNC. The file content is basically the ASCII representation of a
    3679 RTCM-SSR or a IGS-SSR Broadcast Correction stream. If you do not specify a 'Correction file', BNC will fall back from a PPP solution
    3680 to a Single Point Positioning (SPP) solution.
    3681 </p>
    3682 <p><h4 id="pppbiasstream">2.13.1.4 Biases Stream - optional if 'Data source' is set to 'Real-Time Streams'</h4></p>
    3683 <p>
    3684 Specify a 'Biases stream' which provides satellite biases in SSR format from the list of selected 'Streams' you are pulling
    3685 if you want BNC to correct your observations accordingly. Streams providing such satellite biases are made available e.g. through the
    3686 International GNSS Service (IGS) and can for example be be pulled from <a href="https://products.igs-ip.net" target="_blank">https://products.igs-ip.net</a>
    3687 The stream format must be RTCM-SSR or IGS-SSR containing so-called SSR messages. Streams 'OSBC00WHU1' is an example using the IGS-SSR format.
    3688 If you do not specify a 'Biases stream' via this option, BNC will use satellite biases from the Corrections stream 'mountpoint',
    3689 if available.
    3690 </p>
    3691 <p><h4 id="pppbiasfile">2.13.1.5 Biases File - optional if 'Data source' is set to 'RINEX Files'</h4></p>
    3692 <p>
    3693 Specify a 'Biases file' as saved beforehand using BNC. The file content is basically the ASCII representation of a
    3694 RTCM-SSR or a IGS-SSR Biases stream.
    3695 </p>
    3696 <p><h4 id="pppionostream">2.13.1.6 Ionosphere Stream - optional if 'Data source' is set to 'Real-Time Streams'</h4></p>
    3697 <p>
    3698 Specify a 'Ionosphere stream' which provides VTEC informations in SSR format from the list of selected 'Streams' you are pulling
    3699 if you want BNC to correct your observations accordingly. Streams providing such VTEC informations are made available e.g. through the
    3700 International GNSS Service (IGS) and can for example be be pulled from <a href="https://products.igs-ip.net" target="_blank">https://products.igs-ip.net</a>
    3701 The stream format must be RTCM-SSR or IGS-SSR containing so-called SSR messages. Streams 'IONO00IGS1' and 'IONO00UPC1' are examples
    3702 using the IGS-SSR format.
    3703 If you do not specify a 'Ionosphere stream' via this option, BNC will use VTEC informations from the Corrections stream 'mountpoint',
    3704 if available.
    3705 </p>
    3706 <p><h4 id="pppionofile">2.13.1.7 Ionosphere File - optional if 'Data source' is set to 'RINEX Files'</h4></p>
    3707 <p>
    3708 Specify a 'Ionosphere file' as saved beforehand using BNC. The file content is basically the ASCII representation of a
    3709 RTCM-SSR or a IGS-SSR Ionosphere stream.
    3710 </p>
    3711 <p><h4 id="ppprnxobs">2.13.1.8 RINEX Observation File - mandatory if 'Data source' is set to 'RINEX Files'</h4></p>
    3712 <p>
    3713 Specify a RINEX Observation file. The file format can be RINEX Version 2, RINEX Version 3 or RINEX Version 4.
    3714 </p>
    3715 <p><h4 id="ppprnxnav">2.13.1.9 RINEX Navigation File - mandatory if 'Data source' is set to 'RINEX Files'</h4></p>
    3716 <p>
    3717 Specify a RINEX Navigation file.The file format can be RINEX Version 2, RINEX Version 3 or RINEX Version 4.
    3718 </p>
    3719 <p><h4 id="pppantexfile">2.13.1.10 ANTEX File - optional</h4></p>
    3720 <p>
    3721 IGS provides a file containing absolute phase center corrections for GNSS satellite and receiver antennas in ANTEX format Version 1.4
    3722 (at <a href="https://kb.igs.org/hc/en-us/articles/216104678-ANTEX-format-description" target="_blank">https://kb.igs.org/hc/en-us/articles/216104678-ANTEX-format-description/</a>).
    3723 Such so-called ANTEX files are available from IGS through
    3724 at <a href="https://files.igs.org/pub/station/general/" target="_blank">https://files.igs.org/pub/station/general/</a>.
    3725 An example ANTEX file 'igs20.atx' is part of the BNC package for convenience.
    3726 </p>
    3727 <p>
    3728 Entering the full path to such an ANTEX file is required for correcting observations in PPP for Antenna Phase Center offsets
    3729 and variations. Note that for applying such corrections you need to specify the receiver's antenna name and radome in BNC's 'Coordinates file'.
    3730 </p>
    3731 <p>
    3732 Default value for 'ANTEX file' is an empty option field, meaning that you do not want to correct observations for
    3733 Antenna Phase Center offsets and variations.
    3734 </p>
    3735 <p><h4 id="pppmarkcoor">2.13.1.11 Coordinates File - optional </h4></p>
    3736 <p>
    3737 Enter the full path to an ASCII file which specifies all observation streams or files from stationary or mobile receivers
    3738 you possibly may want to process.
    3739 </p>
    3740 <p>
    3741 Specifying a 'Coordinates file' is optional. If it exists, it should contain one record per stream or file
    3742 with the following parameters separated by blank characters:
    3743 </p>
    3744 <ul>
    3745   <li>Input data source, to be specified either through
     5926  Such a file (here: 'RAW') must be saved beforehand using BNC's 'Raw output file' option.
     5927  </p>
     5928  <p>
     5929  <h4 id="pppcorrstream">2.13.1.2 Corrections Stream - optional if 'Data source' is set to 'Real-Time Streams'</h4>
     5930  </p>
     5931  <p>
     5932    Specify a Broadcast 'Corrections stream' from the list of selected 'Streams' you are pulling if you want BNC to
     5933    correct your
     5934    satellite ephemeris and observations accordingly. Note that the stream's orbit and clock corrections must refer to
     5935    the
     5936    satellite Antenna Phase Center (APC). Streams providing such corrections are made available e.g. through the
     5937    International GNSS Service (IGS) and can for example be be pulled from <a href="https://products.igs-ip.net"
     5938      target="_blank">https://products.igs-ip.net</a>
     5939    The stream format must be RTCM-SSR or IGS-SSR containing so-called SSR messages. Streams 'SSRA03IGS1' and
     5940    'SSRA00BKG1' are examples
     5941    using the IGS-SSR format.
     5942    If you do not specify a 'Corrections stream', BNC will fall back from a PPP solution to a Single Point Positioning
     5943    (SPP) solution.
     5944  </p>
     5945  <p>
     5946  <h4 id="pppcorrfile">2.13.1.3 Corrections File - optional if 'Data source' is set to 'RINEX Files'</h4>
     5947  </p>
     5948  <p>
     5949    Specify a Broadcast 'Corrections file' as saved beforehand using BNC. The file content is basically the ASCII
     5950    representation of a
     5951    RTCM-SSR or a IGS-SSR Broadcast Correction stream. If you do not specify a 'Correction file', BNC will fall back
     5952    from a PPP solution
     5953    to a Single Point Positioning (SPP) solution.
     5954  </p>
     5955  <p>
     5956  <h4 id="pppbiasstream">2.13.1.4 Biases Stream - optional if 'Data source' is set to 'Real-Time Streams'</h4>
     5957  </p>
     5958  <p>
     5959    Specify a 'Biases stream' which provides satellite biases in SSR format from the list of selected 'Streams' you are
     5960    pulling
     5961    if you want BNC to correct your observations accordingly. Streams providing such satellite biases are made available
     5962    e.g. through the
     5963    International GNSS Service (IGS) and can for example be be pulled from <a href="https://products.igs-ip.net"
     5964      target="_blank">https://products.igs-ip.net</a>
     5965    The stream format must be RTCM-SSR or IGS-SSR containing so-called SSR messages. Streams 'OSBC00WHU1' is an example
     5966    using the IGS-SSR format.
     5967    If you do not specify a 'Biases stream' via this option, BNC will use satellite biases from the Corrections stream
     5968    'mountpoint',
     5969    if available.
     5970  </p>
     5971  <p>
     5972  <h4 id="pppbiasfile">2.13.1.5 Biases File - optional if 'Data source' is set to 'RINEX Files'</h4>
     5973  </p>
     5974  <p>
     5975    Specify a 'Biases file' as saved beforehand using BNC. The file content is basically the ASCII representation of a
     5976    RTCM-SSR or a IGS-SSR Biases stream.
     5977  </p>
     5978  <p>
     5979  <h4 id="pppionostream">2.13.1.6 Ionosphere Stream - optional if 'Data source' is set to 'Real-Time Streams'</h4>
     5980  </p>
     5981  <p>
     5982    Specify a 'Ionosphere stream' which provides VTEC informations in SSR format from the list of selected 'Streams' you
     5983    are pulling
     5984    if you want BNC to correct your observations accordingly. Streams providing such VTEC informations are made
     5985    available e.g. through the
     5986    International GNSS Service (IGS) and can for example be be pulled from <a href="https://products.igs-ip.net"
     5987      target="_blank">https://products.igs-ip.net</a>
     5988    The stream format must be RTCM-SSR or IGS-SSR containing so-called SSR messages. Streams 'IONO00IGS1' and
     5989    'IONO00UPC1' are examples
     5990    using the IGS-SSR format.
     5991    If you do not specify a 'Ionosphere stream' via this option, BNC will use VTEC informations from the Corrections
     5992    stream 'mountpoint',
     5993    if available.
     5994  </p>
     5995  <p>
     5996  <h4 id="pppionofile">2.13.1.7 Ionosphere File - optional if 'Data source' is set to 'RINEX Files'</h4>
     5997  </p>
     5998  <p>
     5999    Specify a 'Ionosphere file' as saved beforehand using BNC. The file content is basically the ASCII representation of
     6000    a
     6001    RTCM-SSR or a IGS-SSR Ionosphere stream.
     6002  </p>
     6003  <p>
     6004  <h4 id="ppprnxobs">2.13.1.8 RINEX Observation File - mandatory if 'Data source' is set to 'RINEX Files'</h4>
     6005  </p>
     6006  <p>
     6007    Specify a RINEX Observation file. The file format can be RINEX Version 2, RINEX Version 3 or RINEX Version 4.
     6008  </p>
     6009  <p>
     6010  <h4 id="ppprnxnav">2.13.1.9 RINEX Navigation File - mandatory if 'Data source' is set to 'RINEX Files'</h4>
     6011  </p>
     6012  <p>
     6013    Specify a RINEX Navigation file.The file format can be RINEX Version 2, RINEX Version 3 or RINEX Version 4.
     6014  </p>
     6015  <p>
     6016  <h4 id="pppantexfile">2.13.1.10 ANTEX File - optional</h4>
     6017  </p>
     6018  <p>
     6019    IGS provides a file containing absolute phase center corrections for GNSS satellite and receiver antennas in ANTEX
     6020    format Version 1.4
     6021    (at <a href="https://kb.igs.org/hc/en-us/articles/216104678-ANTEX-format-description"
     6022      target="_blank">https://kb.igs.org/hc/en-us/articles/216104678-ANTEX-format-description/</a>).
     6023    Such so-called ANTEX files are available from IGS through
     6024    at <a href="https://files.igs.org/pub/station/general/"
     6025      target="_blank">https://files.igs.org/pub/station/general/</a>.
     6026    An example ANTEX file 'igs20.atx' is part of the BNC package for convenience.
     6027  </p>
     6028  <p>
     6029    Entering the full path to such an ANTEX file is required for correcting observations in PPP for Antenna Phase Center
     6030    offsets
     6031    and variations. Note that for applying such corrections you need to specify the receiver's antenna name and radome
     6032    in BNC's 'Coordinates file'.
     6033  </p>
     6034  <p>
     6035    Default value for 'ANTEX file' is an empty option field, meaning that you do not want to correct observations for
     6036    Antenna Phase Center offsets and variations.
     6037  </p>
     6038  <p>
     6039  <h4 id="pppmarkcoor">2.13.1.11 Coordinates File - optional </h4>
     6040  </p>
     6041  <p>
     6042    Enter the full path to an ASCII file which specifies all observation streams or files from stationary or mobile
     6043    receivers
     6044    you possibly may want to process.
     6045  </p>
     6046  <p>
     6047    Specifying a 'Coordinates file' is optional. If it exists, it should contain one record per stream or file
     6048    with the following parameters separated by blank characters:
     6049  </p>
    37466050  <ul>
    3747     <li>the 'Mountpoint' of an RTCM stream (when in real-time PPP mode), or</li>
    3748     <li>the first four (RINEX Version 2) or nine (RINEX Version 3 and 4) characters of the RINEX observations file (when in post processing PPP mode).</li>
    3749   </ul>
    3750       Having at least this first parameter in each record is mandatory.</li><br>
    3751   <li>For static observations from a stationary receiver an approximate a priori XYZ coordinate [m] of the station's marker should be specified. <br>
    3752       If such an approximate a priori XYZ coordinate is unknown or when observations come from a mobile receiver, '0.0 0.0 0.0' shall be used instead.</li>
     6051    <li>Input data source, to be specified either through
     6052      <ul>
     6053        <li>the 'Mountpoint' of an RTCM stream (when in real-time PPP mode), or</li>
     6054        <li>the first four (RINEX Version 2) or nine (RINEX Version 3 and 4) characters of the RINEX observations file
     6055          (when in post processing PPP mode).</li>
     6056      </ul>
     6057      Having at least this first parameter in each record is mandatory.
     6058    </li><br>
     6059    <li>For static observations from a stationary receiver an approximate a priori XYZ coordinate [m] of the station's
     6060      marker should be specified. <br>
     6061      If such an approximate a priori XYZ coordinate is unknown or when observations come from a mobile receiver, '0.0
     6062      0.0 0.0' shall be used instead.</li>
     6063    <br>
     6064    <li>Optionally, right after the a priori XYZ coordinate, its reference epoch and ITRF velocity may be specified
     6065      through the keyword tokens
     6066      <span style="font-family:Monospace">EPOCH:&lt;decimalYear&gt;</span> and
     6067      <span style="font-family:Monospace">VEL:&lt;vx&gt;,&lt;vy&gt;,&lt;vz&gt;</span>
     6068      (in any order, separated by blank characters). <span style="font-family:Monospace">&lt;decimalYear&gt;</span> is
     6069      the epoch the a priori
     6070      coordinate refers to (e.g. '2026.5'), and <span
     6071        style="font-family:Monospace">&lt;vx&gt;,&lt;vy&gt;,&lt;vz&gt;</span> is the station's
     6072      ITRF velocity in X, Y, Z [m/year], comma-separated without blanks (e.g. 'VEL:-0.0142,0.0187,0.0091'). When
     6073      'EPOCH:' is specified, BNC
     6074      propagates the a priori coordinate from its reference epoch to the actual observation epoch using the given
     6075      velocity before using it,
     6076      which accounts for the station's tectonic motion between the coordinate's reference epoch and the time of
     6077      processing.
     6078      <ul>
     6079        <li> Every SINEX (including IGS cumulative solutions) states epochs in
     6080          YY:DOY:SOD format (2-digit year : day-of-year : seconds-of-day) — in the
     6081          %=SNX header line and/or the SOLUTION/EPOCHS block, e.g.: 26:048:00000<br>
     6082          Convert directly: decimalYear = YYYY + (DOY - 1 + SOD/86400) / 365.25.
     6083          (For 26:048:00000 → 2026 + 47/365.25 = 2026.1287)
     6084        </li>
     6085      </ul>
    37536086      <br>
    3754   <li>The North, East and Up component [m] of antenna eccentricity, which is the difference between the Antenna Reference Point (ARP)
     6087      Leave out 'EPOCH:' and 'VEL:' if the a priori coordinate is already valid for the epoch of processing, or if the
     6088      station's ITRF velocity is unknown;
     6089      in that case the a priori coordinate is used unchanged, as before.
     6090    </li>
     6091    <br>
     6092    <li>The North, East and Up component [m] of antenna eccentricity, which is the difference between the Antenna
     6093      Reference Point (ARP)
    37556094      and a nearby marker position, can be specified.<br>
    3756       Please note, when specifying the antenna eccentricity, BNC will produce coordinates referring to the marker position and not referring to the ARP.<br>
    3757       If the eccentricity is unknown or the ARP itself is understood as the marker, '0.0 0.0 0.0' shall be specified instead.</li>
    3758       <br>
    3759   <li>Receiver's antenna name as defined in your ANTEX file (see below).
    3760       The specified name must consist of 20 characters. Add trailing blanks if the antenna name has less than 20 characters. <br>Examples:<br>
    3761         <pre><p style="font-family:Monospace">
     6095      Please note, when specifying the antenna eccentricity, BNC will produce coordinates referring to the marker
     6096      position and not referring to the ARP.<br>
     6097      If the eccentricity is unknown or the ARP itself is understood as the marker, '0.0 0.0 0.0' shall be specified
     6098      instead.</li>
     6099    <br>
     6100    <li>Receiver's antenna name as defined in your ANTEX file (see below).
     6101      The specified name must consist of 20 characters. Add trailing blanks if the antenna name has less than 20
     6102      characters. <br>Examples:<br>
     6103      <pre><p style="font-family:Monospace">
    37626104                &nbsp;'JPSREGANT_SD_E      ' (no radome)
    37636105                &nbsp;'LEIAT504        NONE' (no radome)
    37646106                &nbsp;'LEIAR25.R3      LEIT' (radome is LEIT)
    37656107        </p></pre>
    3766           Observations will be corrected for the receiver Antenna Phase Center (APC) offsets and variations.<br>
    3767       Leave antenna name blank if you do not want to correct observations for APC offsets and variations or if you do not know the antenna name.</li>
    3768       <br>
    3769   <li>Receiver type following the naming convention for IGS equipment as defined in
    3770       <a href="https://files.igs.org/pub/station/general/rcvr_ant.tab" target="_blank">https://files.igs.org/pub/station/general/rcvr_ant.tab</a>.<br>
    3771    <li>Specifying the receiver type is only required when saving SINEX Troposphere files. In those files it becomes part of the 'SITE/RECEIVER' specifications,
    3772        see section 'SNX TRO Directory'.</li>
    3773 </ul>
    3774 <p>
    3775 Records in the 'Coordinates' file with exclamation mark '!' in the first column or blank records will be understood as comment lines and ignored.
    3776 </p>
    3777 <p>
    3778 The following is the content of an example 'Coordinates file'. Here each record describes the mountpoint of a stream
    3779 available from the global IGS real-time reference station network.
    3780 A priori coordinates are followed by North/East/Up eccentricity components of the ARP,
    3781 followed by the antenna name and radome in use, and followed by the receiver name.
    3782 </p>
    3783 <pre><p style="font-family:Monospace">
     6108      Observations will be corrected for the receiver Antenna Phase Center (APC) offsets and variations.<br>
     6109      Leave antenna name blank if you do not want to correct observations for APC offsets and variations or if you do
     6110      not know the antenna name.
     6111    </li>
     6112    <br>
     6113    <li>Receiver type following the naming convention for IGS equipment as defined in
     6114      <a href="https://files.igs.org/pub/station/general/rcvr_ant.tab"
     6115        target="_blank">https://files.igs.org/pub/station/general/rcvr_ant.tab</a>.<br>
     6116    <li>Specifying the receiver type is only required when saving SINEX Troposphere files. In those files it becomes
     6117      part of the 'SITE/RECEIVER' specifications,
     6118      see section 'SNX TRO Directory'.</li>
     6119  </ul>
     6120  <p>
     6121    Records in the 'Coordinates' file with exclamation mark '!' in the first column or blank records will be understood
     6122    as comment lines and ignored.
     6123  </p>
     6124  <p>
     6125    The following is the content of an example 'Coordinates file'. Here each record describes the mountpoint of a stream
     6126    available from the global IGS real-time reference station network.
     6127    A priori coordinates are followed by North/East/Up eccentricity components of the ARP,
     6128    followed by the antenna name and radome in use, and followed by the receiver name.
     6129  </p>
     6130  <pre><p style="font-family:Monospace">
    37846131# Apriori coordinates with eccentricities, antenna and receiver, Reference System IGS20 (IGS0OPSSNX_20260480000_01D_01D_CRD.SNX)
    37856132# ---------------------------------------------------------------------------------------------------------------------------------
    3786 # REAL-TIME 
     6133# REAL-TIME
    37876134FFMJ01DEU0  4.05345556487862e+06  6.17730016327370e+05  4.86939592304988e+06    0.0000   0.0000   0.0450 LEIAR25.R3      LEIT LEICA GR50
     6135WTZR00DEU1  4.07558020555194e+06  9.31854158691225e+05  4.80156833793210e+06 EPOCH:2026.5 VEL:-0.0142,0.0187,0.0091    0.0000   0.0000   0.0710 LEIAR25.R3      LEIT LEICA GR50
    37886136REYK00ISL0  2.58738387057569e+06 -1.04303361185251e+06  5.71656422200577e+06    0.0000   0.0000   0.0635 LEIAR25.R4      LEIT LEICA GR50
    37896137WTZR00DEU0  4.07558020555194e+06  9.31854158691225e+05  4.80156833793210e+06    0.0000   0.0000   0.0710 LEIAR25.R3      LEIT LEICA GR50
     
    37976145VM01            0.0            0.0            0.0          0.0000     0.0000     0.0000
    37986146</p></pre>
    3799 In this file
    3800 <ul>
    3801   <li> Record 'FFMJ01DEU0' describes a stream from a stationary receiver with known a priori marker coordinates, antenna eccentricities,
    3802        antenna and radome type, and receiver type.</li>
    3803   <li> Record 'FFMJ01DEU' indicates that a RINEX version 3 or 4 observations file for post processing PPP is available for station 'FFMJ01DEU'
    3804        with known a priori marker coordinates, antenna eccentricities, antenna and radome type, and receiver type.</li>
    3805   <li> The 4-character station ID 'VM01' indicates that a RINEX version 2 observations file, resultant from a mobile rover receiver,
    3806        is available for post processing PPP. Hence a priori coordinates are unknown although antenna eccentricities, antenna and radome type,
    3807        and receiver type are known.</li>
    3808 </ul>
    3809 <p>
    3810 Note again that the only mandatory parameters in this file are the 'Station' parameters in the first column,
    3811 each standing for an observation stream's mountpoint or the 9/4-character station ID of a RINEX filename.
    3812 </p>
    3813 
    3814 <p><h4 id="pppblqfile">2.13.1.12 BLQ File - optional </h4></p>
    3815 <p>
    3816 Specify a 'BLQ file' containing the ocean loading coefficients for all stations you want to process.
    3817 These coefficients can be obtained from the ocean loading service under request trough the web site
    3818 <a href="http://holt.oso.chalmers.se/loading/" target="_blank">http://holt.oso.chalmers.se/loading/</a>
    3819  .
    3820 BNC computes time series of tidal displacements for the respective stations using that input file.
    3821 </p>
    3822 
    3823 
    3824 <p><h4 id="ppplogfile">2.13.1.13 Logfile Directory and Log mode - optional</h4></p>
    3825 <p>
    3826 Essential PPP results are shown in the 'Log' tab on the bottom of BNC's main window. Depending on the processing options,
    3827 the following values are presented about once per second (example):
    3828 <pre><p style="font-family:Monospace">
     6147  In this file
     6148  <ul>
     6149    <li> Record 'FFMJ01DEU0' describes a stream from a stationary receiver with known a priori marker coordinates,
     6150      antenna eccentricities,
     6151      antenna and radome type, and receiver type.</li>
     6152    <li> Record 'WTZR00DEU1' additionally specifies the reference epoch ('2026.5') and ITRF velocity of its a priori
     6153      marker coordinate.
     6154      BNC will propagate that coordinate to the epoch of each processed observation before using it.</li>
     6155    <li> Record 'FFMJ01DEU' indicates that a RINEX version 3 or 4 observations file for post processing PPP is available
     6156      for station 'FFMJ01DEU'
     6157      with known a priori marker coordinates, antenna eccentricities, antenna and radome type, and receiver type.</li>
     6158    <li> The 4-character station ID 'VM01' indicates that a RINEX version 2 observations file, resultant from a mobile
     6159      rover receiver,
     6160      is available for post processing PPP. Hence a priori coordinates are unknown although antenna eccentricities,
     6161      antenna and radome type,
     6162      and receiver type are known.</li>
     6163  </ul>
     6164  <p>
     6165    Note again that the only mandatory parameters in this file are the 'Station' parameters in the first column,
     6166    each standing for an observation stream's mountpoint or the 9/4-character station ID of a RINEX filename.
     6167  </p>
     6168
     6169  <p>
     6170  <h4 id="pppblqfile">2.13.1.12 BLQ File - optional </h4>
     6171  </p>
     6172  <p>
     6173    Specify a 'BLQ file' containing the ocean loading coefficients for all stations you want to process.
     6174    These coefficients can be obtained from the ocean loading service under request trough the web site
     6175    <a href="http://holt.oso.chalmers.se/loading/" target="_blank">http://holt.oso.chalmers.se/loading/</a>
     6176    .
     6177    BNC computes time series of tidal displacements for the respective stations using that input file.
     6178  </p>
     6179
     6180
     6181  <p>
     6182  <h4 id="ppplogfile">2.13.1.13 Logfile Directory and Log mode - optional</h4>
     6183  </p>
     6184  <p>
     6185    Essential PPP results are shown in the 'Log' tab on the bottom of BNC's main window. Depending on the processing
     6186    options,
     6187    the following values are presented about once per second (example):
     6188  <pre><p style="font-family:Monospace">
    38296189...
    3830619026-07-28 15:06:51 2026-07-28_15:06:45.000 FFMJ01DEU0 X = 4053455.5855 Y = 617730.0277 Z = 4869395.9163 NEU:  -0.0213  +0.0081  +0.0090 TRP:  +2.3453  +0.0951 fix +96 %
     
    38406200...
    38416201</p></pre>
    3842 <p>
    3843 Each row reports the PPP result of one epoch. It begins with a UTC time stamp (yy-mm-dd hh:mm:ss) which tells us when the result was produced.
    3844 A second time stamp (yyyy-mm-dd_hh:mm:ss) describes the PPP's epoch in 'GPS Time'. It is followed by the Mountpoint/Stream/Station Name, the derived XYZ position in [m],
    3845 its North, East and Up displacement, compared to an introduced a priori coordinate, the estimated tropospheric delay [m] (model plus correction)
    3846 and a remark regarding the status of the ambiguities (flt/fix with its percentile).
    3847 </p>
    3848 <p>
    3849 If you require more information, you can specify a 'Logfile directory' to save daily logfiles per station (filename suffix 'ppp')
    3850 with additional processing details on disk. The details of the PPP client processing output can be controled by the 'log mode' option.
    3851 The 'normal' mode produces a log file, related to the estimated parameters and observation residuals as printed below.
    3852 If the user selects 'debug' additional information (particularly about used SSR corrections) is printed.
    3853 The option value 'all' triggers a very detailed log including the information about the constituents of the observation model.
    3854 </p>
    3855 <pre><p style="font-family:Monospace">
     6202  <p>
     6203    Each row reports the PPP result of one epoch. It begins with a UTC time stamp (yy-mm-dd hh:mm:ss) which tells us
     6204    when the result was produced.
     6205    A second time stamp (yyyy-mm-dd_hh:mm:ss) describes the PPP's epoch in 'GPS Time'. It is followed by the
     6206    Mountpoint/Stream/Station Name, the derived XYZ position in [m],
     6207    its North, East and Up displacement, compared to an introduced a priori coordinate, the estimated tropospheric delay
     6208    [m] (model plus correction)
     6209    and a remark regarding the status of the ambiguities (flt/fix with its percentile).
     6210  </p>
     6211  <p>
     6212    If you require more information, you can specify a 'Logfile directory' to save daily logfiles per station (filename
     6213    suffix 'ppp')
     6214    with additional processing details on disk. The details of the PPP client processing output can be controled by the
     6215    'log mode' option.
     6216    The 'normal' mode produces a log file, related to the estimated parameters and observation residuals as printed
     6217    below.
     6218    If the user selects 'debug' additional information (particularly about used SSR corrections) is printed.
     6219    The option value 'all' triggers a very detailed log including the information about the constituents of the
     6220    observation model.
     6221  </p>
     6222  <pre><p style="font-family:Monospace">
    38566223..
    38576224PPP of Epoch 2026-07-28_15:12:14.000 using SSRA01CAS1
     
    41876554..
    41886555</p></pre>
    4189 <p>
    4190  Depending on the selected processing options you find 'GPS Time' stamps (yyyy-mm-dd_hh:mm:ss.sss) followed by
    4191  <table>
    4192   <tr><td>&nbsp; SATNUM G    </td><td>&nbsp; &nbsp; Number of satellites per contributing GNSS, here GPS</td></tr>
    4193   <tr><td>&nbsp; RES cG1/lG1 </td><td>&nbsp; &nbsp; Code and phase residuals for contributing GNSS in [m] given per satellite</td></tr>
    4194   <tr><td>&nbsp; REC_CLK  G  </td><td>&nbsp; &nbsp; Receiver clock errors per contributing GNSS, here GPS in [m]</td></tr>
    4195   <tr><td>&nbsp; TRP         </td><td>&nbsp; &nbsp; A priori and correction values of tropospheric zenith delay in [m]</td></tr>
    4196   <tr><td>&nbsp; ION         </td><td>&nbsp; &nbsp; A priori and correction values of ionospheric delay in [m]</td></tr>
    4197   <tr><td>&nbsp; AMB lG1     </td><td>&nbsp; &nbsp; Floated/fixed ambiguities given per satellite and frequency band with 'nEpo' = number of epochs since last ambiguity reset</td></tr>
    4198   <tr><td>&nbsp; BIA cG1     </td><td>&nbsp; &nbsp; Satellite code/phase bias related to GNSS and frequency band in [m], here code bias for GPS and band 1</td></tr>
    4199   <tr><td>&nbsp; MOUNTPOINT  </td><td>&nbsp; &nbsp; Here 'FFMJ01DEU0' with XYZ position in [m], dN/dE/dU in [m] for North, East, and Up displacements compared to a priori marker coordinates)</td></tr>
    4200   <tr><td>&nbsp;             </td><td>&nbsp; &nbsp; as well as a remark regarding the status of the ambiguities (flt/fix with its percentile)</td></tr>
    4201 </table>
    4202 <p>
    4203 Estimated parameters are presented together with their formal errors as derived from the implemented filter.
    4204 The PPP algorithm includes outlier and cycle slip detection.
    4205 </p>
    4206 
    4207 <p>
    4208 Default value for 'Logfile directory' is an empty option field, meaning that you do not want to save daily PPP logfiles on disk.
    4209 If a specified directory does not exist, BNC will not create PPP logfiles.
    4210 </p>
    4211 <p>
    4212 BNC follows the RINEX Version 3 standard to create filenames for PPP logfiles (suffix 'ppp'), see section 'RINEX Filenames' for details:
    4213 For example:
    4214 <pre><p style="font-family:Monospace">
     6556  <p>
     6557    Depending on the selected processing options you find 'GPS Time' stamps (yyyy-mm-dd_hh:mm:ss.sss) followed by
     6558  <table>
     6559    <tr>
     6560      <td>&nbsp; SATNUM G </td>
     6561      <td>&nbsp; &nbsp; Number of satellites per contributing GNSS, here GPS</td>
     6562    </tr>
     6563    <tr>
     6564      <td>&nbsp; RES cG1/lG1 </td>
     6565      <td>&nbsp; &nbsp; Code and phase residuals for contributing GNSS in [m] given per satellite</td>
     6566    </tr>
     6567    <tr>
     6568      <td>&nbsp; REC_CLK G </td>
     6569      <td>&nbsp; &nbsp; Receiver clock errors per contributing GNSS, here GPS in [m]</td>
     6570    </tr>
     6571    <tr>
     6572      <td>&nbsp; TRP </td>
     6573      <td>&nbsp; &nbsp; A priori and correction values of tropospheric zenith delay in [m]</td>
     6574    </tr>
     6575    <tr>
     6576      <td>&nbsp; ION </td>
     6577      <td>&nbsp; &nbsp; A priori and correction values of ionospheric delay in [m]</td>
     6578    </tr>
     6579    <tr>
     6580      <td>&nbsp; AMB lG1 </td>
     6581      <td>&nbsp; &nbsp; Floated/fixed ambiguities given per satellite and frequency band with 'nEpo' = number of epochs
     6582        since last ambiguity reset</td>
     6583    </tr>
     6584    <tr>
     6585      <td>&nbsp; BIA cG1 </td>
     6586      <td>&nbsp; &nbsp; Satellite code/phase bias related to GNSS and frequency band in [m], here code bias for GPS and
     6587        band 1</td>
     6588    </tr>
     6589    <tr>
     6590      <td>&nbsp; MOUNTPOINT </td>
     6591      <td>&nbsp; &nbsp; Here 'FFMJ01DEU0' with XYZ position in [m], dN/dE/dU in [m] for North, East, and Up
     6592        displacements compared to a priori marker coordinates)</td>
     6593    </tr>
     6594    <tr>
     6595      <td>&nbsp; </td>
     6596      <td>&nbsp; &nbsp; as well as a remark regarding the status of the ambiguities (flt/fix with its percentile)</td>
     6597    </tr>
     6598  </table>
     6599  <p>
     6600    Estimated parameters are presented together with their formal errors as derived from the implemented filter.
     6601    The PPP algorithm includes outlier and cycle slip detection.
     6602  </p>
     6603
     6604  <p>
     6605    Default value for 'Logfile directory' is an empty option field, meaning that you do not want to save daily PPP
     6606    logfiles on disk.
     6607    If a specified directory does not exist, BNC will not create PPP logfiles.
     6608  </p>
     6609  <p>
     6610    BNC follows the RINEX Version 3 standard to create filenames for PPP logfiles (suffix 'ppp'), see section 'RINEX
     6611    Filenames' for details:
     6612    For example:
     6613  <pre><p style="font-family:Monospace">
    42156614  FFMJ01DEU_20262090000_01D_01S.ppp
    42166615</pre>
    42176616
    4218 <p><h4 id="pppnmeafile">2.13.1.14 NMEA Directory - optional</h4></p>
    4219 <p>
    4220 You can specify a 'NMEA directory' to save daily NMEA files with Point Positioning results recorded as NMEA sentences.
    4221 Such sentences are usually generated about once per second with pairs of
    4222 </p>
    4223 <p>
    4224 <ul>
    4225   <li> GPGGA sentences which mainly carry the estimated latitude, longitude, and height values, plus</li>
    4226   <li> GPRMC sentences which mainly carry date and time information.</li>
    4227 </ul>
    4228 </p>
    4229 The following is an example for an NMEA output file from BNC.
    4230 </p>
    4231 <pre><p style="font-family:Monospace">
     6617  <p>
     6618  <h4 id="pppnmeafile">2.13.1.14 NMEA Directory - optional</h4>
     6619  </p>
     6620  <p>
     6621    You can specify a 'NMEA directory' to save daily NMEA files with Point Positioning results recorded as NMEA
     6622    sentences.
     6623    Such sentences are usually generated about once per second with pairs of
     6624  </p>
     6625  <p>
     6626  <ul>
     6627    <li> GPGGA sentences which mainly carry the estimated latitude, longitude, and height values, plus</li>
     6628    <li> GPRMC sentences which mainly carry date and time information.</li>
     6629  </ul>
     6630  </p>
     6631  The following is an example for an NMEA output file from BNC.
     6632  </p>
     6633  <pre><p style="font-family:Monospace">
    42326634..
    42336635$GPRMC,151742.000,A,5005.4349,N,00839.8984,E,,,280726,,*0b
     
    42446646</p></pre>
    42456647
    4246 <p>
    4247 BNC follows the RINEX Version 3 standard to create filenames for NMEA logfiles (suffix 'nmea'), see section 'RINEX Filenames' for details.
    4248 For example:
    4249 <pre><p style="font-family:Monospace">
     6648  <p>
     6649    BNC follows the RINEX Version 3 standard to create filenames for NMEA logfiles (suffix 'nmea'), see section 'RINEX
     6650    Filenames' for details.
     6651    For example:
     6652  <pre><p style="font-family:Monospace">
    42506653  FFMJ01DEU_20262090000_01D_01S.nmea
    42516654</pre>
    4252 The default value for 'NMEA directory' is an empty option field, meaning that BNC will not save NMEA sentences into files.
    4253 If a specified directory does not exist, BNC will not create NMEA files.
    4254 <p>
    4255 Note that Tomoji Takasu has written a program named RTKPLOT for visualizing NMEA sentences from IP ports or files.
    4256 It is available from <a href="http://www.rtklib.com" target="_blank">http://www.rtklib.com</a> and compatible with
    4257 the 'NMEA Directory' and port output of BNC's 'PPP' client option.
    4258 </p>
    4259 
    4260 <p><h4 id="pppsnxtrofile">2.13.1.15 SNX TRO Directory - optional</h4></p>
    4261 <p>
    4262 BNC estimates the tropospheric delay according to equation
    4263 <pre>
     6655  The default value for 'NMEA directory' is an empty option field, meaning that BNC will not save NMEA sentences into
     6656  files.
     6657  If a specified directory does not exist, BNC will not create NMEA files.
     6658  <p>
     6659    Note that Tomoji Takasu has written a program named RTKPLOT for visualizing NMEA sentences from IP ports or files.
     6660    It is available from <a href="http://www.rtklib.com" target="_blank">http://www.rtklib.com</a> and compatible with
     6661    the 'NMEA Directory' and port output of BNC's 'PPP' client option.
     6662  </p>
     6663
     6664  <p>
     6665  <h4 id="pppsnxtrofile">2.13.1.15 SNX TRO Directory - optional</h4>
     6666  </p>
     6667  <p>
     6668    BNC estimates the tropospheric delay according to equation
     6669  <pre>
    42646670   T(z) = T_apr(z) + dT / cos(z)
    42656671</pre>
    4266 where T_apr is the a priori tropospheric delay derived from Saastamoinen model.
    4267 </p>
    4268 
    4269 <p>
    4270 You can specify a 'SNX TRO Directory' for saving SINEX Troposphere files on disk, see
    4271 <a href="https://files.igs.org/pub/data/format/sinex_tro_v2.00.pdf" target="_blank">https://files.igs.org/pub/data/format/sinex_tro_v2.00.pdf</a>
    4272 for a documentation of the file format. Note that receiver type information for these files must be provided through the coordinates file
    4273 described in section 'Coordinates file'. The following is an example for a troposphere file content:
    4274 </p>
    4275 <pre><p style="font-family:Monospace">
     6672  where T_apr is the a priori tropospheric delay derived from Saastamoinen model.
     6673  </p>
     6674
     6675  <p>
     6676    You can specify a 'SNX TRO Directory' for saving SINEX Troposphere files on disk, see
     6677    <a href="https://files.igs.org/pub/data/format/sinex_tro_v2.00.pdf"
     6678      target="_blank">https://files.igs.org/pub/data/format/sinex_tro_v2.00.pdf</a>
     6679    for a documentation of the file format. Note that receiver type information for these files must be provided through
     6680    the coordinates file
     6681    described in section 'Coordinates file'. The following is an example for a troposphere file content:
     6682  </p>
     6683  <pre><p style="font-family:Monospace">
    42766684%=TRO 2.00 CAS 2026:209:00000 CAS 2026:209:00000 2026:209:03599 P FFMJ01DEU
    42776685*-------------------------------------------------------------------------------
     
    43496757%=ENDTROP
    43506758</p></pre>
    4351 For file naming, BNC follows the new format convention according to IGS products considering the site
    4352 <a href="https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf" target="_blank">https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf</a>:
    4353 <pre>
     6759  For file naming, BNC follows the new format convention according to IGS products considering the site
     6760  <a href="https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf"
     6761    target="_blank">https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf</a>:
     6762  <pre>
    43546763  AAAVPPPTTT_YYYYDOYHHMM_LEN_SMP_SITENAME_CNT.FMT
    43556764</pre>
    4356 With
    4357 <p>
    4358 <table>
    4359   <tr><td>&nbsp; AAA        </td><td>&nbsp; &nbsp; Analysis Center abbreviation</td></tr>
    4360   <tr><td>&nbsp; V          </td><td>&nbsp; &nbsp; Version / Solution identifier (0-9)</td></tr>
    4361   <tr><td>&nbsp; PPP        </td><td>&nbsp; &nbsp; Project/Campaign identification, here demonstration (DEM)</td></tr>
    4362   <tr><td>&nbsp; TTT        </td><td>&nbsp; &nbsp; Solution Type, here real-time streamed product(RTS)</td></tr>
    4363   <tr><td>&nbsp; YYYYDOYHHMM</td><td>&nbsp; &nbsp; String representing beginning time of nominal data interval</td></tr>
    4364   <tr><td>&nbsp; LEN        </td><td>&nbsp; &nbsp; Intended product period of the file </td></tr>
    4365   <tr><td>&nbsp; SMP        </td><td>&nbsp; &nbsp; Data sampling rate</td></tr>
    4366   <tr><td>&nbsp; SITENAME   </td><td>&nbsp; &nbsp; 9-char site name</td></tr>
    4367   <tr><td>&nbsp; CNT        </td><td>&nbsp; &nbsp; Content type, here TRO</td></tr>
    4368   <tr><td>&nbsp; FMT        </td><td>&nbsp; &nbsp; File format, here TRO</td></tr>
    4369 </table>
    4370 </p>
    4371 A result for example is:
    4372 <pre><p style="font-family:Monospace">
     6765  With
     6766  <p>
     6767  <table>
     6768    <tr>
     6769      <td>&nbsp; AAA </td>
     6770      <td>&nbsp; &nbsp; Analysis Center abbreviation</td>
     6771    </tr>
     6772    <tr>
     6773      <td>&nbsp; V </td>
     6774      <td>&nbsp; &nbsp; Version / Solution identifier (0-9)</td>
     6775    </tr>
     6776    <tr>
     6777      <td>&nbsp; PPP </td>
     6778      <td>&nbsp; &nbsp; Project/Campaign identification, here demonstration (DEM)</td>
     6779    </tr>
     6780    <tr>
     6781      <td>&nbsp; TTT </td>
     6782      <td>&nbsp; &nbsp; Solution Type, here real-time streamed product(RTS)</td>
     6783    </tr>
     6784    <tr>
     6785      <td>&nbsp; YYYYDOYHHMM</td>
     6786      <td>&nbsp; &nbsp; String representing beginning time of nominal data interval</td>
     6787    </tr>
     6788    <tr>
     6789      <td>&nbsp; LEN </td>
     6790      <td>&nbsp; &nbsp; Intended product period of the file </td>
     6791    </tr>
     6792    <tr>
     6793      <td>&nbsp; SMP </td>
     6794      <td>&nbsp; &nbsp; Data sampling rate</td>
     6795    </tr>
     6796    <tr>
     6797      <td>&nbsp; SITENAME </td>
     6798      <td>&nbsp; &nbsp; 9-char site name</td>
     6799    </tr>
     6800    <tr>
     6801      <td>&nbsp; CNT </td>
     6802      <td>&nbsp; &nbsp; Content type, here TRO</td>
     6803    </tr>
     6804    <tr>
     6805      <td>&nbsp; FMT </td>
     6806      <td>&nbsp; &nbsp; File format, here TRO</td>
     6807    </tr>
     6808  </table>
     6809  </p>
     6810  A result for example is:
     6811  <pre><p style="font-family:Monospace">
    43736812  CAS0DEMRTS_20262091400_01H_01S_FFMJ01DEU_TRO.TRO
    43746813</pre>
    43756814
    4376 <p>
    4377 The default value for 'SNX TRO Directory' is an empty option field, meaning that BNC will not save SINEX Troposphere files.
    4378 If a specified directory does not exist, BNC will not create SINEX Troposphere files.
    4379 </p>
    4380 
    4381 <p><h4 id="pppsnxtrointr">2.13.1.15.1 Interval - mandatory if 'SINEX TRO Directory' is set</h4></p>
    4382 <p>
    4383 Select the length of SINEX Troposphere files.
    4384 </p>
    4385 <p>
    4386 Default 'Interval' for saving SINEX Troposphere files on disk is '1 day'.
    4387 </p>
    4388 <p><h4 id="pppsnxtrosampl">2.13.1.15.2 Sampling - mandatory if 'SINEX TRO Directory' is set</h4></p>
    4389 <p>
    4390 Select a 'Sampling' rate in seconds for saving troposphere parameters.
    4391 </p>
    4392 <p>
    4393 Default 'Sampling' rate is '0', meaning that all troposphere estimates will be saved on disk.
    4394 </p>
    4395 
    4396 <p><h4 id="pppsnxAc">2.13.1.15.3 Analysis Center - Mandatory if 'SINEX TRO Directory' is set</h4></p>
    4397 <p>
    4398 Specify a 3-character abbreviation describing you as the generating Analysis Center (AC) in your SINEX troposphere files. String 'BKG' is an example.
    4399 </p>
    4400 
    4401 <p><h4 id="pppsnxSol">2.13.1.15.4 Solution ID - Mandatory if 'SINEX TRO Directory' is set</h4></p>
    4402 <p>
    4403 Specify a 1-character solution ID to allow a distingtion between different solutions per AC. String '1' is an example.
    4404 </p>
    4405 
    4406 <p><h4 id="pppOptions">2.13.2 PPP (2): Processing Options</h4></p>
    4407 <p>
    4408 BNC allows using various Point Positioning processing options depending on the capability of the involved receiver and the application in mind.
    4409 You can introduce specific sigmas for code and phase observations as well as for a priori coordinates and troposphere estimates.
    4410 You could also carry out your PPP solution in Quick-Start mode or enforce BNC to restart a solution if the length of an outage exceeds a certain threshold.
    4411 </p>
    4412 <p>
    4413 The intention of this panel is to specify general processing options to be applied to all PPP threads in one BNC job.
    4414 </p>
    4415 
    4416 <p><img src="IMG/Figure23.png"width=1000/></p>
    4417 <p>Figure 23: Precise Point Positioning with BNC, PPP Panel 2</p>
    4418 
    4419 <p><h4 id="pppobs">2.13.2.1 GNSS Observations - mandatory</h4></p>
    4420 <p>
    4421 Specify which kind of observations you want to use and on which kind of linear combination the ambiguity resolutions shall be based.
    4422 The specification has to be done per GNSS ('GPS', 'GLONASS', 'Galileo', 'BDS').
    4423 The following options are available for all GNSS:
    4424 </p>
    4425 <ul>
    4426       <li>'Pi&Li' means that uncombined code and phase data of two frequencies shall be used.</li>
    4427       <li>'Pi'    means that uncombined code data of two frequencies shall be used.</li>
    4428       <li>'P1&L1' means that uncombined code and phase data of one frequency shall be used.</li>
    4429       <li>'P1'    means that uncombined code data of one frequency shall be used.</li>
    4430       <li>'P3&L3' means that the inonosphere-free linear combination of code and phase data shall be used.</li>
    4431       <li>'P3'    means that the inonosphere-free linear combination of code data shall be used.</li>
    4432       <li>'L3'    means that the inonosphere-free linear combination of phase data shall be used.</li>
    4433 </ul>
    4434 Band and attribute can be specified per station using the Signal Priorities in PPP(3).
    4435 <p>
    4436 For GPS, Galileo and BDS this option is editable. Hence, you can specify your own frequencies for code (P) and phase (L) observations, e.g.:
    4437 <ul>
    4438 <li>for GPS: P125&L125, which means that band 1,2 and 5 of code and phase observations are used. </li>
    4439 <li>for Galileo or BDS 'P1576&L1576' means that band 1,5,7 and 6 of code and phase observations are used. </li>
    4440 </ul>
    4441 The tracking mode for each frequency can be specified per station using the Signal Priorities in PPP(3).
    4442 <p>
    4443 Note that most geodetic GPS receivers support the observation of both, code and phase data.
    4444 Hence, specifying 'Pi&Li' would be a good choice for GPS when processing data from such a receiver.
    4445 If multi-GNSS data processing is your intention, make sure your receiver supports GLONASS and/or Galileo and/or BDS observations besides GPS.
    4446 Note also that the Broadcast Correction stream or file, which is required for PPP, also supports all the systems you have in mind.
    4447 </p>
    4448 <p>Specifying 'no' means that you do not at all want BNC to use observations from the affected GNSS system.
    4449 </p>
    4450 
    4451 <p>
    4452 The choice between an uncombined ('Pi&amp;Li', 'Pi', 'P1&amp;L1', 'P1') and an ionosphere-free ('P3&amp;L3', 'P3',
    4453 'L3') linear combination does not just change which observations are read - it changes the set of parameters
    4454 estimated by BNC's Kalman filter and how each observation enters the filter:
    4455 </p>
    4456 
    4457 <p><b>Uncombined PPP</b><br>
    4458 Each frequency's code and/or phase observation enters the filter on its own, without forming the
    4459 ionosphere-free combination first. The state vector therefore carries, in addition to receiver position, one
    4460 receiver clock per GNSS system and troposphere zenith delay (if estimated):
    4461 <ul>
    4462   <li>one carrier-phase ambiguity per satellite and per phase frequency,</li>
    4463   <li>one slant ionospheric delay (ION) per satellite, and</li>
    4464   <li>one differential code/phase bias per frequency and GNSS system (common to all satellites of that
     6815  <p>
     6816    The default value for 'SNX TRO Directory' is an empty option field, meaning that BNC will not save SINEX Troposphere
     6817    files.
     6818    If a specified directory does not exist, BNC will not create SINEX Troposphere files.
     6819  </p>
     6820
     6821  <p>
     6822  <h4 id="pppsnxtrointr">2.13.1.15.1 Interval - mandatory if 'SINEX TRO Directory' is set</h4>
     6823  </p>
     6824  <p>
     6825    Select the length of SINEX Troposphere files.
     6826  </p>
     6827  <p>
     6828    Default 'Interval' for saving SINEX Troposphere files on disk is '1 day'.
     6829  </p>
     6830  <p>
     6831  <h4 id="pppsnxtrosampl">2.13.1.15.2 Sampling - mandatory if 'SINEX TRO Directory' is set</h4>
     6832  </p>
     6833  <p>
     6834    Select a 'Sampling' rate in seconds for saving troposphere parameters.
     6835  </p>
     6836  <p>
     6837    Default 'Sampling' rate is '0', meaning that all troposphere estimates will be saved on disk.
     6838  </p>
     6839
     6840  <p>
     6841  <h4 id="pppsnxAc">2.13.1.15.3 Analysis Center - Mandatory if 'SINEX TRO Directory' is set</h4>
     6842  </p>
     6843  <p>
     6844    Specify a 3-character abbreviation describing you as the generating Analysis Center (AC) in your SINEX troposphere
     6845    files. String 'BKG' is an example.
     6846  </p>
     6847
     6848  <p>
     6849  <h4 id="pppsnxSol">2.13.1.15.4 Solution ID - Mandatory if 'SINEX TRO Directory' is set</h4>
     6850  </p>
     6851  <p>
     6852    Specify a 1-character solution ID to allow a distingtion between different solutions per AC. String '1' is an
     6853    example.
     6854  </p>
     6855
     6856  <p>
     6857  <h4 id="pppOptions">2.13.2 PPP (2): Processing Options</h4>
     6858  </p>
     6859  <p>
     6860    BNC allows using various Point Positioning processing options depending on the capability of the involved receiver
     6861    and the application in mind.
     6862    You can introduce specific sigmas for code and phase observations as well as for a priori coordinates and
     6863    troposphere estimates.
     6864    You could also carry out your PPP solution in Quick-Start mode or enforce BNC to restart a solution if the length of
     6865    an outage exceeds a certain threshold.
     6866  </p>
     6867  <p>
     6868    The intention of this panel is to specify general processing options to be applied to all PPP threads in one BNC
     6869    job.
     6870  </p>
     6871
     6872  <p><img src="IMG/Figure23.png" width=1000 /></p>
     6873  <p>Figure 23: Precise Point Positioning with BNC, PPP Panel 2</p>
     6874
     6875  <p>
     6876  <h4 id="pppobs">2.13.2.1 GNSS Observations - mandatory</h4>
     6877  </p>
     6878  <p>
     6879    Specify which kind of observations you want to use and on which kind of linear combination the ambiguity resolutions
     6880    shall be based.
     6881    The specification has to be done per GNSS ('GPS', 'GLONASS', 'Galileo', 'BDS').
     6882    The following options are available for all GNSS:
     6883  </p>
     6884  <ul>
     6885    <li>'Pi&Li' means that uncombined code and phase data of two frequencies shall be used.</li>
     6886    <li>'Pi' means that uncombined code data of two frequencies shall be used.</li>
     6887    <li>'P1&L1' means that uncombined code and phase data of one frequency shall be used.</li>
     6888    <li>'P1' means that uncombined code data of one frequency shall be used.</li>
     6889    <li>'P3&L3' means that the inonosphere-free linear combination of code and phase data shall be used.</li>
     6890    <li>'P3' means that the inonosphere-free linear combination of code data shall be used.</li>
     6891    <li>'L3' means that the inonosphere-free linear combination of phase data shall be used.</li>
     6892  </ul>
     6893  Band and attribute can be specified per station using the Signal Priorities in PPP(3).
     6894  <p>
     6895    For GPS, Galileo and BDS this option is editable. Hence, you can specify your own frequencies for code (P) and phase
     6896    (L) observations, e.g.:
     6897  <ul>
     6898    <li>for GPS: P125&L125, which means that band 1,2 and 5 of code and phase observations are used. </li>
     6899    <li>for Galileo or BDS 'P1576&L1576' means that band 1,5,7 and 6 of code and phase observations are used. </li>
     6900  </ul>
     6901  The tracking mode for each frequency can be specified per station using the Signal Priorities in PPP(3).
     6902  <p>
     6903    Note that most geodetic GPS receivers support the observation of both, code and phase data.
     6904    Hence, specifying 'Pi&Li' would be a good choice for GPS when processing data from such a receiver.
     6905    If multi-GNSS data processing is your intention, make sure your receiver supports GLONASS and/or Galileo and/or BDS
     6906    observations besides GPS.
     6907    Note also that the Broadcast Correction stream or file, which is required for PPP, also supports all the systems you
     6908    have in mind.
     6909  </p>
     6910  <p>Specifying 'no' means that you do not at all want BNC to use observations from the affected GNSS system.
     6911  </p>
     6912
     6913  <p>
     6914    The choice between an uncombined ('Pi&amp;Li', 'Pi', 'P1&amp;L1', 'P1') and an ionosphere-free ('P3&amp;L3', 'P3',
     6915    'L3') linear combination does not just change which observations are read - it changes the set of parameters
     6916    estimated by BNC's Kalman filter and how each observation enters the filter:
     6917  </p>
     6918
     6919  <p><b>Uncombined PPP</b><br>
     6920    Each frequency's code and/or phase observation enters the filter on its own, without forming the
     6921    ionosphere-free combination first. The state vector therefore carries, in addition to receiver position, one
     6922    receiver clock per GNSS system and troposphere zenith delay (if estimated):
     6923  <ul>
     6924    <li>one carrier-phase ambiguity per satellite and per phase frequency,</li>
     6925    <li>one slant ionospheric delay (ION) per satellite, and</li>
     6926    <li>one differential code/phase bias per frequency and GNSS system (common to all satellites of that
    44656927      system), mainly needed to absorb hardware delays and to remove the rank deficiency between receiver
    44666928      clock, ambiguities and biases.</li>
    4467 </ul>
    4468 Receiver clock, biases and the per-satellite ionospheric delay are re-estimated fresh every epoch (no Kalman
    4469 process noise carried over), while position, troposphere and ambiguities accumulate over time. This means each
    4470 epoch's ionospheric delay per satellite is, by default, determined from that epoch's code-minus-phase
    4471 combination alone - exactly the weakly observable quantity that the optional ionospheric pseudo-observations
    4472 (see <a href=#pppconstraints>Section 2.13.2.9</a>) are meant to stabilize.
    4473 </p>
    4474 <p>
    4475 Uncombined PPP is not limited to two frequencies. For GPS, Galileo and BDS the custom band selection (e.g.
    4476 'P125&amp;L125', see above) adds a third, fourth, etc. frequency the same way: one more code and phase
    4477 observation, one more carrier-phase ambiguity, and one more per-frequency bias parameter, all referring to the
    4478 very same single per-satellite ionospheric delay (ION) parameter, scaled to each frequency through the usual
    4479 1/f&sup2; ionospheric mapping. The optional ionospheric pseudo-observations of
    4480 <a href=#pppconstraints>Section 2.13.2.9</a> are added for any uncombined band selection this way, predefined
    4481 ('Pi&amp;Li', 'Pi', 'P1&amp;L1', 'P1') or custom, as long as at least one code or phase observation is configured
    4482 for the affected GNSS system.
    4483 </p>
    4484 
    4485 <p><b>Ionosphere-free PPP</b><br>
    4486 The dual-frequency ionosphere-free linear combination is formed from code and/or phase data before it enters
    4487 the filter, which removes the first-order ionospheric delay from the observation equation. The state vector
    4488 therefore needs no per-satellite ionospheric delay parameter at all; it carries only receiver position, one
    4489 receiver clock per system, troposphere (if estimated), and one combined (non-integer) ambiguity-like parameter
    4490 per satellite that absorbs the carrier-phase ambiguity together with the satellite/receiver hardware delays of
    4491 the combination. Because this combined parameter is not an integer number of cycles, ambiguity resolution
    4492 (<a href=#pppar>Section 2.13.2.10</a>) is not applicable in this mode, and the optional ionospheric
    4493 pseudo-observations of <a href=#pppconstraints>Section 2.13.2.9</a> do not apply either, since there is no
    4494 per-satellite ionospheric state left to constrain.
    4495 </p>
    4496 
    4497 <p><h4 id="pppcodeobs">2.13.2.2 Code Observations - mandatory</h4></p>
    4498 <p>
    4499 Enter a 'Sigma C1' for C1 code observations in meters. The bigger the sigma you enter, the less the contribution of C1 code observations to a PPP solution
    4500 based on a combination of code and phase data. '1.0' meters is likely to be an appropriate choice.
    4501 </p>
    4502 <p>
    4503 Specify a maximum for residuals 'Max Res C1' for C1 code observations in a PPP solution. '2.0' meters may be an appropriate choice for that.
    4504 If the maximum is exceeded, contributions from the corresponding observation will be ignored in the PPP solution.
    4505 </p>
    4506 
    4507 <p><h4 id="pppphaseobs">2.13.2.3 Phase Observations - mandatory</h4></p>
    4508 <p>
    4509 Enter a 'Sigma L1' for L1 phase observations in meters. The bigger the sigma you enter, the less the contribution of
    4510 L1 phase observations to a PPP solutions based on a combination of code and phase data. '0.01' meters is likely to be
    4511 an appropriate choice.
    4512 </p>
    4513 <p>
    4514 Specify a maximum for residuals 'Max Res L1' for L1 phase observations in a PPP solution. '0.02' meters may be an appropriate choice for that.
    4515 If the maximum is exceeded, contributions from the corresponding observation will be ignored in the PPP solution.
    4516 </p>
    4517 <p>
    4518 As the convergence characteristic of a PPP solution can be influenced by the ratio of sigmas for code and phase,
    4519 you may like to introduce sigmas which differ from the default values.
    4520 <ul>
    4521   <li>Introducing a smaller sigma (higher accuracy) for code observations or a bigger sigma for phase observations leads to better
    4522       results shortly after program start. However, it may take more time until you finally get the best possible solution.</li>
    4523   <li>Introducing a bigger sigma (lower accuracy) for code observations or a smaller sigma for phase observations may lead to
    4524       less accurate results shortly after program start and thus a prolonged period of convergence but could provide better
     6929  </ul>
     6930  Receiver clock, biases and the per-satellite ionospheric delay are re-estimated fresh every epoch (no Kalman
     6931  process noise carried over), while position, troposphere and ambiguities accumulate over time. This means each
     6932  epoch's ionospheric delay per satellite is, by default, determined from that epoch's code-minus-phase
     6933  combination alone - exactly the weakly observable quantity that the optional ionospheric pseudo-observations
     6934  (see <a href=#pppconstraints>Section 2.13.2.9</a>) are meant to stabilize.
     6935  </p>
     6936  <p>
     6937    Uncombined PPP is not limited to two frequencies. For GPS, Galileo and BDS the custom band selection (e.g.
     6938    'P125&amp;L125', see above) adds a third, fourth, etc. frequency the same way: one more code and phase
     6939    observation, one more carrier-phase ambiguity, and one more per-frequency bias parameter, all referring to the
     6940    very same single per-satellite ionospheric delay (ION) parameter, scaled to each frequency through the usual
     6941    1/f&sup2; ionospheric mapping. The optional ionospheric pseudo-observations of
     6942    <a href=#pppconstraints>Section 2.13.2.9</a> are added for any uncombined band selection this way, predefined
     6943    ('Pi&amp;Li', 'Pi', 'P1&amp;L1', 'P1') or custom, as long as at least one code or phase observation is configured
     6944    for the affected GNSS system.
     6945  </p>
     6946
     6947  <p><b>Ionosphere-free PPP</b><br>
     6948    The dual-frequency ionosphere-free linear combination is formed from code and/or phase data before it enters
     6949    the filter, which removes the first-order ionospheric delay from the observation equation. The state vector
     6950    therefore needs no per-satellite ionospheric delay parameter at all; it carries only receiver position, one
     6951    receiver clock per system, troposphere (if estimated), and one combined (non-integer) ambiguity-like parameter
     6952    per satellite that absorbs the carrier-phase ambiguity together with the satellite/receiver hardware delays of
     6953    the combination. Because this combined parameter is not an integer number of cycles, ambiguity resolution
     6954    (<a href=#pppar>Section 2.13.2.10</a>) is not applicable in this mode, and the optional ionospheric
     6955    pseudo-observations of <a href=#pppconstraints>Section 2.13.2.9</a> do not apply either, since there is no
     6956    per-satellite ionospheric state left to constrain.
     6957  </p>
     6958
     6959  <p>
     6960  <h4 id="pppcodeobs">2.13.2.2 Code Observations - mandatory</h4>
     6961  </p>
     6962  <p>
     6963    Enter a 'Sigma C1' for C1 code observations in meters. The bigger the sigma you enter, the less the contribution of
     6964    C1 code observations to a PPP solution
     6965    based on a combination of code and phase data. '1.0' meters is likely to be an appropriate choice.
     6966  </p>
     6967  <p>
     6968    Specify a maximum for residuals 'Max Res C1' for C1 code observations in a PPP solution. '2.0' meters may be an
     6969    appropriate choice for that.
     6970    If the maximum is exceeded, contributions from the corresponding observation will be ignored in the PPP solution.
     6971  </p>
     6972
     6973  <p>
     6974  <h4 id="pppphaseobs">2.13.2.3 Phase Observations - mandatory</h4>
     6975  </p>
     6976  <p>
     6977    Enter a 'Sigma L1' for L1 phase observations in meters. The bigger the sigma you enter, the less the contribution of
     6978    L1 phase observations to a PPP solutions based on a combination of code and phase data. '0.01' meters is likely to
     6979    be
     6980    an appropriate choice.
     6981  </p>
     6982  <p>
     6983    Specify a maximum for residuals 'Max Res L1' for L1 phase observations in a PPP solution. '0.02' meters may be an
     6984    appropriate choice for that.
     6985    If the maximum is exceeded, contributions from the corresponding observation will be ignored in the PPP solution.
     6986  </p>
     6987  <p>
     6988    As the convergence characteristic of a PPP solution can be influenced by the ratio of sigmas for code and phase,
     6989    you may like to introduce sigmas which differ from the default values.
     6990  <ul>
     6991    <li>Introducing a smaller sigma (higher accuracy) for code observations or a bigger sigma for phase observations
     6992      leads to better
     6993      results shortly after program start. However, it may take more time until you finally get the best possible
     6994      solution.</li>
     6995    <li>Introducing a bigger sigma (lower accuracy) for code observations or a smaller sigma for phase observations may
     6996      lead to
     6997      less accurate results shortly after program start and thus a prolonged period of convergence but could provide
     6998      better
    45256999      positions in the long run.</li>
    4526 </ul>
    4527 </p>
    4528 
    4529 <p><h4 id="pppeleweight">2.13.2.4 Elevation Dependent Weighting - mandatory</h4></p>
    4530 <p>
    4531 BNC allows elevation dependent weighting when processing GNSS observations. A weight function
    4532 </p>
    4533 <p>&nbsp; &nbsp; &nbsp; P = cos&sup2; * z</p>
    4534 <p>
    4535 with 'z' being the zenith distance to the involved satellite can be applied instead of the simple weight function 'P = 1'
    4536 independent from satellite elevation angles.
    4537 </p>
    4538 <ul>
    4539 <li>Tick 'Ele Wgt Code' if you want Elevation Dependent Weighting for code observations.</li>
    4540 <li>Tick 'Ele Wgt Phase' if you want Elevation Dependent Weighting for phase observations.</li>
    4541 </ul>
    4542 <p>
    4543 Default is using the plain weight function 'P = 1' for code and phase observations.
    4544 </p>
    4545 
    4546 <p><h4 id="pppminobs">2.13.2.5 Minimum Number of Observations - mandatory</h4></p>
    4547 <p>
    4548 Select the minimum number of observations you want to use per epoch. The minimum for parameter 'Min # of Obs' is 4. This is also the default.
    4549 </p>
    4550 <p><h4 id="pppmineleva">2.13.2.6 Minimum Elevation - mandatory</h4></p>
    4551 <p>
    4552 Select a minimum for satellite elevation angles. Selecting '7 deg' for option 'Min Elevation' may be an appropriate choice.
    4553 </p>
    4554 <p>
    4555 Default is '0 deg', meaning that any observation will be used regardless of the involved satellite elevation angle.
    4556 </p>
    4557 
    4558 <p><h4 id="pppwaitclockcorr">2.13.2.7 Wait for Clock Corrections - optional</h4></p>
    4559 <p>
    4560 Specifying 'no' for option 'Wait for clock corr.' means that BNC processes each epoch of data immediately after its arrival using
    4561 satellite clock corrections available at that time. A non-zero value means that epochs of data are buffered and the processing
    4562 of each epoch is postponed until satellite clock corrections not older than 'Wait for clock corr.' seconds are available.
    4563 Specifying a value of half the update rate of the clock corrections (e.g. 5 sec) may be appropriate.
    4564 Note that this causes an additional delay of the PPP solutions in the amount of half of the update rate.
    4565 </p>
    4566 <p>
    4567 Using observations in sync with the corrections can avoid a possible high frequency noise of PPP solutions.
    4568 Such noise could result from processing observations regardless of how late after a clock correction they were received.
    4569 Note that applying the 'Wait for clock corr.' option significantly reduces the PPP computation effort for BNC.
    4570 </p>
    4571 <p>
    4572 Default is an empty option field, meaning that you want BNC to process observations immediately after their arrival
    4573 through applying the latest received clock correction.
    4574 </p>
    4575 
    4576 <p><h4 id="pppseeding">2.13.2.8 Seeding - optional if a priori coordinates specified in 'Coordinates file'</h4></p>
    4577 <p>
    4578 Enter the length of a startup period in seconds for which you want to fix the PPP solution to a known position, see option 'Coordinates file'.
    4579 Constraining a priori coordinates is done in BNC through setting their white 'Noise' temporarily to zero.
    4580 </p>
    4581 <p>
    4582 This so-called <b>Quick-Start</b> option allows the PPP solutions to rapidly converge after startup.
    4583 It requires that the antenna remains unmoved on the known position throughout the defined period.
    4584 A value of '60' seconds is likely to be an appropriate choice for 'Seeding'.
    4585 Default is an empty option field, meaning that you do not want BNC to start in Quick-Start mode.
    4586 <p>
    4587 You may need to create your own reference coordinate beforehand through running BNC for an hour in normal mode before applying
    4588 the 'Seeding' option. Do not forget to introduce realistic North/East/Up sigmas under panel 'PPP (3)' corresponding to the
    4589 coordinate's precision.
    4590 </p>
    4591 <p>
    4592 'Seeding' has also a function for <b>bridging gaps</b> in PPP solutions from failures caused e.g. by longer lasting
    4593 outages. Should the time span between two consecutive solutions exceed the limit of 60 seconds (maximum solution gap,
    4594  hard-wired), the algorithm fixes the latest derived coordinate for a period of 'Seeding' seconds. This option avoids
    4595  time-consuming reconvergences and makes especially sense for stationary operated receivers where convergence can be
    4596  enforced because a good approximation for the receiver position is known.
    4597 </p>
    4598 
    4599 <p><h4 id="pppconstraints">2.13.2.9 Constraints - optional</h4></p>
    4600 <p>
    4601 Specify, whether ionospheric constraints in form of pseudo-observations shall be added to an uncombined PPP
    4602 solution ('Pi&amp;Li', 'Pi', 'P1&amp;L1' or 'P1', see <a href=#pppobs>Section 2.13.2.1</a>). This is sometimes
    4603 called 'PPP with pseudo-observations for STEC'.
    4604 </p>
    4605 <p><h4 id="ppppseudogimobs">2.13.2.9.0 GIM Pseudo Observations - How it works</h4></p>
    4606 <p>
    4607 When ionospheric constraints are activated, BNC derives a slant ionospheric delay (STEC) for every satellite from VTEC informations - taken
    4608 from an Ionosphere stream/file (<a href=#pppionostream>Section 2.13.1.6</a>, <a href=#pppionofile>Section
    4609 2.13.1.7</a>) or from the Corrections stream/file if no dedicated Ionosphere source is specified. For each GNSS
    4610 system, one satellite is chosen as 'reference satellite' (initially the one with the highest elevation), and one
    4611 satellite-differenced pseudo-observation per remaining satellite is added to the Kalman filter:
    4612 </p>
    4613 <p>
    4614 &nbsp; &nbsp; STEC(reference satellite) &minus; STEC(satellite) = ION(reference satellite) &minus; ION(satellite)
    4615 </p>
    4616 <p>
    4617 where ION(satellite) is the per-satellite ionospheric delay state already estimated by the uncombined PPP filter.
    4618 This single difference constrains the relative ionospheric delay between satellites without removing the
    4619 receiver's own freedom to estimate it from code and phase data. The reference satellite is kept as long as it
    4620 stays in view; a new one is selected only once the previous reference satellite disappears from the
    4621 observations, which avoids spurious jumps in the constraint from one epoch to the next.
    4622 </p>
    4623 <p>
    4624 Pseudo-observations are treated as a soft constraint: they contribute to the solution with a weight derived from
    4625 'Sigma GIM' (see below) but are never rejected as outliers, regardless of their residual size. They are also
    4626 fully independent of ambiguity resolution (<a href=#pppar>Section 2.13.2.10</a>), which only ever resolves
    4627 carrier-phase ambiguities.
    4628 </p>
    4629 <p>
    4630 Please note that this option is only valid if no ionosphere-free linear combination is used and VTEC informations
    4631 are actually available. Without VTEC data, no pseudo-observations are added and the PPP solution falls back to
    4632 estimating per-satellite ionospheric delays from code and phase data alone. The pseudo-observations are only
    4633 helpful once the ionosphere information is more accurate than the code data accuracy.
    4634 </p>
    4635 
    4636 <p><h4 id="ppppseudogimobssigma">2.13.2.9.1 GIM Pseudo Observations Sigma - optional</h4></p>
    4637 <p>
    4638 Enter a 'Sigma GIM' for pseudo observations regarding the Ionosphere in meters.
    4639 The bigger the sigma you enter, the less the contribution of GIM Pseudo observations to a PPP solutions
    4640 based on a combination of code and phase data. '5.0' meters is likely to be an appropriate choice.
    4641 </p>
    4642 <p><h4 id="pppar">2.13.2.10 PPP-AR - optional</h4></p>
    4643 <p>
    4644 The BNC PPP ambiguity resolution combines two classical methods:
    4645 <ul>
    4646   <li>the <b>LAMBDA</b> (Least-squares AMBiguity Decorrelation Adjustment) algorithm for the integer search, and </li>
    4647   <li>the <b>BIE</b> (Best Integer Equivariant) weighting for the final estimate.</li>
    4648 </ul>
    4649 References:
    4650 </p>
    4651 <p>
    4652 Teunissen P.J.G. (1993) Least-squares estimation of the integer GPS ambiguities, Invited Lecture, Section IV Theory and Methodology,
    4653 IAG General Meeting, Beijing, China, August 1993. Also in: LGR Series, No. 6, Delft Geodetic Computing Centre.
    4654 <a href="https://gnss.curtin.edu.au/wp-content/uploads/sites/21/2016/04/Teunissen1993Least.pdf" target="_blank">https://gnss.curtin.edu.au/wp-content/uploads/sites/21/2016/04/Teunissen1993Least.pdf</a>
    4655 
    4656 </p>
    4657 <p>
    4658 Teunissen P.J.G. (2005) GNSS Best Integer Equivariant Estimation. In book: A Window on the Future of Geodesy. pp. 422-427. Sanso, F., Berlin: Springer. Inpress.
    4659 <a href="https://doi.org/10.1007/3-540-27432-4_72" target="_blank">https://doi.org/10.1007/3-540-27432-4_72</a>
    4660 </p>
    4661 
    4662 <p><h4 id="ppparmethod">2.13.2.10.0 Algorithm Description</h4></p>
    4663 <p>
    4664 The following describes the individual steps as implemented for BNCs PPP-AR solution.
    4665 </p>
    4666 
    4667 <p><b>Step 1 &ndash; Float ambiguity extraction</b><br>
    4668 The Kalman filter state vector contains all estimated parameters (receiver position, receiver clock,
    4669 troposphere, and carrier-phase ambiguities). The AR module extracts only the ambiguity entries
    4670 into a reduced vector using a design matrix, together with the corresponding sub-block of the
    4671 variance&ndash;covariance matrix.
    4672 </p>
    4673 
    4674 <p><b>Step 2 &ndash; Resolvability filtering</b><br>
    4675 Before entering the search, each ambiguity must pass the following quality gates:
    4676 </p>
    4677 <ul>
    4678   <li>A minimum number of epochs observed (see <a href="#ppparmin">Min # Epo</a>)</li>
    4679   <li>A minimum satellite elevation angle</li>
    4680   <li>At least 2 ambiguities available per GNSS group</li>
    4681   <li>A minimum number of satellites per constellation (see <a href="#ppparmin">Min # Sat</a>)</li>
    4682 </ul>
    4683 
    4684 <p><b>Step 3 &ndash; Reference ambiguity selection</b><br>
    4685 One ambiguity per constellation group is chosen as a reference (the one that minimises the sum of
    4686 double-difference variances). It is tightly constrained to its nearest integer via a Kalman
    4687 pseudo-observation update. This step effectively converts zero-difference to single-difference
    4688 ambiguity space and ensures a stable basis for the search.
    4689 </p>
    4690 
    4691 <p><b>Step 4 &ndash; LAMBDA decorrelation</b><br>
    4692 The ambiguity covariance matrix is decomposed as <i>L&middot;D&middot;L</i><sup>T</sup>.
    4693 An integer-preserving transformation matrix <i>Z</i> (with det(<i>Z</i>)&nbsp;=&nbsp;&plusmn;1) is
    4694 applied to minimise the correlation between ambiguities. After this step the search is far more
    4695 efficient because the transformed ambiguities are nearly uncorrelated.
    4696 </p>
    4697 
    4698 <p><b>Step 5 &ndash; BIE candidate search</b><br>
    4699 A sequential search-and-shrink algorithm (SSEARCH) finds the top 100 integer candidate vectors
    4700 ranked by their squared Mahalanobis distance &chi;&sup2;. For each candidate <i>i</i> an
    4701 exponential weight is computed:
    4702 </p>
    4703 <p>&nbsp;&nbsp;&nbsp;&nbsp;<i>w</i>(<i>i</i>) = exp(&minus;0.5 &middot; (&chi;&sup2;<sub><i>i</i></sub> &minus; &chi;&sup2;<sub>best</sub>))</p>
    4704 <p>
    4705 The <b>BIE estimate</b> is then the weighted average over all candidates:
    4706 </p>
    4707 <p>&nbsp;&nbsp;&nbsp;&nbsp;<i>a</i><sub>BIE</sub> = &sum; <i>w</i>(<i>i</i>) &middot; <i>a</i>(<i>i</i>) / &sum; <i>w</i>(<i>i</i>)</p>
    4708 <p>
    4709 This is the key difference from plain LAMBDA/ILS, which picks only the single best integer vector.
    4710 BIE produces a real-valued weighted combination and is the minimum mean-square error estimator
    4711 under a Gaussian distribution.
    4712 </p>
    4713 
    4714 <p><b>Step 6 &ndash; BIE variance</b><br>
    4715 Rather than adopting the optimistic variance of the single best candidate, BIE computes a
    4716 conservative variance that reflects the probability mass spread across all candidates:
    4717 </p>
    4718 <p>&nbsp;&nbsp;&nbsp;&nbsp;&sigma;&sup2;<sub>BIE</sub>(<i>j</i>) = &sum; <i>w</i>(<i>i</i>) &middot; (<i>a</i><sub>BIE</sub>(<i>j</i>) &minus; <i>a</i>(<i>j</i>,<i>i</i>))&sup2;</p>
    4719 
    4720 <p><b>Step 7 &ndash; Fixability decision and constraint imposition</b><br>
    4721 An ambiguity is considered fixable if both of the following criteria are met:
    4722 </p>
    4723 <ul>
    4724   <li>|<i>a</i><sub>BIE</sub> &minus; round(<i>a</i><sub>BIE</sub>)| &le; Max Frac (see <a href="#ppparmax">Max Frac and Sig</a>)</li>
    4725   <li>&sigma;<sub>BIE</sub> &le; Max Sig (see <a href="#ppparmax">Max Frac and Sig</a>)</li>
    4726 </ul>
    4727 <p>
    4728 For all fixable ambiguities, Kalman equality constraints with a tight weight are applied to force
    4729 the filter state vector to adopt the integer values. Subsequent filter updates treat these fixed
    4730 ambiguities as pseudo-observations until a cycle-slip triggers a reset.
    4731 </p>
    4732 
    4733 <p><b>Comparison with other PPP ambiguity resolution methods</b></p>
    4734 <table border="1" rules="all" frame="box" bgcolor="#FFF5EE" style="font-size:13">
    4735   <tr bgcolor="#E0E0E0">
    4736     <td><b>&nbsp;Method&nbsp;</b></td>
    4737     <td><b>&nbsp;Integer choice&nbsp;</b></td>
    4738     <td><b>&nbsp;Output&nbsp;</b></td>
    4739   </tr>
    4740   <tr>
    4741     <td>&nbsp;Rounding&nbsp;</td>
    4742     <td>&nbsp;Nearest integer per ambiguity, independently&nbsp;</td>
    4743     <td>&nbsp;Hard fix, simple but fragile&nbsp;</td>
    4744   </tr>
    4745   <tr>
    4746     <td>&nbsp;Bootstrapping&nbsp;</td>
    4747     <td>&nbsp;Sequential conditional rounding&nbsp;</td>
    4748     <td>&nbsp;Hard fix, faster than ILS&nbsp;</td>
    4749   </tr>
    4750   <tr>
    4751     <td>&nbsp;ILS / LAMBDA&nbsp;</td>
    4752     <td>&nbsp;Single globally optimal integer vector&nbsp;</td>
    4753     <td>&nbsp;Hard fix, optimal under Gaussian noise&nbsp;</td>
    4754   </tr>
    4755   <tr>
    4756     <td>&nbsp;<b>BIE (BNC)</b>&nbsp;</td>
    4757     <td>&nbsp;Weighted combination of top-N candidates&nbsp;</td>
    4758     <td>&nbsp;Soft/weighted fix, minimum MSE estimator&nbsp;</td>
    4759   </tr>
    4760 </table>
    4761 <br>
    4762 
    4763 <p><h4 id="ppparsys">2.13.2.10.1 Constellations - optional</h4></p>
    4764 <p>
    4765 Specify, for which constellations the ambiguities should be resolved to their integer values. This option is available for GPS, Galileo and BDS.
    4766 </p>
    4767 <p><h4 id="ppparmin">2.13.2.10.2 Min # Epo and Sat - optional</h4></p>
    4768 <p>
    4769 Using 'Min # Epo' you can specify the number of epochs for which the unknown ambiguity parameter has to be observed at least,
    4770 to be included into the search.
    4771 </p>
    4772 <p>
    4773 Using 'Min # Sat' you can define that the ambiguity search is performed if at least the specified number of satellites per constellation is being tracked.
    4774 </p>
    4775 <p><h4 id="ppparmax">2.13.2.10.3 Max Frac and Sig - optional</h4></p>
    4776 <p>
    4777 Using the options 'Max Frac' and 'Max Sig' you may decide whether to use this additional information and fix (constrain) only those
    4778 ambiguities which meet these requirements. In more detail:
    4779 </p>
    4780 <p>
    4781 If 'Max Frac' is greater than zero, the ambiguity is constrained only if the absolute value of the fractional part of its BIE value
    4782 is lower or equal than the specified value.
    4783 </p>
    4784 <p>
    4785 If 'Max Sig' is greater than zero, the ambiguity is constrained only if the BIE sigma (uncertainty of the BIE result)
    4786 is lower or equal than the specified value.
    4787 </p>
    4788 <p><h4 id="ppparyaw">2.13.2.10.4 Yaw Usage - optional</h4></p>
    4789 <p>
    4790 If 'Use Yaw' is set, the information about the satellite attitude (yaw angle) is taken from the corresponding
    4791 SSR correction (phase bias message). Otherwise a standard satellite attitude model is used.
    4792 </p>
    4793 
    4794 <p><h4 id="ppparfix">2.13.2.10.5 Per-epoch fix percentage</h4></p>
    4795 <p>
    4796 The number printed in the log (... fix XX %) is a fixRatio computed as follows:
    4797 <ol>
    4798   <li>A copy of the float filter state is taken — the real recursive filter state is never touched by AR.</li>
    4799   <li>Ambiguities are grouped per system/LC into zero-difference sets if minimum number of tracked epochs (see <a href="#ppparmin">Min # Epo</a>) and the minimum elevation (see <a href=#pppmineleva>Minimum Elevation</a>) is exceeded.</li>
    4800   <li>One reference ambiguity per group is hard-constrained to its rounded value with a tiny σ (sigCon = 1e-4 cycles, turning the rest into single-differences (SD).</li>
    4801   <li>A LAMBDA/BIE (Best Integer Equivariant) search produces xBie/covBie — a probability-weighted blend over candidate integer vectors, not a hard integer.</li>
    4802   <li>isFixable() flags an SD ambiguity as fixed if |frac(xBie)| ≤ arMaxFrac and sqrt(covBie) ≤ arMaxSig (see <a href=#ppparmax>Max Frac and Sig</a>).</li>
    4803   <li>fixRatio = numFixSdAll / numSdAmbs — fixed SD ambiguities divided by all SD ambiguities in groups that already passed step 2's pre-filter.</li>
    4804 </ol>
    4805 Some remarks:
    4806 <ul>
    4807   <li>It's a statistical sharpness test, not a validated fix. Unlike classical LAMBDA AR (ratio test against the second-best candidate), isFixable() only checks that the BIE estimate is close to an integer with small posterior variance. BIE will confidently "fix" a self-consistent but wrong combination if the underlying float ambiguities carry a systematic, unmodeled bias — there's no independent validation step.</li>
    4808   <li> The fix is a per-epoch snapshot, not a recursive hold. Since AR runs on a copy of the filter state and the result is never fed back into _xFlt/_QFlt, each epoch's "fix" is recomputed from scratch from whatever the float ambiguity looks like that epoch. A satellite can be reported "fixed" to slightly different integer realizations epoch-to-epoch, which shows up as scatter in the AR-constrained coordinate even though the printed percentage stays high.</li>
    4809   <li>Everything hinges on the phase-bias corrections. Ambiguity resolution only works because incoming SSR phase-bias corrections with fixIndicator set are applied per satellite/frequency before this stage; satellites lacking valid biases are dropped entirely when AR is on (useObsWithBiasesOnly). If that correction stream is stale, low-quality, or inconsistent with the orbit/clock product (different AC, different update interval), the float ambiguities will still sharpen and "fix" statistically — just around the wrong integer — degrading rather than improving the position.</li>
    4810   <li> Small denominator effect: 'numSdAmbs' only counts already pre-filtered, resolvable ambiguities in groups of ≥2; with a thin satellite/group count it's easy to get 100% from very few satellites, which isn't representative of overall solution strength.</li>
    4811 </ul>
    4812  If the per-epoch fix percentage values look too high in comparison with the resulting coordinate displacements,
    4813  try:
     7000  </ul>
     7001  </p>
     7002
     7003  <p>
     7004  <h4 id="pppeleweight">2.13.2.4 Elevation Dependent Weighting - mandatory</h4>
     7005  </p>
     7006  <p>
     7007    BNC allows elevation dependent weighting when processing GNSS observations. A weight function
     7008  </p>
     7009  <p>&nbsp; &nbsp; &nbsp; P = cos&sup2; * z</p>
     7010  <p>
     7011    with 'z' being the zenith distance to the involved satellite can be applied instead of the simple weight function 'P
     7012    = 1'
     7013    independent from satellite elevation angles.
     7014  </p>
    48147015  <ul>
    4815   <li>tightening 'Max Frac' / 'Max Sig' and </li>
    4816   <li>raising 'Min # Sat' / 'Min # Epo' </li>
     7016    <li>Tick 'Ele Wgt Code' if you want Elevation Dependent Weighting for code observations.</li>
     7017    <li>Tick 'Ele Wgt Phase' if you want Elevation Dependent Weighting for phase observations.</li>
    48177018  </ul>
    4818 to see if the percentage drops to something  more consistent with the achieved coordinate repeatability — if it doesn't, the bias-correction quality/consistency
    4819  is the more likely root cause than the AR logic itself.
    4820 </p>
    4821 <p><h4 id="pppStation">2.13.3 PPP (3): Processed Stations</h4></p>
    4822 <p>
    4823 This panel allows to enter parameters specific to each PPP process or thread. Individual sigmas for a priori coordinates and a
    4824 noise for coordinate variations over time can be introduced. Furthermore, a sigma for model-based troposphere estimates and the
    4825 corresponding noise for troposphere variations can be specified. Finally, local IP server ports can be defined for output of
    4826 NMEA streams carrying PPP results.
    4827 </p>
    4828 
    4829 <p>
    4830 BNC offers to create a table with one line per PPP process or thread to specify station-specific parameters.
    4831 Hit the 'Add Station' button to create the table or add a new line to it. To remove a line from the table,
    4832 highlight it by clicking it and hit the 'Delete Station' button. You can also remove multiple lines simultaneously
    4833  by highlighting them using +Shift or +Ctrl.</p>
    4834 </p>
    4835 
    4836 <p>
    4837 BNC will simultaneously produce PPP solutions for all stations listed in the 'Station' column of this table.
    4838 </p>
    4839 
    4840 <p><img src="IMG/Figure25.png"width=1000/></p>
    4841 <p>Figure 25: Precise Point Positioning with BNC, PPP Panel 3</p>
    4842 
    4843 <p><h4 id="pppsite">2.13.2.1 Station - mandatory</h4></p>
    4844 <p>
    4845 Hit the 'Add Station' button, double click on the 'Station' field, then specify an observation's mountpoint from the
    4846 'Streams' section or introduce the 9-character Station ID of your RINEX observation file and hit Enter.
    4847 BNC will only produce PPP solutions for stations listed in this table.
    4848 </p>
    4849 
    4850 <p><h4 id="pppnehsigma">2.13.2.2 Sigma North/East/Up - mandatory</h4></p>
    4851 <p>
    4852 Enter sigmas in meters for the initial coordinate components. A value of 100.0 (default) may be an appropriate choice.
    4853 However, this value may be significantly smaller (e.g. 0.01) when starting for example from a station with a well-known position
    4854 in so-called Quick-Start mode.
    4855 </p>
    4856 
    4857 <p><h4 id="pppnehnoise">2.13.2.3 Noise North/East/Up - mandatory</h4></p>
    4858 <p>
    4859 Enter a white 'Noise' in meters for estimated coordinate components. A value of 100.0 (default) may be appropriate when
    4860 considering possible sudden movements of a rover.
    4861 </p>
    4862 
    4863 <p><h4 id="ppptropsigma">2.13.2.4 Tropo Sigma - mandatory</h4></p>
    4864 <p>
    4865 Enter a sigma in meters for the a priori model based tropospheric delay estimation. A value of 0.1 (default) may be an appropriate choice.
    4866 </p>
    4867 
    4868 <p><h4 id="ppptropnoise">2.13.2.5 Tropo Noise - mandatory</h4></p>
    4869 <p>
    4870 Enter a white 'Noise' in meters per second to describe the expected variation of the tropospheric effect. Supposing 1Hz observation data,
    4871 a value of 3e-6 (default) would mean that the tropospheric effect may vary for 3600 * 3e-6 = 0.01 meters per hour.
    4872 </p>
    4873 
    4874 <p><h4 id="pppnmeaport">2.13.2.6 NMEA Port - optional</h4></p>
    4875 <p>
    4876 Specify the IP port number of a local port where Point Positioning results become available as NMEA sentences. The default value
    4877 for 'NMEA Port' is an empty option field, meaning that BNC does not provide NMEA sentences via IP port. Note that NMEA file output
    4878 and NMEA IP port output are the same.
    4879 </p>
    4880 <p>
    4881 Note also that Tomoji Takasu has written a program named RTKPLOT for visualizing NMEA sentences from IP ports or files.
    4882 It is available from <a href="http://www.rtklib.com" target="_blank">http://www.rtklib.com</a> and compatible with the
    4883 NMEA file and port output of BNC's 'PPP' client option.
    4884 </p>
    4885 <p>
    4886 Furthermore, NASA's 'World Wind' software
    4887 (see <a href="http://worldwindcentral.com/wiki/NASA_World_Wind_Download" target="_blank">http://worldwindcentral.com/wiki/NASA_World_Wind_Download</a>)
    4888 can be used for real-time visualization of positions provided through BNC's NMEA IP output port.
    4889 You need the 'GPS Tracker' plug-in available from
    4890 <a href="http://worldwindcentral.com/wiki/GPS_Tracker" target="_blank">http://worldwindcentral.com/wiki/GPS_Tracker</a> for that.
    4891 The 'Word Wind' map resolution is not meant for showing centimeter level details.
    4892 </p>
    4893 
    4894 <p><h4 id="pppsignalpriorities">2.13.2.7 Signal Priorities - optional</h4></p>
    4895 <p>
    4896 Specify a list of 'Signal Priorities' for the observations that shall be used for PPP.
    4897 Signal priorities can be specified as system (G,R,E,C) and frequency specific.
    4898 Two frequency bands per GNSS are allowed and will be considered.
    4899 The following frequency bands are available for selection:
    4900 <ul>
    4901 <li>G: 1, 2, 5</li>
    4902 <li>R: 1, 2</li>
    4903 <li>E: 1, 5, 6, 7, 8</li>
    4904 <li>C: 1, 2, 5, 6, 7, 8</li>
    4905 </ul>
    4906 <p>'Default' is the following list of 'Signal Priorities':
    4907 <ul><li>'G:12&CWPSLX R:12&CP E:1&CBX E:5&QIX C:26&IQX'</li></ul>
    4908 <p>
    4909 But it is recommended to specify it in more detail per individual station, e.g.:</p>
    4910 <ul> <li>'G:12&W R:12&P E:1&C E:5&Q C:26&I'</li></ul>
    4911 
    4912 <p><h4 id="pppPlots">2.13.4 PPP (4): Plots</h4></p>
    4913 <p>
    4914 This panel presents options for visualizing PPP results as a time series plot or as a track map with PPP tracks on top
    4915 of OpenStreetMap (OSM) maps.
    4916 </p>
    4917 
    4918 <p><h4 id="ppptimeseries">2.13.4.1 PPP Plot - optional</h4></p>
    4919 <p>
    4920 PPP time series of North (red), East (green) and Up (blue) displacements will be plotted under the 'PPP Plot' tab when
    4921  a 'Mountpoint' is specified. Values will be referred to an XYZ reference coordinate (if specified, see
    4922  'Coordinates file'). The sliding PPP time series window will cover the period of the latest 5 minutes.
    4923 </p>
    4924 <p>
    4925 Note that a PPP dicplacements time series makes only sense for a stationary operated receiver.
    4926 </p>
    4927 
    4928 <p><h4 id="pppaudioresp">2.13.4.2 Audio Response - optional</h4></p>
    4929 <p>
    4930 For natural hazard prediction and monitoring landslides, it may be appropriate to generate audio alerts. For that
    4931 you can specify an 'Audio response' threshold in meters. A beep is produced by BNC whenever a horizontal PPP coordinate
    4932  component differs by more than the threshold value from the specified marker coordinate.
    4933 </p>
    4934 <p>
    4935 Default is an empty option field, meaning that you do not want BNC to produce acoustic warnings.
    4936 </p>
    4937 
    4938 <p><h4 id="ppptrackmap">2.13.4.3 Track Map - optional</h4></p>
    4939 <p>
    4940 You may like to track your rover position using OpenStreetMap as a background map. Track maps can be
    4941 produced with BNC in 'Real-time Streams' mode or in 'RINEX Files' post processing mode with data coming from files.
    4942 Even when in 'RINEX Files' post processing mode, you should not forget to go online with your host.
    4943 </p>
    4944 <p>
    4945 The 'Open Map' button opens a window showing the map.
    4946 </p>
    4947 
    4948 <p><img src="IMG/Figure26.png"width=1000/></p>
    4949 <p>Figure 26: Precise Point Positioning with BNC with track of positions using OpenStreetMap, PPP Panel 4.</p>
    4950 
    4951 
    4952 <p><h4 id="pppdotprop">2.13.4.4 Dot-properties - mandatory before pushing 'Open Map'</h4></p>
    4953 <p>
    4954 PPP tracks are presented on maps through plotting one colored dot per observation epoch.
    4955 </p>
    4956 
    4957 <p><h4 id="pppdotsize">2.13.4.4.1 Size - mandatory before pushing 'Open Map'</h4></p>
    4958 <p>
    4959 Specify the size of dots showing the rover position. A dot size of '3' may be appropriate. The maximum possible dot
    4960 size is '10'. An empty option field or a size of '0' would mean that you do not want BNC to show the rover's track
    4961 on the map.
    4962 </p>
    4963 
    4964 <p><h4 id="pppdotcolor">2.13.4.4.2 Color - mandatory before pushing 'Open Map'</h4></p>
    4965 <p>
    4966 Select the color of dots showing the rover track.
    4967 </p>
    4968 
    4969 <p><h4 id="pppspeed">2.13.4.5 Post Processing Speed - mandatory before pushing 'Open Map'</h4></p>
    4970 <p>
    4971 With BNC in PPP 'RINEX File' post processing mode, you can specify the speed of computations as appropriate for
    4972 visualization. Note that you can adjust 'Post-processing speed' on-the-fly while BNC is already processing your observations.
    4973 </p>
    4974 
    4975 <p><h4 id="combi">2.14 Combine Corrections</h4></p>
    4976 <p>
    4977 BNC allows processing several orbit and clock correction streams in real-time to produce, encode, upload and save a
    4978 combination of Broadcast Corrections from various providers  (Weber and Mervart 2010). All corrections must refer to
    4979 satellite Antenna Phase Centers (APC). It is so far only the satellite clock corrections, which are combined by BNC
    4980 while orbit corrections in the combination product are just taken over from one of the incoming
    4981 Broadcast Correction streams. Combining only clock corrections using a fixed orbit reference (which means the individual orbit of
    4982 an incoming AC = Master orbit) imposes the potential to introduce analysis inconsistencies. Hence, some a priori corrections dC
    4983 are applied before clock combination, to compensate for the inconsistency between MasterAC and other orbits.
    4984 This should include corrections for inconsistent frames, attitude mode and phase center offset:
    4985 </p>
    4986 <pre>
     7019  <p>
     7020    Default is using the plain weight function 'P = 1' for code and phase observations.
     7021  </p>
     7022
     7023  <p>
     7024  <h4 id="pppminobs">2.13.2.5 Minimum Number of Observations - mandatory</h4>
     7025  </p>
     7026  <p>
     7027    Select the minimum number of observations you want to use per epoch. The minimum for parameter 'Min # of Obs' is 4.
     7028    This is also the default.
     7029  </p>
     7030  <p>
     7031  <h4 id="pppmineleva">2.13.2.6 Minimum Elevation - mandatory</h4>
     7032  </p>
     7033  <p>
     7034    Select a minimum for satellite elevation angles. Selecting '7 deg' for option 'Min Elevation' may be an appropriate
     7035    choice.
     7036  </p>
     7037  <p>
     7038    Default is '0 deg', meaning that any observation will be used regardless of the involved satellite elevation angle.
     7039  </p>
     7040
     7041  <p>
     7042  <h4 id="pppwaitclockcorr">2.13.2.7 Wait for Clock Corrections - optional</h4>
     7043  </p>
     7044  <p>
     7045    Specifying 'no' for option 'Wait for clock corr.' means that BNC processes each epoch of data immediately after its
     7046    arrival using
     7047    satellite clock corrections available at that time. A non-zero value means that epochs of data are buffered and the
     7048    processing
     7049    of each epoch is postponed until satellite clock corrections not older than 'Wait for clock corr.' seconds are
     7050    available.
     7051    Specifying a value of half the update rate of the clock corrections (e.g. 5 sec) may be appropriate.
     7052    Note that this causes an additional delay of the PPP solutions in the amount of half of the update rate.
     7053  </p>
     7054  <p>
     7055    Using observations in sync with the corrections can avoid a possible high frequency noise of PPP solutions.
     7056    Such noise could result from processing observations regardless of how late after a clock correction they were
     7057    received.
     7058    Note that applying the 'Wait for clock corr.' option significantly reduces the PPP computation effort for BNC.
     7059  </p>
     7060  <p>
     7061    Default is an empty option field, meaning that you want BNC to process observations immediately after their arrival
     7062    through applying the latest received clock correction.
     7063  </p>
     7064
     7065  <p>
     7066  <h4 id="pppseeding">2.13.2.8 Seeding - optional if a priori coordinates specified in 'Coordinates file'</h4>
     7067  </p>
     7068  <p>
     7069    Enter the length of a startup period in seconds for which you want to fix the PPP solution to a known position, see
     7070    option 'Coordinates file'.
     7071    Constraining a priori coordinates is done in BNC through setting their white 'Noise' temporarily to zero.
     7072  </p>
     7073  <p>
     7074    This so-called <b>Quick-Start</b> option allows the PPP solutions to rapidly converge after startup.
     7075    It requires that the antenna remains unmoved on the known position throughout the defined period.
     7076    A value of '60' seconds is likely to be an appropriate choice for 'Seeding'.
     7077    Default is an empty option field, meaning that you do not want BNC to start in Quick-Start mode.
     7078  <p>
     7079    You may need to create your own reference coordinate beforehand through running BNC for an hour in normal mode
     7080    before applying
     7081    the 'Seeding' option. Do not forget to introduce realistic North/East/Up sigmas under panel 'PPP (3)' corresponding
     7082    to the
     7083    coordinate's precision.
     7084  </p>
     7085  <p>
     7086    'Seeding' has also a function for <b>bridging gaps</b> in PPP solutions from failures caused e.g. by longer lasting
     7087    outages. Should the time span between two consecutive solutions exceed the limit of 60 seconds (maximum solution
     7088    gap,
     7089    hard-wired), the algorithm fixes the latest derived coordinate for a period of 'Seeding' seconds. This option avoids
     7090    time-consuming reconvergences and makes especially sense for stationary operated receivers where convergence can be
     7091    enforced because a good approximation for the receiver position is known.
     7092  </p>
     7093
     7094  <p>
     7095  <h4 id="pppconstraints">2.13.2.9 Constraints - optional</h4>
     7096  </p>
     7097  <p>
     7098    Specify, whether ionospheric constraints in form of pseudo-observations shall be added to an uncombined PPP
     7099    solution ('Pi&amp;Li', 'Pi', 'P1&amp;L1' or 'P1', see <a href=#pppobs>Section 2.13.2.1</a>). This is sometimes
     7100    called 'PPP with pseudo-observations for STEC'.
     7101  </p>
     7102  <p>
     7103  <h4 id="ppppseudogimobs">2.13.2.9.0 GIM Pseudo Observations - How it works</h4>
     7104  </p>
     7105  <p>
     7106    When ionospheric constraints are activated, BNC derives a slant ionospheric delay (STEC) for every satellite from
     7107    VTEC informations - taken
     7108    from an Ionosphere stream/file (<a href=#pppionostream>Section 2.13.1.6</a>, <a href=#pppionofile>Section
     7109      2.13.1.7</a>) or from the Corrections stream/file if no dedicated Ionosphere source is specified. For each GNSS
     7110    system, one satellite is chosen as 'reference satellite' (initially the one with the highest elevation), and one
     7111    satellite-differenced pseudo-observation per remaining satellite is added to the Kalman filter:
     7112  </p>
     7113  <p>
     7114    &nbsp; &nbsp; STEC(reference satellite) &minus; STEC(satellite) = ION(reference satellite) &minus; ION(satellite)
     7115  </p>
     7116  <p>
     7117    where ION(satellite) is the per-satellite ionospheric delay state already estimated by the uncombined PPP filter.
     7118    This single difference constrains the relative ionospheric delay between satellites without removing the
     7119    receiver's own freedom to estimate it from code and phase data. The reference satellite is kept as long as it
     7120    stays in view; a new one is selected only once the previous reference satellite disappears from the
     7121    observations, which avoids spurious jumps in the constraint from one epoch to the next.
     7122  </p>
     7123  <p>
     7124    Pseudo-observations are treated as a soft constraint: they contribute to the solution with a weight derived from
     7125    'Sigma GIM' (see below) but are never rejected as outliers, regardless of their residual size. They are also
     7126    fully independent of ambiguity resolution (<a href=#pppar>Section 2.13.2.10</a>), which only ever resolves
     7127    carrier-phase ambiguities.
     7128  </p>
     7129  <p>
     7130    Please note that this option is only valid if no ionosphere-free linear combination is used and VTEC informations
     7131    are actually available. Without VTEC data, no pseudo-observations are added and the PPP solution falls back to
     7132    estimating per-satellite ionospheric delays from code and phase data alone. The pseudo-observations are only
     7133    helpful once the ionosphere information is more accurate than the code data accuracy.
     7134  </p>
     7135
     7136  <p>
     7137  <h4 id="ppppseudogimobssigma">2.13.2.9.1 GIM Pseudo Observations Sigma - optional</h4>
     7138  </p>
     7139  <p>
     7140    Enter a 'Sigma GIM' for pseudo observations regarding the Ionosphere in meters.
     7141    The bigger the sigma you enter, the less the contribution of GIM Pseudo observations to a PPP solutions
     7142    based on a combination of code and phase data. '5.0' meters is likely to be an appropriate choice.
     7143  </p>
     7144  <p>
     7145  <h4 id="pppar">2.13.2.10 PPP-AR - optional</h4>
     7146  </p>
     7147  <p>
     7148    The BNC PPP ambiguity resolution combines two classical methods:
     7149  <ul>
     7150    <li>the <b>LAMBDA</b> (Least-squares AMBiguity Decorrelation Adjustment) algorithm for the integer search, and </li>
     7151    <li>the <b>BIE</b> (Best Integer Equivariant) weighting for the final estimate.</li>
     7152  </ul>
     7153  References:
     7154  </p>
     7155  <p>
     7156    Teunissen P.J.G. (1993) Least-squares estimation of the integer GPS ambiguities, Invited Lecture, Section IV Theory
     7157    and Methodology,
     7158    IAG General Meeting, Beijing, China, August 1993. Also in: LGR Series, No. 6, Delft Geodetic Computing Centre.
     7159    <a href="https://gnss.curtin.edu.au/wp-content/uploads/sites/21/2016/04/Teunissen1993Least.pdf"
     7160      target="_blank">https://gnss.curtin.edu.au/wp-content/uploads/sites/21/2016/04/Teunissen1993Least.pdf</a>
     7161
     7162  </p>
     7163  <p>
     7164    Teunissen P.J.G. (2005) GNSS Best Integer Equivariant Estimation. In book: A Window on the Future of Geodesy. pp.
     7165    422-427. Sanso, F., Berlin: Springer. Inpress.
     7166    <a href="https://doi.org/10.1007/3-540-27432-4_72" target="_blank">https://doi.org/10.1007/3-540-27432-4_72</a>
     7167  </p>
     7168
     7169  <p>
     7170  <h4 id="ppparmethod">2.13.2.10.0 Algorithm Description</h4>
     7171  </p>
     7172  <p>
     7173    The following describes the individual steps as implemented for BNCs PPP-AR solution.
     7174  </p>
     7175
     7176  <p><b>Step 1 &ndash; Float ambiguity extraction</b><br>
     7177    The Kalman filter state vector contains all estimated parameters (receiver position, receiver clock,
     7178    troposphere, and carrier-phase ambiguities). The AR module extracts only the ambiguity entries
     7179    into a reduced vector using a design matrix, together with the corresponding sub-block of the
     7180    variance&ndash;covariance matrix.
     7181  </p>
     7182
     7183  <p><b>Step 2 &ndash; Resolvability filtering</b><br>
     7184    Before entering the search, each ambiguity must pass the following quality gates:
     7185  </p>
     7186  <ul>
     7187    <li>A minimum number of epochs observed (see <a href="#ppparmin">Min # Epo</a>)</li>
     7188    <li>A minimum satellite elevation angle</li>
     7189    <li>At least 2 ambiguities available per GNSS group</li>
     7190    <li>A minimum number of satellites per constellation (see <a href="#ppparmin">Min # Sat</a>)</li>
     7191  </ul>
     7192
     7193  <p><b>Step 3 &ndash; Reference ambiguity selection</b><br>
     7194    One ambiguity per constellation group is chosen as a reference (the one that minimises the sum of
     7195    double-difference variances). It is tightly constrained to its nearest integer via a Kalman
     7196    pseudo-observation update. This step effectively converts zero-difference to single-difference
     7197    ambiguity space and ensures a stable basis for the search.
     7198  </p>
     7199
     7200  <p><b>Step 4 &ndash; LAMBDA decorrelation</b><br>
     7201    The ambiguity covariance matrix is decomposed as <i>L&middot;D&middot;L</i><sup>T</sup>.
     7202    An integer-preserving transformation matrix <i>Z</i> (with det(<i>Z</i>)&nbsp;=&nbsp;&plusmn;1) is
     7203    applied to minimise the correlation between ambiguities. After this step the search is far more
     7204    efficient because the transformed ambiguities are nearly uncorrelated.
     7205  </p>
     7206
     7207  <p><b>Step 5 &ndash; BIE candidate search</b><br>
     7208    A sequential search-and-shrink algorithm (SSEARCH) finds the top 100 integer candidate vectors
     7209    ranked by their squared Mahalanobis distance &chi;&sup2;. For each candidate <i>i</i> an
     7210    exponential weight is computed:
     7211  </p>
     7212  <p>&nbsp;&nbsp;&nbsp;&nbsp;<i>w</i>(<i>i</i>) = exp(&minus;0.5 &middot; (&chi;&sup2;<sub><i>i</i></sub> &minus;
     7213    &chi;&sup2;<sub>best</sub>))</p>
     7214  <p>
     7215    The <b>BIE estimate</b> is then the weighted average over all candidates:
     7216  </p>
     7217  <p>&nbsp;&nbsp;&nbsp;&nbsp;<i>a</i><sub>BIE</sub> = &sum; <i>w</i>(<i>i</i>) &middot; <i>a</i>(<i>i</i>) / &sum;
     7218    <i>w</i>(<i>i</i>)
     7219  </p>
     7220  <p>
     7221    This is the key difference from plain LAMBDA/ILS, which picks only the single best integer vector.
     7222    BIE produces a real-valued weighted combination and is the minimum mean-square error estimator
     7223    under a Gaussian distribution.
     7224  </p>
     7225
     7226  <p><b>Step 6 &ndash; BIE variance</b><br>
     7227    Rather than adopting the optimistic variance of the single best candidate, BIE computes a
     7228    conservative variance that reflects the probability mass spread across all candidates:
     7229  </p>
     7230  <p>&nbsp;&nbsp;&nbsp;&nbsp;&sigma;&sup2;<sub>BIE</sub>(<i>j</i>) = &sum; <i>w</i>(<i>i</i>) &middot;
     7231    (<i>a</i><sub>BIE</sub>(<i>j</i>) &minus; <i>a</i>(<i>j</i>,<i>i</i>))&sup2;</p>
     7232
     7233  <p><b>Step 7 &ndash; Fixability decision and constraint imposition</b><br>
     7234    An ambiguity is considered fixable if both of the following criteria are met:
     7235  </p>
     7236  <ul>
     7237    <li>|<i>a</i><sub>BIE</sub> &minus; round(<i>a</i><sub>BIE</sub>)| &le; Max Frac (see <a href="#ppparmax">Max Frac
     7238        and Sig</a>)</li>
     7239    <li>&sigma;<sub>BIE</sub> &le; Max Sig (see <a href="#ppparmax">Max Frac and Sig</a>)</li>
     7240  </ul>
     7241  <p>
     7242    For all fixable ambiguities, Kalman equality constraints with a tight weight are applied to force
     7243    the filter state vector to adopt the integer values. Subsequent filter updates treat these fixed
     7244    ambiguities as pseudo-observations until a cycle-slip triggers a reset.
     7245  </p>
     7246
     7247  <p><b>Comparison with other PPP ambiguity resolution methods</b></p>
     7248  <table border="1" rules="all" frame="box" bgcolor="#FFF5EE" style="font-size:13">
     7249    <tr bgcolor="#E0E0E0">
     7250      <td><b>&nbsp;Method&nbsp;</b></td>
     7251      <td><b>&nbsp;Integer choice&nbsp;</b></td>
     7252      <td><b>&nbsp;Output&nbsp;</b></td>
     7253    </tr>
     7254    <tr>
     7255      <td>&nbsp;Rounding&nbsp;</td>
     7256      <td>&nbsp;Nearest integer per ambiguity, independently&nbsp;</td>
     7257      <td>&nbsp;Hard fix, simple but fragile&nbsp;</td>
     7258    </tr>
     7259    <tr>
     7260      <td>&nbsp;Bootstrapping&nbsp;</td>
     7261      <td>&nbsp;Sequential conditional rounding&nbsp;</td>
     7262      <td>&nbsp;Hard fix, faster than ILS&nbsp;</td>
     7263    </tr>
     7264    <tr>
     7265      <td>&nbsp;ILS / LAMBDA&nbsp;</td>
     7266      <td>&nbsp;Single globally optimal integer vector&nbsp;</td>
     7267      <td>&nbsp;Hard fix, optimal under Gaussian noise&nbsp;</td>
     7268    </tr>
     7269    <tr>
     7270      <td>&nbsp;<b>BIE (BNC)</b>&nbsp;</td>
     7271      <td>&nbsp;Weighted combination of top-N candidates&nbsp;</td>
     7272      <td>&nbsp;Soft/weighted fix, minimum MSE estimator&nbsp;</td>
     7273    </tr>
     7274  </table>
     7275  <br>
     7276
     7277  <p>
     7278  <h4 id="ppparsys">2.13.2.10.1 Constellations - optional</h4>
     7279  </p>
     7280  <p>
     7281    Specify, for which constellations the ambiguities should be resolved to their integer values. This option is
     7282    available for GPS, Galileo and BDS.
     7283  </p>
     7284  <p>
     7285  <h4 id="ppparmin">2.13.2.10.2 Min # Epo and Sat - optional</h4>
     7286  </p>
     7287  <p>
     7288    Using 'Min # Epo' you can specify the number of epochs for which the unknown ambiguity parameter has to be observed
     7289    at least,
     7290    to be included into the search.
     7291  </p>
     7292  <p>
     7293    Using 'Min # Sat' you can define that the ambiguity search is performed if at least the specified number of
     7294    satellites per constellation is being tracked.
     7295  </p>
     7296  <p>
     7297  <h4 id="ppparmax">2.13.2.10.3 Max Frac and Sig - optional</h4>
     7298  </p>
     7299  <p>
     7300    Using the options 'Max Frac' and 'Max Sig' you may decide whether to use this additional information and fix
     7301    (constrain) only those
     7302    ambiguities which meet these requirements. In more detail:
     7303  </p>
     7304  <p>
     7305    If 'Max Frac' is greater than zero, the ambiguity is constrained only if the absolute value of the fractional part
     7306    of its BIE value
     7307    is lower or equal than the specified value.
     7308  </p>
     7309  <p>
     7310    If 'Max Sig' is greater than zero, the ambiguity is constrained only if the BIE sigma (uncertainty of the BIE
     7311    result)
     7312    is lower or equal than the specified value.
     7313  </p>
     7314  <p>
     7315  <h4 id="ppparyaw">2.13.2.10.4 Yaw Usage - optional</h4>
     7316  </p>
     7317  <p>
     7318    If 'Use Yaw' is set, the information about the satellite attitude (yaw angle) is taken from the corresponding
     7319    SSR correction (phase bias message). Otherwise a standard satellite attitude model is used.
     7320  </p>
     7321
     7322  <p>
     7323  <h4 id="ppparfix">2.13.2.10.5 Per-epoch fix percentage</h4>
     7324  </p>
     7325  <p>
     7326    The number printed in the log (... fix XX %) is a fixRatio computed as follows:
     7327  <ol>
     7328    <li>A copy of the float filter state is taken — the real recursive filter state is never touched by AR.</li>
     7329    <li>Ambiguities are grouped per system/LC into zero-difference sets if minimum number of tracked epochs (see <a
     7330        href="#ppparmin">Min # Epo</a>) and the minimum elevation (see <a href=#pppmineleva>Minimum Elevation</a>) is
     7331      exceeded.</li>
     7332    <li>One reference ambiguity per group is hard-constrained to its rounded value with a tiny σ (sigCon = 1e-4 cycles,
     7333      turning the rest into single-differences (SD).</li>
     7334    <li>A LAMBDA/BIE (Best Integer Equivariant) search produces xBie/covBie — a probability-weighted blend over
     7335      candidate integer vectors, not a hard integer.</li>
     7336    <li>isFixable() flags an SD ambiguity as fixed if |frac(xBie)| ≤ arMaxFrac and sqrt(covBie) ≤ arMaxSig (see <a
     7337        href=#ppparmax>Max Frac and Sig</a>).</li>
     7338    <li>fixRatio = numFixSdAll / numSdAmbs — fixed SD ambiguities divided by all SD ambiguities in groups that already
     7339      passed step 2's pre-filter.</li>
     7340  </ol>
     7341  Some remarks:
     7342  <ul>
     7343    <li>It's a statistical sharpness test, not a validated fix. Unlike classical LAMBDA AR (ratio test against the
     7344      second-best candidate), isFixable() only checks that the BIE estimate is close to an integer with small posterior
     7345      variance. BIE will confidently "fix" a self-consistent but wrong combination if the underlying float ambiguities
     7346      carry a systematic, unmodeled bias — there's no independent validation step.</li>
     7347    <li> The fix is a per-epoch snapshot, not a recursive hold. Since AR runs on a copy of the filter state and the
     7348      result is never fed back into _xFlt/_QFlt, each epoch's "fix" is recomputed from scratch from whatever the float
     7349      ambiguity looks like that epoch. A satellite can be reported "fixed" to slightly different integer realizations
     7350      epoch-to-epoch, which shows up as scatter in the AR-constrained coordinate even though the printed percentage
     7351      stays high.</li>
     7352    <li>Everything hinges on the phase-bias corrections. Ambiguity resolution only works because incoming SSR phase-bias
     7353      corrections with fixIndicator set are applied per satellite/frequency before this stage; satellites lacking valid
     7354      biases are dropped entirely when AR is on (useObsWithBiasesOnly). If that correction stream is stale, low-quality,
     7355      or inconsistent with the orbit/clock product (different AC, different update interval), the float ambiguities will
     7356      still sharpen and "fix" statistically — just around the wrong integer — degrading rather than improving the
     7357      position.</li>
     7358    <li> Small denominator effect: 'numSdAmbs' only counts already pre-filtered, resolvable ambiguities in groups of ≥2;
     7359      with a thin satellite/group count it's easy to get 100% from very few satellites, which isn't representative of
     7360      overall solution strength.</li>
     7361  </ul>
     7362  If the per-epoch fix percentage values look too high in comparison with the resulting coordinate displacements,
     7363  try:
     7364  <ul>
     7365    <li>tightening 'Max Frac' / 'Max Sig' and </li>
     7366    <li>raising 'Min # Sat' / 'Min # Epo' </li>
     7367  </ul>
     7368  to see if the percentage drops to something more consistent with the achieved coordinate repeatability — if it
     7369  doesn't, the bias-correction quality/consistency
     7370  is the more likely root cause than the AR logic itself.
     7371  </p>
     7372  <p>
     7373  <h4 id="pppStation">2.13.3 PPP (3): Processed Stations</h4>
     7374  </p>
     7375  <p>
     7376    This panel allows to enter parameters specific to each PPP process or thread. Individual sigmas for a priori
     7377    coordinates and a
     7378    noise for coordinate variations over time can be introduced. Furthermore, a sigma for model-based troposphere
     7379    estimates and the
     7380    corresponding noise for troposphere variations can be specified. Finally, local IP server ports can be defined for
     7381    output of
     7382    NMEA streams carrying PPP results.
     7383  </p>
     7384
     7385  <p>
     7386    BNC offers to create a table with one line per PPP process or thread to specify station-specific parameters.
     7387    Hit the 'Add Station' button to create the table or add a new line to it. To remove a line from the table,
     7388    highlight it by clicking it and hit the 'Delete Station' button. You can also remove multiple lines simultaneously
     7389    by highlighting them using +Shift or +Ctrl.</p>
     7390  </p>
     7391
     7392  <p>
     7393    BNC will simultaneously produce PPP solutions for all stations listed in the 'Station' column of this table.
     7394  </p>
     7395
     7396  <p><img src="IMG/Figure25.png" width=1000 /></p>
     7397  <p>Figure 25: Precise Point Positioning with BNC, PPP Panel 3</p>
     7398
     7399  <p>
     7400  <h4 id="pppsite">2.13.2.1 Station - mandatory</h4>
     7401  </p>
     7402  <p>
     7403    Hit the 'Add Station' button, double click on the 'Station' field, then specify an observation's mountpoint from the
     7404    'Streams' section or introduce the 9-character Station ID of your RINEX observation file and hit Enter.
     7405    BNC will only produce PPP solutions for stations listed in this table.
     7406  </p>
     7407
     7408  <p>
     7409  <h4 id="pppnehsigma">2.13.2.2 Sigma North/East/Up - mandatory</h4>
     7410  </p>
     7411  <p>
     7412    Enter sigmas in meters for the initial coordinate components. A value of 100.0 (default) may be an appropriate
     7413    choice.
     7414    However, this value may be significantly smaller (e.g. 0.01) when starting for example from a station with a
     7415    well-known position
     7416    in so-called Quick-Start mode.
     7417  </p>
     7418
     7419  <p>
     7420  <h4 id="pppnehnoise">2.13.2.3 Noise North/East/Up - mandatory</h4>
     7421  </p>
     7422  <p>
     7423    Enter a white 'Noise' in meters for estimated coordinate components. A value of 100.0 (default) may be appropriate
     7424    when
     7425    considering possible sudden movements of a rover.
     7426  </p>
     7427
     7428  <p>
     7429  <h4 id="ppptropsigma">2.13.2.4 Tropo Sigma - mandatory</h4>
     7430  </p>
     7431  <p>
     7432    Enter a sigma in meters for the a priori model based tropospheric delay estimation. A value of 0.1 (default) may be
     7433    an appropriate choice.
     7434  </p>
     7435
     7436  <p>
     7437  <h4 id="ppptropnoise">2.13.2.5 Tropo Noise - mandatory</h4>
     7438  </p>
     7439  <p>
     7440    Enter a white 'Noise' in meters per second to describe the expected variation of the tropospheric effect. Supposing
     7441    1Hz observation data,
     7442    a value of 3e-6 (default) would mean that the tropospheric effect may vary for 3600 * 3e-6 = 0.01 meters per hour.
     7443  </p>
     7444
     7445  <p>
     7446  <h4 id="pppnmeaport">2.13.2.6 NMEA Port - optional</h4>
     7447  </p>
     7448  <p>
     7449    Specify the IP port number of a local port where Point Positioning results become available as NMEA sentences. The
     7450    default value
     7451    for 'NMEA Port' is an empty option field, meaning that BNC does not provide NMEA sentences via IP port. Note that
     7452    NMEA file output
     7453    and NMEA IP port output are the same.
     7454  </p>
     7455  <p>
     7456    Note also that Tomoji Takasu has written a program named RTKPLOT for visualizing NMEA sentences from IP ports or
     7457    files.
     7458    It is available from <a href="http://www.rtklib.com" target="_blank">http://www.rtklib.com</a> and compatible with
     7459    the
     7460    NMEA file and port output of BNC's 'PPP' client option.
     7461  </p>
     7462  <p>
     7463    Furthermore, NASA's 'World Wind' software
     7464    (see <a href="http://worldwindcentral.com/wiki/NASA_World_Wind_Download"
     7465      target="_blank">http://worldwindcentral.com/wiki/NASA_World_Wind_Download</a>)
     7466    can be used for real-time visualization of positions provided through BNC's NMEA IP output port.
     7467    You need the 'GPS Tracker' plug-in available from
     7468    <a href="http://worldwindcentral.com/wiki/GPS_Tracker"
     7469      target="_blank">http://worldwindcentral.com/wiki/GPS_Tracker</a> for that.
     7470    The 'Word Wind' map resolution is not meant for showing centimeter level details.
     7471  </p>
     7472
     7473  <p>
     7474  <h4 id="pppsignalpriorities">2.13.2.7 Signal Priorities - optional</h4>
     7475  </p>
     7476  <p>
     7477    Specify a list of 'Signal Priorities' for the observations that shall be used for PPP.
     7478    Signal priorities can be specified as system (G,R,E,C) and frequency specific.
     7479    Two frequency bands per GNSS are allowed and will be considered.
     7480    The following frequency bands are available for selection:
     7481  <ul>
     7482    <li>G: 1, 2, 5</li>
     7483    <li>R: 1, 2</li>
     7484    <li>E: 1, 5, 6, 7, 8</li>
     7485    <li>C: 1, 2, 5, 6, 7, 8</li>
     7486  </ul>
     7487  <p>'Default' is the following list of 'Signal Priorities':
     7488  <ul>
     7489    <li>'G:12&CWPSLX R:12&CP E:1&CBX E:5&QIX C:26&IQX'</li>
     7490  </ul>
     7491  <p>
     7492    But it is recommended to specify it in more detail per individual station, e.g.:</p>
     7493  <ul>
     7494    <li>'G:12&W R:12&P E:1&C E:5&Q C:26&I'</li>
     7495  </ul>
     7496
     7497  <p>
     7498  <h4 id="pppPlots">2.13.4 PPP (4): Plots</h4>
     7499  </p>
     7500  <p>
     7501    This panel presents options for visualizing PPP results as a time series plot or as a track map with PPP tracks on
     7502    top
     7503    of OpenStreetMap (OSM) maps.
     7504  </p>
     7505
     7506  <p>
     7507  <h4 id="ppptimeseries">2.13.4.1 PPP Plot - optional</h4>
     7508  </p>
     7509  <p>
     7510    PPP time series of North (red), East (green) and Up (blue) displacements will be plotted under the 'PPP Plot' tab
     7511    when
     7512    a 'Mountpoint' is specified. Values will be referred to an XYZ reference coordinate (if specified, see
     7513    'Coordinates file'). The sliding PPP time series window will cover the period of the latest 5 minutes.
     7514  </p>
     7515  <p>
     7516    Note that a PPP dicplacements time series makes only sense for a stationary operated receiver.
     7517  </p>
     7518
     7519  <p>
     7520  <h4 id="pppaudioresp">2.13.4.2 Audio Response - optional</h4>
     7521  </p>
     7522  <p>
     7523    For natural hazard prediction and monitoring landslides, it may be appropriate to generate audio alerts. For that
     7524    you can specify an 'Audio response' threshold in meters. A beep is produced by BNC whenever a horizontal PPP
     7525    coordinate
     7526    component differs by more than the threshold value from the specified marker coordinate.
     7527  </p>
     7528  <p>
     7529    Default is an empty option field, meaning that you do not want BNC to produce acoustic warnings.
     7530  </p>
     7531
     7532  <p>
     7533  <h4 id="ppptrackmap">2.13.4.3 Track Map - optional</h4>
     7534  </p>
     7535  <p>
     7536    You may like to track your rover position using OpenStreetMap as a background map. Track maps can be
     7537    produced with BNC in 'Real-time Streams' mode or in 'RINEX Files' post processing mode with data coming from files.
     7538    Even when in 'RINEX Files' post processing mode, you should not forget to go online with your host.
     7539  </p>
     7540  <p>
     7541    The 'Open Map' button opens a window showing the map.
     7542  </p>
     7543
     7544  <p><img src="IMG/Figure26.png" width=1000 /></p>
     7545  <p>Figure 26: Precise Point Positioning with BNC with track of positions using OpenStreetMap, PPP Panel 4.</p>
     7546
     7547
     7548  <p>
     7549  <h4 id="pppdotprop">2.13.4.4 Dot-properties - mandatory before pushing 'Open Map'</h4>
     7550  </p>
     7551  <p>
     7552    PPP tracks are presented on maps through plotting one colored dot per observation epoch.
     7553  </p>
     7554
     7555  <p>
     7556  <h4 id="pppdotsize">2.13.4.4.1 Size - mandatory before pushing 'Open Map'</h4>
     7557  </p>
     7558  <p>
     7559    Specify the size of dots showing the rover position. A dot size of '3' may be appropriate. The maximum possible dot
     7560    size is '10'. An empty option field or a size of '0' would mean that you do not want BNC to show the rover's track
     7561    on the map.
     7562  </p>
     7563
     7564  <p>
     7565  <h4 id="pppdotcolor">2.13.4.4.2 Color - mandatory before pushing 'Open Map'</h4>
     7566  </p>
     7567  <p>
     7568    Select the color of dots showing the rover track.
     7569  </p>
     7570
     7571  <p>
     7572  <h4 id="pppspeed">2.13.4.5 Post Processing Speed - mandatory before pushing 'Open Map'</h4>
     7573  </p>
     7574  <p>
     7575    With BNC in PPP 'RINEX File' post processing mode, you can specify the speed of computations as appropriate for
     7576    visualization. Note that you can adjust 'Post-processing speed' on-the-fly while BNC is already processing your
     7577    observations.
     7578  </p>
     7579
     7580  <p>
     7581  <h4 id="combi">2.14 Combine Corrections</h4>
     7582  </p>
     7583  <p>
     7584    BNC allows processing several orbit and clock correction streams in real-time to produce, encode, upload and save a
     7585    combination of Broadcast Corrections from various providers (Weber and Mervart 2010). All corrections must refer to
     7586    satellite Antenna Phase Centers (APC). It is so far only the satellite clock corrections, which are combined by BNC
     7587    while orbit corrections in the combination product are just taken over from one of the incoming
     7588    Broadcast Correction streams. Combining only clock corrections using a fixed orbit reference (which means the
     7589    individual orbit of
     7590    an incoming AC = Master orbit) imposes the potential to introduce analysis inconsistencies. Hence, some a priori
     7591    corrections dC
     7592    are applied before clock combination, to compensate for the inconsistency between MasterAC and other orbits.
     7593    This should include corrections for inconsistent frames, attitude mode and phase center offset:
     7594  </p>
     7595  <pre>
    49877596 dC = dC_frame + dC_att + dC_pco [m]
    49887597</pre>
    4989  But because at present, no PCO information is available via SSR, we consider only
    4990 <pre>
     7598  But because at present, no PCO information is available via SSR, we consider only
     7599  <pre>
    49917600 dC_frame = Orb_AC * (Orb_AC - Orb_MasterAC) / Range_sat
    49927601</pre>
    4993 <pre>
     7602  <pre>
    49947603 dC_att = (yawAngle_AC - yawAngle_MasterAC) / (2*PI) * wavelength(IF)
    49957604</pre>
    49967605
    4997 <p>
    4998 The 'Combine Corrections' functionality may be of interrest because:
    4999 <ul>
    5000   <li>Outages of single AC product streams can be mitigated through merging several incoming streams into a combined product;</li>
    5001   <li>Generating a combination product from several AC products allows detecting and rejecting outliers;</li>
    5002   <li>A Combination Center (CC) can operate BNC to globally disseminate a combination product via Ntrip broadcast;</li>
    5003   <li>An individual AC could prefer to disseminate a stream combined from primary and backup IT resources to reduce outages;</li>
    5004   <li>It enables a BNC PPP user to follow his own preference in combining streams from individual ACs for Precise Point Positioning;</li>
    5005   <li>It allows an instantaneous quality control of the combination process not only in the time domain but also in the space domain; this can be done by direct application of the combined stream in a PPP solution even without prior upload to an Ntrip Broadcaster;</li>
    5006   <li>It provides the means to output SP3 and Clock RINEX files containing precise orbit and clock information as well as SINEX Bias files for further processing using other tools than BNC.</li>
    5007 </ul>
    5008 </p>
    5009 The clock combination can be based either on a plain 'Single-Epoch' or on a 'Kalman Filter' approach.
    5010 In the 'Kalman Filter' approach, satellite clocks estimated by individual Analyses Centers (ACs) are used as pseudo
    5011 observations within the adjustment process. Each observation is modeled as a linear function (actually a simple sum)
    5012 of three estimated parameters:
    5013 <pre>
     7606  <p>
     7607    The 'Combine Corrections' functionality may be of interrest because:
     7608  <ul>
     7609    <li>Outages of single AC product streams can be mitigated through merging several incoming streams into a combined
     7610      product;</li>
     7611    <li>Generating a combination product from several AC products allows detecting and rejecting outliers;</li>
     7612    <li>A Combination Center (CC) can operate BNC to globally disseminate a combination product via Ntrip broadcast;
     7613    </li>
     7614    <li>An individual AC could prefer to disseminate a stream combined from primary and backup IT resources to reduce
     7615      outages;</li>
     7616    <li>It enables a BNC PPP user to follow his own preference in combining streams from individual ACs for Precise
     7617      Point Positioning;</li>
     7618    <li>It allows an instantaneous quality control of the combination process not only in the time domain but also in
     7619      the space domain; this can be done by direct application of the combined stream in a PPP solution even without
     7620      prior upload to an Ntrip Broadcaster;</li>
     7621    <li>It provides the means to output SP3 and Clock RINEX files containing precise orbit and clock information as well
     7622      as SINEX Bias files for further processing using other tools than BNC.</li>
     7623  </ul>
     7624  </p>
     7625  The clock combination can be based either on a plain 'Single-Epoch' or on a 'Kalman Filter' approach.
     7626  In the 'Kalman Filter' approach, satellite clocks estimated by individual Analyses Centers (ACs) are used as pseudo
     7627  observations within the adjustment process. Each observation is modeled as a linear function (actually a simple sum)
     7628  of three estimated parameters:
     7629  <pre>
    50147630 Clk_Corr = AC_Offset + Sat_Offset + Clk
    50157631 </pre>
    5016  With
    5017  <p>
    5018 <table>
    5019   <tr><td>&nbsp; AC_Offset </td><td>&nbsp; &nbsp; AC specific offset</td></tr>
    5020   <tr><td>&nbsp; Sat_Offset</td><td>&nbsp; &nbsp; Satellite specific offset common to all ACs</td></tr>
    5021   <tr><td>&nbsp; Clk       </td><td>&nbsp; &nbsp; the actual satellite clock correction, which represents the result of the combination</td></tr>
    5022 </table>
    5023 </p>
    5024 These three parameter types differ in their statistical properties. The satellite clock offsets are assumed to be static parameters
    5025 while AC specific and satellite specific offsets are stochastic parameters affected by white noise.
    5026 The solution is regularized by a set of minimal constraints. In case of a change of the 'SSR Provider ID',
    5027 'SSR Solution ID', or 'IOD SSR' (see section 'Upload Corrections'), the satellite clock offsets belonging to the
    5028 corresponding analysis center are reset in the adjustment.
    5029 </p>
    5030 <p>
    5031 Removing the AC-dependent biases is a major issue with clock combinations.
    5032 Since they vary in time, it can be tricky to do this. Otherwise, there will be artificial jumps in the combined clock stream
    5033 if one or more AC contributions drop out for certain epochs. Here the 'Kalman Filter' approach is expected to do better than the
    5034 'Single-Epoch' approach.
    5035 </p>
    5036 <p>
    5037 The following recursive algorithm is used to detect orbit outliers in the Kalman Filter combination when Broadcast Corrections are provided by several ACs:<br>
    5038  <p>
    5039 <table>
    5040   <tr><td>&nbsp; Step 1 </td><td>&nbsp; &nbsp; We do not produce a combination for a certain satellite if only one AC provides corrections for it.</td></tr>
    5041   <tr><td>&nbsp; Step 2 </td><td>&nbsp; &nbsp; A mean satellite position is calculated as the average of positions from all ACs.</td></tr>
    5042   <tr><td>&nbsp; Step 3 </td><td>&nbsp; &nbsp; For each AC and satellite, the 3D distance between individual and mean satellite position is calculated.</td></tr>
    5043   <tr><td>&nbsp; Step 4 </td><td>&nbsp; &nbsp; We find the greatest difference between AC specific and mean satellite positions.</td></tr>
    5044   <tr><td>&nbsp; Step 5 </td><td>&nbsp; &nbsp; If that is less than a threshold, the conclusion is that we do not have an outlier and can proceed to the next epoch.</td></tr>
    5045   <tr><td>&nbsp; Step 6 </td><td>&nbsp; &nbsp; If that is greater than a threshold, then corrections of the affiliated AC are ignored for the affected epoch and
    5046         the outlier detection restarts with step 1.</td></tr>
    5047 </table>
    5048 </p>
    5049 <p>
    5050 The following screenshot shows an example setup of BNC when combining several Broadcast Correction streams.
    5051 </p>
    5052 <p><img src="IMG/Figure27.png"width=1000/></p>
    5053 <p>Figure 27: BNC combining Broadcast Correction streams</p>
    5054 
    5055 <p>
    5056 The combination process requires real-time access to Broadcast Ephemeris. Therefore, in addition to the orbit
    5057 and clock correction streams BNC must pull a stream carrying Broadcast Ephemeris in the form of RTCM Version 3 messages.
    5058 Stream 'BCEP00BKG0' on caster <a href="http://products.igs-ip.net" target="_blank">http://products.igs-ip.net</a>
    5059 is an example for that. Note further that BNC will ignore incorrect or outdated Broadcast Ephemeris data when necessary,
    5060 leaving a note 'WRONG EPHEMERIS' or 'OUTDATED EPHEMERIS' in the logfile.
    5061 </p>
    5062 <p>
    5063 The combination is done system-wise for the following reference signals as specified in the IGS Real-Time Committee:
    5064  <p>
    5065 <table>
    5066   <tr><td>&nbsp; GPS:    </td><td>&nbsp; &nbsp; C1W/C2W</td></tr>
    5067   <tr><td>&nbsp; GLONASS:</td><td>&nbsp; &nbsp; C1P/C2P</td></tr>
    5068   <tr><td>&nbsp; Galileo:</td><td>&nbsp; &nbsp; C1C/C5Q</td></tr>
    5069   <tr><td>&nbsp; BDS:    </td><td>&nbsp; &nbsp; C2I/C6I</td></tr>
    5070   <tr><td>&nbsp; QZSS:   </td><td>&nbsp; &nbsp; C1C/C2L</td></tr>
    5071   <tr><td>&nbsp; SBAS:   </td><td>&nbsp; &nbsp; C1C/C5Q</td></tr>
    5072   <tr><td>&nbsp; NavIC:  </td><td>&nbsp; &nbsp; nothing declared</td></tr>
    5073 </table>
    5074 </p>
    5075 <p>
    5076 When the individual satellite clocks and code biases are used together, the effective Observable-Specific Biases (OSBs) are recovered.
    5077 With it, the interoperability between corrections of different RTACs, which may use different signals for clock estimation, is ensured.
    5078 Hence, the individual RTAC satellite clocks are reduced epoch by epoch by the individual ionosphere-free linear combination
    5079 of individual RTAC satellite code biases, delivered for the reference signals, before its combination.
    5080 With it, the combined satellite clocks are consistent to IGS clocks, which means ionosphere-free clocks
    5081 based on the defined reference signals - despite the fact, that the delivered code biases of an RTAC may contain contributions
    5082 from other biases, also phase biases (Banville et al. 2020).
    5083 </p>
    5084 <p>
    5085 Hence, the ionosphere-free linear combination of code biases for the IGS reference signals is determined
    5086 from the supplied code biases and subtracted from the clocks before combination.
    5087 The combined satellite clocks are consistent to IGS clocks, which means ionosphere-free clocks based on the defined reference signals
    5088  - despite the fact, that the delivered code biases of an AC may contain contributions from other biases, also phase biases.
    5089 </p>
    5090 <p>
    5091 This convention allows the ionosphere-free linear combination of the two OSBs of the reference signals to be set to zero.
    5092 All other OSBs can then be expressed in terms of Differential Code Biases. For this,
    5093 the PCO-corrected satellite DCB product (Wang et al. 2025) of the Chinese Academy of Sciences (CAS) is used and send out
    5094 as SSR code bias together with the combined clocks. These SINEX Bias files are archived at CDDIS:
    5095 <a href="https://cddis.nasa.gov/archive/gnss/products/bias/" target="_blank">https://cddis.nasa.gov/archive/gnss/products/bias/</a>
    5096 </p>
    5097 <p>
    5098 References:
    5099 </p>
    5100 <p>
    5101 Banville S., Geng J., Loyer S., Schaer S., Springer T., Strasser S. (2020) On the interoperability of IGS products for precise point positioning with ambiguity resolution. Journal of Geodesy. 94, 10 (2020).
    5102 <a href="https://doi.org/10.1007/s00190-019-01335-w" target="_blank">https://doi.org/10.1007/s00190-019-01335-w</a>
    5103 </p>
    5104 <p>
    5105 Wang N., Li Y., Li Z., Liu A., Liu B. (2025) Determination of multi-GNSS differential code biases with satellite antenna phase center corrections. GPS Solutions 30, 22 (2026).
    5106 <a href="https://doi.org/10.1007/s10291-025-01983-w" target="_blank">https://doi.org/10.1007/s10291-025-01983-w</a>
    5107 </p>
    5108 <p>
    5109 A combination is carried out following a specified sampling interval. BNC waits for incoming Broadcast Corrections for the period
    5110 of one such interval. Corrections received later than that will be ignored. If incoming streams have different rates,
    5111 only epochs that correspond to the sampling interval are used.
    5112 </p>
    5113 <p>
    5114 Note that BNC can produce an internal PPP solution from combined Broadcast Corrections.
    5115 For that you have to specify the keyword 'INTERNAL' as 'Corrections stream' in the PPP (1) panel.
    5116 The following example combines correction streams SSRA00BKG1 and SSRA00CNE1 and simultaneously carries out a PPP solution
    5117 with observations from stream FFMJ01DEU0 to allow monitoring the quality of the combination product in the space domain.
    5118 </p>
    5119 <p><img src="IMG/Figure28.png"width=1000/></p>
    5120 <p>Figure 28: 'INTERNAL' PPP with BNC using a combination of Broadcast Corrections</p>
    5121 
    5122 <p><h4 id="combimounttab">2.14.1 Combine Corrections Table - optional</h4></p>
    5123 <p>
    5124 Hit the 'Add Row' button, double click on the 'Mountpoint' field, enter a Broadcast Correction mountpoint from the 'Streams' section
    5125 and hit Enter.</p>
    5126 <p>
    5127 Then double click on the 'AC Name' field to enter your choice of an abbreviation for the Analysis Center (AC) providing
    5128 the Antenna Phase Center (APC) related correction stream.</p>
    5129 <p>
    5130 After that, double click on the 'Weight Factor' field to enter a weight to be applied to this stream in the combination.
    5131 A Factor greater than 1 will enlarge the sigma of the clock pseudo-observations and with it down-weight its contribution.</p>
    5132 <p>
    5133 Finally, double click on the 'Exclude Satellites' field and specify satellites or satellite systems, to exclude them for an individual AC.
    5134 An entry 'G04,G31,R' means to excludes GPS satellites PRN 4 and 31 as well as all GLONASS satellites from one individual AC.
    5135 Default is an empty option field, meaning that no satellite is excluded from this individual AC.</p>
    5136 <p>
    5137 Use the 'Attitude' field to select how satellite attitude is modelled when converting Antenna Phase Center (APC) corrections to
    5138 Center-of-Mass (CoM) positions required for SP3 output. Three options are available:
    5139 <ul>
    5140 <li><b>Computed</b> (default): BNC applies its own kinematic attitude model:
    5141 GPS noon/midnight turn manoeuvres (Kouba 2009/2015, Bar-Sever 1996),
    5142 GLONASS yaw-fixed mode (Dilssner et al. 2011), and
    5143 Galileo / BDS orbit-normal mode switching (Kouba 2017, Dai et al. 2015, Steigenberger et al. 2018).</li>
    5144 <li><b>Nominal</b>: a simplified, continuous Sun-pointing model is used without any manoeuvre modelling.</li>
    5145 <li><b>SSR</b>: the yaw angle transmitted in the SSR phase bias message is used directly, if present for the satellite and epoch.
    5146 If no yaw angle is available for a particular satellite in a given epoch, BNC falls back to 'Computed'.
    5147 Select this option only if you trust the yaw values provided by the Analysis Center.</li>
    5148 </ul>
    5149 Note that the attitude model affects APC-referenced correction streams only.
    5150 For CoM-referenced streams (SSRC) the Analysis Center has already applied its own attitude model before encoding.</p>
    5151 <p>
    5152 Note that the orbit information in the resulting combination stream is just copied from one of the incoming streams.
    5153 The stream used for providing the orbits may vary over time: if the orbit providing stream has an outage
    5154 then BNC switches to the next remaining stream for getting hold of the orbit information.</p>
    5155 <p>
    5156 The combination process requires Broadcast Ephemeris.
    5157 Besides orbit and clock correction streams BNC should therefore pull a stream carrying Broadcast Ephemeris in the form of RTCM Version 3 messages.
    5158 The following type of Broadcast navigation messages is used per individulal GNSS:</p>
    5159 <table>
    5160 <tr><td>Navigation              </td><td>Description                                                    </td><td>Constellation                  </td><td>RTCM </td></tr>
    5161 <tr><td>Message Type    </td><td>                                                                               </td><td>and Signal                     </td><td>Message Type</td></tr>
    5162 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    5163 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    5164 <tr><td>LNAV</td><td>                   GPS Legacy navigation message                   </td><td>GPS  L1 C/A            </td><td>1019</td></tr>
    5165 <tr><td>        </td><td>                       QZSS Legacy navigation message                  </td><td>QZSS L1 C/A or L1 C/B  </td><td>1044</td></tr>
    5166 <tr><td>        </td><td>                       NavIC Legacy navigation message                 </td><td>NavIC L5/S SPS         </td><td>1041</td></tr>
    5167 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    5168 <tr><td>FDMA</td><td>                   GLONASS Legacy FDMA navigation message  </td><td>GLO L1 C/A                             </td><td>1020</td></tr>
    5169 <tr><td>        </td><td>                       from M-satellites                                               </td><td>                                       </td><td>        </td></tr>
    5170 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    5171 <tr><td>INAV</td><td>                   Galileo Integrity       navigation message      </td><td>GAL E1, E5b            </td><td>1046</td></tr>
    5172 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    5173 <tr><td>D1      </td><td>                       BeiDou-2/3 MEO/IGSO navigation message  </td><td>BDS B1I, B2I, B3I      </td><td>1042</td></tr>
    5174 <tr><td>D2      </td><td>                       BeiDou-2/3 GEO      navigation message  </td><td>BDS B1I, B2I, B3I              </td><td>1042</td></tr>
    5175 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    5176 <tr><td>SBAS</td><td>                   SBAS      navigation message                    </td><td>SBAS L1                </td><td>1043</td></tr>
    5177 </table>
    5178 <p>
    5179 It is possible to specify only one Broadcast Ephemeris Correction stream in the 'Combine Corrections' table.
    5180 Instead of combining corrections BNC will then add the corrections to the Broadcast Ephemeris with the possibility
    5181 to save final orbit and clock results in SP3 and/or Clock RINEX format.
    5182 </p>
    5183 <p>
    5184 The sequence of entries in the 'Combine Corrections' table is not of importance.
    5185 Note that the orbit information in the final combination stream is just copied from one of the incoming streams.
    5186 The stream used for providing the orbits may vary over time: if the orbit-providing stream has an outage then BNC switches
    5187 to the next remaining stream for getting hold of the orbit information.</p>
    5188 <p>
    5189 It is possible to specify only one Broadcast Ephemeris correction stream in the 'Combine Corrections' table.
    5190 Instead of combining corrections from several sources, BNC will then merge the single corrections stream with
    5191 Broadcast Ephemeris to allow saving results in SP3 and/or Clock RINEX format when specified accordingly under the
    5192 'Upload Corrections' panel. Note that in such a BNC application you must not pull more than one Broadcast Ephemeris correction stream
    5193 even if a second stream would provide the same corrections from a backup caster.
    5194 </p>
    5195 
    5196 <p>
    5197 Default is an empty 'Combine Corrections' table, meaning that you do not want BNC to combine orbit and clock correction streams.
    5198 </p>
    5199 
    5200 <p><h4 id="combiadd">2.14.1.1 Add Row, Delete - optional</h4></p>
    5201 <p>
    5202 Hit 'Add Row' button to add another row to the 'Combine Corrections' table or hit the 'Delete' button to delete the highlighted row(s).
    5203 </p>
    5204 
    5205 <p><h4 id="combimethod">2.14.1.2 Method - mandatory if 'Combine Corrections' table is populated</h4></p>
    5206 <p>
    5207 Select a clock combination method. Available options are 'Kalman Filter' and 'Single-Epoch'.
    5208 It is suggested to use the 'Kalman Filter' approach in case the combined stream of Broadcast Corrections
    5209 is intended for Precise Point Positioning.</p>
    5210 
    5211 <p><h4 id="combimaxres">2.14.1.3 Maximal Clock Residuum - mandatory if 'Combine Corrections' table is populated</h4></p>
    5212 <p>
    5213 BNC combines all incoming clocks according to specified weights. Individual clock estimates that differ by more than
    5214 'Maximal Clk Residuum' meters from the average of all clocks will be ignored.
    5215 It is suggested to specify a value of about 0.2 m for the Kalman Filter combination approach and
    5216 a value of about 3.0 meters for the Single-Epoch combination approach.</p>
    5217 <p>
    5218 Default is a 'Maximal Clk Residuum' of 999.0 meters.</p>
    5219 
    5220 <p><h4 id="combimaxdisp">2.14.1.4 Maximal Orbit Displacement - mandatory if 'Combine Corrections' table is populated</h4></p>
    5221 <p>
    5222 BNC builds mean values for all incoming orbit corrections per satellite.
    5223 Individual orbit corrections that differ by more than 'Maximal Orb Displacement' meters from the average
    5224 of all orbit corrections per satellite will be ignored. It is suggested to specify a value of about 0.5 m.</p>
    5225 <p>
    5226 Default is a 'Maximal Orb Displacement' of 2.0 meters.</p>
    5227 
    5228 <p><h4 id="combismpl">2.14.1.5 Sampling - mandatory if 'Combine Corrections' table is populated</h4></p>
    5229 <p>
    5230 Specify a combination sampling interval. Orbit and clock corrections will be produced following that interval.
    5231 A value of 10 sec may be an appropriate choice.</p>
    5232 
    5233 <p><h4 id="combisatsys">2.14.1.6 Satellite Systems - mandatory if 'Combine Corrections' table is populated</h4></p>
    5234 <p>
    5235 Specify for each satellite system whether the clock corrections shall be combined.</p>
    5236 
    5237 <p><h4 id="upclk">2.15 Upload Corrections</h4></p>
    5238 <p>
    5239 BNC can upload streams carrying orbit and clock corrections to Broadcast Ephemeris in radial, along-track and out-of-plane
    5240 components if they are
    5241 <ol type="a">
    5242   <li>either generated by BNC as a combination of several individual Broadcast Correction streams coming from an number of
     7632  With
     7633  <p>
     7634  <table>
     7635    <tr>
     7636      <td>&nbsp; AC_Offset </td>
     7637      <td>&nbsp; &nbsp; AC specific offset</td>
     7638    </tr>
     7639    <tr>
     7640      <td>&nbsp; Sat_Offset</td>
     7641      <td>&nbsp; &nbsp; Satellite specific offset common to all ACs</td>
     7642    </tr>
     7643    <tr>
     7644      <td>&nbsp; Clk </td>
     7645      <td>&nbsp; &nbsp; the actual satellite clock correction, which represents the result of the combination</td>
     7646    </tr>
     7647  </table>
     7648  </p>
     7649  These three parameter types differ in their statistical properties. The satellite clock offsets are assumed to be
     7650  static parameters
     7651  while AC specific and satellite specific offsets are stochastic parameters affected by white noise.
     7652  The solution is regularized by a set of minimal constraints. In case of a change of the 'SSR Provider ID',
     7653  'SSR Solution ID', or 'IOD SSR' (see section 'Upload Corrections'), the satellite clock offsets belonging to the
     7654  corresponding analysis center are reset in the adjustment.
     7655  </p>
     7656  <p>
     7657    Removing the AC-dependent biases is a major issue with clock combinations.
     7658    Since they vary in time, it can be tricky to do this. Otherwise, there will be artificial jumps in the combined
     7659    clock stream
     7660    if one or more AC contributions drop out for certain epochs. Here the 'Kalman Filter' approach is expected to do
     7661    better than the
     7662    'Single-Epoch' approach.
     7663  </p>
     7664  <p>
     7665    The following recursive algorithm is used to detect orbit outliers in the Kalman Filter combination when Broadcast
     7666    Corrections are provided by several ACs:<br>
     7667  <p>
     7668  <table>
     7669    <tr>
     7670      <td>&nbsp; Step 1 </td>
     7671      <td>&nbsp; &nbsp; We do not produce a combination for a certain satellite if only one AC provides corrections for
     7672        it.</td>
     7673    </tr>
     7674    <tr>
     7675      <td>&nbsp; Step 2 </td>
     7676      <td>&nbsp; &nbsp; A mean satellite position is calculated as the average of positions from all ACs.</td>
     7677    </tr>
     7678    <tr>
     7679      <td>&nbsp; Step 3 </td>
     7680      <td>&nbsp; &nbsp; For each AC and satellite, the 3D distance between individual and mean satellite position is
     7681        calculated.</td>
     7682    </tr>
     7683    <tr>
     7684      <td>&nbsp; Step 4 </td>
     7685      <td>&nbsp; &nbsp; We find the greatest difference between AC specific and mean satellite positions.</td>
     7686    </tr>
     7687    <tr>
     7688      <td>&nbsp; Step 5 </td>
     7689      <td>&nbsp; &nbsp; If that is less than a threshold, the conclusion is that we do not have an outlier and can
     7690        proceed to the next epoch.</td>
     7691    </tr>
     7692    <tr>
     7693      <td>&nbsp; Step 6 </td>
     7694      <td>&nbsp; &nbsp; If that is greater than a threshold, then corrections of the affiliated AC are ignored for the
     7695        affected epoch and
     7696        the outlier detection restarts with step 1.</td>
     7697    </tr>
     7698  </table>
     7699  </p>
     7700  <p>
     7701    The following screenshot shows an example setup of BNC when combining several Broadcast Correction streams.
     7702  </p>
     7703  <p><img src="IMG/Figure27.png" width=1000 /></p>
     7704  <p>Figure 27: BNC combining Broadcast Correction streams</p>
     7705
     7706  <p>
     7707    The combination process requires real-time access to Broadcast Ephemeris. Therefore, in addition to the orbit
     7708    and clock correction streams BNC must pull a stream carrying Broadcast Ephemeris in the form of RTCM Version 3
     7709    messages.
     7710    Stream 'BCEP00BKG0' on caster <a href="http://products.igs-ip.net" target="_blank">http://products.igs-ip.net</a>
     7711    is an example for that. Note further that BNC will ignore incorrect or outdated Broadcast Ephemeris data when
     7712    necessary,
     7713    leaving a note 'WRONG EPHEMERIS' or 'OUTDATED EPHEMERIS' in the logfile.
     7714  </p>
     7715  <p>
     7716    The combination is done system-wise for the following reference signals as specified in the IGS Real-Time Committee:
     7717  <p>
     7718  <table>
     7719    <tr>
     7720      <td>&nbsp; GPS: </td>
     7721      <td>&nbsp; &nbsp; C1W/C2W</td>
     7722    </tr>
     7723    <tr>
     7724      <td>&nbsp; GLONASS:</td>
     7725      <td>&nbsp; &nbsp; C1P/C2P</td>
     7726    </tr>
     7727    <tr>
     7728      <td>&nbsp; Galileo:</td>
     7729      <td>&nbsp; &nbsp; C1C/C5Q</td>
     7730    </tr>
     7731    <tr>
     7732      <td>&nbsp; BDS: </td>
     7733      <td>&nbsp; &nbsp; C2I/C6I</td>
     7734    </tr>
     7735    <tr>
     7736      <td>&nbsp; QZSS: </td>
     7737      <td>&nbsp; &nbsp; C1C/C2L</td>
     7738    </tr>
     7739    <tr>
     7740      <td>&nbsp; SBAS: </td>
     7741      <td>&nbsp; &nbsp; C1C/C5Q</td>
     7742    </tr>
     7743    <tr>
     7744      <td>&nbsp; NavIC: </td>
     7745      <td>&nbsp; &nbsp; nothing declared</td>
     7746    </tr>
     7747  </table>
     7748  </p>
     7749  <p>
     7750    When the individual satellite clocks and code biases are used together, the effective Observable-Specific Biases
     7751    (OSBs) are recovered.
     7752    With it, the interoperability between corrections of different RTACs, which may use different signals for clock
     7753    estimation, is ensured.
     7754    Hence, the individual RTAC satellite clocks are reduced epoch by epoch by the individual ionosphere-free linear
     7755    combination
     7756    of individual RTAC satellite code biases, delivered for the reference signals, before its combination.
     7757    With it, the combined satellite clocks are consistent to IGS clocks, which means ionosphere-free clocks
     7758    based on the defined reference signals - despite the fact, that the delivered code biases of an RTAC may contain
     7759    contributions
     7760    from other biases, also phase biases (Banville et al. 2020).
     7761  </p>
     7762  <p>
     7763    Hence, the ionosphere-free linear combination of code biases for the IGS reference signals is determined
     7764    from the supplied code biases and subtracted from the clocks before combination.
     7765    The combined satellite clocks are consistent to IGS clocks, which means ionosphere-free clocks based on the defined
     7766    reference signals
     7767    - despite the fact, that the delivered code biases of an AC may contain contributions from other biases, also phase
     7768    biases.
     7769  </p>
     7770  <p>
     7771    This convention allows the ionosphere-free linear combination of the two OSBs of the reference signals to be set to
     7772    zero.
     7773    All other OSBs can then be expressed in terms of Differential Code Biases. For this,
     7774    the PCO-corrected satellite DCB product (Wang et al. 2025) of the Chinese Academy of Sciences (CAS) is used and send
     7775    out
     7776    as SSR code bias together with the combined clocks. These SINEX Bias files are archived at CDDIS:
     7777    <a href="https://cddis.nasa.gov/archive/gnss/products/bias/"
     7778      target="_blank">https://cddis.nasa.gov/archive/gnss/products/bias/</a>
     7779  </p>
     7780  <p>
     7781    References:
     7782  </p>
     7783  <p>
     7784    Banville S., Geng J., Loyer S., Schaer S., Springer T., Strasser S. (2020) On the interoperability of IGS products
     7785    for precise point positioning with ambiguity resolution. Journal of Geodesy. 94, 10 (2020).
     7786    <a href="https://doi.org/10.1007/s00190-019-01335-w" target="_blank">https://doi.org/10.1007/s00190-019-01335-w</a>
     7787  </p>
     7788  <p>
     7789    Wang N., Li Y., Li Z., Liu A., Liu B. (2025) Determination of multi-GNSS differential code biases with satellite
     7790    antenna phase center corrections. GPS Solutions 30, 22 (2026).
     7791    <a href="https://doi.org/10.1007/s10291-025-01983-w" target="_blank">https://doi.org/10.1007/s10291-025-01983-w</a>
     7792  </p>
     7793  <p>
     7794    A combination is carried out following a specified sampling interval. BNC waits for incoming Broadcast Corrections
     7795    for the period
     7796    of one such interval. Corrections received later than that will be ignored. If incoming streams have different
     7797    rates,
     7798    only epochs that correspond to the sampling interval are used.
     7799  </p>
     7800  <p>
     7801    Note that BNC can produce an internal PPP solution from combined Broadcast Corrections.
     7802    For that you have to specify the keyword 'INTERNAL' as 'Corrections stream' in the PPP (1) panel.
     7803    The following example combines correction streams SSRA00BKG1 and SSRA00CNE1 and simultaneously carries out a PPP
     7804    solution
     7805    with observations from stream FFMJ01DEU0 to allow monitoring the quality of the combination product in the space
     7806    domain.
     7807  </p>
     7808  <p><img src="IMG/Figure28.png" width=1000 /></p>
     7809  <p>Figure 28: 'INTERNAL' PPP with BNC using a combination of Broadcast Corrections</p>
     7810
     7811  <p>
     7812  <h4 id="combimounttab">2.14.1 Combine Corrections Table - optional</h4>
     7813  </p>
     7814  <p>
     7815    Hit the 'Add Row' button, double click on the 'Mountpoint' field, enter a Broadcast Correction mountpoint from the
     7816    'Streams' section
     7817    and hit Enter.</p>
     7818  <p>
     7819    Then double click on the 'AC Name' field to enter your choice of an abbreviation for the Analysis Center (AC)
     7820    providing
     7821    the Antenna Phase Center (APC) related correction stream.</p>
     7822  <p>
     7823    After that, double click on the 'Weight Factor' field to enter a weight to be applied to this stream in the
     7824    combination.
     7825    A Factor greater than 1 will enlarge the sigma of the clock pseudo-observations and with it down-weight its
     7826    contribution.</p>
     7827  <p>
     7828    Finally, double click on the 'Exclude Satellites' field and specify satellites or satellite systems, to exclude them
     7829    for an individual AC.
     7830    An entry 'G04,G31,R' means to excludes GPS satellites PRN 4 and 31 as well as all GLONASS satellites from one
     7831    individual AC.
     7832    Default is an empty option field, meaning that no satellite is excluded from this individual AC.</p>
     7833  <p>
     7834    Use the 'Attitude' field to select how satellite attitude is modelled when converting Antenna Phase Center (APC)
     7835    corrections to
     7836    Center-of-Mass (CoM) positions required for SP3 output. Three options are available:
     7837  <ul>
     7838    <li><b>Computed</b> (default): BNC applies its own kinematic attitude model:
     7839      GPS noon/midnight turn manoeuvres (Kouba 2009/2015, Bar-Sever 1996),
     7840      GLONASS yaw-fixed mode (Dilssner et al. 2011), and
     7841      Galileo / BDS orbit-normal mode switching (Kouba 2017, Dai et al. 2015, Steigenberger et al. 2018).</li>
     7842    <li><b>Nominal</b>: a simplified, continuous Sun-pointing model is used without any manoeuvre modelling.</li>
     7843    <li><b>SSR</b>: the yaw angle transmitted in the SSR phase bias message is used directly, if present for the
     7844      satellite and epoch.
     7845      If no yaw angle is available for a particular satellite in a given epoch, BNC falls back to 'Computed'.
     7846      Select this option only if you trust the yaw values provided by the Analysis Center.</li>
     7847  </ul>
     7848  Note that the attitude model affects APC-referenced correction streams only.
     7849  For CoM-referenced streams (SSRC) the Analysis Center has already applied its own attitude model before encoding.</p>
     7850  <p>
     7851    Note that the orbit information in the resulting combination stream is just copied from one of the incoming streams.
     7852    The stream used for providing the orbits may vary over time: if the orbit providing stream has an outage
     7853    then BNC switches to the next remaining stream for getting hold of the orbit information.</p>
     7854  <p>
     7855    The combination process requires Broadcast Ephemeris.
     7856    Besides orbit and clock correction streams BNC should therefore pull a stream carrying Broadcast Ephemeris in the
     7857    form of RTCM Version 3 messages.
     7858    The following type of Broadcast navigation messages is used per individulal GNSS:</p>
     7859  <table>
     7860    <tr>
     7861      <td>Navigation </td>
     7862      <td>Description </td>
     7863      <td>Constellation </td>
     7864      <td>RTCM </td>
     7865    </tr>
     7866    <tr>
     7867      <td>Message Type </td>
     7868      <td> </td>
     7869      <td>and Signal </td>
     7870      <td>Message Type</td>
     7871    </tr>
     7872    <tr>
     7873      <td> </td>
     7874      <td> </td>
     7875      <td> </td>
     7876      <td> </td>
     7877    </tr>
     7878    <tr>
     7879      <td> </td>
     7880      <td> </td>
     7881      <td> </td>
     7882      <td> </td>
     7883    </tr>
     7884    <tr>
     7885      <td>LNAV</td>
     7886      <td> GPS Legacy navigation message </td>
     7887      <td>GPS L1 C/A </td>
     7888      <td>1019</td>
     7889    </tr>
     7890    <tr>
     7891      <td> </td>
     7892      <td> QZSS Legacy navigation message </td>
     7893      <td>QZSS L1 C/A or L1 C/B </td>
     7894      <td>1044</td>
     7895    </tr>
     7896    <tr>
     7897      <td> </td>
     7898      <td> NavIC Legacy navigation message </td>
     7899      <td>NavIC L5/S SPS </td>
     7900      <td>1041</td>
     7901    </tr>
     7902    <tr>
     7903      <td> </td>
     7904      <td> </td>
     7905      <td> </td>
     7906      <td> </td>
     7907    </tr>
     7908    <tr>
     7909      <td>FDMA</td>
     7910      <td> GLONASS Legacy FDMA navigation message </td>
     7911      <td>GLO L1 C/A </td>
     7912      <td>1020</td>
     7913    </tr>
     7914    <tr>
     7915      <td> </td>
     7916      <td> from M-satellites </td>
     7917      <td> </td>
     7918      <td> </td>
     7919    </tr>
     7920    <tr>
     7921      <td> </td>
     7922      <td> </td>
     7923      <td> </td>
     7924      <td> </td>
     7925    </tr>
     7926    <tr>
     7927      <td>INAV</td>
     7928      <td> Galileo Integrity navigation message </td>
     7929      <td>GAL E1, E5b </td>
     7930      <td>1046</td>
     7931    </tr>
     7932    <tr>
     7933      <td> </td>
     7934      <td> </td>
     7935      <td> </td>
     7936      <td> </td>
     7937    </tr>
     7938    <tr>
     7939      <td>D1 </td>
     7940      <td> BeiDou-2/3 MEO/IGSO navigation message </td>
     7941      <td>BDS B1I, B2I, B3I </td>
     7942      <td>1042</td>
     7943    </tr>
     7944    <tr>
     7945      <td>D2 </td>
     7946      <td> BeiDou-2/3 GEO navigation message </td>
     7947      <td>BDS B1I, B2I, B3I </td>
     7948      <td>1042</td>
     7949    </tr>
     7950    <tr>
     7951      <td> </td>
     7952      <td> </td>
     7953      <td> </td>
     7954      <td> </td>
     7955    </tr>
     7956    <tr>
     7957      <td>SBAS</td>
     7958      <td> SBAS navigation message </td>
     7959      <td>SBAS L1 </td>
     7960      <td>1043</td>
     7961    </tr>
     7962  </table>
     7963  <p>
     7964    It is possible to specify only one Broadcast Ephemeris Correction stream in the 'Combine Corrections' table.
     7965    Instead of combining corrections BNC will then add the corrections to the Broadcast Ephemeris with the possibility
     7966    to save final orbit and clock results in SP3 and/or Clock RINEX format.
     7967  </p>
     7968  <p>
     7969    The sequence of entries in the 'Combine Corrections' table is not of importance.
     7970    Note that the orbit information in the final combination stream is just copied from one of the incoming streams.
     7971    The stream used for providing the orbits may vary over time: if the orbit-providing stream has an outage then BNC
     7972    switches
     7973    to the next remaining stream for getting hold of the orbit information.</p>
     7974  <p>
     7975    It is possible to specify only one Broadcast Ephemeris correction stream in the 'Combine Corrections' table.
     7976    Instead of combining corrections from several sources, BNC will then merge the single corrections stream with
     7977    Broadcast Ephemeris to allow saving results in SP3 and/or Clock RINEX format when specified accordingly under the
     7978    'Upload Corrections' panel. Note that in such a BNC application you must not pull more than one Broadcast Ephemeris
     7979    correction stream
     7980    even if a second stream would provide the same corrections from a backup caster.
     7981  </p>
     7982
     7983  <p>
     7984    Default is an empty 'Combine Corrections' table, meaning that you do not want BNC to combine orbit and clock
     7985    correction streams.
     7986  </p>
     7987
     7988  <p>
     7989  <h4 id="combiadd">2.14.1.1 Add Row, Delete - optional</h4>
     7990  </p>
     7991  <p>
     7992    Hit 'Add Row' button to add another row to the 'Combine Corrections' table or hit the 'Delete' button to delete the
     7993    highlighted row(s).
     7994  </p>
     7995
     7996  <p>
     7997  <h4 id="combimethod">2.14.1.2 Method - mandatory if 'Combine Corrections' table is populated</h4>
     7998  </p>
     7999  <p>
     8000    Select a clock combination method. Available options are 'Kalman Filter' and 'Single-Epoch'.
     8001    It is suggested to use the 'Kalman Filter' approach in case the combined stream of Broadcast Corrections
     8002    is intended for Precise Point Positioning.</p>
     8003
     8004  <p>
     8005  <h4 id="combimaxres">2.14.1.3 Maximal Clock Residuum - mandatory if 'Combine Corrections' table is populated</h4>
     8006  </p>
     8007  <p>
     8008    BNC combines all incoming clocks according to specified weights. Individual clock estimates that differ by more than
     8009    'Maximal Clk Residuum' meters from the average of all clocks will be ignored.
     8010    It is suggested to specify a value of about 0.2 m for the Kalman Filter combination approach and
     8011    a value of about 3.0 meters for the Single-Epoch combination approach.</p>
     8012  <p>
     8013    Default is a 'Maximal Clk Residuum' of 999.0 meters.</p>
     8014
     8015  <p>
     8016  <h4 id="combimaxdisp">2.14.1.4 Maximal Orbit Displacement - mandatory if 'Combine Corrections' table is populated</h4>
     8017  </p>
     8018  <p>
     8019    BNC builds mean values for all incoming orbit corrections per satellite.
     8020    Individual orbit corrections that differ by more than 'Maximal Orb Displacement' meters from the average
     8021    of all orbit corrections per satellite will be ignored. It is suggested to specify a value of about 0.5 m.</p>
     8022  <p>
     8023    Default is a 'Maximal Orb Displacement' of 2.0 meters.</p>
     8024
     8025  <p>
     8026  <h4 id="combismpl">2.14.1.5 Sampling - mandatory if 'Combine Corrections' table is populated</h4>
     8027  </p>
     8028  <p>
     8029    Specify a combination sampling interval. Orbit and clock corrections will be produced following that interval.
     8030    A value of 10 sec may be an appropriate choice.</p>
     8031
     8032  <p>
     8033  <h4 id="combisatsys">2.14.1.6 Satellite Systems - mandatory if 'Combine Corrections' table is populated</h4>
     8034  </p>
     8035  <p>
     8036    Specify for each satellite system whether the clock corrections shall be combined.</p>
     8037
     8038  <p>
     8039  <h4 id="upclk">2.15 Upload Corrections</h4>
     8040  </p>
     8041  <p>
     8042    BNC can upload streams carrying orbit and clock corrections to Broadcast Ephemeris in radial, along-track and
     8043    out-of-plane
     8044    components if they are
     8045  <ol type="a">
     8046    <li>either generated by BNC as a combination of several individual Broadcast Correction streams coming from an
     8047      number of
    52438048      real-time Analysis Centers (ACs), see section 'Combine Corrections',</li>
    5244   <li>or generated by BNC while the program receives an ASCII stream of precise satellite orbits and clocks via IP port
     8049    <li>or generated by BNC while the program receives an ASCII stream of precise satellite orbits and clocks via IP
     8050      port
    52458051      from a connected real-time GNSS engine. Such a stream would be expected in a plain ASCII format and the associated
    52468052      'decoder' string would have to be 'RTNET', see format description below. </li>
    5247 </ol>
    5248 The procedure taken by BNC to generate the orbit and clock corrections to Broadcast Ephemeris and upload them to an
    5249 Ntrip Broadcaster is as follow:
    5250 <ul>
    5251   <li>Continuously receive up-to-date Broadcast Ephemeris carrying approximate orbits and clocks for all satellites.
     8053  </ol>
     8054  The procedure taken by BNC to generate the orbit and clock corrections to Broadcast Ephemeris and upload them to an
     8055  Ntrip Broadcaster is as follow:
     8056  <ul>
     8057    <li>Continuously receive up-to-date Broadcast Ephemeris carrying approximate orbits and clocks for all satellites.
    52528058      Read new Broadcast Ephemeris immediately whenever they become available. This information may come via a stream of
    52538059      RTCM messages generated from another BNC instance.
    52548060      The following type of Broadcast navigation messages is used per individulal GNSS:
    52558061      <p>
    5256 <table>
    5257 <tr><td>Navigation              </td><td>Description                                                    </td><td>Constellation                  </td><td>RTCM </td></tr>
    5258 <tr><td>Message Type    </td><td>                                                                               </td><td>and Signal                     </td><td>Message Type</td></tr>
    5259 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    5260 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    5261 <tr><td>LNAV</td><td>                   GPS Legacy navigation message                   </td><td>GPS  L1 C/A            </td><td>1019</td></tr>
    5262 <tr><td>        </td><td>                       QZSS Legacy navigation message                  </td><td>QZSS L1 C/A or L1 C/B  </td><td>1044</td></tr>
    5263 <tr><td>        </td><td>                       NavIC Legacy navigation message                 </td><td>NavIC L5/S SPS         </td><td>1041</td></tr>
    5264 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    5265 <tr><td>FDMA</td><td>                   GLONASS Legacy FDMA navigation message  </td><td>GLO L1 C/A                             </td><td>1020</td></tr>
    5266 <tr><td>        </td><td>                       from M-satellites                                               </td><td>                                       </td><td>        </td></tr>
    5267 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    5268 <tr><td>INAV</td><td>                   Galileo Integrity       navigation message      </td><td>GAL E1, E5b            </td><td>1046</td></tr>
    5269 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    5270 <tr><td>D1      </td><td>                       BeiDou-2/3 MEO/IGSO navigation message  </td><td>BDS B1I, B2I, B3I      </td><td>1042</td></tr>
    5271 <tr><td>D2      </td><td>                       BeiDou-2/3 GEO      navigation message  </td><td>BDS B1I, B2I, B3I              </td><td>1042</td></tr>
    5272 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    5273 <tr><td>SBAS</td><td>                   SBAS      navigation message                    </td><td>SBAS L1                </td><td>1043</td></tr>
    5274 </table>
    5275   </li>
    5276 </ul>
    5277 Then, epoch by epoch:
    5278 <ul>
    5279   <li>Continuously receive the best available orbit and clock estimates for all satellites in
     8062      <table>
     8063        <tr>
     8064          <td>Navigation </td>
     8065          <td>Description </td>
     8066          <td>Constellation </td>
     8067          <td>RTCM </td>
     8068        </tr>
     8069        <tr>
     8070          <td>Message Type </td>
     8071          <td> </td>
     8072          <td>and Signal </td>
     8073          <td>Message Type</td>
     8074        </tr>
     8075        <tr>
     8076          <td> </td>
     8077          <td> </td>
     8078          <td> </td>
     8079          <td> </td>
     8080        </tr>
     8081        <tr>
     8082          <td> </td>
     8083          <td> </td>
     8084          <td> </td>
     8085          <td> </td>
     8086        </tr>
     8087        <tr>
     8088          <td>LNAV</td>
     8089          <td> GPS Legacy navigation message </td>
     8090          <td>GPS L1 C/A </td>
     8091          <td>1019</td>
     8092        </tr>
     8093        <tr>
     8094          <td> </td>
     8095          <td> QZSS Legacy navigation message </td>
     8096          <td>QZSS L1 C/A or L1 C/B </td>
     8097          <td>1044</td>
     8098        </tr>
     8099        <tr>
     8100          <td> </td>
     8101          <td> NavIC Legacy navigation message </td>
     8102          <td>NavIC L5/S SPS </td>
     8103          <td>1041</td>
     8104        </tr>
     8105        <tr>
     8106          <td> </td>
     8107          <td> </td>
     8108          <td> </td>
     8109          <td> </td>
     8110        </tr>
     8111        <tr>
     8112          <td>FDMA</td>
     8113          <td> GLONASS Legacy FDMA navigation message </td>
     8114          <td>GLO L1 C/A </td>
     8115          <td>1020</td>
     8116        </tr>
     8117        <tr>
     8118          <td> </td>
     8119          <td> from M-satellites </td>
     8120          <td> </td>
     8121          <td> </td>
     8122        </tr>
     8123        <tr>
     8124          <td> </td>
     8125          <td> </td>
     8126          <td> </td>
     8127          <td> </td>
     8128        </tr>
     8129        <tr>
     8130          <td>INAV</td>
     8131          <td> Galileo Integrity navigation message </td>
     8132          <td>GAL E1, E5b </td>
     8133          <td>1046</td>
     8134        </tr>
     8135        <tr>
     8136          <td> </td>
     8137          <td> </td>
     8138          <td> </td>
     8139          <td> </td>
     8140        </tr>
     8141        <tr>
     8142          <td>D1 </td>
     8143          <td> BeiDou-2/3 MEO/IGSO navigation message </td>
     8144          <td>BDS B1I, B2I, B3I </td>
     8145          <td>1042</td>
     8146        </tr>
     8147        <tr>
     8148          <td>D2 </td>
     8149          <td> BeiDou-2/3 GEO navigation message </td>
     8150          <td>BDS B1I, B2I, B3I </td>
     8151          <td>1042</td>
     8152        </tr>
     8153        <tr>
     8154          <td> </td>
     8155          <td> </td>
     8156          <td> </td>
     8157          <td> </td>
     8158        </tr>
     8159        <tr>
     8160          <td>SBAS</td>
     8161          <td> SBAS navigation message </td>
     8162          <td>SBAS L1 </td>
     8163          <td>1043</td>
     8164        </tr>
     8165      </table>
     8166    </li>
     8167  </ul>
     8168  Then, epoch by epoch:
     8169  <ul>
     8170    <li>Continuously receive the best available orbit and clock estimates for all satellites in
    52808171      XYZ Earth-Centered-Earth-Fixed IGS20 reference system.
    5281       Receive them every epoch in plain ASCII format as provided by a real-time GNSS engine such as RTNET or generate them
     8172      Receive them every epoch in plain ASCII format as provided by a real-time GNSS engine such as RTNET or generate
     8173      them
    52828174      following a combination approach. </li>
    5283   <li>Calculate XYZ coordinates from Broadcast Ephemeris orbits.</li>
    5284   <li>Calculate differences dX,dY,dZ between Broadcast Ephemeris and IGS20 orbits.</li>
    5285   <li>Transform these differences into radial, along-track and out-of-plane corrections to Broadcast Ephemeris orbits.</li>
    5286   <li>Calculate corrections to Broadcast Ephemeris clocks as differences between Broadcast Ephemeris clocks and IGS20 clocks.</li>
    5287   <li>Encode Broadcast Ephemeris orbit and clock corrections, biases and atmospheric parameters in 'State Space Reperesentation' messages'</li>
    5288   <li>Upload Broadcast Correction stream to Ntrip Broadcaster.</li>
    5289 </ul>
    5290 <p>
    5291 The orbit and clock corrections to Broadcast Ephemeris are usually referred to the latest set of broadcast messages,
    5292 which are generally also received in real-time by a GNSS rover. However, the use of the latest broadcast message is
    5293 delayed for a period of 60 seconds, measured from the time of complete reception of ephemeris and clock parameters,
    5294 in order to accommodate rover applications to obtain the same set of broadcast orbital and clock parameters.
    5295 This procedure is recommended in the RTCM SSR standard.
    5296 </p>
    5297 <p>
    5298 Because the stream delivery process may put a significant load on the communication link between BNC and the real-time GNSS engine,
    5299 it is recommended to run both programs on the same host. However, doing so is not compulsory.
    5300 </p>
    5301 <p>
    5302 The usual handling of BNC when uploading a stream with Broadcast Corrections is that you first specify Broadcast Ephemeris and
    5303 Broadcast Correction streams. You then specify an Ntrip Broadcaster for stream upload before you start the program.
    5304 </p>
    5305 
    5306 <p>
    5307 <b>'RTNET' Stream Format:</b> When uploading an SSR stream generated according to (b) then BNC requires
    5308 precise GNSS orbits and clocks in the IGS Earth-Centered-Earth-Fixed (ECEF) reference system and in a specific ASCII format
    5309 named 'RTNET' because the data may come from a real-time engine such as RTNET.
    5310 The sampling interval for data transmission should not exceed 15 sec.
    5311 Note that otherwise tools involved in IP streaming such as Ntrip Broadcasters or Ntrip Clients may respond with a timeout.
    5312 </p>
    5313 <p>
    5314 Below you find an example for the 'RTNET' ASCII format coming from a real-time GNSS engine.
    5315 Each epoch begins with an asterisk character followed by the time as year, month, day of month, hour, minute and second.
    5316 Subsequent records can provide
    5317 </p>
    5318 <p>
    5319 <ul>
    5320   <li>Satellite specific parameters </li>
    5321 </ul>
    5322 </p>
    5323 <p>
    5324 A set of parameters can be defined for each satellite as follows:
    5325 <pre>
     8175    <li>Calculate XYZ coordinates from Broadcast Ephemeris orbits.</li>
     8176    <li>Calculate differences dX,dY,dZ between Broadcast Ephemeris and IGS20 orbits.</li>
     8177    <li>Transform these differences into radial, along-track and out-of-plane corrections to Broadcast Ephemeris orbits.
     8178    </li>
     8179    <li>Calculate corrections to Broadcast Ephemeris clocks as differences between Broadcast Ephemeris clocks and IGS20
     8180      clocks.</li>
     8181    <li>Encode Broadcast Ephemeris orbit and clock corrections, biases and atmospheric parameters in 'State Space
     8182      Reperesentation' messages'</li>
     8183    <li>Upload Broadcast Correction stream to Ntrip Broadcaster.</li>
     8184  </ul>
     8185  <p>
     8186    The orbit and clock corrections to Broadcast Ephemeris are usually referred to the latest set of broadcast messages,
     8187    which are generally also received in real-time by a GNSS rover. However, the use of the latest broadcast message is
     8188    delayed for a period of 60 seconds, measured from the time of complete reception of ephemeris and clock parameters,
     8189    in order to accommodate rover applications to obtain the same set of broadcast orbital and clock parameters.
     8190    This procedure is recommended in the RTCM SSR standard.
     8191  </p>
     8192  <p>
     8193    Because the stream delivery process may put a significant load on the communication link between BNC and the
     8194    real-time GNSS engine,
     8195    it is recommended to run both programs on the same host. However, doing so is not compulsory.
     8196  </p>
     8197  <p>
     8198    The usual handling of BNC when uploading a stream with Broadcast Corrections is that you first specify Broadcast
     8199    Ephemeris and
     8200    Broadcast Correction streams. You then specify an Ntrip Broadcaster for stream upload before you start the program.
     8201  </p>
     8202
     8203  <p>
     8204    <b>'RTNET' Stream Format:</b> When uploading an SSR stream generated according to (b) then BNC requires
     8205    precise GNSS orbits and clocks in the IGS Earth-Centered-Earth-Fixed (ECEF) reference system and in a specific ASCII
     8206    format
     8207    named 'RTNET' because the data may come from a real-time engine such as RTNET.
     8208    The sampling interval for data transmission should not exceed 15 sec.
     8209    Note that otherwise tools involved in IP streaming such as Ntrip Broadcasters or Ntrip Clients may respond with a
     8210    timeout.
     8211  </p>
     8212  <p>
     8213    Below you find an example for the 'RTNET' ASCII format coming from a real-time GNSS engine.
     8214    Each epoch begins with an asterisk character followed by the time as year, month, day of month, hour, minute and
     8215    second.
     8216    Subsequent records can provide
     8217  </p>
     8218  <p>
     8219  <ul>
     8220    <li>Satellite specific parameters </li>
     8221  </ul>
     8222  </p>
     8223  <p>
     8224    A set of parameters can be defined for each satellite as follows:
     8225  <pre>
    53268226&lt;SatelliteID&gt; &lt;key&gt; &lt;numValues&gt; &lt;value1 value2 ...&gt;
    53278227              &lt;key&gt; &lt;numValues&gt; &lt;value1 value2 ...&gt; ... &nbsp;
    53288228</pre>
    5329 The following satellite specific keys and values are currently specified for that in BNC:<br><br>
    5330 <table>
    5331   <tr><td>&nbsp;<i>Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</i></td><td>&nbsp;&nbsp;<i>Values</i></td></tr>
    5332   <tr><td>&nbsp;APC      </td><td>&nbsp; &nbsp;Satellite Antenna Phase Center coordinate components in meters</td></tr>
    5333   <tr><td>&nbsp;Clk      </td><td>&nbsp; &nbsp;Satellite clock correction components in meters, meters per seconds and meters per sec&#178 (relativistic correction applied like in broadcast clocks)</td></tr>
    5334   <tr><td>&nbsp;ClkSig   </td><td>&nbsp; &nbsp;Standard deviation for satellite clock correction components in meters, meters per seconds and meters per sec&#178 (required for Clock RINEX file only) /td></tr>
    5335   <tr><td>&nbsp;Vel      </td><td>&nbsp; &nbsp;Satellite velocity components in meters per second</td></tr>
    5336   <tr><td>&nbsp;CoM      </td><td>&nbsp; &nbsp;Satellite Center of Mass coordinate components in meters</td></tr>
    5337   <tr><td>&nbsp;Ura      </td><td>&nbsp; &nbsp;User range accuracy value in meters</td></tr>
    5338   <tr><td>&nbsp;CodeBias </td><td>&nbsp; &nbsp;Satellite Code Biases in meters with two characters for frequency and tracking mode per bias as defined in RINEX 3/4 and preceded by total number of biases</td></tr>
    5339   <tr><td>&nbsp;PhaseBias</td><td>&nbsp; &nbsp;Satellite Phase Biases in meters with two characters for frequency and tracking mode per bias as defined in RINEX 3/4, preceded by total number of biases <br>&nbsp; &nbsp;and followed by Signal Integer Indicator, Signals Wilde-Lane Integer Indicator as well as Signal Discontinuity Counter</td></tr>
    5340   <tr><td>&nbsp;YawAngle </td><td>&nbsp; &nbsp;Satellite Yaw Angle in radian, restricted to be in [0, 2&#960], which shall be used for the computation of phase wind-up correction</td></tr>
    5341   <tr><td>&nbsp;YawRate  </td><td>&nbsp; &nbsp;Satellite Yaw Rate in radian per second which is the rate of Yaw Angle</td></tr>
    5342 </table>
    5343 <p>
    5344 <ul>
    5345   <li> Non-satellite specific parameters
    5346 </ul>
    5347 </p>
    5348 <p>
    5349 The following syntax will be used:
    5350 </p>
    5351 <pre>
     8229  The following satellite specific keys and values are currently specified for that in BNC:<br><br>
     8230  <table>
     8231    <tr>
     8232      <td>&nbsp;<i>Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</i></td>
     8233      <td>&nbsp;&nbsp;<i>Values</i></td>
     8234    </tr>
     8235    <tr>
     8236      <td>&nbsp;APC </td>
     8237      <td>&nbsp; &nbsp;Satellite Antenna Phase Center coordinate components in meters</td>
     8238    </tr>
     8239    <tr>
     8240      <td>&nbsp;Clk </td>
     8241      <td>&nbsp; &nbsp;Satellite clock correction components in meters, meters per seconds and meters per sec&#178
     8242        (relativistic correction applied like in broadcast clocks)</td>
     8243    </tr>
     8244    <tr>
     8245      <td>&nbsp;ClkSig </td>
     8246      <td>&nbsp; &nbsp;Standard deviation for satellite clock correction components in meters, meters per seconds and
     8247        meters per sec&#178 (required for Clock RINEX file only) /td>
     8248    </tr>
     8249    <tr>
     8250      <td>&nbsp;Vel </td>
     8251      <td>&nbsp; &nbsp;Satellite velocity components in meters per second</td>
     8252    </tr>
     8253    <tr>
     8254      <td>&nbsp;CoM </td>
     8255      <td>&nbsp; &nbsp;Satellite Center of Mass coordinate components in meters</td>
     8256    </tr>
     8257    <tr>
     8258      <td>&nbsp;Ura </td>
     8259      <td>&nbsp; &nbsp;User range accuracy value in meters</td>
     8260    </tr>
     8261    <tr>
     8262      <td>&nbsp;CodeBias </td>
     8263      <td>&nbsp; &nbsp;Satellite Code Biases in meters with two characters for frequency and tracking mode per bias as
     8264        defined in RINEX 3/4 and preceded by total number of biases</td>
     8265    </tr>
     8266    <tr>
     8267      <td>&nbsp;PhaseBias</td>
     8268      <td>&nbsp; &nbsp;Satellite Phase Biases in meters with two characters for frequency and tracking mode per bias as
     8269        defined in RINEX 3/4, preceded by total number of biases <br>&nbsp; &nbsp;and followed by Signal Integer
     8270        Indicator, Signals Wilde-Lane Integer Indicator as well as Signal Discontinuity Counter</td>
     8271    </tr>
     8272    <tr>
     8273      <td>&nbsp;YawAngle </td>
     8274      <td>&nbsp; &nbsp;Satellite Yaw Angle in radian, restricted to be in [0, 2&#960], which shall be used for the
     8275        computation of phase wind-up correction</td>
     8276    </tr>
     8277    <tr>
     8278      <td>&nbsp;YawRate </td>
     8279      <td>&nbsp; &nbsp;Satellite Yaw Rate in radian per second which is the rate of Yaw Angle</td>
     8280    </tr>
     8281  </table>
     8282  <p>
     8283  <ul>
     8284    <li> Non-satellite specific parameters
     8285  </ul>
     8286  </p>
     8287  <p>
     8288    The following syntax will be used:
     8289  </p>
     8290  <pre>
    53528291&lt;key&gt; &lt;value1 value2 ...&gt;
    53538292&nbsp;
    53548293</pre>
    5355 <p>
    5356 </ul>
    5357 The following non-satellite specific keys and values are currently specified in BNC:<br><br>
    5358 <table>
    5359   <tr><td>&nbsp;<i>Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</i></td><td><i>&nbsp; &nbsp;Values</i></td></tr>
    5360   <tr><td>&nbsp;IND </td><td>&nbsp; &nbsp;Stands for phase bias information and is followed by Dispersive Bias Consistency Indicator and MW Consistency Indicator</td></tr>
    5361   <tr><td>&nbsp;VTEC</td><td>&nbsp; &nbsp;Stands for Vertical TEC information and is followed by Update Interval and Number of Ionospheric Layers</td></tr>
    5362 </table>
    5363 <br>
    5364 If key VTEC is specified, a data set for each layer contains within its first line the Layers Number,
    5365 followed by Maximum Degree, Maximum Order and Layer Height. After that, Cosine and Sinus Spherical Harmonic Coefficients
    5366 will follow, one block each.
    5367 </p>
    5368 <p>
    5369 Because each keyword is associated to a certain number of values, an 'old' BNC could be operated with an incoming 'new'
    5370 RTNET stream containing so far unknown keys - they would just be skipped in BNC.
    5371 </p>
    5372 
    5373 <p>
    5374 Example for 'RTNET' stream content and format:
    5375 </p>
    5376 <p>
    5377 <pre><p style="font-family:Monospace">
     8294  <p>
     8295    </ul>
     8296    The following non-satellite specific keys and values are currently specified in BNC:<br><br>
     8297  <table>
     8298    <tr>
     8299      <td>&nbsp;<i>Key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</i></td>
     8300      <td><i>&nbsp; &nbsp;Values</i></td>
     8301    </tr>
     8302    <tr>
     8303      <td>&nbsp;IND </td>
     8304      <td>&nbsp; &nbsp;Stands for phase bias information and is followed by Dispersive Bias Consistency Indicator and MW
     8305        Consistency Indicator</td>
     8306    </tr>
     8307    <tr>
     8308      <td>&nbsp;VTEC</td>
     8309      <td>&nbsp; &nbsp;Stands for Vertical TEC information and is followed by Update Interval and Number of Ionospheric
     8310        Layers</td>
     8311    </tr>
     8312  </table>
     8313  <br>
     8314  If key VTEC is specified, a data set for each layer contains within its first line the Layers Number,
     8315  followed by Maximum Degree, Maximum Order and Layer Height. After that, Cosine and Sinus Spherical Harmonic
     8316  Coefficients
     8317  will follow, one block each.
     8318  </p>
     8319  <p>
     8320    Because each keyword is associated to a certain number of values, an 'old' BNC could be operated with an incoming
     8321    'new'
     8322    RTNET stream containing so far unknown keys - they would just be skipped in BNC.
     8323  </p>
     8324
     8325  <p>
     8326    Example for 'RTNET' stream content and format:
     8327  </p>
     8328  <p>
     8329  <pre><p style="font-family:Monospace">
    53788330*  2022 11 25 22 04 05.000
    53798331G01 Clk 2     73898.6410 -0.00164097340 ClkSig 2   0.0024  0.00021199856 CoM 3  -3022799.7396 -14423300.4562 -22402573.0244 Vel 3   2691.3388   -619.5739     69.3300 APC 3  -3022799.9547 -14423299.6874 -22402571.6928 YawAngle 1 -2.756 CodeBias 3 1C   -2.6653 1W   -3.0640 2W   -5.0462
     
    53948346</p></pre>
    53958347
    5396 <p>
    5397 Note that the end of an epoch in the incoming stream is indicated by an ASCII string 'EOE' (for End Of Epoch).
    5398 </p>
    5399 <p>
    5400 The following screenshot shows the encoding and uploading of several streams using precise orbits and clocks coming from a real-time network engine
    5401 in 'RTNET' ASCII format. The streams are uploaded to Ntrip Broadcaster 'products.igs-ip.net'. They are referred to APC or CoM and IGS20 or DREF91.
    5402 Required Broadcast Ephemeris are received via stream 'BCEP00BKG0'.
    5403 </p>
    5404 <p><img src="IMG/Figure29.png"width=1000/></p>
    5405 <p>Figure 29: BNC producing Broadcast Corrections from incoming precise orbits and clocks and uploading them to an Ntrip Broadcaster</p>
    5406 
    5407 <p><h4 id="upadd">2.15.1 Add, Delete Row - optional</h4></p>
    5408 <p>
    5409 Hit 'Add Row' button to add a row to the stream 'Upload Table' or hit the 'Delete' button to delete the highlighted row(s).
    5410 Having an empty 'Upload Table' is default and means that you do not want BNC to upload orbit and clock correction streams
    5411 to any Ntrip Broadcaster.
    5412 </p>
    5413 
    5414 <p><h4 id="uphost">2.15.2 Host, Port, Mountpoint, Ntrip Version, User and Password - optional</h4></p>
    5415 <p>
    5416 Specify the domain name or IP number of an Ntrip Broadcaster for uploading the stream. Furthermore, specify the caster's
    5417 listening IP port and an upload mountpoint. Select the Ntrip Version that shall be used for data upload and, depending on this,
    5418 an upload user (Ntrip Version 2 only) and an upload password.
    5419 </p>
    5420 <p>
    5421 Note that Ntrip Broadcasters are often configured to provide access through more than one port, usually ports 80 and 2101.
    5422 If you experience communication problems on port 80, you should try to use the alternative port(s).
    5423 </p>
    5424 <p>
    5425 BNC uploads a stream to the Ntrip Broadcaster by referring to a dedicated mountpoint that has been set by its operator.
    5426 Specify the mountpoint based on the details you received for your stream from the operator.
    5427 It is often a 9-character ID (capital letters) plus an integer number.
    5428 </p>
    5429 <p>
    5430 For stream upload the Ntrip Version can be chosen. An Ntrip version 1 upload is protected through an upload 'Password' only.
    5431 For an Ntrip Version 2 upload an upload 'User' is required in addition. Enter user and password you received from the
    5432 Ntrip Broadcaster operator along with the mountpoint(s).
    5433 </p>
    5434 <p>
    5435 If 'Host', 'Port', 'Mountpoint', 'Ntrip' Version, 'User' and 'Password' are set, the stream will be encoded into 'State Space Representation' (SSR)
    5436 messages and uploaded to the specified broadcaster following the specified Ntrip transport protocol options.
    5437 </p>
    5438 
    5439 <p><h4 id="upsystem">2.15.3 System - mandatory if 'Host' is set</h4></p>
    5440 <p>
    5441 BNC allows configuring several Broadcast Correction streams for upload, so that they may refer to different reference systems
    5442 and different Ntrip Broadcasters. You may use this functionality for parallel support of a backup Ntrip Broadcaster or
    5443 for simultaneous support of various regional reference systems. Available options for transforming orbit and clock corrections
    5444 to specific target reference systems are
    5445 </p>
    5446 <table>
    5447   <tr><td>&nbsp;IGS20:     </td><td>&nbsp; &nbsp;Stands for the GNSS-based IGS realization of the International Terrestrial Reference Frame 2020 (ITRF2020)</td></tr>
    5448   <tr><td>&nbsp;ETRF2000:  </td><td>&nbsp; &nbsp;Stands for the European Terrestrial Reference Frame 2000 adopted by EUREF</td></tr>
    5449   <tr><td>&nbsp;GDA2020:   </td><td>&nbsp; &nbsp;Stands for the Geodetic Datum Australia 2020 as adopted for Australia</td></tr>
    5450   <tr><td>&nbsp;SIRGAS2000:</td><td>&nbsp; &nbsp;Stands for the Geodetic Datum adopted for Brazil</td></tr>
    5451   <tr><td>&nbsp;DREF91:    </td><td>&nbsp; &nbsp;Stands for the Geodetic Datum adopted for Germany</td></tr>
    5452   <tr><td>&nbsp;Custom:    </td><td>&nbsp; &nbsp;Allows a transformation of Broadcast Corrections from the IGS20 system to any other system through specifying
    5453                               up to 14 Helmert Transformation Parameters </td></tr>
    5454 </table>
    5455 With each target reference system a respective Service CRS and RTCM CRS message is generated and uploaded.
    5456 <p>
    5457 Because a mathematically strict transformation to a regional reference system is not possible on the BNC server side when a scale factor is involved,
    5458 the program follows an approximate solution. While <u>orbits</u> are transformed in full accordance with given equations,
    5459 a transformed <u>clock</u> is derived through applying correction term
    5460 </p>
    5461 <pre>
     8348  <p>
     8349    Note that the end of an epoch in the incoming stream is indicated by an ASCII string 'EOE' (for End Of Epoch).
     8350  </p>
     8351  <p>
     8352    The following screenshot shows the encoding and uploading of several streams using precise orbits and clocks coming
     8353    from a real-time network engine
     8354    in 'RTNET' ASCII format. The streams are uploaded to Ntrip Broadcaster 'products.igs-ip.net'. They are referred to
     8355    APC or CoM and IGS20 or DREF91.
     8356    Required Broadcast Ephemeris are received via stream 'BCEP00BKG0'.
     8357  </p>
     8358  <p><img src="IMG/Figure29.png" width=1000 /></p>
     8359  <p>Figure 29: BNC producing Broadcast Corrections from incoming precise orbits and clocks and uploading them to an
     8360    Ntrip Broadcaster</p>
     8361
     8362  <p>
     8363  <h4 id="upadd">2.15.1 Add, Delete Row - optional</h4>
     8364  </p>
     8365  <p>
     8366    Hit 'Add Row' button to add a row to the stream 'Upload Table' or hit the 'Delete' button to delete the highlighted
     8367    row(s).
     8368    Having an empty 'Upload Table' is default and means that you do not want BNC to upload orbit and clock correction
     8369    streams
     8370    to any Ntrip Broadcaster.
     8371  </p>
     8372
     8373  <p>
     8374  <h4 id="uphost">2.15.2 Host, Port, Mountpoint, Ntrip Version, User and Password - optional</h4>
     8375  </p>
     8376  <p>
     8377    Specify the domain name or IP number of an Ntrip Broadcaster for uploading the stream. Furthermore, specify the
     8378    caster's
     8379    listening IP port and an upload mountpoint. Select the Ntrip Version that shall be used for data upload and,
     8380    depending on this,
     8381    an upload user (Ntrip Version 2 only) and an upload password.
     8382  </p>
     8383  <p>
     8384    Note that Ntrip Broadcasters are often configured to provide access through more than one port, usually ports 80 and
     8385    2101.
     8386    If you experience communication problems on port 80, you should try to use the alternative port(s).
     8387  </p>
     8388  <p>
     8389    BNC uploads a stream to the Ntrip Broadcaster by referring to a dedicated mountpoint that has been set by its
     8390    operator.
     8391    Specify the mountpoint based on the details you received for your stream from the operator.
     8392    It is often a 9-character ID (capital letters) plus an integer number.
     8393  </p>
     8394  <p>
     8395    For stream upload the Ntrip Version can be chosen. An Ntrip version 1 upload is protected through an upload
     8396    'Password' only.
     8397    For an Ntrip Version 2 upload an upload 'User' is required in addition. Enter user and password you received from
     8398    the
     8399    Ntrip Broadcaster operator along with the mountpoint(s).
     8400  </p>
     8401  <p>
     8402    If 'Host', 'Port', 'Mountpoint', 'Ntrip' Version, 'User' and 'Password' are set, the stream will be encoded into
     8403    'State Space Representation' (SSR)
     8404    messages and uploaded to the specified broadcaster following the specified Ntrip transport protocol options.
     8405  </p>
     8406
     8407  <p>
     8408  <h4 id="upsystem">2.15.3 System - mandatory if 'Host' is set</h4>
     8409  </p>
     8410  <p>
     8411    BNC allows configuring several Broadcast Correction streams for upload, so that they may refer to different
     8412    reference systems
     8413    and different Ntrip Broadcasters. You may use this functionality for parallel support of a backup Ntrip Broadcaster
     8414    or
     8415    for simultaneous support of various regional reference systems. Available options for transforming orbit and clock
     8416    corrections
     8417    to specific target reference systems are
     8418  </p>
     8419  <table>
     8420    <tr>
     8421      <td>&nbsp;IGS20: </td>
     8422      <td>&nbsp; &nbsp;Stands for the GNSS-based IGS realization of the International Terrestrial Reference Frame 2020
     8423        (ITRF2020)</td>
     8424    </tr>
     8425    <tr>
     8426      <td>&nbsp;ETRF2000: </td>
     8427      <td>&nbsp; &nbsp;Stands for the European Terrestrial Reference Frame 2000 adopted by EUREF</td>
     8428    </tr>
     8429    <tr>
     8430      <td>&nbsp;GDA2020: </td>
     8431      <td>&nbsp; &nbsp;Stands for the Geodetic Datum Australia 2020 as adopted for Australia</td>
     8432    </tr>
     8433    <tr>
     8434      <td>&nbsp;SIRGAS2000:</td>
     8435      <td>&nbsp; &nbsp;Stands for the Geodetic Datum adopted for Brazil</td>
     8436    </tr>
     8437    <tr>
     8438      <td>&nbsp;DREF91: </td>
     8439      <td>&nbsp; &nbsp;Stands for the Geodetic Datum adopted for Germany</td>
     8440    </tr>
     8441    <tr>
     8442      <td>&nbsp;Custom: </td>
     8443      <td>&nbsp; &nbsp;Allows a transformation of Broadcast Corrections from the IGS20 system to any other system
     8444        through specifying
     8445        up to 14 Helmert Transformation Parameters </td>
     8446    </tr>
     8447  </table>
     8448  With each target reference system a respective Service CRS and RTCM CRS message is generated and uploaded.
     8449  <p>
     8450    Because a mathematically strict transformation to a regional reference system is not possible on the BNC server side
     8451    when a scale factor is involved,
     8452    the program follows an approximate solution. While <u>orbits</u> are transformed in full accordance with given
     8453    equations,
     8454    a transformed <u>clock</u> is derived through applying correction term
     8455  </p>
     8456  <pre>
    54628457   dC = (s - 1) / s * &rho; / c
    54638458</pre>
    5464 <p>
    5465 where s is the transformation scale, c is the speed of light, and &rho;
    5466 are the topocentric distance between an (approximate) center of the transformation's validity area and the satellite.
    5467 </p>
    5468 <p>
    5469 From a theoretical point of view, this kind of approximation leads to inconsistencies between orbits and clocks
    5470 and is therefore not allowed (Huisman et al. 2012). However, it has been proved that resulting errors in Precise Point Positioning
    5471 are on millimeter level for horizontal components and below one centimeter for height components.
    5472 </p>
    5473 <p>
    5474 <b>IGS20:</b> As the orbits and clocks coming from real-time GNSS engine are expected to be in the IGS20 system,
    5475 no transformation is carried out if this option is selected.
    5476 </p>
    5477 <p>
    5478 As long as no updated transformation parameters are available regarding IGS20,
    5479 a transformation from 'ITRF2020-&gt;ITRF2014' is done in a fist step using the following
    5480 14 Helmert Transformation Parameters, which are available at
    5481 <a href="https://itrf.ign.fr/en/solutions/transformations" target="_blank">https://itrf.ign.fr/en/solutions/transformations</a>
    5482 </p>
    5483 <pre><p style="font-family:Monospace">
     8459  <p>
     8460    where s is the transformation scale, c is the speed of light, and &rho;
     8461    are the topocentric distance between an (approximate) center of the transformation's validity area and the
     8462    satellite.
     8463  </p>
     8464  <p>
     8465    From a theoretical point of view, this kind of approximation leads to inconsistencies between orbits and clocks
     8466    and is therefore not allowed (Huisman et al. 2012). However, it has been proved that resulting errors in Precise
     8467    Point Positioning
     8468    are on millimeter level for horizontal components and below one centimeter for height components.
     8469  </p>
     8470  <p>
     8471    <b>IGS20:</b> As the orbits and clocks coming from real-time GNSS engine are expected to be in the IGS20 system,
     8472    no transformation is carried out if this option is selected.
     8473  </p>
     8474  <p>
     8475    As long as no updated transformation parameters are available regarding IGS20,
     8476    a transformation from 'ITRF2020-&gt;ITRF2014' is done in a fist step using the following
     8477    14 Helmert Transformation Parameters, which are available at
     8478    <a href="https://itrf.ign.fr/en/solutions/transformations"
     8479      target="_blank">https://itrf.ign.fr/en/solutions/transformations</a>
     8480  </p>
     8481  <pre><p style="font-family:Monospace">
    54848482   dx  = -0.0014;
    54858483   dy  = -0.0009;
     
    55038501   t0  =  2015.0;
    55048502</p></pre>
    5505 where
    5506 <pre>
     8503  where
     8504  <pre>
    55078505<table>
    55088506  <tr><td>&nbsp;dx  </td><td>&nbsp; &nbsp;Translation in X at epoch t0 [m]</td></tr>
     
    55208518</table>
    55218519</pre>
    5522 <p>
    5523 <b>ETRF2000:</b> The transformation Parameters from ITRF2014 to ETRF2000 are taken from the EUREF Technical Note 1
    5524 'EUREF Technical Note 1: Relationship and Transformation between
    5525 the International and the European Terrestrial Reference Systems', Zuheir Altamimi, June 28, 2018:
    5526 <a href="http://etrs89.ensg.ign.fr/pub/EUREF-TN-1.pdf" target="_blank">http://etrs89.ensg.ign.fr/pub/EUREF-TN-1.pdf</a>:
    5527 </p>
    5528 <pre><p style="font-family:Monospace">
     8520  <p>
     8521    <b>ETRF2000:</b> The transformation Parameters from ITRF2014 to ETRF2000 are taken from the EUREF Technical Note 1
     8522    'EUREF Technical Note 1: Relationship and Transformation between
     8523    the International and the European Terrestrial Reference Systems', Zuheir Altamimi, June 28, 2018:
     8524    <a href="http://etrs89.ensg.ign.fr/pub/EUREF-TN-1.pdf"
     8525      target="_blank">http://etrs89.ensg.ign.fr/pub/EUREF-TN-1.pdf</a>:
     8526  </p>
     8527  <pre><p style="font-family:Monospace">
    55298528    dx  =  0.0547;
    55308529    dy  =  0.0522;
     
    55488547    t0  =  2010.0;
    55498548</p></pre>
    5550 <p>
    5551 <b>GDA2020:</b> The parameters for the transformation 'ITRF2014-&gt;GDA2020' were provided by Ryan Ruddick (Geoscience Australia):
    5552 via personal communication:
    5553 </p>
    5554 <pre><p style="font-family:Monospace">
     8549  <p>
     8550    <b>GDA2020:</b> The parameters for the transformation 'ITRF2014-&gt;GDA2020' were provided by Ryan Ruddick
     8551    (Geoscience Australia):
     8552    via personal communication:
     8553  </p>
     8554  <pre><p style="font-family:Monospace">
    55558555    dx  = 0.0;
    55568556    dy  = 0.0;
     
    55748574    t0  = 2020.0;
    55758575</p></pre>
    5576 <p>
    5577 <b>SIRGAS2000:</b> The parameters for the transformation 'IGb14-&gt;SIRGAS2000' were provided from Sonia Costa, BRA via personal communication:</u>.
    5578 </p>
    5579 <pre><p style="font-family:Monospace">
     8576  <p>
     8577    <b>SIRGAS2000:</b> The parameters for the transformation 'IGb14-&gt;SIRGAS2000' were provided from Sonia Costa, BRA
     8578    via personal communication:</u>.
     8579  </p>
     8580  <pre><p style="font-family:Monospace">
    55808581    dx  = -0.0027;
    55818582    dy  = -0.0025;
     
    55998600    t0  =  2000.0;
    56008601</p></pre>
    5601 <p>
    5602 <b>DREF91:</b> The parameters for the transformation 'IGb14-&gt;DREF91' were provided from Peter Franke, BKG, Germany
    5603   via personal communication:
    5604 </p>
    5605 <pre><p style="font-family:Monospace">
     8602  <p>
     8603    <b>DREF91:</b> The parameters for the transformation 'IGb14-&gt;DREF91' were provided from Peter Franke, BKG,
     8604    Germany
     8605    via personal communication:
     8606  </p>
     8607  <pre><p style="font-family:Monospace">
    56068608    dx  =  0.0547;
    56078609    dy  =  0.0522;
     
    56268628    t0  =  2010.0;
    56278629</p></pre>
    5628 <p>
    5629 <b>Custom:</b> Feel free to specify your own 14 Helmert Transformation parameters for transformations from IGS20/ITRF2020 into your own target system.
    5630 </p>
    5631 <p><img src="IMG/Figure30.png"width=700/></p>
    5632 <p>Figure 30: Setting BNC's Custom Transformation Parameters window</p>
    5633 
    5634 <p><h4 id="upformat">2.15.4 Format - mandatory if 'Host' is set</h4></p>
    5635 <p>
    5636 BNC may upload the Broadcast Correction streams using different Formats. Supported are:
    5637 <p>
    5638 <ul>
    5639   <li>IGS-SSR which was developed within the IGS Real-Time Working Group (<a href="https://files.igs.org/pub/data/format/igs_ssr_v1.pdf" target="_blank">https://files.igs.org/pub/data/format/igs_ssr_v1.pdf</a>), and</li>
    5640   <li>RTCM-SSR which stands for the standardized and proposed SSR Messages which are developed within the RTCM SC-104 Working Group 'State Space Representation' (<a href="https://rtcm.myshopify.com/collections/differential-global-navigation-satellite-dgnss-standards" target="_blank">https://rtcm.myshopify.com/collections/differential-global-navigation-satellite-dgnss-standards</a>).</li>
    5641 </ul>
    5642 </p>
    5643 <p><h4 id="upcom">2.15.5 Center of Mass - optional</h4></p>
    5644 <p>
    5645 BNC allows to either refer Broadcast Corrections to the satellite's Center of Mass (CoM) or to the satellite's Antenna Phase Center (APC).
    5646 By default, corrections refer to APC. Tick 'Center of Mass' to refer uploaded corrections to CoM.
    5647 </p>
    5648 <p><h4 id="upsp3">2.15.6  SP3 File - optional</h4></p>
    5649 <p>
    5650 Specify a path for saving the generated orbit corrections as SP3 orbit files
    5651 (<a href="http://epncb.eu/ftp/data/format/sp3d.pdf" target="_blank">http://epncb.eu/ftp/data/format/sp3d.pdf</a>).
    5652 The following is a path example for a Linux system:
    5653 <pre>
     8630  <p>
     8631    <b>Custom:</b> Feel free to specify your own 14 Helmert Transformation parameters for transformations from
     8632    IGS20/ITRF2020 into your own target system.
     8633  </p>
     8634  <p><img src="IMG/Figure30.png" width=700 /></p>
     8635  <p>Figure 30: Setting BNC's Custom Transformation Parameters window</p>
     8636
     8637  <p>
     8638  <h4 id="upformat">2.15.4 Format - mandatory if 'Host' is set</h4>
     8639  </p>
     8640  <p>
     8641    BNC may upload the Broadcast Correction streams using different Formats. Supported are:
     8642  <p>
     8643  <ul>
     8644    <li>IGS-SSR which was developed within the IGS Real-Time Working Group (<a
     8645        href="https://files.igs.org/pub/data/format/igs_ssr_v1.pdf"
     8646        target="_blank">https://files.igs.org/pub/data/format/igs_ssr_v1.pdf</a>), and</li>
     8647    <li>RTCM-SSR which stands for the standardized and proposed SSR Messages which are developed within the RTCM SC-104
     8648      Working Group 'State Space Representation' (<a
     8649        href="https://rtcm.myshopify.com/collections/differential-global-navigation-satellite-dgnss-standards"
     8650        target="_blank">https://rtcm.myshopify.com/collections/differential-global-navigation-satellite-dgnss-standards</a>).
     8651    </li>
     8652  </ul>
     8653  </p>
     8654  <p>
     8655  <h4 id="upcom">2.15.5 Center of Mass - optional</h4>
     8656  </p>
     8657  <p>
     8658    BNC allows to either refer Broadcast Corrections to the satellite's Center of Mass (CoM) or to the satellite's
     8659    Antenna Phase Center (APC).
     8660    By default, corrections refer to APC. Tick 'Center of Mass' to refer uploaded corrections to CoM.
     8661  </p>
     8662  <p>
     8663  <h4 id="upsp3">2.15.6 SP3 File - optional</h4>
     8664  </p>
     8665  <p>
     8666    Specify a path for saving the generated orbit corrections as SP3 orbit files
     8667    (<a href="http://epncb.eu/ftp/data/format/sp3d.pdf" target="_blank">http://epncb.eu/ftp/data/format/sp3d.pdf</a>).
     8668    The following is a path example for a Linux system:
     8669  <pre>
    56548670   /home/user/BKG0MGXRTS${V3PROD}.SP3
    56558671</pre>
    5656 If the specified directory does not exist, BNC will not create SP3 orbit files.
    5657 </p>
    5658 <p>
    5659 For file naming, BNC follows the new format convention according to IGS products
    5660 <a href="https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf" target="_blank">https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf</a>:
    5661 </p>
    5662 <pre>
     8672  If the specified directory does not exist, BNC will not create SP3 orbit files.
     8673  </p>
     8674  <p>
     8675    For file naming, BNC follows the new format convention according to IGS products
     8676    <a href="https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf"
     8677      target="_blank">https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf</a>:
     8678  </p>
     8679  <pre>
    56638680  AAAVPPPTTT_YYYYDDDHHMM_LEN_SMP_CNT.FMT
    56648681</pre>
    5665 With
    5666 <p>
    5667 <table>
    5668   <tr><td>&nbsp; AAA        </td><td>&nbsp; &nbsp; Analysis Center abbrevaition, here BKG</td></tr>
    5669   <tr><td>&nbsp; V          </td><td>&nbsp; &nbsp; Version / Solution identifier (0-9), here 0</td></tr>
    5670   <tr><td>&nbsp; PPP        </td><td>&nbsp; &nbsp; Project/Campaign identification, here Multi-GNSS product (MGX)</td></tr>
    5671   <tr><td>&nbsp; TTT        </td><td>&nbsp; &nbsp; Solution Type, here real-time streamed product (RTS)</td></tr>
    5672   <tr><td>&nbsp; YYYYDOYHHMM</td><td>&nbsp; &nbsp; String representing beginning time of nominal data interval</td></tr>
    5673   <tr><td>&nbsp; LEN        </td><td>&nbsp; &nbsp; Intended product period of the file </td></tr>
    5674   <tr><td>&nbsp; SMP        </td><td>&nbsp; &nbsp; Data sampling rate</td></tr>
    5675   <tr><td>&nbsp; CNT        </td><td>&nbsp; &nbsp; Content type ORB</td></tr>
    5676   <tr><td>&nbsp; FMT        </td><td>&nbsp; &nbsp; File format, here SP3</td></tr>
    5677 </table>
    5678 </p>
    5679 <p>
    5680 Note that '${V3PROD}' produces the part 'YYYYDDDHHMM_LEN_SMP_CNT' of the filename according the 'Upload Corrections' setup.
    5681 </p>
    5682 A result for examle is:
    5683 <pre>
     8682  With
     8683  <p>
     8684  <table>
     8685    <tr>
     8686      <td>&nbsp; AAA </td>
     8687      <td>&nbsp; &nbsp; Analysis Center abbrevaition, here BKG</td>
     8688    </tr>
     8689    <tr>
     8690      <td>&nbsp; V </td>
     8691      <td>&nbsp; &nbsp; Version / Solution identifier (0-9), here 0</td>
     8692    </tr>
     8693    <tr>
     8694      <td>&nbsp; PPP </td>
     8695      <td>&nbsp; &nbsp; Project/Campaign identification, here Multi-GNSS product (MGX)</td>
     8696    </tr>
     8697    <tr>
     8698      <td>&nbsp; TTT </td>
     8699      <td>&nbsp; &nbsp; Solution Type, here real-time streamed product (RTS)</td>
     8700    </tr>
     8701    <tr>
     8702      <td>&nbsp; YYYYDOYHHMM</td>
     8703      <td>&nbsp; &nbsp; String representing beginning time of nominal data interval</td>
     8704    </tr>
     8705    <tr>
     8706      <td>&nbsp; LEN </td>
     8707      <td>&nbsp; &nbsp; Intended product period of the file </td>
     8708    </tr>
     8709    <tr>
     8710      <td>&nbsp; SMP </td>
     8711      <td>&nbsp; &nbsp; Data sampling rate</td>
     8712    </tr>
     8713    <tr>
     8714      <td>&nbsp; CNT </td>
     8715      <td>&nbsp; &nbsp; Content type ORB</td>
     8716    </tr>
     8717    <tr>
     8718      <td>&nbsp; FMT </td>
     8719      <td>&nbsp; &nbsp; File format, here SP3</td>
     8720    </tr>
     8721  </table>
     8722  </p>
     8723  <p>
     8724    Note that '${V3PROD}' produces the part 'YYYYDDDHHMM_LEN_SMP_CNT' of the filename according the 'Upload Corrections'
     8725    setup.
     8726  </p>
     8727  A result for examle is:
     8728  <pre>
    56848729  BKG0MGXRTS_20223330000_01D_01M_ORB.SP3
    56858730</pre>
    5686 <p>
    5687 Default is an empty option field, meaning that you do not want BNC to save the uploaded stream content in daily SP3 files.
    5688 </p>
    5689 <p>
    5690 As a SP3 file content should be referred to the satellites' Center of Mass (CoM) while Broadcast Corrections are referred to the satellites' APC,
    5691 an offset has to be applied which is available from an IGS ANTEX file (see option 'ANTEX File' below).
    5692 Hence, you should specify the 'ANTEX File' path there if you want to save the stream content in SP3 format.
    5693 If you do not specify an 'ANTEX File' path, the SP3 file content will be referred to the satellites APCs.
    5694 </p>
    5695 <p>
    5696 For GLONASS satellites, that APC/CoM offset is rotated into the satellite-fixed frame using the satellite's
    5697 yaw attitude. BNC assumes the nominal Sun-pointing yaw-steering law used for the other GNSS systems, except
    5698 close to the orbit noon and midnight points when the Sun's elevation above the orbital plane (the 'beta'
    5699 angle) is small. There, GLONASS-M satellites are known to stop tracking that law and instead hold the yaw
    5700 angle fixed, following the model described in Dilssner, Springer, Flohrer, Dow (2011), 'The GLONASS-M
    5701 satellite yaw-attitude model', Advances in Space Research 47(1), 160-171. Without that correction, the
    5702 converted GLONASS CoM position can be off by several decimeters in the along-track and cross-track
    5703 components in that situation. The maximum yaw rate used to decide when GLONASS-M can no longer follow the
    5704 nominal law (0.25 deg/s) is taken from the literature and not calibrated against any specific satellite, so
    5705 results should be checked against independently known attitude or orbit information where high accuracy on
    5706 GLONASS is required.
    5707 </p>
    5708 <p>
    5709  Note that clocks in the SP3 orbit files are not corrected for the conventional periodic relativistic effect.
    5710 </p>
    5711 <p>
    5712 In case the 'Combine Corrections' table contains only one Broadcast Correction stream, BNC will merge that stream with Broadcast Ephemeris
    5713 to save results in files specified here through SP3 and/or Clock RINEX file path. In such a case you have to define only the SP3 and
    5714 Clock RINEX file path and no further option in the 'Upload Corrections' table.
    5715 </p>
    5716 <p>
    5717 Note that BNC outputs a complete list of SP3 'Epoch Header Records', even if no 'Position and Clock Records' are available for certain epochs
    5718 because of stream outages. Note further that the 'Number of Epochs' in the first SP3 header record may not be correct because that number
    5719 is not available when the file is created. Depending on your processing software (e.g. Bernese GNSS Software, BSW) it could therefore be necessary
    5720 to correct an incorrect 'Number of Epochs' in the file before you use it in post processing.
    5721 </p>
    5722 
    5723 <p><h4 id="uprinex">2.15.7 RNX File - optional</h4></p>
    5724 <p>
    5725 The clock corrections generated by BNC for upload can be logged in Clock RINEX format
    5726 <a href="https://files.igs.org/pub/data/format/rinex_clock304.txt" target="_blank">https://files.igs.org/pub/data/format/rinex_clock304.txt</a>:.
    5727 </p>
    5728 <p>
    5729 Specify a path for saving the generated clock corrections as Clock RINEX files. The following is a path example for a Linux system:
    5730 <pre>
     8731  <p>
     8732    Default is an empty option field, meaning that you do not want BNC to save the uploaded stream content in daily SP3
     8733    files.
     8734  </p>
     8735  <p>
     8736    As a SP3 file content should be referred to the satellites' Center of Mass (CoM) while Broadcast Corrections are
     8737    referred to the satellites' APC,
     8738    an offset has to be applied which is available from an IGS ANTEX file (see option 'ANTEX File' below).
     8739    Hence, you should specify the 'ANTEX File' path there if you want to save the stream content in SP3 format.
     8740    If you do not specify an 'ANTEX File' path, the SP3 file content will be referred to the satellites APCs.
     8741  </p>
     8742  <p>
     8743    For GLONASS satellites, that APC/CoM offset is rotated into the satellite-fixed frame using the satellite's
     8744    yaw attitude. BNC assumes the nominal Sun-pointing yaw-steering law used for the other GNSS systems, except
     8745    close to the orbit noon and midnight points when the Sun's elevation above the orbital plane (the 'beta'
     8746    angle) is small. There, GLONASS-M satellites are known to stop tracking that law and instead hold the yaw
     8747    angle fixed, following the model described in Dilssner, Springer, Flohrer, Dow (2011), 'The GLONASS-M
     8748    satellite yaw-attitude model', Advances in Space Research 47(1), 160-171. Without that correction, the
     8749    converted GLONASS CoM position can be off by several decimeters in the along-track and cross-track
     8750    components in that situation. The maximum yaw rate used to decide when GLONASS-M can no longer follow the
     8751    nominal law (0.25 deg/s) is taken from the literature and not calibrated against any specific satellite, so
     8752    results should be checked against independently known attitude or orbit information where high accuracy on
     8753    GLONASS is required.
     8754  </p>
     8755  <p>
     8756    Note that clocks in the SP3 orbit files are not corrected for the conventional periodic relativistic effect.
     8757  </p>
     8758  <p>
     8759    In case the 'Combine Corrections' table contains only one Broadcast Correction stream, BNC will merge that stream
     8760    with Broadcast Ephemeris
     8761    to save results in files specified here through SP3 and/or Clock RINEX file path. In such a case you have to define
     8762    only the SP3 and
     8763    Clock RINEX file path and no further option in the 'Upload Corrections' table.
     8764  </p>
     8765  <p>
     8766    Note that BNC outputs a complete list of SP3 'Epoch Header Records', even if no 'Position and Clock Records' are
     8767    available for certain epochs
     8768    because of stream outages. Note further that the 'Number of Epochs' in the first SP3 header record may not be
     8769    correct because that number
     8770    is not available when the file is created. Depending on your processing software (e.g. Bernese GNSS Software, BSW)
     8771    it could therefore be necessary
     8772    to correct an incorrect 'Number of Epochs' in the file before you use it in post processing.
     8773  </p>
     8774
     8775  <p>
     8776  <h4 id="uprinex">2.15.7 RNX File - optional</h4>
     8777  </p>
     8778  <p>
     8779    The clock corrections generated by BNC for upload can be logged in Clock RINEX format
     8780    <a href="https://files.igs.org/pub/data/format/rinex_clock304.txt"
     8781      target="_blank">https://files.igs.org/pub/data/format/rinex_clock304.txt</a>:.
     8782  </p>
     8783  <p>
     8784    Specify a path for saving the generated clock corrections as Clock RINEX files. The following is a path example for
     8785    a Linux system:
     8786  <pre>
    57318787   /home/user/BKG0MGXRTS${V3PROD}.CLK
    57328788</pre>
    5733 If the specified directory does not exist, BNC will not create Clock RINEX files.
    5734 </p>
    5735 <p>
    5736 For file naming, BNC follows the new format convention according to IGS products
    5737 <a href="https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf" target="_blank">https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf</a>:
    5738 </p>
    5739 <pre>
     8789  If the specified directory does not exist, BNC will not create Clock RINEX files.
     8790  </p>
     8791  <p>
     8792    For file naming, BNC follows the new format convention according to IGS products
     8793    <a href="https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf"
     8794      target="_blank">https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf</a>:
     8795  </p>
     8796  <pre>
    57408797  AAAVPPPTTT_YYYYDDDHHMM_LEN_SMP_CNT.FMT
    57418798</pre>
    5742 With
    5743 <p>
    5744 <table>
    5745   <tr><td>&nbsp; AAA        </td><td>&nbsp; &nbsp; Analysis Center abbrevaition, here BKG</td></tr>
    5746   <tr><td>&nbsp; V          </td><td>&nbsp; &nbsp; Version / Solution identifier (0-9), here 0</td></tr>
    5747   <tr><td>&nbsp; PPP        </td><td>&nbsp; &nbsp; Project/Campaign identification, here Multi-GNSS product (MGX)</td></tr>
    5748   <tr><td>&nbsp; TTT        </td><td>&nbsp; &nbsp; Solution Type, here real-time streamed product (RTS)</td></tr>
    5749   <tr><td>&nbsp; YYYYDOYHHMM</td><td>&nbsp; &nbsp; String representing beginning time of nominal data interval</td></tr>
    5750   <tr><td>&nbsp; LEN        </td><td>&nbsp; &nbsp; Intended product period of the file </td></tr>
    5751   <tr><td>&nbsp; SMP        </td><td>&nbsp; &nbsp; Data sampling rate</td></tr>
    5752   <tr><td>&nbsp; CNT        </td><td>&nbsp; &nbsp; Content type CLK</td></tr>
    5753   <tr><td>&nbsp; FMT        </td><td>&nbsp; &nbsp; File format, here CLK</td></tr>
    5754 </table>
    5755 </p>
    5756 <p>
    5757 Note that '${V3PROD}' produces the part 'YYYYDDDHHMM_LEN_SMP_CNT' of the filename according the 'Upload Corrections' setup.
    5758 </p>
    5759 A result for examle is:
    5760 <pre>
     8799  With
     8800  <p>
     8801  <table>
     8802    <tr>
     8803      <td>&nbsp; AAA </td>
     8804      <td>&nbsp; &nbsp; Analysis Center abbrevaition, here BKG</td>
     8805    </tr>
     8806    <tr>
     8807      <td>&nbsp; V </td>
     8808      <td>&nbsp; &nbsp; Version / Solution identifier (0-9), here 0</td>
     8809    </tr>
     8810    <tr>
     8811      <td>&nbsp; PPP </td>
     8812      <td>&nbsp; &nbsp; Project/Campaign identification, here Multi-GNSS product (MGX)</td>
     8813    </tr>
     8814    <tr>
     8815      <td>&nbsp; TTT </td>
     8816      <td>&nbsp; &nbsp; Solution Type, here real-time streamed product (RTS)</td>
     8817    </tr>
     8818    <tr>
     8819      <td>&nbsp; YYYYDOYHHMM</td>
     8820      <td>&nbsp; &nbsp; String representing beginning time of nominal data interval</td>
     8821    </tr>
     8822    <tr>
     8823      <td>&nbsp; LEN </td>
     8824      <td>&nbsp; &nbsp; Intended product period of the file </td>
     8825    </tr>
     8826    <tr>
     8827      <td>&nbsp; SMP </td>
     8828      <td>&nbsp; &nbsp; Data sampling rate</td>
     8829    </tr>
     8830    <tr>
     8831      <td>&nbsp; CNT </td>
     8832      <td>&nbsp; &nbsp; Content type CLK</td>
     8833    </tr>
     8834    <tr>
     8835      <td>&nbsp; FMT </td>
     8836      <td>&nbsp; &nbsp; File format, here CLK</td>
     8837    </tr>
     8838  </table>
     8839  </p>
     8840  <p>
     8841    Note that '${V3PROD}' produces the part 'YYYYDDDHHMM_LEN_SMP_CNT' of the filename according the 'Upload Corrections'
     8842    setup.
     8843  </p>
     8844  A result for examle is:
     8845  <pre>
    57618846  BKG0MGXRTS_20223330000_01D_05S_CLK.CLK
    57628847</pre>
    5763 <p>
    5764 Default is an empty option field, meaning that you do not want BNC to save the uploaded stream content in daily Clock RINEX files.
    5765 </p>
    5766 <p>
    5767 Note further that clocks in the Clock RINEX files are not corrected for the conventional periodic relativistic effect.
    5768 </p>
    5769 <p><h4 id="upsinex">2.15.8 BSX File - optional</h4></p>
    5770 <p>
    5771 The satellite biases generated by BNC for upload can be logged in SINEX Bias format
    5772 <a href="https://files.igs.org/pub/data/format/sinex_bias_100.pdf" target="_blank">https://files.igs.org/pub/data/format/sinex_bias_100.pdf</a>:.
    5773 </p>
    5774 <p>
    5775 Specify a path for saving the generated clock corrections as Clock RINEX files. The following is a path example for a Linux system:
    5776 <pre>
     8848  <p>
     8849    Default is an empty option field, meaning that you do not want BNC to save the uploaded stream content in daily
     8850    Clock RINEX files.
     8851  </p>
     8852  <p>
     8853    Note further that clocks in the Clock RINEX files are not corrected for the conventional periodic relativistic
     8854    effect.
     8855  </p>
     8856  <p>
     8857  <h4 id="upsinex">2.15.8 BSX File - optional</h4>
     8858  </p>
     8859  <p>
     8860    The satellite biases generated by BNC for upload can be logged in SINEX Bias format
     8861    <a href="https://files.igs.org/pub/data/format/sinex_bias_100.pdf"
     8862      target="_blank">https://files.igs.org/pub/data/format/sinex_bias_100.pdf</a>:.
     8863  </p>
     8864  <p>
     8865    Specify a path for saving the generated clock corrections as Clock RINEX files. The following is a path example for
     8866    a Linux system:
     8867  <pre>
    57778868   /home/user/BKG0MGXRTS${V3PROD}.BIA
    57788869</pre>
    5779 If the specified directory does not exist, BNC will not create SINEX Bias files.
    5780 </p>
    5781 <p>
    5782 For file naming, BNC follows the new format convention according to IGS products
    5783 <a href="https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf" target="_blank">https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf</a>:
    5784 </p>
    5785 <pre>
     8870  If the specified directory does not exist, BNC will not create SINEX Bias files.
     8871  </p>
     8872  <p>
     8873    For file naming, BNC follows the new format convention according to IGS products
     8874    <a href="https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf"
     8875      target="_blank">https://files.igs.org/pub/resource/guidelines/Guidelines_For_Long_Product_Filenames_in_the_IGS_v2.0.pdf</a>:
     8876  </p>
     8877  <pre>
    57868878  AAAVPPPTTT_YYYYDDDHHMM_LEN_SMP_CNT.FMT
    57878879</pre>
    5788 With
    5789 <p>
    5790 <table>
    5791   <tr><td>&nbsp; AAA        </td><td>&nbsp; &nbsp; Analysis Center abbrevaition, here BKG</td></tr>
    5792   <tr><td>&nbsp; V          </td><td>&nbsp; &nbsp; Version / Solution identifier (0-9), here 0</td></tr>
    5793   <tr><td>&nbsp; PPP        </td><td>&nbsp; &nbsp; Project/Campaign identification, here Multi-GNSS product (MGX)</td></tr>
    5794   <tr><td>&nbsp; TTT        </td><td>&nbsp; &nbsp; Solution Type, here real-time streamed product (RTS)</td></tr>
    5795   <tr><td>&nbsp; YYYYDOYHHMM</td><td>&nbsp; &nbsp; String representing beginning time of nominal data interval</td></tr>
    5796   <tr><td>&nbsp; LEN        </td><td>&nbsp; &nbsp; Intended product period of the file </td></tr>
    5797   <tr><td>&nbsp; SMP        </td><td>&nbsp; &nbsp; Data sampling rate</td></tr>
    5798   <tr><td>&nbsp; CNT        </td><td>&nbsp; &nbsp; Content type, here Observable-specific signal biases, code and phase (OSB)</td></tr>
    5799   <tr><td>&nbsp; FMT        </td><td>&nbsp; &nbsp; File format, here BIA</td></tr>
    5800 </table>
    5801 </p>
    5802 <p>
    5803 Note that '${V3PROD}' produces the part 'YYYYDDDHHMM_LEN_SMP_CNT' of the filename according the 'Upload Corrections' setup.
    5804 </p>
    5805 A result for examle is:
    5806 <pre>
     8880  With
     8881  <p>
     8882  <table>
     8883    <tr>
     8884      <td>&nbsp; AAA </td>
     8885      <td>&nbsp; &nbsp; Analysis Center abbrevaition, here BKG</td>
     8886    </tr>
     8887    <tr>
     8888      <td>&nbsp; V </td>
     8889      <td>&nbsp; &nbsp; Version / Solution identifier (0-9), here 0</td>
     8890    </tr>
     8891    <tr>
     8892      <td>&nbsp; PPP </td>
     8893      <td>&nbsp; &nbsp; Project/Campaign identification, here Multi-GNSS product (MGX)</td>
     8894    </tr>
     8895    <tr>
     8896      <td>&nbsp; TTT </td>
     8897      <td>&nbsp; &nbsp; Solution Type, here real-time streamed product (RTS)</td>
     8898    </tr>
     8899    <tr>
     8900      <td>&nbsp; YYYYDOYHHMM</td>
     8901      <td>&nbsp; &nbsp; String representing beginning time of nominal data interval</td>
     8902    </tr>
     8903    <tr>
     8904      <td>&nbsp; LEN </td>
     8905      <td>&nbsp; &nbsp; Intended product period of the file </td>
     8906    </tr>
     8907    <tr>
     8908      <td>&nbsp; SMP </td>
     8909      <td>&nbsp; &nbsp; Data sampling rate</td>
     8910    </tr>
     8911    <tr>
     8912      <td>&nbsp; CNT </td>
     8913      <td>&nbsp; &nbsp; Content type, here Observable-specific signal biases, code and phase (OSB)</td>
     8914    </tr>
     8915    <tr>
     8916      <td>&nbsp; FMT </td>
     8917      <td>&nbsp; &nbsp; File format, here BIA</td>
     8918    </tr>
     8919  </table>
     8920  </p>
     8921  <p>
     8922    Note that '${V3PROD}' produces the part 'YYYYDDDHHMM_LEN_SMP_CNT' of the filename according the 'Upload Corrections'
     8923    setup.
     8924  </p>
     8925  A result for examle is:
     8926  <pre>
    58078927  BKG0MGXRTS_20223330000_01D_05S_OSB.BIA
    58088928</pre>
    5809 <p>
    5810 Default is an empty option field, meaning that you do not want BNC to save the uploaded stream content in daily Clock RINEX files.
    5811 </p>
    5812 
    5813 <p><h4 id="pidsidiod">2.15.9 PID, SID, IOD - optional</h4></p>
    5814 <p>
    5815 When applying Broadcast Ephemeris corrections in a PPP algorithm or in a combination of several correction streams,
    5816 it is important for the client software to receive information on the continuity of discontinuity of the stream contents.
    5817 Here you can specify three ID's to describe the contents of your Broadcast Ephemeris correction stream when it is uploaded.
    5818 <ul>
    5819   <li>A 'SSR Provider ID' is issued by RTCM SC-104 on request to identify a SSR service
    5820       (see e.g.<a href="https://software.rtcm-ntrip.org/wiki/SSRProvider" target="_blank">https://software.rtcm-ntrip.org/wiki/SSRProvider</a>)
    5821       This ID is globally unique. Values vary in the range of 0-65535. Values in the range of 0-255 are reserved for experimental services.</li>
    5822   <li>A provider may generate several Broadcast Ephemeris correction streams with different contents. The 'SSR Solution ID' indicates different
     8929  <p>
     8930    Default is an empty option field, meaning that you do not want BNC to save the uploaded stream content in daily
     8931    Clock RINEX files.
     8932  </p>
     8933
     8934  <p>
     8935  <h4 id="pidsidiod">2.15.9 PID, SID, IOD - optional</h4>
     8936  </p>
     8937  <p>
     8938    When applying Broadcast Ephemeris corrections in a PPP algorithm or in a combination of several correction streams,
     8939    it is important for the client software to receive information on the continuity of discontinuity of the stream
     8940    contents.
     8941    Here you can specify three ID's to describe the contents of your Broadcast Ephemeris correction stream when it is
     8942    uploaded.
     8943  <ul>
     8944    <li>A 'SSR Provider ID' is issued by RTCM SC-104 on request to identify a SSR service
     8945      (see e.g.<a href="https://software.rtcm-ntrip.org/wiki/SSRProvider"
     8946        target="_blank">https://software.rtcm-ntrip.org/wiki/SSRProvider</a>)
     8947      This ID is globally unique. Values vary in the range of 0-65535. Values in the range of 0-255 are reserved for
     8948      experimental services.</li>
     8949    <li>A provider may generate several Broadcast Ephemeris correction streams with different contents. The 'SSR
     8950      Solution ID' indicates different
    58238951      SSR services of one SSR provider. Values vary in the range of 0-15.</li>
    5824   <li>A change of the 'IOD SSR' is used to indicate a change in the SSR generating configuration which may be relevant for the rover.
     8952    <li>A change of the 'IOD SSR' is used to indicate a change in the SSR generating configuration which may be relevant
     8953      for the rover.
    58258954      Values vary in the range of 0-15.</li>
    5826 </ul>
    5827 </p>
    5828 
    5829 <p><h4 id="upinter">2.15.10 Interval - mandatory if 'Upload Table' entries specified</h4></p>
    5830 <p>
    5831 Select the length of SP3 Orbit files, Clock RINEX files and SINAX Bias files. The default value is 1 day.
    5832 </p>
    5833 
    5834 <p><h4 id="upclksmpl">2.15.11 Sampling</h4></p>
    5835 <p>
    5836 BNC requires an orbit corrections sampling interval for the stream to be uploaded and sampling intervals for SP3, Clock RINEX, and SINEX Bias files.
    5837 The outgoing stream's clock correction sampling interval follows that of incoming corrections and is therefore nothing to be specified here.</p>
    5838 
    5839 <p><h4 id="upclkorb">2.15.11.1 Orbits (Orb) - mandatory if 'Upload Table' entries specified</h4></p>
    5840 <p>
    5841 Select the stream's orbit correction sampling interval in seconds. A value of 60 sec may be appropriate.
    5842 </p>
    5843 <p>
    5844 A value of zero '0' tells BNC to upload all orbit correction samples coming in from the real-time GNSS engine along
    5845 with the clock correction samples to produce combined orbit and clock corrections to Broadcast Ephemeris; for example message type 1060 for GPS.
    5846 </p>
    5847 <p>
    5848 Configuration examples:
    5849 </p>
    5850 Let us suppose a real-time network engine supporting BNC every <b>5 sec</b> with GPS Broadcast Corrections for orbits, clocks and code biases
    5851 in 'RTNET' stream format.
    5852 <ul>
    5853   <li>With 'Sampling Orb' set to '0'  BNC will produce</li>
     8955  </ul>
     8956  </p>
     8957
     8958  <p>
     8959  <h4 id="upinter">2.15.10 Interval - mandatory if 'Upload Table' entries specified</h4>
     8960  </p>
     8961  <p>
     8962    Select the length of SP3 Orbit files, Clock RINEX files and SINAX Bias files. The default value is 1 day.
     8963  </p>
     8964
     8965  <p>
     8966  <h4 id="upclksmpl">2.15.11 Sampling</h4>
     8967  </p>
     8968  <p>
     8969    BNC requires an orbit corrections sampling interval for the stream to be uploaded and sampling intervals for SP3,
     8970    Clock RINEX, and SINEX Bias files.
     8971    The outgoing stream's clock correction sampling interval follows that of incoming corrections and is therefore
     8972    nothing to be specified here.</p>
     8973
     8974  <p>
     8975  <h4 id="upclkorb">2.15.11.1 Orbits (Orb) - mandatory if 'Upload Table' entries specified</h4>
     8976  </p>
     8977  <p>
     8978    Select the stream's orbit correction sampling interval in seconds. A value of 60 sec may be appropriate.
     8979  </p>
     8980  <p>
     8981    A value of zero '0' tells BNC to upload all orbit correction samples coming in from the real-time GNSS engine along
     8982    with the clock correction samples to produce combined orbit and clock corrections to Broadcast Ephemeris; for
     8983    example message type 1060 for GPS.
     8984  </p>
     8985  <p>
     8986    Configuration examples:
     8987  </p>
     8988  Let us suppose a real-time network engine supporting BNC every <b>5 sec</b> with GPS Broadcast Corrections for orbits,
     8989  clocks and code biases
     8990  in 'RTNET' stream format.
    58548991  <ul>
    5855     <li>Every 5 sec a 1059 message for GPS code biases,</li>
    5856     <li>Every 5 sec a 1060 message for combined orbit and clock corrections to GPS Broadcast Ephemeris.</li>
     8992    <li>With 'Sampling Orb' set to '0' BNC will produce</li>
     8993    <ul>
     8994      <li>Every 5 sec a 1059 message for GPS code biases,</li>
     8995      <li>Every 5 sec a 1060 message for combined orbit and clock corrections to GPS Broadcast Ephemeris.</li>
     8996    </ul>
     8997    <br>
     8998    <li>With 'Sampling Orb' set to '5' BNC will produce</li>
     8999    <ul>
     9000      <li>Every 5 sec a 1057 message for GPS orbit corrections to Broadcast Ephemeris,</li>
     9001      <li>Every 5 sec a 1058 message for GPS clock corrections to Broadcast Ephemeris,</li>
     9002      <li>Every 5 sec a 1059 message for GPS code biases.</li>
     9003    </ul>
     9004    <br>
     9005    <li>With 'Sampling Orb' set to '10' BNC will produce</li>
     9006    <ul>
     9007      <li>Every 10 sec a 1057 message for GPS orbit corrections to Broadcast Ephemeris,</li>
     9008      <li>Every 5 sec a 1058 message for GPS clock corrections to Broadcast Ephemeris,</li>
     9009      <li>Every 10 sec a 1059 message for GPS code biases.</li>
     9010    </ul>
    58579011  </ul>
    5858   <br>
    5859   <li>With 'Sampling Orb' set to '5' BNC will produce</li>
     9012  </p>
     9013  <p>
     9014    Note that only when specifying a value of zero '0' (default) for 'Sampling Orb', BNC produces <b>combined</b>
     9015    orbit and clock correction messages.
     9016  </p>
     9017
     9018  <p>
     9019  <h4 id="upclksp3">2.15.11.2 SP3 - mandatory if 'SP3 File' is specified</h4>
     9020  </p>
     9021  <p>
     9022    Select the SP3 orbit file sampling interval in minutes.
     9023    A value of 15 min may be appropriate.
     9024    A value of zero '0' tells BNC to store all available samples into SP3 orbit files.
     9025  </p>
     9026
     9027  <p>
     9028  <h4 id="upclkrnx">2.15.11.3 RINEX (RNX) - mandatory if 'RNX File' is specified</h4>
     9029  </p>
     9030  <p>
     9031    Select the Clock RINEX file sampling interval in seconds.
     9032    A value of 10 sec may be appropriate.
     9033    A value of zero '0' tells BNC to store all available samples into Clock RINEX files.
     9034  </p>
     9035
     9036  <p>
     9037  <h4 id="upbiassnx">2.15.11.4 SINEX (BSX) - mandatory if 'BSX File' is specified</h4>
     9038  </p>
     9039  <p>
     9040    Select the SINEX Bias file sampling interval in seconds.
     9041    A value of 10 sec may be appropriate.
     9042    A value of zero '0' tells BNC to store all available samples into SINEX Bias files.
     9043  </p>
     9044
     9045  <p>
     9046  <h4 id="upcustom">2.15.11 Custom Trafo - optional if 'Upload Table' entries specified</h4>
     9047  </p>
     9048  <p>
     9049    Hit 'Custom Trafo' to specify your own 14 parameter Helmert Transformation instead of selecting a predefined
     9050    transformation
     9051    through 'System' button.
     9052    .</p>
     9053
     9054  <p>
     9055  <h4 id="upantex">2.15.12 ANTEX File - mandatory if 'SP3 File' is specified</h4>
     9056  </p>
     9057  <p>
     9058    IGS provides a file containing absolute phase center offsets and variations for GNSS satellite and receiver antennas
     9059    in ANTEX format.
     9060    Entering the full path to such an ANTEX file is required here for referring the SP3 file content to the satellite's
     9061    Center of Mass (CoM).
     9062    If you do not specify an ANTEX file, the SP3 file will contain orbit information which is referred to Antenna Phase
     9063    Center (APC) instead of CoM.
     9064  </p>
     9065  <p>
     9066    The following screenshot shows the encoding and uploading of several Broadcast Ephemeris correction streams combined
     9067    from different AC streams.
     9068    Combined streams using different SSR formats are uploaded to different Ntrip Broadcasters and referred to different
     9069    reference systems.
     9070    Different SSR Provider IDs, SSR Solution IDs and Issue of Data IDs are specified. Required Broadcast Ephemeris are
     9071    received via stream 'BCEP00BKG0'.
     9072  </p>
     9073  <p><img src="IMG/Figure31.png" width=1000 /></p>
     9074  <p>Figure 31: BNC uploading a combined Broadcast Correction stream</p>
     9075  <p></p>
     9076
     9077  <p>
     9078  <h4 id="upeph">2.16 Upload Ephemeris</h4>
     9079  </p>
     9080  <p>
     9081    BNC can generate streams carrying only Broadcast Ephemeris in RTCM Version 3 format and upload them to an Ntrip
     9082    Broadcaster. The satellite system(s)
     9083    that shall be part of the uploaded stream can be specified using the 'System' parameter. This can be done:
    58609084  <ul>
    5861     <li>Every 5 sec a 1057 message for GPS orbit corrections to Broadcast Ephemeris,</li>
    5862     <li>Every 5 sec a 1058 message for GPS clock corrections to Broadcast Ephemeris,</li>
    5863     <li>Every 5 sec a 1059 message for GPS code biases.</li>
     9085    <li>for an individual satellite system, specifying e.g. 'G' for GPS or 'E' for Galileo, etc. or </li>
     9086    <li>for a seclection of satellite systems, specifying e.g. 'GRE' for GPS and GLONASS and Galileo or</li>
     9087    <li>for all satellite systems, specifying 'ALL'. </li>
    58649088  </ul>
    5865   <br>
    5866   <li>With 'Sampling Orb' set to '10' BNC will produce</li>
    5867   <ul>
    5868     <li>Every 10 sec a 1057 message for GPS orbit corrections to Broadcast Ephemeris,</li>
    5869     <li>Every  5 sec a 1058 message for GPS clock corrections to Broadcast Ephemeris,</li>
    5870     <li>Every 10 sec a 1059 message for GPS code biases.</li>
    5871   </ul>
    5872 </ul>
    5873 </p>
    5874 <p>
    5875 Note that only when specifying a value of zero '0' (default) for 'Sampling Orb', BNC produces <b>combined</b>
    5876 orbit and clock correction messages.
    5877 </p>
    5878 
    5879 <p><h4 id="upclksp3">2.15.11.2 SP3 - mandatory if 'SP3 File' is specified</h4></p>
    5880 <p>
    5881 Select the SP3 orbit file sampling interval in minutes.
    5882 A value of 15 min may be appropriate.
    5883 A value of zero '0' tells BNC to store all available samples into SP3 orbit files.
    5884 </p>
    5885 
    5886 <p><h4 id="upclkrnx">2.15.11.3 RINEX (RNX) - mandatory if 'RNX File' is specified</h4></p>
    5887 <p>
    5888 Select the Clock RINEX file sampling interval in seconds.
    5889 A value of 10 sec may be appropriate.
    5890 A value of zero '0' tells BNC to store all available samples into Clock RINEX files.
    5891 </p>
    5892 
    5893 <p><h4 id="upbiassnx">2.15.11.4 SINEX (BSX) - mandatory if 'BSX File' is specified</h4></p>
    5894 <p>
    5895 Select the SINEX Bias file sampling interval in seconds.
    5896 A value of 10 sec may be appropriate.
    5897 A value of zero '0' tells BNC to store all available samples into SINEX Bias files.
    5898 </p>
    5899 
    5900 <p><h4 id="upcustom">2.15.11 Custom Trafo - optional if 'Upload Table' entries specified</h4></p>
    5901 <p>
    5902 Hit 'Custom Trafo' to specify your own 14 parameter Helmert Transformation instead of selecting a predefined transformation
    5903 through 'System' button.
    5904 .</p>
    5905 
    5906 <p><h4 id="upantex">2.15.12 ANTEX File - mandatory if 'SP3 File' is specified</h4></p>
    5907 <p>
    5908 IGS provides a file containing absolute phase center offsets and variations for GNSS satellite and receiver antennas in ANTEX format.
    5909 Entering the full path to such an ANTEX file is required here for referring the SP3 file content to the satellite's Center of Mass (CoM).
    5910 If you do not specify an ANTEX file, the SP3 file will contain orbit information which is referred to Antenna Phase Center (APC) instead of CoM.
    5911 </p>
    5912 <p>
    5913 The following screenshot shows the encoding and uploading of several Broadcast Ephemeris correction streams combined from different AC streams.
    5914 Combined streams using different SSR formats are uploaded to different Ntrip Broadcasters and referred to different reference systems.
    5915 Different SSR Provider IDs, SSR Solution IDs and Issue of Data IDs are specified. Required Broadcast Ephemeris are received via stream 'BCEP00BKG0'.
    5916 </p>
    5917 <p><img src="IMG/Figure31.png"width=1000/></p>
    5918 <p>Figure 31: BNC uploading a combined Broadcast Correction stream</p>
    5919 <p></p>
    5920 
    5921 <p><h4 id="upeph">2.16 Upload Ephemeris</h4></p>
    5922 <p>
    5923 BNC can generate streams carrying only Broadcast Ephemeris in RTCM Version 3 format and upload them to an Ntrip Broadcaster. The satellite system(s)
    5924 that shall be part of the uploaded stream can be specified using the 'System' parameter. This can be done:
    5925 <ul>
    5926 <li>for an individual satellite system, specifying e.g. 'G' for GPS or 'E' for Galileo, etc. or </li>
    5927 <li>for a seclection of satellite systems, specifying e.g. 'GRE' for GPS and GLONASS and Galileo or</li>
    5928 <li>for all satellite systems, specifying 'ALL'. </li>
    5929 </ul>
    5930 </p>
    5931 <p>
    5932 Note that Broadcast Ephemeris received in real-time have a system specific period of validity in BNC,
    5933 which is defined in accordance with the update rates and validity intervals of the navigation messages.
    5934 For this, the time difference dt of Time of Clock (TOC) with respect the current time is determined:
    5935 </p>
    5936 <pre>
     9089  </p>
     9090  <p>
     9091    Note that Broadcast Ephemeris received in real-time have a system specific period of validity in BNC,
     9092    which is defined in accordance with the update rates and validity intervals of the navigation messages.
     9093    For this, the time difference dt of Time of Clock (TOC) with respect the current time is determined:
     9094  </p>
     9095  <pre>
    59379096   dt = currentTime - TOC [sec]
    59389097</pre>
    5939 <p>
    5940 Hence,
    5941 <ul>
    5942 <li>GPS ephemeris will be interpreted as outdated and ignored when dt > 14400.0 or dt < -7200.0.</li>
    5943 <li>GLONASS ephemeris will be interpreted as outdated and ignored when dt >  3900.0 or dt < -2100.0.</li>
    5944 <li>Galileo ephemeris will be interpreted as outdated and ignored when dt > 14400.0 or dt < 0.0.</li>
    5945 <li>BDS ephemeris will be interpreted as outdated and ignored when dt > 3900.0 or dt < 0.0.</li>
    5946 <li>SBAS ephemeris will be interpreted as outdated and ignored when dt > 600.0 or dt < -600.0.</li>
    5947 <li>QZSS ephemeris will be interpreted as outdated and ignored when dt > 7200.0 or dt < -3600.0.</li>
    5948 <li>NavIC ephemeris will be interpreted as outdated and ignored when fabs(dt > 86400.0).</li>
    5949 </ul>
    5950 A note 'OUTDATED EPHEMERIS' will be given in the logfile and the data will be disregarded when necessary.
    5951 </p>
    5952 <p>
    5953 Furthermore, received Broadcast Ephemeris parameters pass through a plausibility check in BNC which allows to ignore
    5954 incorrect ephemeris data when necessary, leaving a note 'WRONG EPHEMERIS' in the logfile.
    5955 Unhealthy Broadcast Ephemeris will not be excluded. A note 'UNHEALTHY EPHEMERIS' will be added in the logfile.
    5956 </p>
    5957 <p><h4 id="brdcserver">2.16.1 Host &amp; Port - optional</h4></p>
    5958 <p>
    5959 Specify the 'Host' IP number or URL of an Ntrip Broadcaster to upload the stream. An empty option field means that you
    5960 do not want to upload Broadcast Ephemeris.
    5961 </p>
    5962 <p>
    5963 Enter the Ntrip Broadcaster's IP 'Port' number for stream upload. Note that Ntrip Broadcasters are often configured to provide
    5964 access through more than one port, usually ports 80 and 2101. If you experience communication problems on port 80, you should
    5965 try to use the alternative port(s).
    5966 </p>
    5967 
    5968 <p><h4 id="brdcmount">2.16.2 Mountpoint, Ntrip Version, User, Password - mandatory if 'Host' is set</h4></p>
    5969 <p>
    5970 BNC uploads a stream to the Ntrip Broadcaster by referring it to a dedicated mountpoint that has been set by its operator.
    5971 Specify the mountpoint based on the details you received for your stream from the operator. It is often a 9-character ID (capital letters)
    5972 plus an integer number.
    5973 </p>
    5974 <p>
    5975 For stream upload the Ntrip Version can be chosen. An Ntrip version 1 upload is protected through an upload 'Password' only.
    5976 For an Ntrip Version 2 upload an upload 'User' is required in addition. Enter the user name and the password you received
    5977 from the Ntrip Broadcaster operator along with the mountpoint.
    5978 </p>
    5979 <p><h4 id="brdcsys">2.16.3 Satellite System - mandatory if 'Host' is set</h4></p>
    5980 Specify the satellite system(s) that shall be part of the uploaded stream (e.g. 'G' for GPS or 'GRE' for GPS+GLONASS+Galileo, or 'ALL').
    5981 </p>
    5982 <p><h4 id="brdcsmpl">2.16.4 Sampling - mandatory if 'Host' is set</h4></p>
    5983 Select the Broadcast Ephemeris repetition interval in seconds. Default is '5', meaning that a complete set of Broadcast Ephemeris is uploaded
    5984 every 5 seconds.
    5985 </p>
    5986 <p><img src="IMG/Figure32.png"width=1000/></p>
    5987 <p>Figure 32: BNC producing Broadcast Ephemeris streams from globally distributed RTCM streams; upload in RTCM format to an Ntrip Broadcaster</p>
    5988 
    5989 <p><h4 id="upraw">2.17 Upload Raw Data - NtripServer Functionality</h4></p>
    5990 <p>
    5991 BNC can upload Raw Data streams in any format like a NtripServer. To fill the 'Upload Raw Data' table, hit the 'Add Row' button.
    5992 </p>
    5993 <p><h4 id="rawsourcemount">2.17.1 Source Mountpoint</h4></p>
    5994 <p>
    5995 Within the 'Source Mountpoint' field please specify the Source of data from the 'Streams' section below, which shall be forwarded without decoding.
    5996 If the decoder string is not an accepted one ('RTCM_2.x', 'RTCM_3.x' and 'RTNET'), please change the decoder string to
    5997 <ul>
    5998 <li> 'ZERO' (forward the raw data) or </li>
    5999 <li> 'ZERO2FILE' (forward and store the raw data)</li>
    6000 </ul> in addition.
    6001 </p>
    6002 <p><h4 id="rawserver">2.17.2 Host &amp; Port - optional</h4></p>
    6003 <p>
    6004 Specify the 'Host' IP number or URL of an Ntrip Broadcaster to upload the stream. An empty option field means that you
    6005 do not want to upload Broadcast Ephemeris.
    6006 </p>
    6007 <p>
    6008 Enter the Ntrip Broadcaster's IP 'Port' number for stream upload. Note that Ntrip Broadcasters are often configured to provide
    6009 access through more than one port, usually ports 80 and 2101. If you experience communication problems on port 80, you should
    6010 try to use the alternative port(s).
    6011 </p>
    6012 
    6013 <p><h4 id="rawmount">2.17.3 Mountpoint, Ntrip Version, User, Password - mandatory if 'Host' is set</h4></p>
    6014 <p>
    6015 BNC uploads a stream to the Ntrip Broadcaster by referring it to a dedicated mountpoint that has been set by its operator.
    6016 Specify the mountpoint based on the details you received for your stream from the operator. It is often a 9-character ID (capital letters)
    6017 plus an integer number.
    6018 </p>
    6019 <p>
    6020 For stream upload the Ntrip Version can be chosen. An Ntrip version 1 upload is protected through an upload 'Password' only.
    6021 For an Ntrip Version 2 upload an upload 'User' is required in addition. Enter the user name and the password you received
    6022 from the Ntrip Broadcaster operator along with the mountpoint.
    6023 </p>
    6024 
    6025 <p><h4 id="streams">2.18 Streams Canvas</h4></p>
    6026 <p>
    6027 Each stream on an Ntrip Broadcaster (and consequently on BNC) is defined using a unique source ID called mountpoint. An Ntrip Client like BNC
    6028 accesses the desired stream by referring to its mountpoint. Information about streams and their mountpoints is available through the source-table
    6029 maintained by the Ntrip Broadcaster.
    6030 </p>
    6031 <p>
    6032 Streams selected for retrieval are listed under the 'Streams' canvas on BNC's main window.
    6033 The list provides the following information either extracted from source-table(s) produced by the Ntrip Broadcasters or introduced by BNC's user:
    6034 </p>
    6035 <p>
    6036 <table>
    6037   <tr><td>&nbsp; 'resource loader'&nbsp; &nbsp; </td><td>Ntrip Broadcaster URL and port, or TCP/IP host and port, or UDP port, or Serial input port specification.</td></tr>
    6038   <tr><td>&nbsp; 'mountpoint'     &nbsp; &nbsp; </td><td>Mountpoint introduced by Ntrip Broadcaster, or Mountpoint introduced by BNC's user.</td></tr>
    6039   <tr><td>&nbsp; 'decoder'        &nbsp; &nbsp; </td><td>Name of decoder used to handle the incoming stream content according to its format; editable.</td></tr>
    6040   <tr><td>&nbsp; 'lat'            &nbsp; &nbsp; </td><td>Approximate latitude of reference station, in degrees, north; editable if 'nmea' = 'yes'.</td></tr>
    6041   <tr><td>&nbsp; 'long'           &nbsp; &nbsp; </td><td>Approximate longitude of reference station, in degrees, east; editable if 'nmea' = 'yes'.</td></tr>
    6042   <tr><td>&nbsp; 'nmea'           &nbsp; &nbsp; </td><td>Indicates whether or not streaming needs to be initiated by BNC through sending
    6043                                                          NMEA-GGA message carrying position coordinates in 'lat' and 'long'.</td></tr>
    6044   <tr><td>&nbsp; 'ntrip'          &nbsp; &nbsp; </td><td>Selected Ntrip transport protocol version (1, 2, 2s, R, or U), or 'N' for TCP/IP streams without Ntrip,
    6045                                                          or 'UN' for UDP streams without Ntrip, or 'S' for serial input streams without Ntrip.</td></tr>
    6046   <tr><td>&nbsp; 'bytes'          &nbsp; &nbsp; </td><td>Number of bytes received.
    6047 </table>
    6048 </p>
    6049 <p><h4 id="streamedit">2.18.1 Edit Streams</h4></p>
    6050 <ul>
    6051   <li>BNC automatically allocates one of its internal decoders to a stream based on the stream's 'format' and 'format-details' as given in the source-table.
    6052       However, there might be cases where you need to override the automatic selection due to an incorrect source-table for example.
    6053       BNC allows users to manually select the required decoder by editing the decoder string. Double click on the 'decoder' field,
    6054       enter your preferred decoder and then hit Enter. Accepted decoder strings are 'RTCM_2.x', 'RTCM_3.x' and 'RTNET'.</li>
    6055   <li>In case you need to log the raw data as it is, BNC allows users to by-pass its decoders and directly save the input in daily logfiles.
    6056       To do this, specify the decoder string as 'ZERO2FILE'. The generated filenames are created from the characters of the streams mountpoints plus
    6057       two-digit numbers each for year, month, and day. Example: Setting the 'decoder' string for mountpoint WTZZ00DEU0 to 'ZERO2FILE' and
     9098  <p>
     9099    Hence,
     9100  <ul>
     9101    <li>GPS ephemeris will be interpreted as outdated and ignored when dt > 14400.0 or dt < -7200.0.</li>
     9102    <li>GLONASS ephemeris will be interpreted as outdated and ignored when dt > 3900.0 or dt < -2100.0.</li>
     9103    <li>Galileo ephemeris will be interpreted as outdated and ignored when dt > 14400.0 or dt < 0.0.</li>
     9104    <li>BDS ephemeris will be interpreted as outdated and ignored when dt > 3900.0 or dt < 0.0.</li>
     9105    <li>SBAS ephemeris will be interpreted as outdated and ignored when dt > 600.0 or dt < -600.0.</li>
     9106    <li>QZSS ephemeris will be interpreted as outdated and ignored when dt > 7200.0 or dt < -3600.0.</li>
     9107    <li>NavIC ephemeris will be interpreted as outdated and ignored when fabs(dt > 86400.0).</li>
     9108  </ul>
     9109  A note 'OUTDATED EPHEMERIS' will be given in the logfile and the data will be disregarded when necessary.
     9110  </p>
     9111  <p>
     9112    Furthermore, received Broadcast Ephemeris parameters pass through a plausibility check in BNC which allows to ignore
     9113    incorrect ephemeris data when necessary, leaving a note 'WRONG EPHEMERIS' in the logfile.
     9114    Unhealthy Broadcast Ephemeris will not be excluded. A note 'UNHEALTHY EPHEMERIS' will be added in the logfile.
     9115  </p>
     9116  <p>
     9117  <h4 id="brdcserver">2.16.1 Host &amp; Port - optional</h4>
     9118  </p>
     9119  <p>
     9120    Specify the 'Host' IP number or URL of an Ntrip Broadcaster to upload the stream. An empty option field means that
     9121    you
     9122    do not want to upload Broadcast Ephemeris.
     9123  </p>
     9124  <p>
     9125    Enter the Ntrip Broadcaster's IP 'Port' number for stream upload. Note that Ntrip Broadcasters are often configured
     9126    to provide
     9127    access through more than one port, usually ports 80 and 2101. If you experience communication problems on port 80,
     9128    you should
     9129    try to use the alternative port(s).
     9130  </p>
     9131
     9132  <p>
     9133  <h4 id="brdcmount">2.16.2 Mountpoint, Ntrip Version, User, Password - mandatory if 'Host' is set</h4>
     9134  </p>
     9135  <p>
     9136    BNC uploads a stream to the Ntrip Broadcaster by referring it to a dedicated mountpoint that has been set by its
     9137    operator.
     9138    Specify the mountpoint based on the details you received for your stream from the operator. It is often a
     9139    9-character ID (capital letters)
     9140    plus an integer number.
     9141  </p>
     9142  <p>
     9143    For stream upload the Ntrip Version can be chosen. An Ntrip version 1 upload is protected through an upload
     9144    'Password' only.
     9145    For an Ntrip Version 2 upload an upload 'User' is required in addition. Enter the user name and the password you
     9146    received
     9147    from the Ntrip Broadcaster operator along with the mountpoint.
     9148  </p>
     9149  <p>
     9150  <h4 id="brdcsys">2.16.3 Satellite System - mandatory if 'Host' is set</h4>
     9151  </p>
     9152  Specify the satellite system(s) that shall be part of the uploaded stream (e.g. 'G' for GPS or 'GRE' for
     9153  GPS+GLONASS+Galileo, or 'ALL').
     9154  </p>
     9155  <p>
     9156  <h4 id="brdcsmpl">2.16.4 Sampling - mandatory if 'Host' is set</h4>
     9157  </p>
     9158  Select the Broadcast Ephemeris repetition interval in seconds. Default is '5', meaning that a complete set of
     9159  Broadcast Ephemeris is uploaded
     9160  every 5 seconds.
     9161  </p>
     9162  <p><img src="IMG/Figure32.png" width=1000 /></p>
     9163  <p>Figure 32: BNC producing Broadcast Ephemeris streams from globally distributed RTCM streams; upload in RTCM format
     9164    to an Ntrip Broadcaster</p>
     9165
     9166  <p>
     9167  <h4 id="upraw">2.17 Upload Raw Data - NtripServer Functionality</h4>
     9168  </p>
     9169  <p>
     9170    BNC can upload Raw Data streams in any format like a NtripServer. To fill the 'Upload Raw Data' table, hit the 'Add
     9171    Row' button.
     9172  </p>
     9173  <p>
     9174  <h4 id="rawsourcemount">2.17.1 Source Mountpoint</h4>
     9175  </p>
     9176  <p>
     9177    Within the 'Source Mountpoint' field please specify the Source of data from the 'Streams' section below, which shall
     9178    be forwarded without decoding.
     9179    If the decoder string is not an accepted one ('RTCM_2.x', 'RTCM_3.x' and 'RTNET'), please change the decoder string
     9180    to
     9181  <ul>
     9182    <li> 'ZERO' (forward the raw data) or </li>
     9183    <li> 'ZERO2FILE' (forward and store the raw data)</li>
     9184  </ul> in addition.
     9185  </p>
     9186  <p>
     9187  <h4 id="rawserver">2.17.2 Host &amp; Port - optional</h4>
     9188  </p>
     9189  <p>
     9190    Specify the 'Host' IP number or URL of an Ntrip Broadcaster to upload the stream. An empty option field means that
     9191    you
     9192    do not want to upload Broadcast Ephemeris.
     9193  </p>
     9194  <p>
     9195    Enter the Ntrip Broadcaster's IP 'Port' number for stream upload. Note that Ntrip Broadcasters are often configured
     9196    to provide
     9197    access through more than one port, usually ports 80 and 2101. If you experience communication problems on port 80,
     9198    you should
     9199    try to use the alternative port(s).
     9200  </p>
     9201
     9202  <p>
     9203  <h4 id="rawmount">2.17.3 Mountpoint, Ntrip Version, User, Password - mandatory if 'Host' is set</h4>
     9204  </p>
     9205  <p>
     9206    BNC uploads a stream to the Ntrip Broadcaster by referring it to a dedicated mountpoint that has been set by its
     9207    operator.
     9208    Specify the mountpoint based on the details you received for your stream from the operator. It is often a
     9209    9-character ID (capital letters)
     9210    plus an integer number.
     9211  </p>
     9212  <p>
     9213    For stream upload the Ntrip Version can be chosen. An Ntrip version 1 upload is protected through an upload
     9214    'Password' only.
     9215    For an Ntrip Version 2 upload an upload 'User' is required in addition. Enter the user name and the password you
     9216    received
     9217    from the Ntrip Broadcaster operator along with the mountpoint.
     9218  </p>
     9219
     9220  <p>
     9221  <h4 id="streams">2.18 Streams Canvas</h4>
     9222  </p>
     9223  <p>
     9224    Each stream on an Ntrip Broadcaster (and consequently on BNC) is defined using a unique source ID called mountpoint.
     9225    An Ntrip Client like BNC
     9226    accesses the desired stream by referring to its mountpoint. Information about streams and their mountpoints is
     9227    available through the source-table
     9228    maintained by the Ntrip Broadcaster.
     9229  </p>
     9230  <p>
     9231    Streams selected for retrieval are listed under the 'Streams' canvas on BNC's main window.
     9232    The list provides the following information either extracted from source-table(s) produced by the Ntrip Broadcasters
     9233    or introduced by BNC's user:
     9234  </p>
     9235  <p>
     9236  <table>
     9237    <tr>
     9238      <td>&nbsp; 'resource loader'&nbsp; &nbsp; </td>
     9239      <td>Ntrip Broadcaster URL and port, or TCP/IP host and port, or UDP port, or Serial input port specification.</td>
     9240    </tr>
     9241    <tr>
     9242      <td>&nbsp; 'mountpoint' &nbsp; &nbsp; </td>
     9243      <td>Mountpoint introduced by Ntrip Broadcaster, or Mountpoint introduced by BNC's user.</td>
     9244    </tr>
     9245    <tr>
     9246      <td>&nbsp; 'decoder' &nbsp; &nbsp; </td>
     9247      <td>Name of decoder used to handle the incoming stream content according to its format; editable.</td>
     9248    </tr>
     9249    <tr>
     9250      <td>&nbsp; 'lat' &nbsp; &nbsp; </td>
     9251      <td>Approximate latitude of reference station, in degrees, north; editable if 'nmea' = 'yes'.</td>
     9252    </tr>
     9253    <tr>
     9254      <td>&nbsp; 'long' &nbsp; &nbsp; </td>
     9255      <td>Approximate longitude of reference station, in degrees, east; editable if 'nmea' = 'yes'.</td>
     9256    </tr>
     9257    <tr>
     9258      <td>&nbsp; 'nmea' &nbsp; &nbsp; </td>
     9259      <td>Indicates whether or not streaming needs to be initiated by BNC through sending
     9260        NMEA-GGA message carrying position coordinates in 'lat' and 'long'.</td>
     9261    </tr>
     9262    <tr>
     9263      <td>&nbsp; 'ntrip' &nbsp; &nbsp; </td>
     9264      <td>Selected Ntrip transport protocol version (1, 2, 2s, R, or U), or 'N' for TCP/IP streams without Ntrip,
     9265        or 'UN' for UDP streams without Ntrip, or 'S' for serial input streams without Ntrip.</td>
     9266    </tr>
     9267    <tr>
     9268      <td>&nbsp; 'bytes' &nbsp; &nbsp; </td>
     9269      <td>Number of bytes received.
     9270  </table>
     9271  </p>
     9272  <p>
     9273  <h4 id="streamedit">2.18.1 Edit Streams</h4>
     9274  </p>
     9275  <ul>
     9276    <li>BNC automatically allocates one of its internal decoders to a stream based on the stream's 'format' and
     9277      'format-details' as given in the source-table.
     9278      However, there might be cases where you need to override the automatic selection due to an incorrect source-table
     9279      for example.
     9280      BNC allows users to manually select the required decoder by editing the decoder string. Double click on the
     9281      'decoder' field,
     9282      enter your preferred decoder and then hit Enter. Accepted decoder strings are 'RTCM_2.x', 'RTCM_3.x' and 'RTNET'.
     9283    </li>
     9284    <li>In case you need to log the raw data as it is, BNC allows users to by-pass its decoders and directly save the
     9285      input in daily logfiles.
     9286      To do this, specify the decoder string as 'ZERO2FILE'. The generated filenames are created from the characters of
     9287      the streams mountpoints plus
     9288      two-digit numbers each for year, month, and day. Example: Setting the 'decoder' string for mountpoint WTZZ00DEU0
     9289      to 'ZERO2FILE' and
    60589290      running BNC on December 01, 2022 would save raw data in a file named WTZZ00DEU0_221201.</li>
    6059  <li> BNC allows as well to forward streams related to the specified 'Mountpoint' on top of the 'Miscellaneous Panel'
    6060       through a TCP/IP port of your local host. In this case, the stream content remains untouched; BNC does not decode or reformat the data for this output.
    6061       If the decoder string is not an accepted one, please change the decoder string to 'ZERO' (forward the raw data only) or 'ZERO2FILE' (forward and store the raw data) in addition.</li>
    6062   <li>BNC can also retrieve streams from virtual reference stations (VRS). To initiate these streams, an approximate rover position needs to be sent
    6063       in NMEA format to the Ntrip Broadcaster. In return, a user-specific data stream is generated, typically by Network RTK software.
    6064       VRS streams are indicated by a 'yes' in the source-table as well as in the 'nmea' column on the 'Streams' canvas in BNC's main window.
    6065       They are customized exactly to the latitude and longitude transmitted to the Ntrip Broadcaster via NMEA GGA sentences. If NMEA GGA sentences
    6066       are not coming from a serially connected GNSS rover, BNC simulates them from the default latitude and longitude of the source-table as shown
    6067       in the 'lat' and 'long' columns on the 'Streams' canvas. However, in many cases you would probably want to change these defaults according to
    6068       your requirement. Double-click on 'lat' and 'long' fields, enter the values you wish to send and then hit Enter. The format is
     9291    <li> BNC allows as well to forward streams related to the specified 'Mountpoint' on top of the 'Miscellaneous Panel'
     9292      through a TCP/IP port of your local host. In this case, the stream content remains untouched; BNC does not decode
     9293      or reformat the data for this output.
     9294      If the decoder string is not an accepted one, please change the decoder string to 'ZERO' (forward the raw data
     9295      only) or 'ZERO2FILE' (forward and store the raw data) in addition.</li>
     9296    <li>BNC can also retrieve streams from virtual reference stations (VRS). To initiate these streams, an approximate
     9297      rover position needs to be sent
     9298      in NMEA format to the Ntrip Broadcaster. In return, a user-specific data stream is generated, typically by Network
     9299      RTK software.
     9300      VRS streams are indicated by a 'yes' in the source-table as well as in the 'nmea' column on the 'Streams' canvas
     9301      in BNC's main window.
     9302      They are customized exactly to the latitude and longitude transmitted to the Ntrip Broadcaster via NMEA GGA
     9303      sentences. If NMEA GGA sentences
     9304      are not coming from a serially connected GNSS rover, BNC simulates them from the default latitude and longitude of
     9305      the source-table as shown
     9306      in the 'lat' and 'long' columns on the 'Streams' canvas. However, in many cases you would probably want to change
     9307      these defaults according to
     9308      your requirement. Double-click on 'lat' and 'long' fields, enter the values you wish to send and then hit Enter.
     9309      The format is
    60699310      in positive north latitude degrees (e.g. for northern hemisphere: 52.436, for southern hemisphere: -24.567) and
    6070       eastern longitude degrees (example: 358.872 or -1.128). Only streams with a 'yes' in their 'nmea' column can be edited. The position should
    6071       preferably be a point within the VRS service area of the network. RINEX files generated from these streams will contain an additional COMMENT line
    6072       in the header beginning with 'NMEA' showing the 'lat' and 'long' used. Note that when running BNC in a Local Area Network (LAN),
    6073       NMEA strings may be blocked by a proxy server, firewall or virus scanner when not using the Ntrip Version 2 transport protocol.</li>
    6074 </ul>
    6075 
    6076 <p><h4 id="streamdelete">2.18.2 Delete Stream</h4></p>
    6077 <p>
    6078 To remove a stream from the 'Streams' canvas in the main window, highlight it by clicking on it and hit the 'Delete Stream' button.
    6079 You can also remove multiple streams simultaneously by highlighting them using +Shift or +Ctrl.
    6080 </p>
    6081 
    6082 <p><h4 id="streamconf">2.18.3 Reconfigure Stream Selection On-the-fly</h4></p>
    6083 <p>
    6084 The streams selection can be changed on-the-fly without interrupting uninvolved threads in the running BNC process.
    6085 </p>
    6086 <p>
    6087 <b>Window mode:</b> Hit 'Reread &amp; Save Configuration' while BNC is in window mode and already processing data
    6088 to let changes of your stream selection immediately become effective.
    6089 <p>
    6090 <b>No window mode:</b> When operating BNC online in 'no window' mode (command line option -nw),
    6091 you force BNC to reread its 'mountPoints' configuration option from disk at pre-defined intervals.
    6092 Select '1 min', '1 hour', or '1 day' as 'Reread configuration' option to reread the 'mountPoints' option
    6093 every full minute, hour, or day. This lets a 'mountPoints' option edited in between in the configuration file
    6094 become effective without terminating uninvolved threads. See section 'Configuration Examples' for
    6095 configuration file examples and section 'Reread Configuration' for a list of other on-the-fly changeable options.
    6096 </p>
    6097 
    6098 <p><h4 id="logs">2.19 Logging Canvas</h4></p>
    6099 <p>
    6100 The 'Logging Canvas' above the bottom menu bar on the main window labeled 'Log', 'Throughput', 'Latency', and 'PPP Plot'
    6101 provides control of BNC's activities. Tabs are available for continuously showing logfile content,
    6102 for a plot controlling the bandwidth consumption, a plot showing stream latencies, and for time series plots of PPP results.
    6103 </p>
    6104 
    6105 <p><h4 id="logfile">2.19.1 Log</h4></p>
    6106 <p>
    6107 Records of BNC's activities are shown in the 'Log' tab. They can be saved into a file when a valid path is specified in the 'Logfile (full path)' field.
    6108 </p>
    6109 
    6110 <p><h4 id="throughput">2.19.2 Throughput</h4></p>
    6111 <p>
    6112 The bandwidth consumption per stream is shown in the 'Throughput' tab in bits per second (bps) or kilobits per second (kbps).
    6113 The following figure shows an example for the bandwidth consumption of incoming streams.
    6114 </p>
    6115 <p><img src="IMG/Figure33.png"width=1000/></p>
    6116 <p>Figure 33: Bandwidth consumption of RTCM streams received by BNC</p>
    6117 <p><h4 id="latency">2.19.3 Latency</h4></p>
    6118 <p>
    6119 The latency of observations in each incoming stream is shown in the 'Latency' tab in milliseconds or seconds.
    6120 Streams not carrying observations (e.g. those providing only Broadcast Ephemeris messages) or having an outage
    6121 are not considered here and shown in red color. Note that the calculation of correct latencies requires the
    6122 clock of the host computer to be properly synchronized. The next figure shows an example for the latency
    6123 of incoming streams.
    6124 </p>
    6125 <p><img src="IMG/Figure34.png"width=1000/></p>
    6126 <p>Figure 34: Latency of RTCM streams received by BNC</p>
    6127 
    6128 <p><h4 id="ppptab">2.19.4 PPP Plot</h4></p>
    6129 <p>
    6130 Precise Point Positioning time series of North (red), East (green) and Up (blue) coordinate components are shown in the 'PPP Plot' tab when
    6131 a 'Mountpoint' option is defined under PPP (4). Values are referred to a priori reference coordinates. The time as given in format [hh:mm]
    6132 refers to GPS Time. The sliding PPP time series window covers a period of 5 minutes. Note that it may take up to 30 seconds or more until
    6133 the first PPP solutions becomes available. The following figure shows the screenshot of a PPP time series plot of North, East and Up
    6134 coordinate displacements.
    6135 </p>
    6136 <p><img src="IMG/Figure35.png"width=1000/></p>
    6137 <p>Figure 35: Example for time series plot of displacements produced by BNC</p>
    6138 
    6139 <p><h4 id="bottom">2.20 Bottom Menu Bar</h4></p>
    6140 <p>
    6141 The bottom menu bar allows to add or delete streams to or from BNC's configuration and to start or stop it.
    6142 It also provides access to BNC's online help function. The 'Add Stream' button opens a window that allows users
    6143 to select one of several input communication links, see figure below.
    6144 </p>
    6145 <p><img src="IMG/Figure36.png"width=400/></p>
    6146 <p>Figure 36: Steam input communication links accepted by BNC</p>
    6147 
    6148 <p><h4 id="streamadd">2.20.1 Add Stream</h4></p>
    6149 <p>
    6150 Button 'Add Stream' allows you to pull streams either from an Ntrip Broadcaster or from a TCP/IP port, UPD port, or serial port.
    6151 </p>
    6152 
    6153 <p><h4 id="streamcaster">2.20.1.1 Add Stream - Coming from Caster</h4></p>
    6154 <p>
    6155 Button 'Add Stream' &gt; 'Coming from Caster' opens a window that allows users to select data streams from an Ntrip Broadcaster according
    6156 to their mountpoints and show a distribution map of offered streams.
    6157 </p>
    6158 
    6159 <p><h4 id="streamhost">2.20.1.1.1 Caster Host and Port - mandatory</h4></p>
    6160 <p>
    6161 Enter the Ntrip Broadcaster host IP and port number. Note that EUREF and IGS operate Ntrip Broadcasters
    6162 <a href="https://euref-ip.net/home" target="_blank">https://euref-ip.net/home</a>,
    6163 <a href="https://igs-ip.net/home" target="_blank">https://igs-ip.net/home</a> and
    6164 <a href="https://products.igs-ip.net/home" target="_blank">https://products.igs-ip.net/home</a>.
    6165 </p>
    6166 
    6167 <p><h4 id="streamtable">2.20.1.1.2 Casters Table - optional</h4></p>
    6168 <p>
    6169 It may be that you are not sure about your Ntrip Broadcaster's host and port number or you are interested in other
    6170 broadcaster installations operated elsewhere. Hit 'Show' for a table of known broadcasters maintained at
    6171 <a href="https://rtcm-ntrip.org/home " target="_blank">https://rtcm-ntrip.org/home </a>.
    6172 A window opens which allows selecting a broadcaster for stream retrieval, see figure below.
    6173 </p>
    6174 <p><img src="IMG/Figure37.png"width=1000/></p>
    6175 <p>Figure 37: BNC's 'Select Broadcaster' table</p>
    6176 
    6177 <p><h4 id="streamuser">2.20.1.1.3 User and Password - mandatory for protected streams</h4></p>
    6178 <p>
    6179 Streams on Ntrip Broadcasters may be protected. Enter a valid 'User' ID and 'Password' for access to protected streams.
    6180 Accounts are usually provided per Ntrip Broadcaster through a registration procedure.
    6181 Register through <a href="https://register.rtcm-ntrip.org" target="_blank">https://register.rtcm-ntrip.org</a>
    6182 for access to protected streams from EUREF and IGS.
    6183 </p>
    6184 
    6185 <p><h4 id="gettable">2.20.1.1.4 Get Table</h4></p>
    6186 <p>
    6187 Use the 'Get Table' button to download the source-table from the Ntrip Broadcaster. Pay attention to data fields 'format' and 'format-details'.
    6188 Keep in mind that BNC can only decode and convert streams that come in RTCM Version 2, RTCM Version 3, or RTNET format.
    6189 For access to observations, Broadcast Ephemerides and Broadcast Corrections in RTCM format, streams must contain a selection of
    6190 appropriate message types as listed in the Annex; cf. data field 'format-details' for available message types and their repetition rates in brackets.
    6191 Note that in order to produce RINEX Navigation files, RTCM Version 3 streams containing navigation messages are required:
    6192 <table>
    6193 <tr><td>Navigation              </td><td>Description                                                    </td><td>Constellation                  </td><td>RTCM </td></tr>
    6194 <tr><td>Message Type    </td><td>                                                                               </td><td>and Signal                     </td><td>Message Type</td></tr>
    6195 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    6196 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    6197 <tr><td>LNAV</td><td>                   GPS Legacy navigation message                   </td><td>GPS  L1 C/A            </td><td>1019</td></tr>
    6198 <tr><td>        </td><td>                       QZSS Legacy navigation message                  </td><td>QZSS L1 C/A or L1 C/B  </td><td>1044</td></tr>
    6199 <tr><td>        </td><td>                       NavIC Legacy navigation message                 </td><td>NavIC L5/S SPS         </td><td>1041</td></tr>
    6200 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    6201 <tr><td>FDMA</td><td>                   GLONASS Legacy FDMA navigation message  </td><td>GLO L1 C/A                             </td><td>1020</td></tr>
    6202 <tr><td>        </td><td>                       from M-satellites                                               </td><td>                                       </td><td>        </td></tr>
    6203 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    6204 <tr><td>INAV</td><td>                   Galileo Integrity       navigation message      </td><td>GAL E1, E5b            </td><td>1046</td></tr>
    6205 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    6206 <tr><td>D1      </td><td>                       BeiDou-2/3 MEO/IGSO navigation message  </td><td>BDS B1I, B2I, B3I      </td><td>1042</td></tr>
    6207 <tr><td>D2      </td><td>                       BeiDou-2/3 GEO      navigation message  </td><td>BDS B1I, B2I, B3I              </td><td>1042</td></tr>
    6208 <tr><td>        </td><td>                                                                                                       </td><td>                                       </td><td>        </td></tr>
    6209 <tr><td>SBAS</td><td>                   SBAS      navigation message                    </td><td>SBAS L1                </td><td>1043</td></tr>
    6210 </table>
    6211 Select your streams line by line, use +Shift and +Ctrl when necessary. The figure below provides an example source-table.
    6212 </p>
    6213 <p>
    6214 The content of data field 'nmea' tells you whether a stream retrieval needs to be initiated by BNC through sending an NMEA-GGA message
    6215 carrying approximate position coordinates (Virtual Reference Station, VRS).
    6216 </p>
    6217 <p>
    6218 Hit 'OK' to return to the main window. If you wish, you can click on 'Add Stream' and repeat the process of retrieving streams from different casters.
    6219 </p>
    6220 <p><img src="IMG/Figure38.png"width=1000/></p>
    6221 <p>Figure 38: Broadcaster source-table shown by BNC</p>
    6222 
    6223 <p><h4 id="ntripv">2.20.1.1.5 Ntrip Version - mandatory</h4></p>
    6224 <p>
    6225 Some limitations and deficiencies of the Ntrip Version 1 stream transport protocol are solved in Ntrip Version 2.
    6226 Improvements mainly concern a full HTTP compatibility in view of requirements coming from proxy servers.
    6227 Version 2 is backwards compatible to Version 1. Options implemented in BNC are:
    6228 </p>
    6229 <p>
    6230 <table>
    6231   <tr><td><b>Option &nbsp;  &nbsp; </b></td><td><b>Meaning</b></td></tr>
    6232   <tr><td>&nbsp; &nbsp; 1  </td><td>Ntrip Version 1, TCP/IP</td></tr>
    6233   <tr><td>&nbsp; &nbsp; 2  </td><td>Ntrip Version 2 in TCP/IP mode</td></tr>
    6234   <tr><td>&nbsp; &nbsp; 2s </td><td>Ntrip Version 2 in TCP/IP mode via SSL</td></tr>
    6235   <tr><td>&nbsp; &nbsp; R  </td><td>Ntrip Version 2 in RTSP/RTP mode</td></tr>
    6236   <tr><td>&nbsp; &nbsp; U  </td><td>Ntrip Version 2 in UDP mode</td></tr>
    6237 </table>
    6238 </p>
    6239 <p>
    6240 Try using option '2' if your streams are otherwise blocked by a proxy server operated in front of BNC.
    6241 </p>
    6242 <p>
    6243 When using Ntrip Version 2 via SSL (option '2s') you need to specify the appropriate 'Caster port' for that.
    6244 It is usually port number 443. Clarify 'SSL' options offered in panel 'Network'.
    6245 </p>
    6246 <p>
    6247 Option 'R' or 'U' may be selected if latency is more important than completeness for your application.
    6248 Note that the latency reduction is likely to be in the order of 0.5 sec or less.
    6249 Note further that options 'R' (RTSP/RTP mode) and 'U' (UDP mode) are not accepted by proxy servers and
    6250 a mobile Internet Service Provider may not support it.
    6251 </p>
    6252 <p><h4 id="castermap">2.20.1.1.6 Map - optional</h4></p>
    6253 <p>
    6254 Button 'Map' opens a window to show a distribution map of the caster's streams. You may like to zoom in or out using the mouse.
    6255 Left button: draw a rectangle to zoom, right button: zoom out, middle button: zoom back.
    6256 </p>
    6257 <p><img src="IMG/Figure39.png"width=1000/></p>
    6258 <p>Figure 39: Stream distribution map shown by BNC as derived from Ntrip Broadcaster source-table</p>
    6259 
    6260 <p><h4 id="streamip">2.20.1.2 Add Stream - Coming from TCP/IP Port</h4></p>
    6261 <p>
    6262 Button 'Add Stream' &gt; 'Coming from TCP/IP Port' allows to retrieve streams via TCP directly from an IP address
    6263 without using the Ntrip transport protocol. For that you:
    6264 <ul>
    6265   <li>Enter the IP address of the stream providing host.</li>
    6266   <li>Enter the IP port number of the stream providing host.</li>
    6267   <li>Specify a mountpoint. Recommended is a 9-character station ID. Example: FFMJ00DEU</li>
    6268   <li>Specify the stream format. Available options are 'RTCM_2', 'RTCM_3', 'RTNET', 'ZERO' and 'ZERO2FILE'.</li>
    6269   <li>Enter the approximate latitude of the stream providing rover in degrees. Example: 50.09.</li>
    6270   <li>Enter the approximate longitude of the stream providing rover in degrees. Example: 8.66.</li>
    6271 </ul>
    6272 </p>
    6273 <p>
    6274 Streams directly received from a TCP/IP port show up with an 'N' for 'No Ntrip' in the 'Streams' canvas on BNC's main window.
    6275 Latitude and longitude are to be entered just for informal reasons.
    6276 <p>
    6277 </p>
    6278 Note that this option works only if no proxy server is involved in the communication link.
    6279 </p>
    6280 <p><h4 id="streamudp">2.20.1.3 Add Stream - Coming from UDP Port</h4></p>
    6281 <p>
    6282 Button 'Add Stream' &gt; 'Coming from UDP Port' allows to pick up streams arriving directly at one of the local host's UDP ports without using the Ntrip transport protocol. For that you:
    6283 <ul>
    6284   <li>Enter the local port number where the UDP stream arrives.</li>
    6285   <li>Specify a mountpoint. Recommended is a 9-character station ID. Example: FFMJ00DEU</li>
    6286   <li>Specify the stream format. Available options are 'RTCM_2', 'RTCM_3', 'RTNET', 'ZERO' and 'ZERO2FILE'.</li>
    6287   <li>Enter the approximate latitude of the stream providing rover in degrees. Example: 50.09.</li>
    6288   <li>Enter the approximate longitude of the stream providing rover in degrees. Example: 8.66.</li>
    6289 </ul>
    6290 </p>
    6291 <p>
    6292 Streams directly received at a UDP port show up with a 'UN' for 'UDP, No Ntrip' in the 'Streams' canvas section on BNC's main window. Latitude and longitude are to be entered just for informal reasons.
    6293 <p>
    6294 
    6295 <p><h4 id="streamser">2.20.1.4 Add Stream - Coming from Serial Port</h4></p>
    6296 <p>
    6297 Button 'Add Stream' &gt; 'Coming from Serial Port' allows to retrieve streams from a GNSS receiver via serial port without using the Ntrip transport protocol. For that you:
    6298 <ul>
    6299   <li>Specify a mountpoint. Recommended is a 9-character station ID. Example: FFMJ00DEU</li>
    6300   <li>Specify the stream format. Available options are 'RTCM_2', 'RTCM_3', 'RTNET', 'ZERO' and 'ZERO2FILE'.</li>
    6301   <li>Enter the approximate latitude of the stream providing rover in degrees. Example: 50.09.</li>
    6302   <li>Enter the approximate longitude of the stream providing rover in degrees. Example: 8.66.</li>
    6303   <li>Enter the serial 'Port name' selected on your host for communication with the receiver. Valid port names are
     9311      eastern longitude degrees (example: 358.872 or -1.128). Only streams with a 'yes' in their 'nmea' column can be
     9312      edited. The position should
     9313      preferably be a point within the VRS service area of the network. RINEX files generated from these streams will
     9314      contain an additional COMMENT line
     9315      in the header beginning with 'NMEA' showing the 'lat' and 'long' used. Note that when running BNC in a Local Area
     9316      Network (LAN),
     9317      NMEA strings may be blocked by a proxy server, firewall or virus scanner when not using the Ntrip Version 2
     9318      transport protocol.</li>
     9319  </ul>
     9320
     9321  <p>
     9322  <h4 id="streamdelete">2.18.2 Delete Stream</h4>
     9323  </p>
     9324  <p>
     9325    To remove a stream from the 'Streams' canvas in the main window, highlight it by clicking on it and hit the 'Delete
     9326    Stream' button.
     9327    You can also remove multiple streams simultaneously by highlighting them using +Shift or +Ctrl.
     9328  </p>
     9329
     9330  <p>
     9331  <h4 id="streamconf">2.18.3 Reconfigure Stream Selection On-the-fly</h4>
     9332  </p>
     9333  <p>
     9334    The streams selection can be changed on-the-fly without interrupting uninvolved threads in the running BNC process.
     9335  </p>
     9336  <p>
     9337    <b>Window mode:</b> Hit 'Reread &amp; Save Configuration' while BNC is in window mode and already processing data
     9338    to let changes of your stream selection immediately become effective.
     9339  <p>
     9340    <b>No window mode:</b> When operating BNC online in 'no window' mode (command line option -nw),
     9341    you force BNC to reread its 'mountPoints' configuration option from disk at pre-defined intervals.
     9342    Select '1 min', '1 hour', or '1 day' as 'Reread configuration' option to reread the 'mountPoints' option
     9343    every full minute, hour, or day. This lets a 'mountPoints' option edited in between in the configuration file
     9344    become effective without terminating uninvolved threads. See section 'Configuration Examples' for
     9345    configuration file examples and section 'Reread Configuration' for a list of other on-the-fly changeable options.
     9346  </p>
     9347
     9348  <p>
     9349  <h4 id="logs">2.19 Logging Canvas</h4>
     9350  </p>
     9351  <p>
     9352    The 'Logging Canvas' above the bottom menu bar on the main window labeled 'Log', 'Throughput', 'Latency', and 'PPP
     9353    Plot'
     9354    provides control of BNC's activities. Tabs are available for continuously showing logfile content,
     9355    for a plot controlling the bandwidth consumption, a plot showing stream latencies, and for time series plots of PPP
     9356    results.
     9357  </p>
     9358
     9359  <p>
     9360  <h4 id="logfile">2.19.1 Log</h4>
     9361  </p>
     9362  <p>
     9363    Records of BNC's activities are shown in the 'Log' tab. They can be saved into a file when a valid path is specified
     9364    in the 'Logfile (full path)' field.
     9365  </p>
     9366
     9367  <p>
     9368  <h4 id="throughput">2.19.2 Throughput</h4>
     9369  </p>
     9370  <p>
     9371    The bandwidth consumption per stream is shown in the 'Throughput' tab in bits per second (bps) or kilobits per
     9372    second (kbps).
     9373    The following figure shows an example for the bandwidth consumption of incoming streams.
     9374  </p>
     9375  <p><img src="IMG/Figure33.png" width=1000 /></p>
     9376  <p>Figure 33: Bandwidth consumption of RTCM streams received by BNC</p>
     9377  <p>
     9378  <h4 id="latency">2.19.3 Latency</h4>
     9379  </p>
     9380  <p>
     9381    The latency of observations in each incoming stream is shown in the 'Latency' tab in milliseconds or seconds.
     9382    Streams not carrying observations (e.g. those providing only Broadcast Ephemeris messages) or having an outage
     9383    are not considered here and shown in red color. Note that the calculation of correct latencies requires the
     9384    clock of the host computer to be properly synchronized. The next figure shows an example for the latency
     9385    of incoming streams.
     9386  </p>
     9387  <p><img src="IMG/Figure34.png" width=1000 /></p>
     9388  <p>Figure 34: Latency of RTCM streams received by BNC</p>
     9389
     9390  <p>
     9391  <h4 id="ppptab">2.19.4 PPP Plot</h4>
     9392  </p>
     9393  <p>
     9394    Precise Point Positioning time series of North (red), East (green) and Up (blue) coordinate components are shown in
     9395    the 'PPP Plot' tab when
     9396    a 'Mountpoint' option is defined under PPP (4). Values are referred to a priori reference coordinates. The time as
     9397    given in format [hh:mm]
     9398    refers to GPS Time. The sliding PPP time series window covers a period of 5 minutes. Note that it may take up to 30
     9399    seconds or more until
     9400    the first PPP solutions becomes available. The following figure shows the screenshot of a PPP time series plot of
     9401    North, East and Up
     9402    coordinate displacements.
     9403  </p>
     9404  <p><img src="IMG/Figure35.png" width=1000 /></p>
     9405  <p>Figure 35: Example for time series plot of displacements produced by BNC</p>
     9406
     9407  <p>
     9408  <h4 id="bottom">2.20 Bottom Menu Bar</h4>
     9409  </p>
     9410  <p>
     9411    The bottom menu bar allows to add or delete streams to or from BNC's configuration and to start or stop it.
     9412    It also provides access to BNC's online help function. The 'Add Stream' button opens a window that allows users
     9413    to select one of several input communication links, see figure below.
     9414  </p>
     9415  <p><img src="IMG/Figure36.png" width=400 /></p>
     9416  <p>Figure 36: Steam input communication links accepted by BNC</p>
     9417
     9418  <p>
     9419  <h4 id="streamadd">2.20.1 Add Stream</h4>
     9420  </p>
     9421  <p>
     9422    Button 'Add Stream' allows you to pull streams either from an Ntrip Broadcaster or from a TCP/IP port, UPD port, or
     9423    serial port.
     9424  </p>
     9425
     9426  <p>
     9427  <h4 id="streamcaster">2.20.1.1 Add Stream - Coming from Caster</h4>
     9428  </p>
     9429  <p>
     9430    Button 'Add Stream' &gt; 'Coming from Caster' opens a window that allows users to select data streams from an Ntrip
     9431    Broadcaster according
     9432    to their mountpoints and show a distribution map of offered streams.
     9433  </p>
     9434
     9435  <p>
     9436  <h4 id="streamhost">2.20.1.1.1 Caster Host and Port - mandatory</h4>
     9437  </p>
     9438  <p>
     9439    Enter the Ntrip Broadcaster host IP and port number. Note that EUREF and IGS operate Ntrip Broadcasters
     9440    <a href="https://euref-ip.net/home" target="_blank">https://euref-ip.net/home</a>,
     9441    <a href="https://igs-ip.net/home" target="_blank">https://igs-ip.net/home</a> and
     9442    <a href="https://products.igs-ip.net/home" target="_blank">https://products.igs-ip.net/home</a>.
     9443  </p>
     9444
     9445  <p>
     9446  <h4 id="streamtable">2.20.1.1.2 Casters Table - optional</h4>
     9447  </p>
     9448  <p>
     9449    It may be that you are not sure about your Ntrip Broadcaster's host and port number or you are interested in other
     9450    broadcaster installations operated elsewhere. Hit 'Show' for a table of known broadcasters maintained at
     9451    <a href="https://rtcm-ntrip.org/home " target="_blank">https://rtcm-ntrip.org/home </a>.
     9452    A window opens which allows selecting a broadcaster for stream retrieval, see figure below.
     9453  </p>
     9454  <p><img src="IMG/Figure37.png" width=1000 /></p>
     9455  <p>Figure 37: BNC's 'Select Broadcaster' table</p>
     9456
     9457  <p>
     9458  <h4 id="streamuser">2.20.1.1.3 User and Password - mandatory for protected streams</h4>
     9459  </p>
     9460  <p>
     9461    Streams on Ntrip Broadcasters may be protected. Enter a valid 'User' ID and 'Password' for access to protected
     9462    streams.
     9463    Accounts are usually provided per Ntrip Broadcaster through a registration procedure.
     9464    Register through <a href="https://register.rtcm-ntrip.org" target="_blank">https://register.rtcm-ntrip.org</a>
     9465    for access to protected streams from EUREF and IGS.
     9466  </p>
     9467
     9468  <p>
     9469  <h4 id="gettable">2.20.1.1.4 Get Table</h4>
     9470  </p>
     9471  <p>
     9472    Use the 'Get Table' button to download the source-table from the Ntrip Broadcaster. Pay attention to data fields
     9473    'format' and 'format-details'.
     9474    Keep in mind that BNC can only decode and convert streams that come in RTCM Version 2, RTCM Version 3, or RTNET
     9475    format.
     9476    For access to observations, Broadcast Ephemerides and Broadcast Corrections in RTCM format, streams must contain a
     9477    selection of
     9478    appropriate message types as listed in the Annex; cf. data field 'format-details' for available message types and
     9479    their repetition rates in brackets.
     9480    Note that in order to produce RINEX Navigation files, RTCM Version 3 streams containing navigation messages are
     9481    required:
    63049482  <table>
    6305   <tr><td>&nbsp; &nbsp; Windows:       </td><td>COM1, COM2</td></tr>
    6306   <tr><td>&nbsp; &nbsp; Linux:         </td><td>/dev/ttyS0, /dev/ttyS1</td></tr>
    6307   <tr><td>&nbsp; &nbsp; FreeBSD:       </td><td>/dev/ttyd0, /dev/ttyd1</td></tr>
    6308   <tr><td>&nbsp; &nbsp; Digital Unix:  </td><td>/dev/tty01, /dev/tty02</td></tr>
    6309   <tr><td>&nbsp; &nbsp; HP-UX:         </td><td>/dev/tty1p0, /dev/tty2p0</td></tr>
    6310   <tr><td>&nbsp; &nbsp; SGI/IRIX;      </td><td>/dev/ttyf1, /dev/ttyf2</td></tr>
    6311   <tr><td>&nbsp; &nbsp; SunOS/Solaris: </td><td>/dev/ttya, /dev/ttyb</td></tr>
    6312 </table>
    6313 </li>
    6314   <li>Select a 'Baud rate' for the serial input. Note that using a high baud rate is recommended.</li>
    6315   <li>Select the number of 'Data bits' for the serial input. Note that often '8' data bits are used.</li>
    6316   <li>Select the 'Parity' for the serial input. Note that parity is often set to 'NONE'.</li>
    6317   <li>Select the number of 'Stop bits' for the serial input. Note that often '1' stop bit is used.</li>
    6318   <li>Select a 'Flow control' for the serial link. Select 'OFF' if you do not know better.</li>
    6319 </ul>
    6320 </p>
    6321 <p>
    6322 When selecting one of the serial communication options listed above, make sure that you pick those configured to the serially connected GNSS receiver.
    6323 </p>
    6324 <p>
    6325 Streams received from a serially connected GNSS receiver show up with an 'S' (for <u>S</u>erial Port, no Ntrip) in the 'Streams' canvas
    6326 section on BNC's main window. Latitude and longitude are to be entered just for informal reasons.
    6327 <p>
    6328 <p>
    6329 The following figure shows a BNC example setup for pulling a stream via serial port on a Windows operating system.
    6330 </p>
    6331 <p><img src="IMG/Figure40.png"width=400/></p>
    6332 <p>Figure 40: BNC configuration for pulling a stream via serial port</p>
    6333 
    6334 <p><h4 id="streamsdelete">2.20.2 Delete Stream</h4></p>
    6335 <p>
    6336 Button 'Delete Stream' allows you to delete streams previously selected for retrieval as listed under the 'Streams' canvas on BNC's main window.
    6337 </p>
    6338 
    6339 <p><h4 id="streamsmap">2.20.3 Map</h4></p>
    6340 <p>
    6341 Button 'Map' opens a window to show a distribution map of the streams selected for retrieval as listed under the 'Streams' canvas.
    6342 You may like to zoom in or out using the mouse. Left button: draw a rectangle to zoom, right button: zoom out, middle button: zoom back.
    6343 </p>
    6344 
    6345 <p><h4 id="start">2.20.4 Start</h4></p>
    6346 <p>
    6347 Hit 'Start' to start retrieving, decoding or converting GNSS data streams in real-time.
    6348 Note that 'Start' generally forces BNC to begin with fresh RINEX files which might overwrite existing files when necessary
    6349 unless option 'Append files' is ticked.
    6350 </p>
    6351 
    6352 <p><h4 id="stop">2.20.5 Stop</h4></p>
    6353 <p>
    6354 Hit the 'Stop' button in order to stop BNC.
    6355 </p>
    6356 
    6357 <p><h4 id="contexthelp">2.20.6 Help? = Shift+F1</h4></p>
    6358 <p>
    6359 BNC comes with a <i>What's This</i> help system providing information about its functionality and usage.
    6360 Short descriptions are available for any widget and program option. Focus to the relevant object and press Shift+F1 to request help information.
    6361 A help text appears immediately; it disappears as soon as the user does something else.
    6362 The dialogs on some operating systems may provide a '?' button that users can click; click the relevant widget to pop up the help text.
    6363 </p>
    6364 <p><h4 id="cmd">2.21 Command Line Options</h4></p>
    6365 <p>
    6366 Command line options are available to run BNC in 'no window' mode or let it read previously recorded input offline from one or
    6367 several files for debugging or post processing purposes. It is also possible to introduce a specific configuration filename
    6368 instead of using the default filename 'BNC.bnc'. The self-explaining content of the configuration file can easily be edited.
    6369 </p>
    6370 <p>
    6371 In addition to reading processing options from the involved configuration file, BNC can optionally read any configuration option
    6372 from command line. Running BNC with command line option 'help'
    6373 </p>
    6374 <p>
    6375 Example:<br><br>
    6376 &nbsp; &nbsp; &nbsp; bnc --help (MS Windows: bnc.exe --help | more)
    6377 </p>
    6378 <p>
    6379 provides a list of all available command line options.
    6380 </p>
    6381 <p><h4 id="cmdVersion">2.21.1 Version - optional</h4></p>
    6382 <p>
    6383 Command line option '--version' lets BNC print its version number.
    6384 </p>
    6385 <p>
    6386 Example:<br><br>
    6387 &nbsp; &nbsp; &nbsp; bnc --version (MS Windows: bnc.exe --version | more)
    6388 </p>
    6389 <p><h4 id="cmdDisplay">2.21.2 Display - optional</h4></p>
    6390 <p>
    6391 On systems which support graphics, command line option '--display' forces BNC to present the BNC window on the specified display.
    6392 </p>
    6393 <p>
    6394 Example:<br><br>
    6395 &nbsp; &nbsp; &nbsp; bnc.exe --display localhost:10.0
    6396 </p>
    6397 <p><h4 id="nw">2.21.3 No Window Mode - optional</h4></p>
    6398 <p>
    6399 Apart from its regular windows mode, BNC can be started on all systems as a batch job with command line option '-nw'.
    6400 BNC will then run in 'no window' mode, using processing options from its configuration file on disk.
    6401 Terminate BNC using Windows Task Manager when running it in 'no window' mode on Windows systems.
    6402 </p>
    6403 <p>
    6404 Example:<br><br>
    6405 &nbsp; &nbsp; &nbsp; bnc.exe --nw
    6406 </p>
    6407 <p>
    6408 The following Linux command line produces RINEX QC plots (see Estey and Meertens 1999) offline in 'no window' mode
    6409 and saves them in directory '/home/user'. Introducing a dummy configuration file /dev/null makes sure that no configuration options
    6410 previously saved on disc are used:
    6411 It is obvious that BNC requires graphics support when started in interactive
    6412 mode. However, note that graphics support is also required when producing plots in
    6413 batch mode (option -nw). Windows and Mac OS X systems always support graphics. For
    6414 producing plots in batch mode on Linux systems you must make sure that at
    6415 least a virtual X-Server such as 'Xvfb' is installed and the '-display' option
    6416 is used. The following is an example shell script to execute BNC in batch mode
    6417 for producing QC plots from RINEX files. It could be used via 'crontab':
    6418 
    6419 <pre><p style="font-family:Monospace">
     9483    <tr>
     9484      <td>Navigation </td>
     9485      <td>Description </td>
     9486      <td>Constellation </td>
     9487      <td>RTCM </td>
     9488    </tr>
     9489    <tr>
     9490      <td>Message Type </td>
     9491      <td> </td>
     9492      <td>and Signal </td>
     9493      <td>Message Type</td>
     9494    </tr>
     9495    <tr>
     9496      <td> </td>
     9497      <td> </td>
     9498      <td> </td>
     9499      <td> </td>
     9500    </tr>
     9501    <tr>
     9502      <td> </td>
     9503      <td> </td>
     9504      <td> </td>
     9505      <td> </td>
     9506    </tr>
     9507    <tr>
     9508      <td>LNAV</td>
     9509      <td> GPS Legacy navigation message </td>
     9510      <td>GPS L1 C/A </td>
     9511      <td>1019</td>
     9512    </tr>
     9513    <tr>
     9514      <td> </td>
     9515      <td> QZSS Legacy navigation message </td>
     9516      <td>QZSS L1 C/A or L1 C/B </td>
     9517      <td>1044</td>
     9518    </tr>
     9519    <tr>
     9520      <td> </td>
     9521      <td> NavIC Legacy navigation message </td>
     9522      <td>NavIC L5/S SPS </td>
     9523      <td>1041</td>
     9524    </tr>
     9525    <tr>
     9526      <td> </td>
     9527      <td> </td>
     9528      <td> </td>
     9529      <td> </td>
     9530    </tr>
     9531    <tr>
     9532      <td>FDMA</td>
     9533      <td> GLONASS Legacy FDMA navigation message </td>
     9534      <td>GLO L1 C/A </td>
     9535      <td>1020</td>
     9536    </tr>
     9537    <tr>
     9538      <td> </td>
     9539      <td> from M-satellites </td>
     9540      <td> </td>
     9541      <td> </td>
     9542    </tr>
     9543    <tr>
     9544      <td> </td>
     9545      <td> </td>
     9546      <td> </td>
     9547      <td> </td>
     9548    </tr>
     9549    <tr>
     9550      <td>INAV</td>
     9551      <td> Galileo Integrity navigation message </td>
     9552      <td>GAL E1, E5b </td>
     9553      <td>1046</td>
     9554    </tr>
     9555    <tr>
     9556      <td> </td>
     9557      <td> </td>
     9558      <td> </td>
     9559      <td> </td>
     9560    </tr>
     9561    <tr>
     9562      <td>D1 </td>
     9563      <td> BeiDou-2/3 MEO/IGSO navigation message </td>
     9564      <td>BDS B1I, B2I, B3I </td>
     9565      <td>1042</td>
     9566    </tr>
     9567    <tr>
     9568      <td>D2 </td>
     9569      <td> BeiDou-2/3 GEO navigation message </td>
     9570      <td>BDS B1I, B2I, B3I </td>
     9571      <td>1042</td>
     9572    </tr>
     9573    <tr>
     9574      <td> </td>
     9575      <td> </td>
     9576      <td> </td>
     9577      <td> </td>
     9578    </tr>
     9579    <tr>
     9580      <td>SBAS</td>
     9581      <td> SBAS navigation message </td>
     9582      <td>SBAS L1 </td>
     9583      <td>1043</td>
     9584    </tr>
     9585  </table>
     9586  Select your streams line by line, use +Shift and +Ctrl when necessary. The figure below provides an example
     9587  source-table.
     9588  </p>
     9589  <p>
     9590    The content of data field 'nmea' tells you whether a stream retrieval needs to be initiated by BNC through sending
     9591    an NMEA-GGA message
     9592    carrying approximate position coordinates (Virtual Reference Station, VRS).
     9593  </p>
     9594  <p>
     9595    Hit 'OK' to return to the main window. If you wish, you can click on 'Add Stream' and repeat the process of
     9596    retrieving streams from different casters.
     9597  </p>
     9598  <p><img src="IMG/Figure38.png" width=1000 /></p>
     9599  <p>Figure 38: Broadcaster source-table shown by BNC</p>
     9600
     9601  <p>
     9602  <h4 id="ntripv">2.20.1.1.5 Ntrip Version - mandatory</h4>
     9603  </p>
     9604  <p>
     9605    Some limitations and deficiencies of the Ntrip Version 1 stream transport protocol are solved in Ntrip Version 2.
     9606    Improvements mainly concern a full HTTP compatibility in view of requirements coming from proxy servers.
     9607    Version 2 is backwards compatible to Version 1. Options implemented in BNC are:
     9608  </p>
     9609  <p>
     9610  <table>
     9611    <tr>
     9612      <td><b>Option &nbsp; &nbsp; </b></td>
     9613      <td><b>Meaning</b></td>
     9614    </tr>
     9615    <tr>
     9616      <td>&nbsp; &nbsp; 1 </td>
     9617      <td>Ntrip Version 1, TCP/IP</td>
     9618    </tr>
     9619    <tr>
     9620      <td>&nbsp; &nbsp; 2 </td>
     9621      <td>Ntrip Version 2 in TCP/IP mode</td>
     9622    </tr>
     9623    <tr>
     9624      <td>&nbsp; &nbsp; 2s </td>
     9625      <td>Ntrip Version 2 in TCP/IP mode via SSL</td>
     9626    </tr>
     9627    <tr>
     9628      <td>&nbsp; &nbsp; R </td>
     9629      <td>Ntrip Version 2 in RTSP/RTP mode</td>
     9630    </tr>
     9631    <tr>
     9632      <td>&nbsp; &nbsp; U </td>
     9633      <td>Ntrip Version 2 in UDP mode</td>
     9634    </tr>
     9635  </table>
     9636  </p>
     9637  <p>
     9638    Try using option '2' if your streams are otherwise blocked by a proxy server operated in front of BNC.
     9639  </p>
     9640  <p>
     9641    When using Ntrip Version 2 via SSL (option '2s') you need to specify the appropriate 'Caster port' for that.
     9642    It is usually port number 443. Clarify 'SSL' options offered in panel 'Network'.
     9643  </p>
     9644  <p>
     9645    Option 'R' or 'U' may be selected if latency is more important than completeness for your application.
     9646    Note that the latency reduction is likely to be in the order of 0.5 sec or less.
     9647    Note further that options 'R' (RTSP/RTP mode) and 'U' (UDP mode) are not accepted by proxy servers and
     9648    a mobile Internet Service Provider may not support it.
     9649  </p>
     9650  <p>
     9651  <h4 id="castermap">2.20.1.1.6 Map - optional</h4>
     9652  </p>
     9653  <p>
     9654    Button 'Map' opens a window to show a distribution map of the caster's streams. You may like to zoom in or out using
     9655    the mouse.
     9656    Left button: draw a rectangle to zoom, right button: zoom out, middle button: zoom back.
     9657  </p>
     9658  <p><img src="IMG/Figure39.png" width=1000 /></p>
     9659  <p>Figure 39: Stream distribution map shown by BNC as derived from Ntrip Broadcaster source-table</p>
     9660
     9661  <p>
     9662  <h4 id="streamip">2.20.1.2 Add Stream - Coming from TCP/IP Port</h4>
     9663  </p>
     9664  <p>
     9665    Button 'Add Stream' &gt; 'Coming from TCP/IP Port' allows to retrieve streams via TCP directly from an IP address
     9666    without using the Ntrip transport protocol. For that you:
     9667  <ul>
     9668    <li>Enter the IP address of the stream providing host.</li>
     9669    <li>Enter the IP port number of the stream providing host.</li>
     9670    <li>Specify a mountpoint. Recommended is a 9-character station ID. Example: FFMJ00DEU</li>
     9671    <li>Specify the stream format. Available options are 'RTCM_2', 'RTCM_3', 'RTNET', 'ZERO' and 'ZERO2FILE'.</li>
     9672    <li>Enter the approximate latitude of the stream providing rover in degrees. Example: 50.09.</li>
     9673    <li>Enter the approximate longitude of the stream providing rover in degrees. Example: 8.66.</li>
     9674  </ul>
     9675  </p>
     9676  <p>
     9677    Streams directly received from a TCP/IP port show up with an 'N' for 'No Ntrip' in the 'Streams' canvas on BNC's
     9678    main window.
     9679    Latitude and longitude are to be entered just for informal reasons.
     9680  <p>
     9681  </p>
     9682  Note that this option works only if no proxy server is involved in the communication link.
     9683  </p>
     9684  <p>
     9685  <h4 id="streamudp">2.20.1.3 Add Stream - Coming from UDP Port</h4>
     9686  </p>
     9687  <p>
     9688    Button 'Add Stream' &gt; 'Coming from UDP Port' allows to pick up streams arriving directly at one of the local
     9689    host's UDP ports without using the Ntrip transport protocol. For that you:
     9690  <ul>
     9691    <li>Enter the local port number where the UDP stream arrives.</li>
     9692    <li>Specify a mountpoint. Recommended is a 9-character station ID. Example: FFMJ00DEU</li>
     9693    <li>Specify the stream format. Available options are 'RTCM_2', 'RTCM_3', 'RTNET', 'ZERO' and 'ZERO2FILE'.</li>
     9694    <li>Enter the approximate latitude of the stream providing rover in degrees. Example: 50.09.</li>
     9695    <li>Enter the approximate longitude of the stream providing rover in degrees. Example: 8.66.</li>
     9696  </ul>
     9697  </p>
     9698  <p>
     9699    Streams directly received at a UDP port show up with a 'UN' for 'UDP, No Ntrip' in the 'Streams' canvas section on
     9700    BNC's main window. Latitude and longitude are to be entered just for informal reasons.
     9701  <p>
     9702
     9703  <p>
     9704  <h4 id="streamser">2.20.1.4 Add Stream - Coming from Serial Port</h4>
     9705  </p>
     9706  <p>
     9707    Button 'Add Stream' &gt; 'Coming from Serial Port' allows to retrieve streams from a GNSS receiver via serial port
     9708    without using the Ntrip transport protocol. For that you:
     9709  <ul>
     9710    <li>Specify a mountpoint. Recommended is a 9-character station ID. Example: FFMJ00DEU</li>
     9711    <li>Specify the stream format. Available options are 'RTCM_2', 'RTCM_3', 'RTNET', 'ZERO' and 'ZERO2FILE'.</li>
     9712    <li>Enter the approximate latitude of the stream providing rover in degrees. Example: 50.09.</li>
     9713    <li>Enter the approximate longitude of the stream providing rover in degrees. Example: 8.66.</li>
     9714    <li>Enter the serial 'Port name' selected on your host for communication with the receiver. Valid port names are
     9715      <table>
     9716        <tr>
     9717          <td>&nbsp; &nbsp; Windows: </td>
     9718          <td>COM1, COM2</td>
     9719        </tr>
     9720        <tr>
     9721          <td>&nbsp; &nbsp; Linux: </td>
     9722          <td>/dev/ttyS0, /dev/ttyS1</td>
     9723        </tr>
     9724        <tr>
     9725          <td>&nbsp; &nbsp; FreeBSD: </td>
     9726          <td>/dev/ttyd0, /dev/ttyd1</td>
     9727        </tr>
     9728        <tr>
     9729          <td>&nbsp; &nbsp; Digital Unix: </td>
     9730          <td>/dev/tty01, /dev/tty02</td>
     9731        </tr>
     9732        <tr>
     9733          <td>&nbsp; &nbsp; HP-UX: </td>
     9734          <td>/dev/tty1p0, /dev/tty2p0</td>
     9735        </tr>
     9736        <tr>
     9737          <td>&nbsp; &nbsp; SGI/IRIX; </td>
     9738          <td>/dev/ttyf1, /dev/ttyf2</td>
     9739        </tr>
     9740        <tr>
     9741          <td>&nbsp; &nbsp; SunOS/Solaris: </td>
     9742          <td>/dev/ttya, /dev/ttyb</td>
     9743        </tr>
     9744      </table>
     9745    </li>
     9746    <li>Select a 'Baud rate' for the serial input. Note that using a high baud rate is recommended.</li>
     9747    <li>Select the number of 'Data bits' for the serial input. Note that often '8' data bits are used.</li>
     9748    <li>Select the 'Parity' for the serial input. Note that parity is often set to 'NONE'.</li>
     9749    <li>Select the number of 'Stop bits' for the serial input. Note that often '1' stop bit is used.</li>
     9750    <li>Select a 'Flow control' for the serial link. Select 'OFF' if you do not know better.</li>
     9751  </ul>
     9752  </p>
     9753  <p>
     9754    When selecting one of the serial communication options listed above, make sure that you pick those configured to the
     9755    serially connected GNSS receiver.
     9756  </p>
     9757  <p>
     9758    Streams received from a serially connected GNSS receiver show up with an 'S' (for <u>S</u>erial Port, no Ntrip) in
     9759    the 'Streams' canvas
     9760    section on BNC's main window. Latitude and longitude are to be entered just for informal reasons.
     9761  <p>
     9762  <p>
     9763    The following figure shows a BNC example setup for pulling a stream via serial port on a Windows operating system.
     9764  </p>
     9765  <p><img src="IMG/Figure40.png" width=400 /></p>
     9766  <p>Figure 40: BNC configuration for pulling a stream via serial port</p>
     9767
     9768  <p>
     9769  <h4 id="streamsdelete">2.20.2 Delete Stream</h4>
     9770  </p>
     9771  <p>
     9772    Button 'Delete Stream' allows you to delete streams previously selected for retrieval as listed under the 'Streams'
     9773    canvas on BNC's main window.
     9774  </p>
     9775
     9776  <p>
     9777  <h4 id="streamsmap">2.20.3 Map</h4>
     9778  </p>
     9779  <p>
     9780    Button 'Map' opens a window to show a distribution map of the streams selected for retrieval as listed under the
     9781    'Streams' canvas.
     9782    You may like to zoom in or out using the mouse. Left button: draw a rectangle to zoom, right button: zoom out,
     9783    middle button: zoom back.
     9784  </p>
     9785
     9786  <p>
     9787  <h4 id="start">2.20.4 Start</h4>
     9788  </p>
     9789  <p>
     9790    Hit 'Start' to start retrieving, decoding or converting GNSS data streams in real-time.
     9791    Note that 'Start' generally forces BNC to begin with fresh RINEX files which might overwrite existing files when
     9792    necessary
     9793    unless option 'Append files' is ticked.
     9794  </p>
     9795
     9796  <p>
     9797  <h4 id="stop">2.20.5 Stop</h4>
     9798  </p>
     9799  <p>
     9800    Hit the 'Stop' button in order to stop BNC.
     9801  </p>
     9802
     9803  <p>
     9804  <h4 id="contexthelp">2.20.6 Help? = Shift+F1</h4>
     9805  </p>
     9806  <p>
     9807    BNC comes with a <i>What's This</i> help system providing information about its functionality and usage.
     9808    Short descriptions are available for any widget and program option. Focus to the relevant object and press Shift+F1
     9809    to request help information.
     9810    A help text appears immediately; it disappears as soon as the user does something else.
     9811    The dialogs on some operating systems may provide a '?' button that users can click; click the relevant widget to
     9812    pop up the help text.
     9813  </p>
     9814  <p>
     9815  <h4 id="cmd">2.21 Command Line Options</h4>
     9816  </p>
     9817  <p>
     9818    Command line options are available to run BNC in 'no window' mode or let it read previously recorded input offline
     9819    from one or
     9820    several files for debugging or post processing purposes. It is also possible to introduce a specific configuration
     9821    filename
     9822    instead of using the default filename 'BNC.bnc'. The self-explaining content of the configuration file can easily be
     9823    edited.
     9824  </p>
     9825  <p>
     9826    In addition to reading processing options from the involved configuration file, BNC can optionally read any
     9827    configuration option
     9828    from command line. Running BNC with command line option 'help'
     9829  </p>
     9830  <p>
     9831    Example:<br><br>
     9832    &nbsp; &nbsp; &nbsp; bnc --help (MS Windows: bnc.exe --help | more)
     9833  </p>
     9834  <p>
     9835    provides a list of all available command line options.
     9836  </p>
     9837  <p>
     9838  <h4 id="cmdVersion">2.21.1 Version - optional</h4>
     9839  </p>
     9840  <p>
     9841    Command line option '--version' lets BNC print its version number.
     9842  </p>
     9843  <p>
     9844    Example:<br><br>
     9845    &nbsp; &nbsp; &nbsp; bnc --version (MS Windows: bnc.exe --version | more)
     9846  </p>
     9847  <p>
     9848  <h4 id="cmdDisplay">2.21.2 Display - optional</h4>
     9849  </p>
     9850  <p>
     9851    On systems which support graphics, command line option '--display' forces BNC to present the BNC window on the
     9852    specified display.
     9853  </p>
     9854  <p>
     9855    Example:<br><br>
     9856    &nbsp; &nbsp; &nbsp; bnc.exe --display localhost:10.0
     9857  </p>
     9858  <p>
     9859  <h4 id="nw">2.21.3 No Window Mode - optional</h4>
     9860  </p>
     9861  <p>
     9862    Apart from its regular windows mode, BNC can be started on all systems as a batch job with command line option
     9863    '-nw'.
     9864    BNC will then run in 'no window' mode, using processing options from its configuration file on disk.
     9865    Terminate BNC using Windows Task Manager when running it in 'no window' mode on Windows systems.
     9866  </p>
     9867  <p>
     9868    Example:<br><br>
     9869    &nbsp; &nbsp; &nbsp; bnc.exe --nw
     9870  </p>
     9871  <p>
     9872    The following Linux command line produces RINEX QC plots (see Estey and Meertens 1999) offline in 'no window' mode
     9873    and saves them in directory '/home/user'. Introducing a dummy configuration file /dev/null makes sure that no
     9874    configuration options
     9875    previously saved on disc are used:
     9876    It is obvious that BNC requires graphics support when started in interactive
     9877    mode. However, note that graphics support is also required when producing plots in
     9878    batch mode (option -nw). Windows and Mac OS X systems always support graphics. For
     9879    producing plots in batch mode on Linux systems you must make sure that at
     9880    least a virtual X-Server such as 'Xvfb' is installed and the '-display' option
     9881    is used. The following is an example shell script to execute BNC in batch mode
     9882    for producing QC plots from RINEX files. It could be used via 'crontab':
     9883
     9884  <pre><p style="font-family:Monospace">
    64209885#!/bin/bash
    64219886
     
    64309895</p></pre>
    64319896
    6432 <p><h4 id="post">2.21.4 File Mode - optional</h4></p>
    6433 <p>
    6434 Although BNC is primarily a real-time online tool, for debugging purposes it can be run offline to read data from a file
    6435 previously saved through option 'Raw output file' (Record &amp; Replay functionality). Enter the following command line option for that
    6436 </p>
    6437 <p>
    6438 &nbsp; &nbsp; &nbsp; --file &lt;<u>inputFileName</u>&gt;
    6439 </p>
    6440 and specify the full path to an input file containing previously saved data. Example:<br><br>
    6441 &nbsp; &nbsp; &nbsp; ./bnc --file /home/user/raw.output_221202
    6442 </p>
    6443 <p>
    6444 Note that when running BNC offline, it will use options for file saving, interval, sampling, PPP etc. from its configuration file.
    6445 </p>
    6446 <p>Note further that option '--file' forces BNC to apply the '-nw' option for running in 'no window' mode.
    6447 </p>
    6448 <p><h4 id="conffile">2.21.5 Configuration File - optional</h4></p>
    6449 The default configuration filename is 'BNC.bnc'. You may change this name at startup time using command line option '--conf &lt;<u>confFileName</u>&gt;'. This allows running several BNC jobs in parallel on the same host using different sets of configuration options. <u>confFileName</u> stands either for the full path to a configuration file or just for a filename. If you introduce only a filename, the corresponding file will be saved in the current working directory from where BNC is started.
    6450 </p>
    6451 <p>
    6452 Example:<br><br>
    6453 &nbsp; &nbsp; &nbsp; ./bnc --conf MyConfig.bnc
    6454 </p>
    6455 <p>
    6456 This leads to a BNC job using configuration file 'MyConfig.bnc'. The configuration file will be saved in the current working directory.
    6457 </p>
    6458 <p><h4 id="confopt">2.21.6 Configuration Options - optional</h4></p>
    6459 <p>
    6460 BNC applies options from the configuration file but allows updating every one of them on the command line while the content of the configuration file remains unchanged. Note the following syntax for Command Line Interface (CLI) options:
    6461 </p>
    6462 <p>
    6463 &nbsp; &nbsp; &nbsp; --key &lt;keyName&gt; &lt;keyValue&gt;
    6464 </p>
    6465 <p>
    6466 Parameter &lt;keyName&gt; stands for the key name of an option contained in the configuration file and &lt;keyValue&gt;
    6467 stands for the value you want to assign to it. The following is a syntax example for a complete command line:
    6468 </p>
    6469 <p>
    6470 &nbsp; &nbsp; &nbsp; bnc --nw --conf &lt;confFileName&gt --key &lt;keyName1&gt; &lt;keyValue1&gt; --key &lt;keyName2&gt; &lt;keyValue2&gt; ...
    6471 </p>
    6472 <p>
    6473 Configuration options which are part of the configuration files PPP section must be prefixed by 'PPP/'.
    6474 As an example, option 'minObs' from the PPP section of the BNC configuration file would be specified as
    6475 </p>
    6476 <p>
    6477 &nbsp; &nbsp; &nbsp; 'PPP/minObs'
    6478 </p>
    6479 on a command line.
    6480 <p>
    6481 Values for configuration options can be introduced via command line exactly as they show up in the configuration file.
    6482 However, any value containing one or more blank characters must be enclosed by quotation marks when specified on command line.
    6483 </p>
    6484 <p><h3 id="annex">3. Annex</h3></p>
    6485 
    6486 <p><h4 id="rtcm">3.1 RTCM Standards</h4></p>
    6487 <p>
    6488 The Radio Technical Commission for Maritime Services (RTCM) is an international non-profit scientific, professional and educational organization.
    6489 Special Committees provide a forum in which governmental and non-governmental members work together to develop
    6490 technical standards and consensus recommendations in regard to issues of particular concern.
    6491 RTCM is engaged in the development of international standards for maritime radionavigation and radiocommunication systems.
    6492 The output documents and reports prepared by RTCM Committees are published as RTCM Recommended Standards.
    6493 Topics concerning Differential Global Navigation Satellite Systems (DGNSS) are handled by the Special Committee SC 104.
    6494 <p>
    6495 Personal copies of RTCM Recommended Standards can be ordered through
    6496 <a href="https://rtcm.myshopify.com/collections/differential-global-navigation-satellite-dgnss-standards" target="_blank">https://rtcm.myshopify.com/collections/differential-global-navigation-satellite-dgnss-standards</a>
    6497 
    6498 </p>
    6499 <p><h4 id="ntrip1">3.1.1 Ntrip Version 1</h4></p>
    6500 <p>
    6501 'Networked Transport of RTCM via Internet Protocol' Version 1.0 (Ntrip) stands for an application-level protocol streaming
    6502 Global Navigation Satellite System (GNSS) data over the Internet. Ntrip is a generic, stateless protocol based on the
    6503 Hypertext Transfer Protocol HTTP/1.1. The HTTP objects are enhanced to GNSS data streams.
    6504 </p>
    6505 <p>
    6506 Ntrip Version 1 is an RTCM standard designed for disseminating differential correction data (e.g. in the RTCM-104 format) or
    6507 other kinds of GNSS streaming data to stationary or mobile users over the Internet, allowing simultaneous PC, Laptop, PDA,
    6508 or receiver connections to a broadcasting host. Ntrip supports wireless Internet access through Mobile IP Networks like GSM, GPRS, EDGE, or UMTS.
    6509 </p>
    6510 
    6511 <p>
    6512 Ntrip is implemented in three system software components: Ntrip Clients, Ntrip Servers and Ntrip Broadcasters.
    6513 The Ntrip Broadcaster is the actual HTTP server program whereas Ntrip Client and Ntrip Server are acting as HTTP clients.
    6514 </p>
    6515 <p>
    6516 Ntrip is an open none-proprietary protocol. Major characteristics of Ntrip's dissemination technique are:
    6517 <ul>
    6518   <li>Based on the popular HTTP streaming standard; comparatively easy to implement when having limited client and server platform resources available;</li>
    6519   <li>Application not limited to one particular plain or coded stream content; ability to distribute any kind of GNSS data;</li>
    6520   <li>Potential to support mass usage; disseminating hundreds of streams simultaneously for thousands of users possible when applying modified Internet Radio broadcasting software;</li>
    6521   <li>Considering security needs; stream providers and users do not necessarily get into contact, streams often not blocked by firewalls or proxy servers protecting Local Area Networks;</li>
    6522   <li>Enables streaming over mobile IP networks because of using TCP/IP.</li>
    6523 </ul>
    6524 </p>
    6525 <p>
    6526 The Ntrip Broadcaster maintains a source-table containing information on available Ntrip streams, networks of Ntrip streams and Ntrip Broadcasters.
    6527 See at <a href="https://software.rtcm-ntrip.org/wiki/Sourcetable" target="_blank">https://software.rtcm-ntrip.org/wiki/Sourcetable</a> for details.
    6528 </p>
    6529 <p>
    6530 Source-table records are dedicated to one of the following:
    6531 <ul>
    6532   <li>Data Streams (record type STR, for details see at: <a href="https://software.rtcm-ntrip.org/wiki/STR" target="_blank">https://software.rtcm-ntrip.org/wiki/STR</a> </li>
    6533   <li>Casters (record type CAS, for details see at: <a href="https://software.rtcm-ntrip.org/wiki/CAS" target="_blank">https://software.rtcm-ntrip.org/wiki/CAS</a> </li>
    6534   <li>Networks of streams (record type NET, for details see at: <a href="https://software.rtcm-ntrip.org/wiki/NET" target="_blank">https://software.rtcm-ntrip.org/wiki/NET</a> </li>
    6535 </ul>
    6536 </p>
    6537 The source-table is sent to an Ntrip Client on request.
    6538 </p>
    6539 <p><h4 id="ntrip2">3.1.2 Ntrip Version 2</h4></p>
    6540 <p>
    6541 The major changes of Ntrip Version 2 compared to Version 1.0 are:
    6542 </p>
    6543 <ul>
    6544   <li>Cleared and fixed design problems and HTTP protocol violations;</li>
    6545   <li>Replaced nonstandard directives;</li>
    6546   <li>Chunked transfer encoding;</li>
    6547   <li>Improvements in header records;</li>
    6548   <li>Source-table filtering;</li>
    6549   <li>RTSP communication.</li>
    6550 </ul>
    6551 <p>
    6552 Ntrip Version 2 allows to communicate either in TCP/IP mode or in RTSP/RTP mode or in UDP mode whereas Version 1 is limited to TCP/IP only.
    6553 </p>
    6554 <p>
    6555 It furthermore allows using the Transport Layer Security (TLS) for secure Ntrip communication over the Internet.
    6556 </p>
    6557 <p><h4 id="rtcm2">3.1.3 RTCM Version 2</h4></p>
    6558 <p>
    6559 Transmitting GNSS carrier phase data can be done through RTCM Version 2 messages.
    6560 Please note that only RTCM Version 2.2 and 2.3 streams may include GLONASS data. Messages that may be of interest here are:
    6561 </p>
    6562 <ul>
    6563   <li>Type 1 message is the range correction message and is the primary message in code-phase differential positioning (DGPS).
     9897  <p>
     9898  <h4 id="post">2.21.4 File Mode - optional</h4>
     9899  </p>
     9900  <p>
     9901    Although BNC is primarily a real-time online tool, for debugging purposes it can be run offline to read data from a
     9902    file
     9903    previously saved through option 'Raw output file' (Record &amp; Replay functionality). Enter the following command
     9904    line option for that
     9905  </p>
     9906  <p>
     9907    &nbsp; &nbsp; &nbsp; --file &lt;<u>inputFileName</u>&gt;
     9908  </p>
     9909  and specify the full path to an input file containing previously saved data. Example:<br><br>
     9910  &nbsp; &nbsp; &nbsp; ./bnc --file /home/user/raw.output_221202
     9911  </p>
     9912  <p>
     9913    Note that when running BNC offline, it will use options for file saving, interval, sampling, PPP etc. from its
     9914    configuration file.
     9915  </p>
     9916  <p>Note further that option '--file' forces BNC to apply the '-nw' option for running in 'no window' mode.
     9917  </p>
     9918  <p>
     9919  <h4 id="conffile">2.21.5 Configuration File - optional</h4>
     9920  </p>
     9921  The default configuration filename is 'BNC.bnc'. You may change this name at startup time using command line option
     9922  '--conf &lt;<u>confFileName</u>&gt;'. This allows running several BNC jobs in parallel on the same host using
     9923  different sets of configuration options. <u>confFileName</u> stands either for the full path to a configuration file
     9924  or just for a filename. If you introduce only a filename, the corresponding file will be saved in the current working
     9925  directory from where BNC is started.
     9926  </p>
     9927  <p>
     9928    Example:<br><br>
     9929    &nbsp; &nbsp; &nbsp; ./bnc --conf MyConfig.bnc
     9930  </p>
     9931  <p>
     9932    This leads to a BNC job using configuration file 'MyConfig.bnc'. The configuration file will be saved in the current
     9933    working directory.
     9934  </p>
     9935  <p>
     9936  <h4 id="confopt">2.21.6 Configuration Options - optional</h4>
     9937  </p>
     9938  <p>
     9939    BNC applies options from the configuration file but allows updating every one of them on the command line while the
     9940    content of the configuration file remains unchanged. Note the following syntax for Command Line Interface (CLI)
     9941    options:
     9942  </p>
     9943  <p>
     9944    &nbsp; &nbsp; &nbsp; --key &lt;keyName&gt; &lt;keyValue&gt;
     9945  </p>
     9946  <p>
     9947    Parameter &lt;keyName&gt; stands for the key name of an option contained in the configuration file and
     9948    &lt;keyValue&gt;
     9949    stands for the value you want to assign to it. The following is a syntax example for a complete command line:
     9950  </p>
     9951  <p>
     9952    &nbsp; &nbsp; &nbsp; bnc --nw --conf &lt;confFileName&gt --key &lt;keyName1&gt; &lt;keyValue1&gt; --key
     9953    &lt;keyName2&gt; &lt;keyValue2&gt; ...
     9954  </p>
     9955  <p>
     9956    Configuration options which are part of the configuration files PPP section must be prefixed by 'PPP/'.
     9957    As an example, option 'minObs' from the PPP section of the BNC configuration file would be specified as
     9958  </p>
     9959  <p>
     9960    &nbsp; &nbsp; &nbsp; 'PPP/minObs'
     9961  </p>
     9962  on a command line.
     9963  <p>
     9964    Values for configuration options can be introduced via command line exactly as they show up in the configuration
     9965    file.
     9966    However, any value containing one or more blank characters must be enclosed by quotation marks when specified on
     9967    command line.
     9968  </p>
     9969  <p>
     9970  <h3 id="annex">3. Annex</h3>
     9971  </p>
     9972
     9973  <p>
     9974  <h4 id="rtcm">3.1 RTCM Standards</h4>
     9975  </p>
     9976  <p>
     9977    The Radio Technical Commission for Maritime Services (RTCM) is an international non-profit scientific, professional
     9978    and educational organization.
     9979    Special Committees provide a forum in which governmental and non-governmental members work together to develop
     9980    technical standards and consensus recommendations in regard to issues of particular concern.
     9981    RTCM is engaged in the development of international standards for maritime radionavigation and radiocommunication
     9982    systems.
     9983    The output documents and reports prepared by RTCM Committees are published as RTCM Recommended Standards.
     9984    Topics concerning Differential Global Navigation Satellite Systems (DGNSS) are handled by the Special Committee SC
     9985    104.
     9986  <p>
     9987    Personal copies of RTCM Recommended Standards can be ordered through
     9988    <a href="https://rtcm.myshopify.com/collections/differential-global-navigation-satellite-dgnss-standards"
     9989      target="_blank">https://rtcm.myshopify.com/collections/differential-global-navigation-satellite-dgnss-standards</a>
     9990
     9991  </p>
     9992  <p>
     9993  <h4 id="ntrip1">3.1.1 Ntrip Version 1</h4>
     9994  </p>
     9995  <p>
     9996    'Networked Transport of RTCM via Internet Protocol' Version 1.0 (Ntrip) stands for an application-level protocol
     9997    streaming
     9998    Global Navigation Satellite System (GNSS) data over the Internet. Ntrip is a generic, stateless protocol based on
     9999    the
     10000    Hypertext Transfer Protocol HTTP/1.1. The HTTP objects are enhanced to GNSS data streams.
     10001  </p>
     10002  <p>
     10003    Ntrip Version 1 is an RTCM standard designed for disseminating differential correction data (e.g. in the RTCM-104
     10004    format) or
     10005    other kinds of GNSS streaming data to stationary or mobile users over the Internet, allowing simultaneous PC,
     10006    Laptop, PDA,
     10007    or receiver connections to a broadcasting host. Ntrip supports wireless Internet access through Mobile IP Networks
     10008    like GSM, GPRS, EDGE, or UMTS.
     10009  </p>
     10010
     10011  <p>
     10012    Ntrip is implemented in three system software components: Ntrip Clients, Ntrip Servers and Ntrip Broadcasters.
     10013    The Ntrip Broadcaster is the actual HTTP server program whereas Ntrip Client and Ntrip Server are acting as HTTP
     10014    clients.
     10015  </p>
     10016  <p>
     10017    Ntrip is an open none-proprietary protocol. Major characteristics of Ntrip's dissemination technique are:
     10018  <ul>
     10019    <li>Based on the popular HTTP streaming standard; comparatively easy to implement when having limited client and
     10020      server platform resources available;</li>
     10021    <li>Application not limited to one particular plain or coded stream content; ability to distribute any kind of GNSS
     10022      data;</li>
     10023    <li>Potential to support mass usage; disseminating hundreds of streams simultaneously for thousands of users
     10024      possible when applying modified Internet Radio broadcasting software;</li>
     10025    <li>Considering security needs; stream providers and users do not necessarily get into contact, streams often not
     10026      blocked by firewalls or proxy servers protecting Local Area Networks;</li>
     10027    <li>Enables streaming over mobile IP networks because of using TCP/IP.</li>
     10028  </ul>
     10029  </p>
     10030  <p>
     10031    The Ntrip Broadcaster maintains a source-table containing information on available Ntrip streams, networks of Ntrip
     10032    streams and Ntrip Broadcasters.
     10033    See at <a href="https://software.rtcm-ntrip.org/wiki/Sourcetable"
     10034      target="_blank">https://software.rtcm-ntrip.org/wiki/Sourcetable</a> for details.
     10035  </p>
     10036  <p>
     10037    Source-table records are dedicated to one of the following:
     10038  <ul>
     10039    <li>Data Streams (record type STR, for details see at: <a href="https://software.rtcm-ntrip.org/wiki/STR"
     10040        target="_blank">https://software.rtcm-ntrip.org/wiki/STR</a> </li>
     10041    <li>Casters (record type CAS, for details see at: <a href="https://software.rtcm-ntrip.org/wiki/CAS"
     10042        target="_blank">https://software.rtcm-ntrip.org/wiki/CAS</a> </li>
     10043    <li>Networks of streams (record type NET, for details see at: <a href="https://software.rtcm-ntrip.org/wiki/NET"
     10044        target="_blank">https://software.rtcm-ntrip.org/wiki/NET</a> </li>
     10045  </ul>
     10046  </p>
     10047  The source-table is sent to an Ntrip Client on request.
     10048  </p>
     10049  <p>
     10050  <h4 id="ntrip2">3.1.2 Ntrip Version 2</h4>
     10051  </p>
     10052  <p>
     10053    The major changes of Ntrip Version 2 compared to Version 1.0 are:
     10054  </p>
     10055  <ul>
     10056    <li>Cleared and fixed design problems and HTTP protocol violations;</li>
     10057    <li>Replaced nonstandard directives;</li>
     10058    <li>Chunked transfer encoding;</li>
     10059    <li>Improvements in header records;</li>
     10060    <li>Source-table filtering;</li>
     10061    <li>RTSP communication.</li>
     10062  </ul>
     10063  <p>
     10064    Ntrip Version 2 allows to communicate either in TCP/IP mode or in RTSP/RTP mode or in UDP mode whereas Version 1 is
     10065    limited to TCP/IP only.
     10066  </p>
     10067  <p>
     10068    It furthermore allows using the Transport Layer Security (TLS) for secure Ntrip communication over the Internet.
     10069  </p>
     10070  <p>
     10071  <h4 id="rtcm2">3.1.3 RTCM Version 2</h4>
     10072  </p>
     10073  <p>
     10074    Transmitting GNSS carrier phase data can be done through RTCM Version 2 messages.
     10075    Please note that only RTCM Version 2.2 and 2.3 streams may include GLONASS data. Messages that may be of interest
     10076    here are:
     10077  </p>
     10078  <ul>
     10079    <li>Type 1 message is the range correction message and is the primary message in code-phase differential positioning
     10080      (DGPS).
    656410081      It is computed in the base receiver by computing the error in the range measurement for each tracked SV.</li>
    6565   <li>Type 2 message is automatically generated when a new set of satellite ephemeris is downloaded to the base receiver.
     10082    <li>Type 2 message is automatically generated when a new set of satellite ephemeris is downloaded to the base
     10083      receiver.
    656610084      It is the computed difference between the old ephemeris and the new ephemeris.
    656710085      Type 2 messages are used when the base station is transmitting Type 1 messages.</li>
    6568   <li>Type 3 and 22 messages are the base station position and the antenna offset.
     10086    <li>Type 3 and 22 messages are the base station position and the antenna offset.
    656910087      Type 3 and 22 are used in RTK processing to perform antenna reduction.</li>
    6570   <li>Type 6 message is a null frame filler message that is provided for data links that require continuous transmission of data,
    6571       even if there are no corrections to send. As many Type 6 messages are sent as required to fill in the gap between two correction messages (type 1).
     10088    <li>Type 6 message is a null frame filler message that is provided for data links that require continuous
     10089      transmission of data,
     10090      even if there are no corrections to send. As many Type 6 messages are sent as required to fill in the gap between
     10091      two correction messages (type 1).
    657210092      Message 6 is not sent in burst mode.</li>
    6573   <li>Type 9 message serves the same purpose as Type 1, but does not require a complete satellite set.
     10093    <li>Type 9 message serves the same purpose as Type 1, but does not require a complete satellite set.
    657410094      As a result, Type 9 messages require a more stable clock than a station transmitting Type 1 's,
    657510095      because the satellite corrections have different time references.</li>
    6576   <li>Type 16 message is simply a text message entered by the user that is transmitted from the base station to the rover.
     10096    <li>Type 16 message is simply a text message entered by the user that is transmitted from the base station to the
     10097      rover.
    657710098      It is used with code-phase differential.</li>
    6578   <li>Type 18 and 20 messages are RTK uncorrected carrier phase data and carrier phase corrections.</li>
    6579   <li>Type 19 and 21 messages are the uncorrected pseudo-range measurements and pseudo-range corrections used in RTK.</li>
    6580   <li>Type 23 message provides the information on the antenna type used on the reference station.</li>
    6581   <li>Type 24 message carries the coordinates of the installed antenna's ARP in the GNSS coordinate system coordinates.</li>
    6582 </ul>
    6583 
    6584 <p><h4 id="rtcm3">3.1.4 RTCM Version 3</h4></p>
    6585 <p>
    6586 RTCM Version 3 has been developed as a more efficient alternative to RTCM Version 2.
    6587 Service providers and vendors have asked for a standard that would be more efficient, easy to use, and more easily adaptable to new situations.
    6588 The main complaint was that the Version 2 parity scheme was wasteful of bandwidth. Another complaint was that the parity is not independent
    6589 from word to word. Still another was that even with so many bits devoted to parity, the actual integrity of the message was not as high
    6590 as it should be. Plus, 30-bit words are awkward to handle. The Version 3 standard is intended to correct these weaknesses.
    6591 </p>
    6592 
    6593 <p>
    6594 RTCM Version 3 defines a number of message types. Messages that may be of interest here are:
    6595 <ul>
    6596   <li>Type 1001, GPS L1 code and phase.</li>
    6597   <li>Type 1002, GPS L1 code and phase and ambiguities and carrier-to-noise ratio.</li>
    6598   <li>Type 1003, GPS L1 and L2 code and phase.</li>
    6599   <li>Type 1004, GPS L1 and L2 code and phase and ambiguities and carrier-to-noise ratio.</li>
    6600   <li>Type 1005, Station coordinates XYZ for antenna reference point.</li>
    6601   <li>Type 1006, Station coordinates XYZ for antenna reference point and antenna height.</li>
    6602   <li>Type 1007, Antenna descriptor and ID.</li>
    6603   <li>Type 1008, Antenna serial number.</li>
    6604   <li>Type 1009, GLONASS L1 code and phase.</li>
    6605   <li>Type 1010, GLONASS L1 code and phase and ambiguities and carrier-to-noise ratio.</li>
    6606   <li>Type 1011, GLONASS L1 and L2 code and phase.</li>
    6607   <li>Type 1012, GLONASS L1 and L2 code and phase and ambiguities and carrier-to-noise ratio.</li>
    6608   <li>Type 1013, Modified Julian Date, leap second, configured message types and interval.</li>
    6609   <li>Type 1019, GPS ephemeris.</li>
    6610   <li>Type 1020, GLONASS ephemeris.</li>
    6611   <li>Type 1041  NavIC ephemeris.</li>
    6612   <li>Type 1042, BDS/BeiDou ephemeris.</li>
    6613   <li>Type 1043, SBAS ephemeris.</li>
    6614   <li>Type 1044, QZSS ephemeris.</li>
    6615   <li>Type 1045, Galileo F/NAV ephemeris.</li>
    6616   <li>Type 1046, Galileo I/NAV ephemeris.</li>
    6617   <li>Type 1300, Service CRS. </li>
    6618   <li>Type 1301, Helmert transformation parameters. </li>
    6619   <li>Type 1302, RTCM CRS. </li>
    6620   <li>Type 4076, Proprietary messages of the International IGS Service.</li>
    6621 </ul>
    6622 </p>
    6623 
    6624 <p>
    6625 The following are so-called 'State Space Representation' (SSR) messages defined or proposed within RTCM SC-104:
    6626 <ul>
    6627   <li>Type 1057, GPS orbit corrections to Broadcast Ephemeris</li>
    6628   <li>Type 1058, GPS clock corrections to Broadcast Ephemeris</li>
    6629   <li>Type 1059, GPS code biases</li>
    6630   <li>Type 1060, Combined orbit and clock corrections to GPS Broadcast Ephemeris</li>
    6631   <li>Type 1061, GPS User Range Accuracy (URA)</li>
    6632   <li>Type 1062, High-rate GPS clock corrections to Broadcast Ephemeris<br><br></li>
    6633 
    6634   <li>Type 1063, GLONASS orbit corrections to Broadcast Ephemeris</li>
    6635   <li>Type 1064, GLONASS clock corrections to Broadcast Ephemeris</li>
    6636   <li>Type 1065, GLONASS code biases</li>
    6637   <li>Type 1066, Combined orbit and clock corrections to GLONASS Broadcast Ephemeris</li>
    6638   <li>Type 1067, GLONASS User Range Accuracy (URA)</li>
    6639   <li>Type 1068, High-rate GLONASS clock corrections to Broadcast Ephemeris<br><br></li>
    6640 
    6641   <li>Type 1240, Galileo orbit corrections to Broadcast Ephemeris</li>
    6642   <li>Type 1241, Galileo clock corrections to Broadcast Ephemeris</li>
    6643   <li>Type 1242, Galileo code biases</li>
    6644   <li>Type 1243, Combined orbit and clock corrections to Galileo Broadcast Ephemeris</li>
    6645   <li>Type 1244, Galileo User Range Accuracy (URA)</li>
    6646   <li>Type 1245, High-rate Galileo clock corrections to Broadcast Ephemeris<br><br></li>
    6647 
    6648   <li>Type 1246, QZSS orbit corrections to Broadcast Ephemeris</li>
    6649   <li>Type 1247, QZSS clock corrections to Broadcast Ephemeris</li>
    6650   <li>Type 1248, QZSS code biases</li>
    6651   <li>Type 1249, Combined orbit and clock corrections to QZSS Broadcast Ephemeris</li>
    6652   <li>Type 1250, QZSS User Range Accuracy (URA)</li>
    6653   <li>Type 1251, High-rate QZSS clock corrections to Broadcast Ephemeris<br><br></li>
    6654 
    6655   <li>Type 1252, SBAS orbit corrections to Broadcast Ephemeris</li>
    6656   <li>Type 1253, SBAS clock corrections to Broadcast Ephemeris</li>
    6657   <li>Type 1254, SBAS code biases</li>
    6658   <li>Type 1255, Combined orbit and clock corrections to SBAS Broadcast Ephemeris</li>
    6659   <li>Type 1256, SBAS User Range Accuracy (URA)</li>
    6660   <li>Type 1257, High-rate SBAS clock corrections to Broadcast Ephemeris<br><br></li>
    6661 
    6662   <li>Type 1258, BDS orbit corrections to Broadcast Ephemeris</li>
    6663   <li>Type 1259, BDS clock corrections to Broadcast Ephemeris</li>
    6664   <li>Type 1260, BDS code biases</li>
    6665   <li>Type 1261, Combined orbit and clock corrections to BDS Broadcast Ephemeris</li>
    6666   <li>Type 1262, BDS User Range Accuracy (URA)</li>
    6667   <li>Type 1263, High-rate BDS clock corrections to Broadcast Ephemeris<br><br></li>
    6668 
    6669   <li>Type 1264 SSR Ionosphere VTEC Spherical Harmonics</li>
    6670   <li>Type 1265 SSR GPS Satellite Phase Bias</li>
    6671   <li>Type 1266 SSR Satellite GLONASS Phase Bias</li>
    6672   <li>Type 1267 SSR Satellite Galileo Phase Bias</li>
    6673   <li>Type 1268 SSR Satellite QZSS Phase Bias</li>
    6674   <li>Type 1269 SSR Satellite SBAS Phase Bias</li>
    6675   <li>Type 1270 SSR Satellite BDS Phase Bias</li>
    6676 </ul>
    6677 </p>
    6678 
    6679 <p>
    6680 The following are so-called 'Multiple Signal Messages' (MSM) defined within RTCM SC-104:
    6681 <ul>
    6682   <li>Type 1071, Compact GPS pseudo-ranges</li>
    6683   <li>Type 1072, Compact GPS carrier phases</li>
    6684   <li>Type 1073, Compact GPS pseudo-ranges and carrier phases</li>
    6685   <li>Type 1074, Full GPS pseudo-ranges and carrier phases plus signal strength</li>
    6686   <li>Type 1075, Full GPS pseudo-ranges, carrier phases, Doppler and signal strength</li>
    6687   <li>Type 1076, Full GPS pseudo-ranges and carrier phases plus signal strength (high resolution)</li>
    6688   <li>Type 1077, Full GPS pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)<br><br></li>
    6689 
    6690   <li>Type 1081, Compact GLONASS pseudo-ranges</li>
    6691   <li>Type 1082, Compact GLONASS carrier phases</li>
    6692   <li>Type 1083, Compact GLONASS pseudo-ranges and carrier phases</li>
    6693   <li>Type 1084, Full GLONASS pseudo-ranges and carrier phases plus signal strength</li>
    6694   <li>Type 1085, Full GLONASS pseudo-ranges, carrier phases, Doppler and signal strength</li>
    6695   <li>Type 1086, Full GLONASS pseudo-ranges and carrier phases plus signal strength (high resolution)</li>
    6696   <li>Type 1087, Full GLONASS pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)<br><br></li>
    6697 
    6698   <li>Type 1091, Compact Galileo pseudo-ranges</li>
    6699   <li>Type 1092, Compact Galileo carrier phases</li>
    6700   <li>Type 1093, Compact Galileo pseudo-ranges and carrier phases</li>
    6701   <li>Type 1094, Full Galileo pseudo-ranges and carrier phases plus signal strength</li>
    6702   <li>Type 1095, Full Galileo pseudo-ranges, carrier phases, Doppler and signal strength</li>
    6703   <li>Type 1096, Full Galileo pseudo-ranges and carrier phases plus signal strength (high resolution)</li>
    6704   <li>Type 1097, Full Galileo pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)<br><br></li>
    6705 
    6706   <li>Type 1101, Compact SBAS pseudo-ranges</li>
    6707   <li>Type 1102, Compact SBAS carrier phases</li>
    6708   <li>Type 1103, Compact SBAS pseudo-ranges and carrier phases</li>
    6709   <li>Type 1104, Full SBAS pseudo-ranges and carrier phases plus signal strength</li>
    6710   <li>Type 1105, Full SBAS pseudo-ranges, carrier phases, Doppler and signal strength</li>
    6711   <li>Type 1106, Full SBAS pseudo-ranges and carrier phases plus signal strength (high resolution)</li>
    6712   <li>Type 1107, Full SBAS pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)<br><br></li>
    6713 
    6714   <li>Type 1121, Compact BeiDou pseudo-ranges</li>
    6715   <li>Type 1122, Compact BeiDou carrier phases</li>
    6716   <li>Type 1123, Compact BeiDou pseudo-ranges and carrier phases</li>
    6717   <li>Type 1124, Full BeiDou pseudo-ranges and carrier phases plus signal strength</li>
    6718   <li>Type 1125, Full BeiDou pseudo-ranges, carrier phases, Doppler and signal strength</li>
    6719   <li>Type 1126, Full BeiDou pseudo-ranges and carrier phases plus signal strength (high resolution)</li>
    6720   <li>Type 1127, Full BeiDou pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)<br><br></li>
    6721 
    6722   <li>Type 1111, Compact QZSS pseudo-ranges</li>
    6723   <li>Type 1112, Compact QZSS carrier phases</li>
    6724   <li>Type 1113, Compact QZSS pseudo-ranges and carrier phases</li>
    6725   <li>Type 1114, Full QZSS pseudo-ranges and carrier phases plus signal strength</li>
    6726   <li>Type 1115, Full QZSS pseudo-ranges, carrier phases, Doppler and signal strength</li>
    6727   <li>Type 1116, Full QZSS pseudo-ranges and carrier phases plus signal strength (high resolution)</li>
    6728   <li>Type 1117, Full QZSS pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)<br><br></li>
    6729 </ul>
    6730 </p>
    6731 
    6732 <p><h4 id="confList">3.2 Command Line Help</h3></p>
    6733 <p>
    6734 Command line option '--help' provides a complete list of all configuration parameters which can be specified via BNC's Command Line Interface (CLI).
    6735 Note that command line options overrule configuration options specified in the configuration file.
    6736 The following is the output produced when running BNC with command line option '--help':
    6737 </p>
    6738 
    6739 <pre><p style="font-family:Monospace">
     10099    <li>Type 18 and 20 messages are RTK uncorrected carrier phase data and carrier phase corrections.</li>
     10100    <li>Type 19 and 21 messages are the uncorrected pseudo-range measurements and pseudo-range corrections used in RTK.
     10101    </li>
     10102    <li>Type 23 message provides the information on the antenna type used on the reference station.</li>
     10103    <li>Type 24 message carries the coordinates of the installed antenna's ARP in the GNSS coordinate system
     10104      coordinates.</li>
     10105  </ul>
     10106
     10107  <p>
     10108  <h4 id="rtcm3">3.1.4 RTCM Version 3</h4>
     10109  </p>
     10110  <p>
     10111    RTCM Version 3 has been developed as a more efficient alternative to RTCM Version 2.
     10112    Service providers and vendors have asked for a standard that would be more efficient, easy to use, and more easily
     10113    adaptable to new situations.
     10114    The main complaint was that the Version 2 parity scheme was wasteful of bandwidth. Another complaint was that the
     10115    parity is not independent
     10116    from word to word. Still another was that even with so many bits devoted to parity, the actual integrity of the
     10117    message was not as high
     10118    as it should be. Plus, 30-bit words are awkward to handle. The Version 3 standard is intended to correct these
     10119    weaknesses.
     10120  </p>
     10121
     10122  <p>
     10123    RTCM Version 3 defines a number of message types. Messages that may be of interest here are:
     10124  <ul>
     10125    <li>Type 1001, GPS L1 code and phase.</li>
     10126    <li>Type 1002, GPS L1 code and phase and ambiguities and carrier-to-noise ratio.</li>
     10127    <li>Type 1003, GPS L1 and L2 code and phase.</li>
     10128    <li>Type 1004, GPS L1 and L2 code and phase and ambiguities and carrier-to-noise ratio.</li>
     10129    <li>Type 1005, Station coordinates XYZ for antenna reference point.</li>
     10130    <li>Type 1006, Station coordinates XYZ for antenna reference point and antenna height.</li>
     10131    <li>Type 1007, Antenna descriptor and ID.</li>
     10132    <li>Type 1008, Antenna serial number.</li>
     10133    <li>Type 1009, GLONASS L1 code and phase.</li>
     10134    <li>Type 1010, GLONASS L1 code and phase and ambiguities and carrier-to-noise ratio.</li>
     10135    <li>Type 1011, GLONASS L1 and L2 code and phase.</li>
     10136    <li>Type 1012, GLONASS L1 and L2 code and phase and ambiguities and carrier-to-noise ratio.</li>
     10137    <li>Type 1013, Modified Julian Date, leap second, configured message types and interval.</li>
     10138    <li>Type 1019, GPS ephemeris.</li>
     10139    <li>Type 1020, GLONASS ephemeris.</li>
     10140    <li>Type 1041 NavIC ephemeris.</li>
     10141    <li>Type 1042, BDS/BeiDou ephemeris.</li>
     10142    <li>Type 1043, SBAS ephemeris.</li>
     10143    <li>Type 1044, QZSS ephemeris.</li>
     10144    <li>Type 1045, Galileo F/NAV ephemeris.</li>
     10145    <li>Type 1046, Galileo I/NAV ephemeris.</li>
     10146    <li>Type 1300, Service CRS. </li>
     10147    <li>Type 1301, Helmert transformation parameters. </li>
     10148    <li>Type 1302, RTCM CRS. </li>
     10149    <li>Type 4076, Proprietary messages of the International IGS Service.</li>
     10150  </ul>
     10151  </p>
     10152
     10153  <p>
     10154    The following are so-called 'State Space Representation' (SSR) messages defined or proposed within RTCM SC-104:
     10155  <ul>
     10156    <li>Type 1057, GPS orbit corrections to Broadcast Ephemeris</li>
     10157    <li>Type 1058, GPS clock corrections to Broadcast Ephemeris</li>
     10158    <li>Type 1059, GPS code biases</li>
     10159    <li>Type 1060, Combined orbit and clock corrections to GPS Broadcast Ephemeris</li>
     10160    <li>Type 1061, GPS User Range Accuracy (URA)</li>
     10161    <li>Type 1062, High-rate GPS clock corrections to Broadcast Ephemeris<br><br></li>
     10162
     10163    <li>Type 1063, GLONASS orbit corrections to Broadcast Ephemeris</li>
     10164    <li>Type 1064, GLONASS clock corrections to Broadcast Ephemeris</li>
     10165    <li>Type 1065, GLONASS code biases</li>
     10166    <li>Type 1066, Combined orbit and clock corrections to GLONASS Broadcast Ephemeris</li>
     10167    <li>Type 1067, GLONASS User Range Accuracy (URA)</li>
     10168    <li>Type 1068, High-rate GLONASS clock corrections to Broadcast Ephemeris<br><br></li>
     10169
     10170    <li>Type 1240, Galileo orbit corrections to Broadcast Ephemeris</li>
     10171    <li>Type 1241, Galileo clock corrections to Broadcast Ephemeris</li>
     10172    <li>Type 1242, Galileo code biases</li>
     10173    <li>Type 1243, Combined orbit and clock corrections to Galileo Broadcast Ephemeris</li>
     10174    <li>Type 1244, Galileo User Range Accuracy (URA)</li>
     10175    <li>Type 1245, High-rate Galileo clock corrections to Broadcast Ephemeris<br><br></li>
     10176
     10177    <li>Type 1246, QZSS orbit corrections to Broadcast Ephemeris</li>
     10178    <li>Type 1247, QZSS clock corrections to Broadcast Ephemeris</li>
     10179    <li>Type 1248, QZSS code biases</li>
     10180    <li>Type 1249, Combined orbit and clock corrections to QZSS Broadcast Ephemeris</li>
     10181    <li>Type 1250, QZSS User Range Accuracy (URA)</li>
     10182    <li>Type 1251, High-rate QZSS clock corrections to Broadcast Ephemeris<br><br></li>
     10183
     10184    <li>Type 1252, SBAS orbit corrections to Broadcast Ephemeris</li>
     10185    <li>Type 1253, SBAS clock corrections to Broadcast Ephemeris</li>
     10186    <li>Type 1254, SBAS code biases</li>
     10187    <li>Type 1255, Combined orbit and clock corrections to SBAS Broadcast Ephemeris</li>
     10188    <li>Type 1256, SBAS User Range Accuracy (URA)</li>
     10189    <li>Type 1257, High-rate SBAS clock corrections to Broadcast Ephemeris<br><br></li>
     10190
     10191    <li>Type 1258, BDS orbit corrections to Broadcast Ephemeris</li>
     10192    <li>Type 1259, BDS clock corrections to Broadcast Ephemeris</li>
     10193    <li>Type 1260, BDS code biases</li>
     10194    <li>Type 1261, Combined orbit and clock corrections to BDS Broadcast Ephemeris</li>
     10195    <li>Type 1262, BDS User Range Accuracy (URA)</li>
     10196    <li>Type 1263, High-rate BDS clock corrections to Broadcast Ephemeris<br><br></li>
     10197
     10198    <li>Type 1264 SSR Ionosphere VTEC Spherical Harmonics</li>
     10199    <li>Type 1265 SSR GPS Satellite Phase Bias</li>
     10200    <li>Type 1266 SSR Satellite GLONASS Phase Bias</li>
     10201    <li>Type 1267 SSR Satellite Galileo Phase Bias</li>
     10202    <li>Type 1268 SSR Satellite QZSS Phase Bias</li>
     10203    <li>Type 1269 SSR Satellite SBAS Phase Bias</li>
     10204    <li>Type 1270 SSR Satellite BDS Phase Bias</li>
     10205  </ul>
     10206  </p>
     10207
     10208  <p>
     10209    The following are so-called 'Multiple Signal Messages' (MSM) defined within RTCM SC-104:
     10210  <ul>
     10211    <li>Type 1071, Compact GPS pseudo-ranges</li>
     10212    <li>Type 1072, Compact GPS carrier phases</li>
     10213    <li>Type 1073, Compact GPS pseudo-ranges and carrier phases</li>
     10214    <li>Type 1074, Full GPS pseudo-ranges and carrier phases plus signal strength</li>
     10215    <li>Type 1075, Full GPS pseudo-ranges, carrier phases, Doppler and signal strength</li>
     10216    <li>Type 1076, Full GPS pseudo-ranges and carrier phases plus signal strength (high resolution)</li>
     10217    <li>Type 1077, Full GPS pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)<br><br></li>
     10218
     10219    <li>Type 1081, Compact GLONASS pseudo-ranges</li>
     10220    <li>Type 1082, Compact GLONASS carrier phases</li>
     10221    <li>Type 1083, Compact GLONASS pseudo-ranges and carrier phases</li>
     10222    <li>Type 1084, Full GLONASS pseudo-ranges and carrier phases plus signal strength</li>
     10223    <li>Type 1085, Full GLONASS pseudo-ranges, carrier phases, Doppler and signal strength</li>
     10224    <li>Type 1086, Full GLONASS pseudo-ranges and carrier phases plus signal strength (high resolution)</li>
     10225    <li>Type 1087, Full GLONASS pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)<br><br>
     10226    </li>
     10227
     10228    <li>Type 1091, Compact Galileo pseudo-ranges</li>
     10229    <li>Type 1092, Compact Galileo carrier phases</li>
     10230    <li>Type 1093, Compact Galileo pseudo-ranges and carrier phases</li>
     10231    <li>Type 1094, Full Galileo pseudo-ranges and carrier phases plus signal strength</li>
     10232    <li>Type 1095, Full Galileo pseudo-ranges, carrier phases, Doppler and signal strength</li>
     10233    <li>Type 1096, Full Galileo pseudo-ranges and carrier phases plus signal strength (high resolution)</li>
     10234    <li>Type 1097, Full Galileo pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)<br><br>
     10235    </li>
     10236
     10237    <li>Type 1101, Compact SBAS pseudo-ranges</li>
     10238    <li>Type 1102, Compact SBAS carrier phases</li>
     10239    <li>Type 1103, Compact SBAS pseudo-ranges and carrier phases</li>
     10240    <li>Type 1104, Full SBAS pseudo-ranges and carrier phases plus signal strength</li>
     10241    <li>Type 1105, Full SBAS pseudo-ranges, carrier phases, Doppler and signal strength</li>
     10242    <li>Type 1106, Full SBAS pseudo-ranges and carrier phases plus signal strength (high resolution)</li>
     10243    <li>Type 1107, Full SBAS pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)<br><br></li>
     10244
     10245    <li>Type 1121, Compact BeiDou pseudo-ranges</li>
     10246    <li>Type 1122, Compact BeiDou carrier phases</li>
     10247    <li>Type 1123, Compact BeiDou pseudo-ranges and carrier phases</li>
     10248    <li>Type 1124, Full BeiDou pseudo-ranges and carrier phases plus signal strength</li>
     10249    <li>Type 1125, Full BeiDou pseudo-ranges, carrier phases, Doppler and signal strength</li>
     10250    <li>Type 1126, Full BeiDou pseudo-ranges and carrier phases plus signal strength (high resolution)</li>
     10251    <li>Type 1127, Full BeiDou pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)<br><br></li>
     10252
     10253    <li>Type 1111, Compact QZSS pseudo-ranges</li>
     10254    <li>Type 1112, Compact QZSS carrier phases</li>
     10255    <li>Type 1113, Compact QZSS pseudo-ranges and carrier phases</li>
     10256    <li>Type 1114, Full QZSS pseudo-ranges and carrier phases plus signal strength</li>
     10257    <li>Type 1115, Full QZSS pseudo-ranges, carrier phases, Doppler and signal strength</li>
     10258    <li>Type 1116, Full QZSS pseudo-ranges and carrier phases plus signal strength (high resolution)</li>
     10259    <li>Type 1117, Full QZSS pseudo-ranges, carrier phases, Doppler and signal strength (high resolution)<br><br></li>
     10260  </ul>
     10261  </p>
     10262
     10263  <p>
     10264  <h4 id="confList">3.2 Command Line Help</h3>
     10265    </p>
     10266    <p>
     10267      Command line option '--help' provides a complete list of all configuration parameters which can be specified via
     10268      BNC's Command Line Interface (CLI).
     10269      Note that command line options overrule configuration options specified in the configuration file.
     10270      The following is the output produced when running BNC with command line option '--help':
     10271    </p>
     10272
     10273    <pre><p style="font-family:Monospace">
    674010274Usage:
    674110275   bnc --help (MS Windows: bnc.exe --help | more)
     
    700310537</p></pre>
    700410538
    7005 <p><h4 id="links">3.3 Further Reading</h3></p>
    7006 
    7007 <b>Links:</b><br>
    7008 <table>
    7009   <tr><td>Ntrip &nbsp;</td><td><a href="https://igs.bkg.bund.de/ntrip/index" target="_blank">https://igs.bkg.bund.de/ntrip/index</a></td></tr>
    7010   <tr><td>IGS Real-Rime Service (RTS) &nbsp;</td><td><a href="https://igs.org/rts/" target="_blank">https://igs.org/rts/</a></td></tr>
    7011   <tr><td>Ntrip Broadcaster overview &nbsp;</td><td><a href="https://rtcm-ntrip.org/home" target="_blank">https://rtcm-ntrip.org/home</a></td></tr>
    7012   <tr><td>Ntrip Open Source software code &nbsp;</td><td><a href="https://software.rtcm-ntrip.org" target="_blank">https://software.rtcm-ntrip.org</a></td></tr>
    7013   <tr><td>Radio Technical Commission for Maritime Services &nbsp;</td><td><a href="https://www.rtcm.org/" target="_blank">https://www.rtcm.org/</a></td></tr>
    7014 </table>
    7015 <br>
    7016 
    7017 <b>Publications:</b><br>
    7018 <table border="1">
    7019 <tr><td>Caissy, M., L. Agrotis, G. Weber, M. Hernandez-Pajares and U. Hugentobler (2012)</td><td>The International GNSS Real-Time Service. GPS World, June 1, 2012.</td></tr>
    7020 
    7021 <tr><td>Estey, L. H. and C. M. Meertens (1999)</td><td>TEQC: The Multi-Purpose Toolkit for GPS/GLONASS Data. GPS Solutions, Vol. 3, No. 1, pp. 42-49, 1999.</td></tr>
    7022 
    7023 <tr><td>Huisman, L., P. Teunissen and C. Hu (2012)</td><td>GNSS Precise Point Positioning in Regional Reference Frames Using Real-time Broadcast Corrections. Journal of Applied Geodesy, Vol. 6, pp15-23, 2012.</td></tr>
    7024 
    7025 <tr><td>Mervart, L., Z. Lukes, C. Rocken and T. Iwabuchi (2008)</td><td>Precise Point Positioning With Ambiguity Resolution in Real-Time. ION GNSS 2008.</td></tr>
    7026 
    7027 <tr><td>RTCM SC-104 (2011)</td><td>Amendment 1 to RTCM Standard 10410.1 Networked Transport of RTCM via Internet Protocol (Ntrip) - Version 2.0. RTCM Papter 139-2011-SC104-STD, 2011.</td></tr>
    7028 
    7029 <tr><td>Rupprecht, W. (2000)</td><td>DGPS-IP. <u>http://www.wsrcc.com/wolfgang/gps/dgps-ip.html</u>, 2000.</td></tr>
    7030 
    7031 <tr><td>St&uuml;rze, A., L. Mervart, W. Söhne, G. Weber, G. Wübbena (2012)</td><td>Real-Time PPP using open CORS Networks and RTCM Standards. 3rd International Conference on Machine Control & Guidance, March 27-29, 2012  </td></tr>
    7032 
    7033 <tr><td>Weber, G., D. Dettmering and H. Gebhard (2005a)</td><td>Networked Transport of RTCM via Internet Protocol (NTRIP). In: Sanso F. (Ed.): A Window on the Future, Proceedings of the IAG General Assembly, Sapporo, Japan, 2003, Springer Verlag, Symposia Series, Vol. 128, p. 60-64, 2005.</td></tr>
    7034 
    7035 <tr><td>Weber, G., D. Dettmering, H. Gebhard and R. Kalafus (2005b)</td><td>Networked Transport of RTCM via Internet Protocol (Ntrip), IP-Streaming for Real-Time GNSS Applications. ION GNSS 2005.</td></tr>
    7036 
    7037 <tr><td>Weber, G., and M. Honkala (2004)</td><td>The future is talking Ntrip. Newsletter, Trimble GmbH Raunheim, Germany, 2004.</td></tr>
    7038 
    7039 <tr><td>Weber, G. and L. Mervart (2009)</td><td>The BKG Ntrip Client (BNC), Report on EUREF Symposium 2007 in London. Mitteilungen des Bundesamtes fuer Kartographie und Geodaesie, Band 42, Frankfurt, 2009.</td></tr>
    7040 
    7041 <tr><td>Weber, G. and L. Mervart (2010)</td><td>Real-time Combination of GNSS Orbit and Clock Correction Streams Using a Kalman Filter Approach. ION GNSS 2010.</td></tr>
    7042 
    7043 <tr><td>Weber, G, L. Mervart, Z. Lukes, C. Rocken and J. Dousa (2007)</td><td>Real-time Clock and Orbit Corrections for Improved Point Positioning via Ntrip. ION GNSS 2007.</td></tr>
    7044 
    7045 <tr><td>Weber, G., L. Mervart, A. St&uuml;rze, A. R&uuml;lke and D. St&ouml;cker (2016)</td><td>BKG Ntrip Client, Version 2.12. Mitteilungen des Bundesamtes f&uuml;r Kartographie und Geod&auml;sie, Vol. 49, Frankfurt am Main, 2016.</td><tr>
    7046 </table>
    7047 
    7048 <p><h4 id="abbrev">3.4 Abbreviations</h3></p>
    7049 <table>
    7050   <tr><td>AC</td><td>Analysis Center</td></tr>
    7051   <tr><td>AFREF</td><td>IAG Reference Frame Sub-Commission for Africa</td></tr>
    7052   <tr><td>ANTEX</td><td>Antenna Exchange Format</td></tr>
    7053   <tr><td>APC</td><td>Antenna Phase Center</td></tr>
    7054   <tr><td>APREF</td><td>IAG Reference Frame Sub-Commission for Asia and Pacific</td></tr>
    7055   <tr><td>ARP</td><td>Antenna Reference Point</td></tr>
    7056   <tr><td>BKG</td><td>Bundesamt f&uuml;r Kartographie und  Geod&auml;sie</td></tr>
    7057   <tr><td>BNC</td><td>BNK Ntrip Client</td></tr>
    7058   <tr><td>BSW</td><td>Bernese GNSS Software</td></tr>
    7059   <tr><td>CC</td><td>Combination Center</td></tr>
    7060   <tr><td>CLI</td><td>Command Line Interface</td></tr>
    7061   <tr><td>CoM</td><td>Center Of Mass</td></tr>
    7062   <tr><td>DGNSS</td><td>Differential GNSS</td></tr>
    7063   <tr><td>DGPS-IP</td><td>Differential GPS via Internet Protocol</td></tr>
    7064   <tr><td>DMG</td><td>Disk Image, File</td></tr>
    7065   <tr><td>DREF91</td><td>Geodetic Datum for Germany 1991</td></tr>
    7066   <tr><td>ECEF</td><td>Earth-Centred-Earth-Fixed</td></tr>
    7067   <tr><td>EDGE</td><td>Enhanced Data Rates for GSM Evolution</td></tr>
    7068   <tr><td>ETRF2000</td><td>European Terrestrial Reference Frame 2000</td></tr>
    7069   <tr><td>EUREF</td><td>IAG Reference Frame Sub-Commission for Europe</td></tr>
    7070   <tr><td>EoE</td><td>End of Epoch</td></tr>
    7071   <tr><td>FKP</td><td>Fl&auml;chen-Korrektur-Parameter</td></tr>
    7072   <tr><td>FTP</td><td>File Transfer Protocol</td></tr>
    7073   <tr><td>GDA2020</td><td>Geodetic Datum Australia 2020</td></tr>
    7074   <tr><td>GNSS</td><td>Global Navigation Satellite System</td></tr>
    7075   <tr><td>GNU</td><td>GNU's Not Unix</td></tr>
    7076   <tr><td>GPL</td><td>General Public License</td></tr>
    7077   <tr><td>GPRS</td><td>General Packet Radio Service</td></tr>
    7078   <tr><td>GPSWD</td><td>GPS Week and Day</td></tr>
    7079   <tr><td>GSM</td><td>Global System for Mobile Communications</td></tr>
    7080   <tr><td>GUI</td><td>Graphical User Interface</td></tr>
    7081   <tr><td>HP MSM</td><td>High Precision Multiple Signal Messages</td></tr>
    7082   <tr><td>HR URA</td><td>High Rate User Range Accuracy</td></tr>
    7083   <tr><td>HTTP</td><td>Hypertext Transfer Protocol</td></tr>
    7084   <tr><td>HTTPS</td><td>Hypertext Transfer Protocol Secure</td></tr>
    7085   <tr><td>IAG</td><td>International Association of Geodesy</td></tr>
    7086   <tr><td>ICECAST</td><td>Streaming Media Server</td></tr>
    7087   <tr><td>IGS20</td><td>IGS Reference Frame 2020</td></tr>
    7088   <tr><td>IGS</td><td>International GNSS Service</td></tr>
    7089   <tr><td>IOD</td><td>Issue of Data</td></tr>
    7090   <tr><td>IP</td><td>Internet Protocol</td></tr>
    7091   <tr><td>ITRF2020</td><td>International Terrestrial Reference Frame 2020</td></tr>
    7092   <tr><td>L3</td><td>Ionosphere-Free Linear Combination Of Phase Observations</td></tr>
    7093   <tr><td>LAN</td><td>Local Area Network</td></tr>
    7094   <tr><td>LC</td><td>Linea Combination</td></tr>
    7095   <tr><td>M-GEX</td><td>Multi GNSS-Experiment</td></tr>
    7096   <tr><td>MAC</td><td>Master Auxiliary Concept</td></tr>
    7097   <tr><td>MJD</td><td>Modified Julian Date</td></tr>
    7098   <tr><td>MSI</td><td>Microsoft Installer, File</td></tr>
    7099   <tr><td>MSM</td><td>Multiple Signal Messages</td></tr>
    7100   <tr><td>MW</td><td>Melbourne W&uuml;bbena Linear Combination</td></tr>
    7101   <tr><td>NAD83</td><td>North American Datum 1983</td></tr>
    7102   <tr><td>NAREF</td><td>IAG Reference Frame Sub-Commission for North America</td></tr>
    7103   <tr><td>NMEA</td><td>National Marine Electronics Association Format</td></tr>
    7104   <tr><td>Ntrip</td><td>Networked Transport of RTCM via Internet Protocol</td></tr>
    7105   <tr><td>OSM</td><td>OpenStreetMap</td></tr>
    7106   <tr><td>OSR</td><td>Observation Space Representation</td></tr>
    7107   <tr><td>PDOP</td><td>Positional Dilution Of Precision</td></tr>
    7108   <tr><td>PNG</td><td>Portable Network Graphics</td></tr>
    7109   <tr><td>PPP</td><td>Precise Point Positioning</td></tr>
    7110   <tr><td>Qt</td><td>Cross-Platform Application Framework</td></tr>
    7111   <tr><td>REQC</td><td>RINEX Editing and Quality Checking</td></tr>
    7112   <tr><td>RINEX</td><td>Receiver Independent Exchange Format</td></tr>
    7113   <tr><td>RTCM SC-104</td><td>Radio Technical Commission for Maritime Services, Special Committee 104</td></tr>
    7114   <tr><td>RTK</td><td>Real Time Kinematic</td></tr>
    7115   <tr><td>RTKPLOT</td><td>View and Plot Positioning Solutions Software, Part of RTKLIB</td></tr>
    7116   <tr><td>RTNET</td><td>Real-Time Network Format</td></tr>
    7117   <tr><td>RTP</td><td>Real-Time Transport Protocol</td></tr>
    7118   <tr><td>RTSP</td><td>Real-Time Streaming Protocol</td></tr>
    7119   <tr><td>SBAS</td><td>Space Based Augmentation System</td></tr>
    7120   <tr><td>SINEX TRO</td><td>Troposphere Solution Independent Exchange Format</td></tr>
    7121   <tr><td>SINEX</td><td>Solution Independent Exchange Format</td></tr>
    7122   <tr><td>SIRGAS2000</td><td>Geodetic Datum for Latin America and Caribbean 2000</td></tr>
    7123   <tr><td>SIRGAS</td><td>IAG Reference Frame Sub-Commission for Latin America and Caribbean</td></tr>
    7124   <tr><td>SP3</td><td>Standard Product # 3</td></tr>
    7125   <tr><td>SPP</td><td>Single Point Positioning</td></tr>
    7126   <tr><td>SSL</td><td>Secure Sockets Layer</td></tr>
    7127   <tr><td>SSR</td><td>State Space Representation</td></tr>
    7128   <tr><td>SVN</td><td>Subversion, Revision Control System</td></tr>
    7129   <tr><td>TCP</td><td>Transmission Control Protocol</td></tr>
    7130   <tr><td>TEQC</td><td>Translation, Editing and Quality Checking</td></tr>
    7131   <tr><td>TLS</td><td>Transport Layer Security</td></tr>
    7132   <tr><td>UDP</td><td>User Datagram Protocol</td></tr>
    7133   <tr><td>UMTS</td><td>Universal Mobile Telecommunications System</td></tr>
    7134   <tr><td>URA</td><td>User Range Accuracy</td></tr>
    7135   <tr><td>VRS</td><td>Virtual Reference Station</td></tr>
    7136   <tr><td>VTEC</td><td>Vertical Total Electron Content</td></tr>
    7137 </table>
     10539    <p>
     10540    <h4 id="links">3.3 Further Reading</h3>
     10541      </p>
     10542
     10543      <b>Links:</b><br>
     10544      <table>
     10545        <tr>
     10546          <td>Ntrip &nbsp;</td>
     10547          <td><a href="https://igs.bkg.bund.de/ntrip/index" target="_blank">https://igs.bkg.bund.de/ntrip/index</a></td>
     10548        </tr>
     10549        <tr>
     10550          <td>IGS Real-Rime Service (RTS) &nbsp;</td>
     10551          <td><a href="https://igs.org/rts/" target="_blank">https://igs.org/rts/</a></td>
     10552        </tr>
     10553        <tr>
     10554          <td>Ntrip Broadcaster overview &nbsp;</td>
     10555          <td><a href="https://rtcm-ntrip.org/home" target="_blank">https://rtcm-ntrip.org/home</a></td>
     10556        </tr>
     10557        <tr>
     10558          <td>Ntrip Open Source software code &nbsp;</td>
     10559          <td><a href="https://software.rtcm-ntrip.org" target="_blank">https://software.rtcm-ntrip.org</a></td>
     10560        </tr>
     10561        <tr>
     10562          <td>Radio Technical Commission for Maritime Services &nbsp;</td>
     10563          <td><a href="https://www.rtcm.org/" target="_blank">https://www.rtcm.org/</a></td>
     10564        </tr>
     10565      </table>
     10566      <br>
     10567
     10568      <b>Publications:</b><br>
     10569      <table border="1">
     10570        <tr>
     10571          <td>Caissy, M., L. Agrotis, G. Weber, M. Hernandez-Pajares and U. Hugentobler (2012)</td>
     10572          <td>The International GNSS Real-Time Service. GPS World, June 1, 2012.</td>
     10573        </tr>
     10574
     10575        <tr>
     10576          <td>Estey, L. H. and C. M. Meertens (1999)</td>
     10577          <td>TEQC: The Multi-Purpose Toolkit for GPS/GLONASS Data. GPS Solutions, Vol. 3, No. 1, pp. 42-49, 1999.</td>
     10578        </tr>
     10579
     10580        <tr>
     10581          <td>Huisman, L., P. Teunissen and C. Hu (2012)</td>
     10582          <td>GNSS Precise Point Positioning in Regional Reference Frames Using Real-time Broadcast Corrections. Journal
     10583            of Applied Geodesy, Vol. 6, pp15-23, 2012.</td>
     10584        </tr>
     10585
     10586        <tr>
     10587          <td>Mervart, L., Z. Lukes, C. Rocken and T. Iwabuchi (2008)</td>
     10588          <td>Precise Point Positioning With Ambiguity Resolution in Real-Time. ION GNSS 2008.</td>
     10589        </tr>
     10590
     10591        <tr>
     10592          <td>RTCM SC-104 (2011)</td>
     10593          <td>Amendment 1 to RTCM Standard 10410.1 Networked Transport of RTCM via Internet Protocol (Ntrip) - Version
     10594            2.0. RTCM Papter 139-2011-SC104-STD, 2011.</td>
     10595        </tr>
     10596
     10597        <tr>
     10598          <td>Rupprecht, W. (2000)</td>
     10599          <td>DGPS-IP. <u>http://www.wsrcc.com/wolfgang/gps/dgps-ip.html</u>, 2000.</td>
     10600        </tr>
     10601
     10602        <tr>
     10603          <td>St&uuml;rze, A., L. Mervart, W. Söhne, G. Weber, G. Wübbena (2012)</td>
     10604          <td>Real-Time PPP using open CORS Networks and RTCM Standards. 3rd International Conference on Machine Control
     10605            & Guidance, March 27-29, 2012 </td>
     10606        </tr>
     10607
     10608        <tr>
     10609          <td>Weber, G., D. Dettmering and H. Gebhard (2005a)</td>
     10610          <td>Networked Transport of RTCM via Internet Protocol (NTRIP). In: Sanso F. (Ed.): A Window on the Future,
     10611            Proceedings of the IAG General Assembly, Sapporo, Japan, 2003, Springer Verlag, Symposia Series, Vol. 128,
     10612            p. 60-64, 2005.</td>
     10613        </tr>
     10614
     10615        <tr>
     10616          <td>Weber, G., D. Dettmering, H. Gebhard and R. Kalafus (2005b)</td>
     10617          <td>Networked Transport of RTCM via Internet Protocol (Ntrip), IP-Streaming for Real-Time GNSS Applications.
     10618            ION GNSS 2005.</td>
     10619        </tr>
     10620
     10621        <tr>
     10622          <td>Weber, G., and M. Honkala (2004)</td>
     10623          <td>The future is talking Ntrip. Newsletter, Trimble GmbH Raunheim, Germany, 2004.</td>
     10624        </tr>
     10625
     10626        <tr>
     10627          <td>Weber, G. and L. Mervart (2009)</td>
     10628          <td>The BKG Ntrip Client (BNC), Report on EUREF Symposium 2007 in London. Mitteilungen des Bundesamtes fuer
     10629            Kartographie und Geodaesie, Band 42, Frankfurt, 2009.</td>
     10630        </tr>
     10631
     10632        <tr>
     10633          <td>Weber, G. and L. Mervart (2010)</td>
     10634          <td>Real-time Combination of GNSS Orbit and Clock Correction Streams Using a Kalman Filter Approach. ION GNSS
     10635            2010.</td>
     10636        </tr>
     10637
     10638        <tr>
     10639          <td>Weber, G, L. Mervart, Z. Lukes, C. Rocken and J. Dousa (2007)</td>
     10640          <td>Real-time Clock and Orbit Corrections for Improved Point Positioning via Ntrip. ION GNSS 2007.</td>
     10641        </tr>
     10642
     10643        <tr>
     10644          <td>Weber, G., L. Mervart, A. St&uuml;rze, A. R&uuml;lke and D. St&ouml;cker (2016)</td>
     10645          <td>BKG Ntrip Client, Version 2.12. Mitteilungen des Bundesamtes f&uuml;r Kartographie und Geod&auml;sie, Vol.
     10646            49, Frankfurt am Main, 2016.</td>
     10647        <tr>
     10648      </table>
     10649
     10650      <p>
     10651      <h4 id="abbrev">3.4 Abbreviations</h3>
     10652        </p>
     10653        <table>
     10654          <tr>
     10655            <td>AC</td>
     10656            <td>Analysis Center</td>
     10657          </tr>
     10658          <tr>
     10659            <td>AFREF</td>
     10660            <td>IAG Reference Frame Sub-Commission for Africa</td>
     10661          </tr>
     10662          <tr>
     10663            <td>ANTEX</td>
     10664            <td>Antenna Exchange Format</td>
     10665          </tr>
     10666          <tr>
     10667            <td>APC</td>
     10668            <td>Antenna Phase Center</td>
     10669          </tr>
     10670          <tr>
     10671            <td>APREF</td>
     10672            <td>IAG Reference Frame Sub-Commission for Asia and Pacific</td>
     10673          </tr>
     10674          <tr>
     10675            <td>ARP</td>
     10676            <td>Antenna Reference Point</td>
     10677          </tr>
     10678          <tr>
     10679            <td>BKG</td>
     10680            <td>Bundesamt f&uuml;r Kartographie und Geod&auml;sie</td>
     10681          </tr>
     10682          <tr>
     10683            <td>BNC</td>
     10684            <td>BNK Ntrip Client</td>
     10685          </tr>
     10686          <tr>
     10687            <td>BSW</td>
     10688            <td>Bernese GNSS Software</td>
     10689          </tr>
     10690          <tr>
     10691            <td>CC</td>
     10692            <td>Combination Center</td>
     10693          </tr>
     10694          <tr>
     10695            <td>CLI</td>
     10696            <td>Command Line Interface</td>
     10697          </tr>
     10698          <tr>
     10699            <td>CoM</td>
     10700            <td>Center Of Mass</td>
     10701          </tr>
     10702          <tr>
     10703            <td>DGNSS</td>
     10704            <td>Differential GNSS</td>
     10705          </tr>
     10706          <tr>
     10707            <td>DGPS-IP</td>
     10708            <td>Differential GPS via Internet Protocol</td>
     10709          </tr>
     10710          <tr>
     10711            <td>DMG</td>
     10712            <td>Disk Image, File</td>
     10713          </tr>
     10714          <tr>
     10715            <td>DREF91</td>
     10716            <td>Geodetic Datum for Germany 1991</td>
     10717          </tr>
     10718          <tr>
     10719            <td>ECEF</td>
     10720            <td>Earth-Centred-Earth-Fixed</td>
     10721          </tr>
     10722          <tr>
     10723            <td>EDGE</td>
     10724            <td>Enhanced Data Rates for GSM Evolution</td>
     10725          </tr>
     10726          <tr>
     10727            <td>ETRF2000</td>
     10728            <td>European Terrestrial Reference Frame 2000</td>
     10729          </tr>
     10730          <tr>
     10731            <td>EUREF</td>
     10732            <td>IAG Reference Frame Sub-Commission for Europe</td>
     10733          </tr>
     10734          <tr>
     10735            <td>EoE</td>
     10736            <td>End of Epoch</td>
     10737          </tr>
     10738          <tr>
     10739            <td>FKP</td>
     10740            <td>Fl&auml;chen-Korrektur-Parameter</td>
     10741          </tr>
     10742          <tr>
     10743            <td>FTP</td>
     10744            <td>File Transfer Protocol</td>
     10745          </tr>
     10746          <tr>
     10747            <td>GDA2020</td>
     10748            <td>Geodetic Datum Australia 2020</td>
     10749          </tr>
     10750          <tr>
     10751            <td>GNSS</td>
     10752            <td>Global Navigation Satellite System</td>
     10753          </tr>
     10754          <tr>
     10755            <td>GNU</td>
     10756            <td>GNU's Not Unix</td>
     10757          </tr>
     10758          <tr>
     10759            <td>GPL</td>
     10760            <td>General Public License</td>
     10761          </tr>
     10762          <tr>
     10763            <td>GPRS</td>
     10764            <td>General Packet Radio Service</td>
     10765          </tr>
     10766          <tr>
     10767            <td>GPSWD</td>
     10768            <td>GPS Week and Day</td>
     10769          </tr>
     10770          <tr>
     10771            <td>GSM</td>
     10772            <td>Global System for Mobile Communications</td>
     10773          </tr>
     10774          <tr>
     10775            <td>GUI</td>
     10776            <td>Graphical User Interface</td>
     10777          </tr>
     10778          <tr>
     10779            <td>HP MSM</td>
     10780            <td>High Precision Multiple Signal Messages</td>
     10781          </tr>
     10782          <tr>
     10783            <td>HR URA</td>
     10784            <td>High Rate User Range Accuracy</td>
     10785          </tr>
     10786          <tr>
     10787            <td>HTTP</td>
     10788            <td>Hypertext Transfer Protocol</td>
     10789          </tr>
     10790          <tr>
     10791            <td>HTTPS</td>
     10792            <td>Hypertext Transfer Protocol Secure</td>
     10793          </tr>
     10794          <tr>
     10795            <td>IAG</td>
     10796            <td>International Association of Geodesy</td>
     10797          </tr>
     10798          <tr>
     10799            <td>ICECAST</td>
     10800            <td>Streaming Media Server</td>
     10801          </tr>
     10802          <tr>
     10803            <td>IGS20</td>
     10804            <td>IGS Reference Frame 2020</td>
     10805          </tr>
     10806          <tr>
     10807            <td>IGS</td>
     10808            <td>International GNSS Service</td>
     10809          </tr>
     10810          <tr>
     10811            <td>IOD</td>
     10812            <td>Issue of Data</td>
     10813          </tr>
     10814          <tr>
     10815            <td>IP</td>
     10816            <td>Internet Protocol</td>
     10817          </tr>
     10818          <tr>
     10819            <td>ITRF2020</td>
     10820            <td>International Terrestrial Reference Frame 2020</td>
     10821          </tr>
     10822          <tr>
     10823            <td>L3</td>
     10824            <td>Ionosphere-Free Linear Combination Of Phase Observations</td>
     10825          </tr>
     10826          <tr>
     10827            <td>LAN</td>
     10828            <td>Local Area Network</td>
     10829          </tr>
     10830          <tr>
     10831            <td>LC</td>
     10832            <td>Linea Combination</td>
     10833          </tr>
     10834          <tr>
     10835            <td>M-GEX</td>
     10836            <td>Multi GNSS-Experiment</td>
     10837          </tr>
     10838          <tr>
     10839            <td>MAC</td>
     10840            <td>Master Auxiliary Concept</td>
     10841          </tr>
     10842          <tr>
     10843            <td>MJD</td>
     10844            <td>Modified Julian Date</td>
     10845          </tr>
     10846          <tr>
     10847            <td>MSI</td>
     10848            <td>Microsoft Installer, File</td>
     10849          </tr>
     10850          <tr>
     10851            <td>MSM</td>
     10852            <td>Multiple Signal Messages</td>
     10853          </tr>
     10854          <tr>
     10855            <td>MW</td>
     10856            <td>Melbourne W&uuml;bbena Linear Combination</td>
     10857          </tr>
     10858          <tr>
     10859            <td>NAD83</td>
     10860            <td>North American Datum 1983</td>
     10861          </tr>
     10862          <tr>
     10863            <td>NAREF</td>
     10864            <td>IAG Reference Frame Sub-Commission for North America</td>
     10865          </tr>
     10866          <tr>
     10867            <td>NMEA</td>
     10868            <td>National Marine Electronics Association Format</td>
     10869          </tr>
     10870          <tr>
     10871            <td>Ntrip</td>
     10872            <td>Networked Transport of RTCM via Internet Protocol</td>
     10873          </tr>
     10874          <tr>
     10875            <td>OSM</td>
     10876            <td>OpenStreetMap</td>
     10877          </tr>
     10878          <tr>
     10879            <td>OSR</td>
     10880            <td>Observation Space Representation</td>
     10881          </tr>
     10882          <tr>
     10883            <td>PDOP</td>
     10884            <td>Positional Dilution Of Precision</td>
     10885          </tr>
     10886          <tr>
     10887            <td>PNG</td>
     10888            <td>Portable Network Graphics</td>
     10889          </tr>
     10890          <tr>
     10891            <td>PPP</td>
     10892            <td>Precise Point Positioning</td>
     10893          </tr>
     10894          <tr>
     10895            <td>Qt</td>
     10896            <td>Cross-Platform Application Framework</td>
     10897          </tr>
     10898          <tr>
     10899            <td>REQC</td>
     10900            <td>RINEX Editing and Quality Checking</td>
     10901          </tr>
     10902          <tr>
     10903            <td>RINEX</td>
     10904            <td>Receiver Independent Exchange Format</td>
     10905          </tr>
     10906          <tr>
     10907            <td>RTCM SC-104</td>
     10908            <td>Radio Technical Commission for Maritime Services, Special Committee 104</td>
     10909          </tr>
     10910          <tr>
     10911            <td>RTK</td>
     10912            <td>Real Time Kinematic</td>
     10913          </tr>
     10914          <tr>
     10915            <td>RTKPLOT</td>
     10916            <td>View and Plot Positioning Solutions Software, Part of RTKLIB</td>
     10917          </tr>
     10918          <tr>
     10919            <td>RTNET</td>
     10920            <td>Real-Time Network Format</td>
     10921          </tr>
     10922          <tr>
     10923            <td>RTP</td>
     10924            <td>Real-Time Transport Protocol</td>
     10925          </tr>
     10926          <tr>
     10927            <td>RTSP</td>
     10928            <td>Real-Time Streaming Protocol</td>
     10929          </tr>
     10930          <tr>
     10931            <td>SBAS</td>
     10932            <td>Space Based Augmentation System</td>
     10933          </tr>
     10934          <tr>
     10935            <td>SINEX TRO</td>
     10936            <td>Troposphere Solution Independent Exchange Format</td>
     10937          </tr>
     10938          <tr>
     10939            <td>SINEX</td>
     10940            <td>Solution Independent Exchange Format</td>
     10941          </tr>
     10942          <tr>
     10943            <td>SIRGAS2000</td>
     10944            <td>Geodetic Datum for Latin America and Caribbean 2000</td>
     10945          </tr>
     10946          <tr>
     10947            <td>SIRGAS</td>
     10948            <td>IAG Reference Frame Sub-Commission for Latin America and Caribbean</td>
     10949          </tr>
     10950          <tr>
     10951            <td>SP3</td>
     10952            <td>Standard Product # 3</td>
     10953          </tr>
     10954          <tr>
     10955            <td>SPP</td>
     10956            <td>Single Point Positioning</td>
     10957          </tr>
     10958          <tr>
     10959            <td>SSL</td>
     10960            <td>Secure Sockets Layer</td>
     10961          </tr>
     10962          <tr>
     10963            <td>SSR</td>
     10964            <td>State Space Representation</td>
     10965          </tr>
     10966          <tr>
     10967            <td>SVN</td>
     10968            <td>Subversion, Revision Control System</td>
     10969          </tr>
     10970          <tr>
     10971            <td>TCP</td>
     10972            <td>Transmission Control Protocol</td>
     10973          </tr>
     10974          <tr>
     10975            <td>TEQC</td>
     10976            <td>Translation, Editing and Quality Checking</td>
     10977          </tr>
     10978          <tr>
     10979            <td>TLS</td>
     10980            <td>Transport Layer Security</td>
     10981          </tr>
     10982          <tr>
     10983            <td>UDP</td>
     10984            <td>User Datagram Protocol</td>
     10985          </tr>
     10986          <tr>
     10987            <td>UMTS</td>
     10988            <td>Universal Mobile Telecommunications System</td>
     10989          </tr>
     10990          <tr>
     10991            <td>URA</td>
     10992            <td>User Range Accuracy</td>
     10993          </tr>
     10994          <tr>
     10995            <td>VRS</td>
     10996            <td>Virtual Reference Station</td>
     10997          </tr>
     10998          <tr>
     10999            <td>VTEC</td>
     11000            <td>Vertical Total Electron Content</td>
     11001          </tr>
     11002        </table>
    713811003
    713911004</body>
     11005
    714011006</html>
  • trunk/BNC/src/bncutils.cpp

    r10791 r11019  
    203203//
    204204////////////////////////////////////////////////////////////////////////////
     205double decimalYear(const bncTime& time) {
     206
     207  unsigned int year, month, day;
     208  time.civil_date(year, month, day);
     209
     210  bncTime jan1;
     211  jan1.set(int(year), 1, 1, 0, 0, 0.0);
     212
     213  return year + (time.mjddec() - jan1.mjddec()) / 365.25;
     214}
     215
     216//
     217////////////////////////////////////////////////////////////////////////////
    205218void currentGPSWeeks(int& week, double& sec) {
    206219
  • trunk/BNC/src/bncutils.h

    r10791 r11019  
    7171
    7272void         currentGPSWeeks(int& week, double& sec);
     73double       decimalYear(const bncTime& time);
    7374
    7475QDateTime    currentDateAndTimeGPS();
  • trunk/BNC/src/pppCrdFile.cpp

    r7850 r11019  
    4040 * -----------------------------------------------------------------------*/
    4141
     42#include <cstdlib>
    4243#include <fstream>
    4344#include <sstream>
     
    8283    in >> staInfo._xyz(1) >> staInfo._xyz(2) >> staInfo._xyz(3);
    8384
     85    // Optional 'EPOCH:<decimalYear>' and 'VEL:<vx>,<vy>,<vz>' keyword tokens
     86    // (ITRF reference epoch and velocity in m/year of the coordinate above),
     87    // may appear in any order before the antenna eccentricity / name fields.
     88    while (!in.eof()) {
     89      streampos posBeforeToken = in.tellg();
     90      string token;
     91      if (!(in >> token)) {
     92        break;
     93      }
     94      if (token.compare(0, 6, "EPOCH:") == 0) {
     95        staInfo._epoch = atof(token.substr(6).c_str());
     96      }
     97      else if (token.compare(0, 4, "VEL:") == 0) {
     98        string velStr = token.substr(4);
     99        for (string::iterator it = velStr.begin(); it != velStr.end(); ++it) {
     100          if (*it == ',') *it = ' ';
     101        }
     102        istringstream velIn(velStr);
     103        velIn >> staInfo._velocity(1) >> staInfo._velocity(2) >> staInfo._velocity(3);
     104      }
     105      else {
     106        in.seekg(posBeforeToken);
     107        break;
     108      }
     109    }
     110
    84111    if (!in.eof()) {
    85112      in >> staInfo._neuAnt(1) >> staInfo._neuAnt(2) >> staInfo._neuAnt(3);
  • trunk/BNC/src/pppCrdFile.h

    r7523 r11019  
    1313   public:
    1414    t_staInfo() {
    15       _xyz.ReSize(3);    _xyz    = 0.0;
    16       _neuAnt.ReSize(3); _neuAnt = 0.0;
     15      _xyz.ReSize(3);      _xyz      = 0.0;
     16      _neuAnt.ReSize(3);   _neuAnt   = 0.0;
     17      _velocity.ReSize(3); _velocity = 0.0;
     18      _epoch = 0.0;
    1719    }
    1820    std::string  _name;
     
    2123    ColumnVector _xyz;
    2224    ColumnVector _neuAnt;
     25    ColumnVector _velocity; // ITRF velocity Vx, Vy, Vz [m/year], zero if unused
     26    double       _epoch;    // reference (decimal year) epoch of _xyz, zero if unused
    2327  };
    2428
  • trunk/BNC/src/pppMain.cpp

    r10942 r11019  
    238238          opt->_neuEccRover[1] = staInfo._neuAnt[1];
    239239          opt->_neuEccRover[2] = staInfo._neuAnt[2];
     240          opt->_velRover[0]    = staInfo._velocity[0];
     241          opt->_velRover[1]    = staInfo._velocity[1];
     242          opt->_velRover[2]    = staInfo._velocity[2];
     243          opt->_refEpochRover  = staInfo._epoch;
    240244          opt->_antNameRover   = staInfo._antenna;
    241245          opt->_recNameRover   = staInfo._receiver;
  • trunk/BNC/src/pppOptions.cpp

    r10943 r11019  
    5252  _xyzAprRover.ReSize(3); _xyzAprRover = 0.0;
    5353  _neuEccRover.ReSize(3); _neuEccRover = 0.0;
     54  _velRover.ReSize(3);    _velRover    = 0.0;
     55  _refEpochRover = 0.0;
    5456  _aprSigCrd.ReSize(3);   _aprSigCrd   = 0.0;
    5557  _noiseCrd.ReSize(3);    _noiseCrd    = 0.0;
  • trunk/BNC/src/pppOptions.h

    r10942 r11019  
    7676  ColumnVector                  _xyzAprRover;
    7777  ColumnVector                  _neuEccRover;
     78  ColumnVector                  _velRover;     // ITRF velocity Vx,Vy,Vz [m/year] of _xyzAprRover, zero if unused
     79  double                        _refEpochRover; // reference (decimal year) epoch of _xyzAprRover, zero if unused
    7880  std::string                   _recNameRover;
    7981  std::string                   _antNameRover;
Note: See TracChangeset for help on using the changeset viewer.