Index: trunk/BNC/src/bnchelp.html
===================================================================
--- trunk/BNC/src/bnchelp.html	(revision 9941)
+++ trunk/BNC/src/bnchelp.html	(revision 9942)
@@ -2427,6 +2427,6 @@
 </p>
 <pre><p style="font-family:Monospace">
-! SP3 File 1: Input/CNE1SSRRTS_20222410000_01D_05S_ORB.sp3
-! SP3 File 2: Input/BKG1SSRRTS_20222410000_01D_05S_ORB.sp3
+! SP3 File 1: Input/CNE1SSRRTS_20222410000_01D_05S_ORB.SP3
+! SP3 File 2: Input/BKG1SSRRTS_20222410000_01D_05S_ORB.SP3
 !
 !  Epoch                PRN  radial   along   out        clk    clkRed   iPRN
@@ -2578,11 +2578,11 @@
 </p>
 <p>
-The filename convention for Broadcast Correction files follows the convention for RINEX Version 3/4 files
+The filename convention for Broadcast Correction files follows in general the convention for RINEX Version 3/4 files
 except for the two characters of the data type as well as for the characters of the filename suffix, which is set to 'ssr':
-The file below contains one day's data. 'MN' stands for 'Multi Constellation Clock' data.
+The files below contains one day's data. 'MC' stands for 'Multi Constellation Clock' data and 'ION' stands for 'Ionosphere' data.
 </p>
 <pre>
 SSRA00CNE1_S_20222750000_01D_MC.ssr
-SSRA00DLR1_S_20222740000_01D_MC.ssr
+IONO00IGS1_S_20222740000_01D_ION.ssr
 </pre>
 BNC's Broadcast Correction files contain blocks of records in plain ASCII format.
@@ -2925,5 +2925,5 @@
 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
 <tr><td><b>Observation Record</b></td><td></td><td></td></tr>
-<tr><td>Mountpoint</td><td>WTZR0</td><td>A</td></tr>
+<tr><td>Mountpoint</td><td>WTZR00DEU0</td><td>A</td></tr>
 <tr><td>Satellite Number</td><td>G01</td><td>1X,A3</td></tr>
 
@@ -4041,10 +4041,10 @@
   <tr><td>&nbsp; SITENAME   </td><td>&nbsp; &nbsp; 9-char site name</td></tr>
   <tr><td>&nbsp; CNT        </td><td>&nbsp; &nbsp; Content type, here TRO</td></tr>
-  <tr><td>&nbsp; FMT        </td><td>&nbsp; &nbsp; File format, here tro</td></tr>
+  <tr><td>&nbsp; FMT        </td><td>&nbsp; &nbsp; File format, here TRO</td></tr>
 </table>
 </p>
 A result for examle is:
 <pre>
-  BKG1DEMRTS_20223222100_01H_01S_WTZR00DEU_TRO.tro
+  BKG1DEMRTS_20223222100_01H_01S_WTZR00DEU_TRO.TRO
 </pre>
 
@@ -4949,5 +4949,5 @@
 The following is a path example for a Linux system:
 <pre>
-   /home/user/BKG0MGXRTS${V3PROD}.sp3
+   /home/user/BKG0MGXRTS${V3PROD}.SP3
 </pre>
 If the specified directory does not exist, BNC will not create SP3 orbit files.
@@ -4971,5 +4971,5 @@
   <tr><td>&nbsp; SMP        </td><td>&nbsp; &nbsp; Data sampling rate</td></tr>
   <tr><td>&nbsp; CNT        </td><td>&nbsp; &nbsp; Content type ORB</td></tr>
-  <tr><td>&nbsp; FMT        </td><td>&nbsp; &nbsp; File format, here sp3</td></tr>
+  <tr><td>&nbsp; FMT        </td><td>&nbsp; &nbsp; File format, here SP3</td></tr>
 </table>
 </p>
@@ -4979,5 +4979,5 @@
 A result for examle is:
 <pre>
-  BKG0MGXRTS_20223330000_01D_01M_ORB.sp3
+  BKG0MGXRTS_20223330000_01D_01M_ORB.SP3
 </pre>
 <p>
@@ -5013,5 +5013,5 @@
 Specify a path for saving the generated clock corrections as Clock RINEX files. The following is a path example for a Linux system:
 <pre>
-   /home/user/BKG0MGXRTS${V3PROD}.clk
+   /home/user/BKG0MGXRTS${V3PROD}.CLK
 </pre>
 If the specified directory does not exist, BNC will not create Clock RINEX files.
@@ -5035,5 +5035,5 @@
   <tr><td>&nbsp; SMP        </td><td>&nbsp; &nbsp; Data sampling rate</td></tr>
   <tr><td>&nbsp; CNT        </td><td>&nbsp; &nbsp; Content type CLK</td></tr>
-  <tr><td>&nbsp; FMT        </td><td>&nbsp; &nbsp; File format, here clk</td></tr>
+  <tr><td>&nbsp; FMT        </td><td>&nbsp; &nbsp; File format, here CLK</td></tr>
 </table>
 </p>
@@ -5043,5 +5043,5 @@
 A result for examle is:
 <pre>
-  BKG0MGXRTS_20223330000_01D_05S_CLK.clk
+  BKG0MGXRTS_20223330000_01D_05S_CLK.CLK
 </pre>
 <p>
@@ -5059,5 +5059,5 @@
 Specify a path for saving the generated clock corrections as Clock RINEX files. The following is a path example for a Linux system:
 <pre>
-   /home/user/BKG0MGXRTS${V3PROD}.bia
+   /home/user/BKG0MGXRTS${V3PROD}.BIA
 </pre>
 If the specified directory does not exist, BNC will not create SINEX Bias files.
@@ -5081,5 +5081,5 @@
   <tr><td>&nbsp; SMP        </td><td>&nbsp; &nbsp; Data sampling rate</td></tr>
   <tr><td>&nbsp; CNT        </td><td>&nbsp; &nbsp; Content type, here absolute bias information (ABS)</td></tr>
-  <tr><td>&nbsp; FMT        </td><td>&nbsp; &nbsp; File format, here bia</td></tr>
+  <tr><td>&nbsp; FMT        </td><td>&nbsp; &nbsp; File format, here BIA</td></tr>
 </table>
 </p>
@@ -5089,5 +5089,5 @@
 A result for examle is:
 <pre>
-  BKG0MGXRTS_20223330000_01D_05S_ABS.bia
+  BKG0MGXRTS_20223330000_01D_05S_ABS.BIA
 </pre>
 <p>
@@ -6028,5 +6028,5 @@
                           example: 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]}
    reqcStartDateTime     {Start time [character string, example: 1967-11-02T00:00:00]}
-   reqcEndDateTime       {Stop time [character string, example: 2099-01-01T00:00:00 }
+   reqcEndDateTime       {Stop time [character string, example: 2099-01-01T00:00:00]}
    reqcRunBy             {Operators name [character string]}
    reqcUseObsTypes       {Use observation types [character string, list separated by blank character, example: G:C1C G:L1C R:C1C RC1P]}
@@ -6159,5 +6159,5 @@
 Upload Corrections Panel keys:
    uploadMountpointsOut   {Upload corrections table [character string, semicolon separated list, each element in quotation marks, example:
-                          "products.igs-ip.net,2101,SSRA02IGS1,2,usr,pass,IGS20,IGS-SSR,0,/home/user/BKG0MGXRTS${V3PROD}.sp3,/home/user/BKG0MGXRTS${V3PROD}.clk,/home/user/BKG0MGXRTS${V3PROD}.bia,258,1,0;
+                          "products.igs-ip.net,2101,SSRA02IGS1,2,usr,pass,IGS20,IGS-SSR,0,/home/user/BKG0MGXRTS${V3PROD}.SP3,/home/user/BKG0MGXRTS${V3PROD}.CLK,/home/user/BKG0MGXRTS${V3PROD}.BIA,258,1,0;
                           euref-ip.net,2101,SSRA02IGS1_EUREF,2,usr,pass,ETRF2000,RTCM-SSR,0,,,,258,2,0"]}
    uploadIntr             {Length of SP3, Clock RINEX and Bias SINEX file interval [character string: 1 min|2 min|5 min|10 min|15 min|30 min|1 hour|1 day]}
@@ -6214,5 +6214,5 @@
 (6) bnc --conf /dev/null --key mountPoints "//user:pass@mgex.igs-ip.net:2101/CUT000AUS0 RTCM_3.0 ETH 9.03 38.74 no 2;//user:pass@igs-ip.net:2101/FFMJ00DEU1 RTCM_3.1 DEU 50.09 8.66 no 2"
 (7) bnc --conf /dev/null --key startTab 15 --key cmbStreams "SSRA00BKG1 BKG 1.0;SSRA00CNE1 CNES 1.0"
-(8) bnc --conf /dev/null --key startTab 16 --key uploadMountpointsOut "products.igs-ip.net,2101,SSRC00BKG1,2,usr,pass,IGS20,RTCM-SSR,2,/Users/userName/BKG0MGXRTS${V3PROD}.clk,,,33,3,2;euref-ip.net,443,SSRA00BKG1_EUREF,2s,usr,pass,ETRF2000,IGS-SSR,0,,,,33,5,5"
+(8) bnc --conf /dev/null --key startTab 16 --key uploadMountpointsOut "products.igs-ip.net,2101,SSRC00BKG1,2,usr,pass,IGS20,RTCM-SSR,2,/Users/userName/BKG0MGXRTS${V3PROD}.SP3,,,33,3,2;euref-ip.net,443,SSRA00BKG1_EUREF,2s,usr,pass,ETRF2000,IGS-SSR,0,,,,33,5,5"
 (9) bnc --conf /dev/null --key startTab 13 --key PPP/dataSource "Real-Time Streams" --key PPP/staTable "FFMJ00DEU1,100.0,100.0,100.0,100.0,100.0,100.0,0.1,3e-6,7777,G:12&CWPSLX R:12&CP E:1&CBX E:5&QIX C:26&IQX;CUT000AUS0,100.0,100.0,100.0,100.0,100.0,100.0,0.1,3e-6,7778,G:12&CWPSLX R:12&CP E:1&CBX E:5&QIX C:26&IQX"
 </p></pre>
Index: trunk/BNC/src/bncmain.cpp
===================================================================
--- trunk/BNC/src/bncmain.cpp	(revision 9941)
+++ trunk/BNC/src/bncmain.cpp	(revision 9942)
@@ -152,5 +152,5 @@
       "                          example: 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]}\n"
       "   reqcStartDateTime     {Start time [character string, example: 1967-11-02T00:00:00]}\n"
-      "   reqcEndDateTime       {Stop time [character string, example: 2099-01-01T00:00:00 }\n"
+      "   reqcEndDateTime       {Stop time [character string, example: 2099-01-01T00:00:00]}\n"
       "   reqcRunBy             {Operators name [character string]}\n"
       "   reqcUseObsTypes       {Use observation types [character string, list separated by blank character, example: G:C1C G:L1C R:C1C RC1P]}\n"
@@ -287,5 +287,5 @@
       "Upload Corrections Panel keys:\n"
       "   uploadMountpointsOut   {Upload corrections table [character string, semicolon separated list, each element in quotation marks, example:\n"
-      "                          \"products.igs-ip.net,2101,SSRA02IGS1,2,usr,pass,IGS20,IGS-SSR,0,/home/user/BKG0MGXRTS${V3PROD}.sp3,/home/user/BKG0MGXRTS${V3PROD}.clk,/home/user/BKG0MGXRTS${V3PROD}.bia,258,1,0;\n"
+      "                          \"products.igs-ip.net,2101,SSRA02IGS1,2,usr,pass,IGS20,IGS-SSR,0,/home/user/BKG0MGXRTS${V3PROD}.SP3,/home/user/BKG0MGXRTS${V3PROD}.CLK,/home/user/BKG0MGXRTS${V3PROD}.BIA,258,1,0;\n"
       "                          euref-ip.net,2101,SSRA02IGS1_EUREF,2,usr,pass,ETRF2000,RTCM-SSR,0,,,,258,2,0\"]}\n"
       "   uploadIntr             {Length of SP3, Clock RINEX and Bias SINEX file interval [character string: 1 min|2 min|5 min|10 min|15 min|30 min|1 hour|1 day]}\n"
@@ -345,5 +345,5 @@
       "//user:pass@igs-ip.net:2101/FFMJ00DEU1 RTCM_3.1 DEU 50.09 8.66 no 2\"\n"
       "(7) bnc --conf /dev/null --key startTab 15 --key cmbStreams \"SSRA00BKG1 BKG 1.0;SSRA00CNE1 CNES 1.0\"\n"
-      "(8) bnc --conf /dev/null --key startTab 16 --key uploadMountpointsOut \"products.igs-ip.net,2101,SSRC00BKG1,2,usr,pass,IGS20,RTCM-SSR,2,/Users/userName/BKG0MGXRTS${V3PROD}.clk,,,33,3,2;"
+      "(8) bnc --conf /dev/null --key startTab 16 --key uploadMountpointsOut \"products.igs-ip.net,2101,SSRC00BKG1,2,usr,pass,IGS20,RTCM-SSR,2,/Users/userName/BKG0MGXRTS${V3PROD}.SP3,,,33,3,2;"
       "euref-ip.net,443,SSRA00BKG1_EUREF,2s,usr,pass,ETRF2000,IGS-SSR,0,,,,33,5,5\"\n"
       "(9) bnc --conf /dev/null --key startTab 13 --key PPP/dataSource \"Real-Time Streams\" --key PPP/staTable \"FFMJ00DEU1,100.0,100.0,100.0,100.0,100.0,100.0,0.1,3e-6,7777,G:12&CWPSLX R:12&CP E:1&CBX E:5&QIX C:26&IQX;"
Index: trunk/BNC/src/bncoutf.cpp
===================================================================
--- trunk/BNC/src/bncoutf.cpp	(revision 9941)
+++ trunk/BNC/src/bncoutf.cpp	(revision 9942)
@@ -146,14 +146,14 @@
   baseName.replace("${V3PROD}", QString("_%1%2").arg(yyyy).arg(doy));
   QString addition = "";
-    if (_extension.contains("sp3") || _extension.contains("SP3")) {
+    if (_extension.contains("SP3")) {
       addition = QString("_ORB");
     }
-    if (_extension.contains("clk") || _extension.contains("CLK")) {
+    if (_extension.contains("CLK")) {
       addition = QString("_CLK");
     }
-    if (_extension.contains("bia") || _extension.contains("BIA")) {
+    if (_extension.contains("BIA")) {
       addition = QString("_ABS");
     }
-    if (_extension.contains("tro") || _extension.contains("TRO")) {
+    if (_extension.contains("TRO")) {
       QString site = baseName.left(9);
       bncSettings settings;
Index: trunk/BNC/src/bncwindow.cpp
===================================================================
--- trunk/BNC/src/bncwindow.cpp	(revision 9941)
+++ trunk/BNC/src/bncwindow.cpp	(revision 9942)
@@ -1517,5 +1517,5 @@
   // WhatsThis, Upload Corrections
   // -----------------------------
-  _uploadTable->setWhatsThis(tr("<p>BNC can upload clock and orbit corrections to Broadcast Ephemeris (Broadcast Corrections) as well as Code Biases in different SSR formats. You may have a situation where clocks, orbits and code biases come from an external Real-time Network Engine (1) or a situation where clock and orbit corrections are combined within BNC (2).</p><p>(1) BNC identifies a stream as coming from a Real-time Network Engine if its format is specified as 'RTNET' and hence its decoder string in the 'Streams' canvas is 'RTNET'. It encodes and uploads that stream to the specified Ntrip Broadcaster Host and Port</p><p>(2) BNC understands that it is expected to encode and upload combined Broadcast Ephemeris Corrections if you specify correction streams in the 'Combine Corrections' table.</p><p>To fill the 'Upload Corrections' table, hit the 'Add Row' button, double click on the 'Host' field to enter the IP or URL of an Ntrip Broadcaster and hit Enter. Select the Ntrip Version that shall be used for data upload. Then double click on the 'Port', 'Mount' and 'Password' fields to enter the Ntrip Broadcaster IP port (default is 80), the mountpoint and the stream upload password. If Ntrip Version 2 is chosen, click to the 'User' field to enter a stream upload user name. An empty 'Host' option field means that you don't want to upload corrections.</p><p>Select a target coordinate reference System (e.g. IGS20) for outgoing clock and orbit corrections.</p><p>Select a target SSR format (e.g. IGS-SSR) for outgoing clock and orbit corrections.</p><p>By default orbit and clock corrections refer to Antenna Phase Center (APC). Tick 'CoM' to refer uploaded corrections to Center of Mass instead of APC.</p><p>Specify a path for saving generated Broadcast Corrections plus Broadcast Ephemeris as SP3 orbit files. If the specified directory does not exist, BNC will not create such files. The following is a path example for a Linux system: /home/user/BKG0MGXRTS${V3PROD}.sp3.</p><p>Specify a path for saving generated Broadcast Correction clocks plus Broadcast Ephemeris clocks as Clock RINEX files. If the specified directory does not exist, BNC will not create Clock RINEX files. The following is a path example for a Linux system: /home/user/BKG0MGXRTS${V3PROD}.clk.</p><p>Specify a path for saving generated Code Biases as SINEX Bias files. If the specified directory does not exist, BNC will not create SINEX Bias files. The following is a path example for a Linux system: /home/user/BKG0MGXRTS${V3PROD}.bia.</p><p>Note that '${V3PROD}' produces the time stamp in the filename, which is related to the RINEX version 3 filename concept.</p><p>Finally, specify a SSR Provider ID (issued by RTCM), SSR Solution ID, and SSR Issue of Data number.</p><p>In case the 'Combine Corrections' table contains only one Broadcast Correction stream, BNC will add that stream content to the Broadcast Ephemeris to save results in files specified via SP3 and/or Clock RINEX file path. You should then define only the SP3 and Clock RINEX file path and no further option in the 'Upload Corrections' table. <i>[key: uploadMountpointsOut]</i></p>"));
+  _uploadTable->setWhatsThis(tr("<p>BNC can upload clock and orbit corrections to Broadcast Ephemeris (Broadcast Corrections) as well as Code Biases in different SSR formats. You may have a situation where clocks, orbits and code biases come from an external Real-time Network Engine (1) or a situation where clock and orbit corrections are combined within BNC (2).</p><p>(1) BNC identifies a stream as coming from a Real-time Network Engine if its format is specified as 'RTNET' and hence its decoder string in the 'Streams' canvas is 'RTNET'. It encodes and uploads that stream to the specified Ntrip Broadcaster Host and Port</p><p>(2) BNC understands that it is expected to encode and upload combined Broadcast Ephemeris Corrections if you specify correction streams in the 'Combine Corrections' table.</p><p>To fill the 'Upload Corrections' table, hit the 'Add Row' button, double click on the 'Host' field to enter the IP or URL of an Ntrip Broadcaster and hit Enter. Select the Ntrip Version that shall be used for data upload. Then double click on the 'Port', 'Mount' and 'Password' fields to enter the Ntrip Broadcaster IP port (default is 80), the mountpoint and the stream upload password. If Ntrip Version 2 is chosen, click to the 'User' field to enter a stream upload user name. An empty 'Host' option field means that you don't want to upload corrections.</p><p>Select a target coordinate reference System (e.g. IGS20) for outgoing clock and orbit corrections.</p><p>Select a target SSR format (e.g. IGS-SSR) for outgoing clock and orbit corrections.</p><p>By default orbit and clock corrections refer to Antenna Phase Center (APC). Tick 'CoM' to refer uploaded corrections to Center of Mass instead of APC.</p><p>Specify a path for saving generated Broadcast Corrections plus Broadcast Ephemeris as SP3 orbit files. If the specified directory does not exist, BNC will not create such files. The following is a path example for a Linux system: /home/user/BKG0MGXRTS${V3PROD}.SP3.</p><p>Specify a path for saving generated Broadcast Correction clocks plus Broadcast Ephemeris clocks as Clock RINEX files. If the specified directory does not exist, BNC will not create Clock RINEX files. The following is a path example for a Linux system: /home/user/BKG0MGXRTS${V3PROD}.CLK.</p><p>Specify a path for saving generated Code Biases as SINEX Bias files. If the specified directory does not exist, BNC will not create SINEX Bias files. The following is a path example for a Linux system: /home/user/BKG0MGXRTS${V3PROD}.BIA.</p><p>Note that '${V3PROD}' produces the time stamp in the filename, which is related to the RINEX version 3 filename concept.</p><p>Finally, specify a SSR Provider ID (issued by RTCM), SSR Solution ID, and SSR Issue of Data number.</p><p>In case the 'Combine Corrections' table contains only one Broadcast Correction stream, BNC will add that stream content to the Broadcast Ephemeris to save results in files specified via SP3 and/or Clock RINEX file path. You should then define only the SP3 and Clock RINEX file path and no further option in the 'Upload Corrections' table. <i>[key: uploadMountpointsOut]</i></p>"));
   addUploadRowButton->setWhatsThis(tr("<p>Hit 'Add Row' button to add another line to the 'Upload Corrections' table.</p>"));
   delUploadRowButton->setWhatsThis(tr("<p>Hit 'Del Row' button to delete the highlighted line(s) from the 'Upload Corrections' table.</p>"));
Index: trunk/BNC/src/pppRun.cpp
===================================================================
--- trunk/BNC/src/pppRun.cpp	(revision 9941)
+++ trunk/BNC/src/pppRun.cpp	(revision 9942)
@@ -222,5 +222,5 @@
       snxtroFileSkl += QDir::separator();
     }
-    snxtroFileSkl = snxtroFileSkl + ID9 + '_' + "${V3PROD}" + distStr + ".tro";
+    snxtroFileSkl = snxtroFileSkl + ID9 + '_' + "${V3PROD}" + distStr + ".TRO";
     sampl = settings.value("PPP/snxtroSampl").toString().split("sec").first().toInt();
     intr  = settings.value("PPP/snxtroIntr").toString();
@@ -228,6 +228,4 @@
   }
 }
-
-
 
 // Destructor
