Index: /trunk/BNC/CHANGELOG.md
===================================================================
--- /trunk/BNC/CHANGELOG.md	(revision 10126)
+++ /trunk/BNC/CHANGELOG.md	(revision 10127)
@@ -1,5 +1,5 @@
 # Changelog
 
-## 2.13.0 (2022-06-xx)
+## 2.13.0 (2023-07-)
 - ADDED: **RINEX Version 4** support; in navigation files currently the EPH message type is considerred only
 - ADDED: PPP Client upgrade
Index: /trunk/BNC/Example_Configs/09_PPPNet.bnc
===================================================================
--- /trunk/BNC/Example_Configs/09_PPPNet.bnc	(revision 10126)
+++ /trunk/BNC/Example_Configs/09_PPPNet.bnc	(revision 10127)
@@ -100,4 +100,5 @@
 sp3CompFile=
 sp3CompOutLogFile=
+sp3CompSummaryOnly=0
 sslCaCertPath=
 sslClientCertPath=
@@ -128,5 +129,5 @@
 uploadSamplRtcmEph=5
 uploadSamplRtcmEphCorr=0
-uploadSamplSp3=1
+uploadSamplSp3=30 sec
 
 [PPP]
@@ -167,7 +168,10 @@
 sigmaL1=0.02
 snxtroAc=BKG
+snxtroCampId=DEM
 snxtroIntr=1 hour
 snxtroPath=./
 snxtroSampl=1 sec
 snxtroSol=1
+snxtroSolId=9
+snxtroSolType=RTS
 staTable="WTZR00DEU0,100.0,100.0,100.0,100.0,100.0,100.0,0.1,3e-6,0,G:1&C G:2&W R:1&C R:2&P E:1&C E:5&Q C:26&I,", "FFMJ00DEU0,100.0,100.0,100.0,100.0,100.0,100.0,0.1,3e-6,0,G:12&W R:12&P E:15&X C:26&I,"
Index: /trunk/BNC/Example_Configs/BKG9RTSDEM_20232001300_01H_01S_FFMJ00DEU_TRO.TRO
===================================================================
--- /trunk/BNC/Example_Configs/BKG9RTSDEM_20232001300_01H_01S_FFMJ00DEU_TRO.TRO	(revision 10127)
+++ /trunk/BNC/Example_Configs/BKG9RTSDEM_20232001300_01H_01S_FFMJ00DEU_TRO.TRO	(revision 10127)
@@ -0,0 +1,249 @@
+%=TRO 2.00 BKG 23:200:00000 BKG 23:200:00000 23:200:03599 P 03600 0  T 
+*-------------------------------------------------------------------------------
++FILE/REFERENCE
+*INFO_TYPE_________ INFO________________________________________________________
+ DESCRIPTION        BNC generated SINEX TRO file
+ OUTPUT             Total Troposphere Zenith Path Delay Product
+ SOFTWARE           BNC 2.13.0
+ INPUT              OBS: FFMJ00DEU, SSR: SSRA00BKG1
+ VERSON NUMBER      009
+-FILE/REFERENCE
+*-------------------------------------------------------------------------------
++TROP/DESCRIPTION
+*KEYWORD______________________ VALUE(S)______________
+ SAMPLING INTERVAL                                  1
+ SAMPLING TROP                                      1
+ ELEVATION CUTOFF ANGLE                             7
+ OCEAN TIDE LOADING MODEL      BNC.BLQ
+ TROP MAPPING FUNCTION         Saastamoinen
+ SOLUTION_FIELDS_1             TROTOT STDEV
+-TROP/DESCRIPTION
+*-------------------------------------------------------------------------------
++SITE/ID
+*STATION__ PT __DOMES__ T _STATION_DESCRIPTION__ _LONGITUDE _LATITUDE_ _HGT_ELI_ _HGT_MSL_
+ FFMJ00DEU  A           P DEU                     50.090580   8.664971   178.210
+-SITE/ID
+*-------------------------------------------------------------------------------
++TROP/COORDINATES
+*SITE      PT SOLN T STA_X_______ STA_Y_______ STA_Z_______ SYSTEM REMARK
+ FFMJ00DEU  A 009 P  4053455.628   617729.946  4869395.884 IGS20 BKG
+-TROP/COORDINATES
+*-------------------------------------------------------------------------------
++SITE/ECCENTRICITY
+*                                             UP______ NORTH___ EAST____
+*SITE      PT SOLN T DATA_START__ DATA_END____ AXE ARP->BENCHMARK(M)_________
+ FFMJ00DEU  A 009 P 23:200:00000 23:200:03599 UNE   0.0450   0.0000   0.0000
+-SITE/ECCENTRICITY
+*-------------------------------------------------------------------------------
++SITE/RECEIVER
+*STATION__ PT SOLN T __DATA_START__ __DATA_END____ DESCRIPTION_________ S/N_________________ FIRMW______
+ FFMJ00DEU  A 009 P 23:200:00000 23:200:03599 JAVAD TRE_G3TH DELTA ----- -----------
+-SITE/RECEIVER
+*-------------------------------------------------------------------------------
++SITE/ANTENNA
+*STATION__ PT SOLN T __DATA_START__ __DATA_END____ DESCRIPTION_________ S/N_________________ PCV_MODEL_
+ FFMJ00DEU  A 009 P 23:200:00000 23:200:03599 LEIAR25.R4      LEIT -----
+-SITE/ANTENNA
+*-------------------------------------------------------------------------------
++SITE/GPS_PHASE_CENTER
+*                           UP____ NORTH_ EAST__ UP____ NORTH_ EAST__
+*DESCRIPTION_________ S/N__ L1->ARP(m)__________ L2->ARP(m)__________ AZ_EL____
+ LEIAR25.R4      LEIT ----- +.1590 +.0007 +.0012 +.1550 +.0001 -.0000 ---------
+-SITE/GPS_PHASE_CENTER
+*-------------------------------------------------------------------------------
++SITE/GLONASS_PHASE_CENTER
+*                           UP____ NORTH_ EAST__ UP____ NORTH_ EAST__
+*DESCRIPTION_________ S/N__ L1->ARP(m)__________ L2->ARP(m)__________ AZ_EL____
+ LEIAR25.R4      LEIT ----- +.1559 +.0007 +.0013 +.1532 +.0001 -.0001 ---------
+-SITE/GLONASS_PHASE_CENTER
+*-------------------------------------------------------------------------------
++SITE/GALILEO_PHASE_CENTER
+*                           UP____ NORTH_ EAST__ UP____ NORTH_ EAST__
+*DESCRIPTION_________ S/N__ L1->ARP(m)__________ L2->ARP(m)__________ AZ_EL____
+ LEIAR25.R4      LEIT ----- +.1590 +.0007 +.0012 +.1592 +.0001 +.0001 ---------
+-SITE/GALILEO_PHASE_CENTER
+*-------------------------------------------------------------------------------
++TROP/SOLUTION
+*STATION__ ____EPOCH_____ TROTOT STDDEV 
+ FFMJ00DEU 23:200:47485 2345.6 100.0
+ FFMJ00DEU 23:200:47486 2345.4 100.0
+ FFMJ00DEU 23:200:47487 2345.8 100.0
+ FFMJ00DEU 23:200:47488 2346.0  99.9
+ FFMJ00DEU 23:200:47489 2346.2  99.9
+ FFMJ00DEU 23:200:47490 2346.3  99.9
+ FFMJ00DEU 23:200:47491 2346.2  99.9
+ FFMJ00DEU 23:200:47492 2346.4  99.8
+ FFMJ00DEU 23:200:47493 2346.5  99.8
+ FFMJ00DEU 23:200:47494 2346.7  99.7
+ FFMJ00DEU 23:200:47495 2346.9  99.7
+ FFMJ00DEU 23:200:47496 2347.0  99.6
+ FFMJ00DEU 23:200:47497 2347.0  99.5
+ FFMJ00DEU 23:200:47498 2347.2  99.4
+ FFMJ00DEU 23:200:47499 2347.1  99.3
+ FFMJ00DEU 23:200:47500 2347.4  99.2
+ FFMJ00DEU 23:200:47501 2347.4  99.1
+ FFMJ00DEU 23:200:47502 2347.9  99.0
+ FFMJ00DEU 23:200:47503 2349.1  98.8
+ FFMJ00DEU 23:200:47504 2350.8  98.6
+ FFMJ00DEU 23:200:47505 2350.9  98.5
+ FFMJ00DEU 23:200:47506 2349.5  98.3
+ FFMJ00DEU 23:200:47507 2348.2  98.0
+ FFMJ00DEU 23:200:47508 2347.8  97.8
+ FFMJ00DEU 23:200:47509 2346.8  97.6
+ FFMJ00DEU 23:200:47510 2346.5  97.3
+ FFMJ00DEU 23:200:47511 2345.4  97.0
+ FFMJ00DEU 23:200:47512 2344.8  96.7
+ FFMJ00DEU 23:200:47513 2344.3  96.4
+ FFMJ00DEU 23:200:47514 2344.3  96.1
+ FFMJ00DEU 23:200:47515 2345.3  95.7
+ FFMJ00DEU 23:200:47516 2346.3  95.4
+ FFMJ00DEU 23:200:47517 2347.4  95.0
+ FFMJ00DEU 23:200:47518 2348.1  94.6
+ FFMJ00DEU 23:200:47519 2348.8  94.2
+ FFMJ00DEU 23:200:47520 2348.2  93.7
+ FFMJ00DEU 23:200:47521 2348.3  93.3
+ FFMJ00DEU 23:200:47522 2347.9  92.8
+ FFMJ00DEU 23:200:47523 2347.1  92.3
+ FFMJ00DEU 23:200:47524 2346.6  91.8
+ FFMJ00DEU 23:200:47525 2344.6  91.3
+ FFMJ00DEU 23:200:47526 2342.9  90.8
+ FFMJ00DEU 23:200:47527 2340.8  90.2
+ FFMJ00DEU 23:200:47528 2338.6  89.7
+ FFMJ00DEU 23:200:47529 2336.8  89.1
+ FFMJ00DEU 23:200:47530 2335.6  88.5
+ FFMJ00DEU 23:200:47531 2333.3  87.9
+ FFMJ00DEU 23:200:47532 2330.5  87.3
+ FFMJ00DEU 23:200:47533 2327.2  86.7
+ FFMJ00DEU 23:200:47534 2323.8  86.1
+ FFMJ00DEU 23:200:47535 2322.3  85.4
+ FFMJ00DEU 23:200:47536 2320.1  84.8
+ FFMJ00DEU 23:200:47537 2317.6  84.1
+ FFMJ00DEU 23:200:47538 2315.6  83.5
+ FFMJ00DEU 23:200:47539 2314.1  82.8
+ FFMJ00DEU 23:200:47540 2311.1  82.1
+ FFMJ00DEU 23:200:47541 2309.1  81.4
+ FFMJ00DEU 23:200:47542 2306.5  80.8
+ FFMJ00DEU 23:200:47543 2302.7  80.1
+ FFMJ00DEU 23:200:47544 2298.7  79.4
+ FFMJ00DEU 23:200:47545 2295.9  78.7
+ FFMJ00DEU 23:200:47546 2294.6  78.0
+ FFMJ00DEU 23:200:47547 2294.9  77.3
+ FFMJ00DEU 23:200:47548 2295.1  76.6
+ FFMJ00DEU 23:200:47549 2294.8  75.9
+ FFMJ00DEU 23:200:47550 2294.1  75.2
+ FFMJ00DEU 23:200:47551 2293.2  74.5
+ FFMJ00DEU 23:200:47552 2291.9  73.8
+ FFMJ00DEU 23:200:47553 2290.7  73.1
+ FFMJ00DEU 23:200:47554 2289.2  72.4
+ FFMJ00DEU 23:200:47555 2287.9  71.7
+ FFMJ00DEU 23:200:47556 2286.7  71.0
+ FFMJ00DEU 23:200:47557 2285.5  70.3
+ FFMJ00DEU 23:200:47558 2284.9  69.6
+ FFMJ00DEU 23:200:47559 2285.3  68.9
+ FFMJ00DEU 23:200:47560 2285.1  68.3
+ FFMJ00DEU 23:200:47561 2285.4  67.6
+ FFMJ00DEU 23:200:47562 2286.6  66.9
+ FFMJ00DEU 23:200:47563 2287.6  66.2
+ FFMJ00DEU 23:200:47564 2289.0  65.6
+ FFMJ00DEU 23:200:47565 2290.6  64.9
+ FFMJ00DEU 23:200:47566 2291.1  64.3
+ FFMJ00DEU 23:200:47567 2291.5  63.6
+ FFMJ00DEU 23:200:47568 2292.6  63.0
+ FFMJ00DEU 23:200:47569 2293.8  62.4
+ FFMJ00DEU 23:200:47570 2295.8  61.7
+ FFMJ00DEU 23:200:47571 2296.9  61.1
+ FFMJ00DEU 23:200:47572 2297.3  60.5
+ FFMJ00DEU 23:200:47573 2297.5  59.9
+ FFMJ00DEU 23:200:47574 2298.4  59.3
+ FFMJ00DEU 23:200:47575 2300.6  58.7
+ FFMJ00DEU 23:200:47576 2302.0  58.1
+ FFMJ00DEU 23:200:47577 2304.4  57.5
+ FFMJ00DEU 23:200:47578 2307.3  56.9
+ FFMJ00DEU 23:200:47579 2309.4  56.4
+ FFMJ00DEU 23:200:47580 2310.4  55.8
+ FFMJ00DEU 23:200:47581 2311.2  55.2
+ FFMJ00DEU 23:200:47582 2311.6  54.7
+ FFMJ00DEU 23:200:47583 2312.6  54.1
+ FFMJ00DEU 23:200:47584 2313.5  53.6
+ FFMJ00DEU 23:200:47585 2314.0  53.1
+ FFMJ00DEU 23:200:47586 2314.3  52.5
+ FFMJ00DEU 23:200:47587 2314.3  52.0
+ FFMJ00DEU 23:200:47588 2315.0  51.5
+ FFMJ00DEU 23:200:47589 2315.9  51.0
+ FFMJ00DEU 23:200:47590 2316.6  50.5
+ FFMJ00DEU 23:200:47591 2317.5  50.0
+ FFMJ00DEU 23:200:47592 2318.3  49.5
+ FFMJ00DEU 23:200:47593 2319.4  49.1
+ FFMJ00DEU 23:200:47594 2319.8  48.6
+ FFMJ00DEU 23:200:47595 2319.7  48.1
+ FFMJ00DEU 23:200:47596 2320.4  47.7
+ FFMJ00DEU 23:200:47597 2321.1  47.2
+ FFMJ00DEU 23:200:47598 2321.4  46.8
+ FFMJ00DEU 23:200:47599 2321.8  46.3
+ FFMJ00DEU 23:200:47600 2322.3  45.9
+ FFMJ00DEU 23:200:47601 2322.4  45.5
+ FFMJ00DEU 23:200:47602 2322.7  45.0
+ FFMJ00DEU 23:200:47603 2323.7  44.6
+ FFMJ00DEU 23:200:47604 2324.9  44.2
+ FFMJ00DEU 23:200:47605 2324.9  43.8
+ FFMJ00DEU 23:200:47606 2325.5  43.4
+ FFMJ00DEU 23:200:47607 2325.7  43.0
+ FFMJ00DEU 23:200:47608 2326.4  42.6
+ FFMJ00DEU 23:200:47609 2327.0  42.2
+ FFMJ00DEU 23:200:47610 2327.0  41.8
+ FFMJ00DEU 23:200:47611 2327.2  41.5
+ FFMJ00DEU 23:200:47612 2326.9  41.1
+ FFMJ00DEU 23:200:47613 2326.5  40.7
+ FFMJ00DEU 23:200:47614 2326.5  40.4
+ FFMJ00DEU 23:200:47615 2326.9  40.0
+ FFMJ00DEU 23:200:47616 2327.7  39.7
+ FFMJ00DEU 23:200:47617 2328.8  39.3
+ FFMJ00DEU 23:200:47618 2329.8  39.0
+ FFMJ00DEU 23:200:47619 2330.8  38.6
+ FFMJ00DEU 23:200:47620 2331.4  38.3
+ FFMJ00DEU 23:200:47621 2331.9  38.0
+ FFMJ00DEU 23:200:47622 2332.2  37.6
+ FFMJ00DEU 23:200:47623 2332.8  37.3
+ FFMJ00DEU 23:200:47624 2333.5  37.0
+ FFMJ00DEU 23:200:47625 2334.6  36.7
+ FFMJ00DEU 23:200:47626 2335.9  36.4
+ FFMJ00DEU 23:200:47627 2337.7  36.1
+ FFMJ00DEU 23:200:47628 2339.4  35.8
+ FFMJ00DEU 23:200:47629 2341.1  35.5
+ FFMJ00DEU 23:200:47630 2342.1  35.2
+ FFMJ00DEU 23:200:47631 2343.0  34.9
+ FFMJ00DEU 23:200:47632 2343.6  34.6
+ FFMJ00DEU 23:200:47633 2343.7  34.3
+ FFMJ00DEU 23:200:47634 2344.0  34.1
+ FFMJ00DEU 23:200:47635 2344.8  33.8
+ FFMJ00DEU 23:200:47636 2345.6  33.5
+ FFMJ00DEU 23:200:47637 2346.5  33.3
+ FFMJ00DEU 23:200:47638 2346.9  33.0
+ FFMJ00DEU 23:200:47639 2347.3  32.7
+ FFMJ00DEU 23:200:47640 2347.8  32.5
+ FFMJ00DEU 23:200:47641 2348.7  32.2
+ FFMJ00DEU 23:200:47642 2348.9  32.0
+ FFMJ00DEU 23:200:47643 2349.1  31.7
+ FFMJ00DEU 23:200:47644 2348.6  31.5
+ FFMJ00DEU 23:200:47645 2349.0  31.2
+ FFMJ00DEU 23:200:47646 2349.4  31.0
+ FFMJ00DEU 23:200:47647 2349.7  30.8
+ FFMJ00DEU 23:200:47648 2349.7  30.5
+ FFMJ00DEU 23:200:47649 2349.6  30.3
+ FFMJ00DEU 23:200:47650 2349.9  30.1
+ FFMJ00DEU 23:200:47651 2350.1  29.9
+ FFMJ00DEU 23:200:47652 2350.2  29.6
+ FFMJ00DEU 23:200:47653 2350.4  29.4
+ FFMJ00DEU 23:200:47654 2350.6  29.2
+ FFMJ00DEU 23:200:47655 2350.7  29.0
+ FFMJ00DEU 23:200:47656 2351.1  28.8
+ FFMJ00DEU 23:200:47657 2351.4  28.6
+ FFMJ00DEU 23:200:47658 2351.6  28.4
+ FFMJ00DEU 23:200:47659 2351.6  28.2
+ FFMJ00DEU 23:200:47660 2351.9  28.0
+ FFMJ00DEU 23:200:47661 2352.4  27.8
+ FFMJ00DEU 23:200:47662 2353.0  27.6
+ FFMJ00DEU 23:200:47663 2353.8  27.4
+ FFMJ00DEU 23:200:47664 2354.5  27.2
+-TROP/SOLUTION
+%=ENDTROP
Index: /trunk/BNC/Example_Configs/BKG9RTSDEM_20232001300_01H_01S_WTZR00DEU_TRO.TRO
===================================================================
--- /trunk/BNC/Example_Configs/BKG9RTSDEM_20232001300_01H_01S_WTZR00DEU_TRO.TRO	(revision 10127)
+++ /trunk/BNC/Example_Configs/BKG9RTSDEM_20232001300_01H_01S_WTZR00DEU_TRO.TRO	(revision 10127)
@@ -0,0 +1,250 @@
+%=TRO 2.00 BKG 23:200:00000 BKG 23:200:00000 23:200:03599 P 03600 0  T 
+*-------------------------------------------------------------------------------
++FILE/REFERENCE
+*INFO_TYPE_________ INFO________________________________________________________
+ DESCRIPTION        BNC generated SINEX TRO file
+ OUTPUT             Total Troposphere Zenith Path Delay Product
+ SOFTWARE           BNC 2.13.0
+ INPUT              OBS: WTZR00DEU, SSR: SSRA00BKG1
+ VERSON NUMBER      009
+-FILE/REFERENCE
+*-------------------------------------------------------------------------------
++TROP/DESCRIPTION
+*KEYWORD______________________ VALUE(S)______________
+ SAMPLING INTERVAL                                  1
+ SAMPLING TROP                                      1
+ ELEVATION CUTOFF ANGLE                             7
+ OCEAN TIDE LOADING MODEL      BNC.BLQ
+ TROP MAPPING FUNCTION         Saastamoinen
+ SOLUTION_FIELDS_1             TROTOT STDEV
+-TROP/DESCRIPTION
+*-------------------------------------------------------------------------------
++SITE/ID
+*STATION__ PT __DOMES__ T _STATION_DESCRIPTION__ _LONGITUDE _LATITUDE_ _HGT_ELI_ _HGT_MSL_
+ WTZR00DEU  A           P DEU                     49.144201  12.878914   666.023
+-SITE/ID
+*-------------------------------------------------------------------------------
++TROP/COORDINATES
+*SITE      PT SOLN T STA_X_______ STA_Y_______ STA_Z_______ SYSTEM REMARK
+ WTZR00DEU  A 009 P  4075580.278   931854.089  4801568.305 IGS20 BKG
+-TROP/COORDINATES
+*-------------------------------------------------------------------------------
++SITE/ECCENTRICITY
+*                                             UP______ NORTH___ EAST____
+*SITE      PT SOLN T DATA_START__ DATA_END____ AXE ARP->BENCHMARK(M)_________
+ WTZR00DEU  A 009 P 23:200:00000 23:200:03599 UNE   0.0710   0.0000   0.0000
+-SITE/ECCENTRICITY
+*-------------------------------------------------------------------------------
++SITE/RECEIVER
+*STATION__ PT SOLN T __DATA_START__ __DATA_END____ DESCRIPTION_________ S/N_________________ FIRMW______
+ WTZR00DEU  A 009 P 23:200:00000 23:200:03599           LEICA GR25 ----- -----------
+-SITE/RECEIVER
+*-------------------------------------------------------------------------------
++SITE/ANTENNA
+*STATION__ PT SOLN T __DATA_START__ __DATA_END____ DESCRIPTION_________ S/N_________________ PCV_MODEL_
+ WTZR00DEU  A 009 P 23:200:00000 23:200:03599 LEIAR25.R3      LEIT -----
+-SITE/ANTENNA
+*-------------------------------------------------------------------------------
++SITE/GPS_PHASE_CENTER
+*                           UP____ NORTH_ EAST__ UP____ NORTH_ EAST__
+*DESCRIPTION_________ S/N__ L1->ARP(m)__________ L2->ARP(m)__________ AZ_EL____
+ LEIAR25.R3      LEIT ----- +.1610 -.0001 +.0009 +.1578 -.0004 +.0001 ---------
+-SITE/GPS_PHASE_CENTER
+*-------------------------------------------------------------------------------
++SITE/GLONASS_PHASE_CENTER
+*                           UP____ NORTH_ EAST__ UP____ NORTH_ EAST__
+*DESCRIPTION_________ S/N__ L1->ARP(m)__________ L2->ARP(m)__________ AZ_EL____
+ LEIAR25.R3      LEIT ----- +.1598 +.0000 +.0009 +.1554 -.0006 -.0002 ---------
+-SITE/GLONASS_PHASE_CENTER
+*-------------------------------------------------------------------------------
++SITE/GALILEO_PHASE_CENTER
+*                           UP____ NORTH_ EAST__ UP____ NORTH_ EAST__
+*DESCRIPTION_________ S/N__ L1->ARP(m)__________ L2->ARP(m)__________ AZ_EL____
+ LEIAR25.R3      LEIT ----- +.1610 -.0001 +.0009 +.1626 -.0006 -.0001 ---------
+-SITE/GALILEO_PHASE_CENTER
+*-------------------------------------------------------------------------------
++TROP/SOLUTION
+*STATION__ ____EPOCH_____ TROTOT STDDEV 
+ WTZR00DEU 23:200:47484 2183.3 100.0
+ WTZR00DEU 23:200:47485 2183.3 100.0
+ WTZR00DEU 23:200:47486 2183.2  99.9
+ WTZR00DEU 23:200:47487 2183.2  99.9
+ WTZR00DEU 23:200:47488 2183.1  99.9
+ WTZR00DEU 23:200:47489 2183.1  99.8
+ WTZR00DEU 23:200:47490 2183.1  99.7
+ WTZR00DEU 23:200:47491 2183.1  99.7
+ WTZR00DEU 23:200:47492 2183.0  99.6
+ WTZR00DEU 23:200:47493 2183.0  99.5
+ WTZR00DEU 23:200:47494 2183.2  99.3
+ WTZR00DEU 23:200:47495 2183.8  99.2
+ WTZR00DEU 23:200:47496 2184.6  99.0
+ WTZR00DEU 23:200:47497 2185.6  98.8
+ WTZR00DEU 23:200:47498 2186.7  98.6
+ WTZR00DEU 23:200:47499 2187.0  98.4
+ WTZR00DEU 23:200:47500 2188.7  98.1
+ WTZR00DEU 23:200:47501 2189.6  97.8
+ WTZR00DEU 23:200:47502 2191.6  97.4
+ WTZR00DEU 23:200:47503 2195.2  97.1
+ WTZR00DEU 23:200:47504 2199.7  96.6
+ WTZR00DEU 23:200:47505 2202.4  96.2
+ WTZR00DEU 23:200:47506 2204.0  95.7
+ WTZR00DEU 23:200:47507 2205.7  95.2
+ WTZR00DEU 23:200:47508 2207.8  94.6
+ WTZR00DEU 23:200:47509 2210.1  94.0
+ WTZR00DEU 23:200:47510 2213.1  93.4
+ WTZR00DEU 23:200:47511 2215.9  92.8
+ WTZR00DEU 23:200:47512 2218.7  92.1
+ WTZR00DEU 23:200:47513 2221.1  91.4
+ WTZR00DEU 23:200:47514 2224.0  90.6
+ WTZR00DEU 23:200:47515 2228.0  89.8
+ WTZR00DEU 23:200:47516 2232.4  89.0
+ WTZR00DEU 23:200:47517 2237.3  88.2
+ WTZR00DEU 23:200:47518 2242.8  87.3
+ WTZR00DEU 23:200:47519 2247.5  86.4
+ WTZR00DEU 23:200:47520 2251.1  85.5
+ WTZR00DEU 23:200:47521 2254.3  84.6
+ WTZR00DEU 23:200:47522 2256.7  83.6
+ WTZR00DEU 23:200:47523 2259.8  82.7
+ WTZR00DEU 23:200:47524 2263.4  81.7
+ WTZR00DEU 23:200:47525 2262.3  80.7
+ WTZR00DEU 23:200:47526 2260.7  79.7
+ WTZR00DEU 23:200:47527 2258.6  78.7
+ WTZR00DEU 23:200:47528 2256.5  77.7
+ WTZR00DEU 23:200:47529 2254.4  76.7
+ WTZR00DEU 23:200:47530 2253.6  75.6
+ WTZR00DEU 23:200:47531 2252.2  74.6
+ WTZR00DEU 23:200:47532 2250.6  73.6
+ WTZR00DEU 23:200:47533 2248.5  72.6
+ WTZR00DEU 23:200:47534 2245.2  71.5
+ WTZR00DEU 23:200:47535 2244.7  70.5
+ WTZR00DEU 23:200:47536 2244.3  69.5
+ WTZR00DEU 23:200:47537 2243.3  68.5
+ WTZR00DEU 23:200:47538 2242.6  67.5
+ WTZR00DEU 23:200:47539 2242.0  66.5
+ WTZR00DEU 23:200:47540 2241.4  65.5
+ WTZR00DEU 23:200:47541 2240.6  64.6
+ WTZR00DEU 23:200:47542 2239.2  63.6
+ WTZR00DEU 23:200:47543 2237.2  62.7
+ WTZR00DEU 23:200:47544 2235.1  61.7
+ WTZR00DEU 23:200:47545 2235.1  60.8
+ WTZR00DEU 23:200:47546 2235.8  59.9
+ WTZR00DEU 23:200:47547 2237.2  59.0
+ WTZR00DEU 23:200:47548 2238.7  58.1
+ WTZR00DEU 23:200:47549 2239.4  57.3
+ WTZR00DEU 23:200:47550 2239.3  56.4
+ WTZR00DEU 23:200:47551 2239.9  55.6
+ WTZR00DEU 23:200:47552 2240.1  54.8
+ WTZR00DEU 23:200:47553 2239.6  54.0
+ WTZR00DEU 23:200:47554 2239.2  53.2
+ WTZR00DEU 23:200:47555 2239.2  52.4
+ WTZR00DEU 23:200:47556 2239.3  51.6
+ WTZR00DEU 23:200:47557 2239.9  50.9
+ WTZR00DEU 23:200:47558 2241.2  50.1
+ WTZR00DEU 23:200:47559 2242.5  49.4
+ WTZR00DEU 23:200:47560 2243.0  48.7
+ WTZR00DEU 23:200:47561 2243.5  48.0
+ WTZR00DEU 23:200:47562 2244.4  47.3
+ WTZR00DEU 23:200:47563 2245.8  46.7
+ WTZR00DEU 23:200:47564 2247.1  46.0
+ WTZR00DEU 23:200:47565 2247.4  45.4
+ WTZR00DEU 23:200:47566 2247.1  44.7
+ WTZR00DEU 23:200:47567 2246.7  44.1
+ WTZR00DEU 23:200:47568 2246.6  43.5
+ WTZR00DEU 23:200:47569 2246.6  42.9
+ WTZR00DEU 23:200:47570 2246.3  42.3
+ WTZR00DEU 23:200:47571 2245.4  41.8
+ WTZR00DEU 23:200:47572 2243.8  41.2
+ WTZR00DEU 23:200:47573 2242.5  40.7
+ WTZR00DEU 23:200:47574 2241.3  40.1
+ WTZR00DEU 23:200:47575 2240.8  39.6
+ WTZR00DEU 23:200:47576 2240.4  39.1
+ WTZR00DEU 23:200:47577 2240.4  38.6
+ WTZR00DEU 23:200:47578 2240.6  38.1
+ WTZR00DEU 23:200:47579 2240.6  37.6
+ WTZR00DEU 23:200:47580 2239.7  37.1
+ WTZR00DEU 23:200:47581 2239.0  36.7
+ WTZR00DEU 23:200:47582 2238.5  36.2
+ WTZR00DEU 23:200:47583 2238.8  35.8
+ WTZR00DEU 23:200:47584 2239.7  35.3
+ WTZR00DEU 23:200:47585 2240.3  34.9
+ WTZR00DEU 23:200:47586 2240.9  34.5
+ WTZR00DEU 23:200:47587 2241.8  34.1
+ WTZR00DEU 23:200:47588 2243.0  33.7
+ WTZR00DEU 23:200:47589 2244.2  33.3
+ WTZR00DEU 23:200:47590 2245.5  32.9
+ WTZR00DEU 23:200:47591 2246.8  32.5
+ WTZR00DEU 23:200:47592 2248.6  32.1
+ WTZR00DEU 23:200:47593 2250.3  31.7
+ WTZR00DEU 23:200:47594 2251.9  31.4
+ WTZR00DEU 23:200:47595 2253.4  31.0
+ WTZR00DEU 23:200:47596 2254.9  30.7
+ WTZR00DEU 23:200:47597 2256.4  30.3
+ WTZR00DEU 23:200:47598 2257.9  30.0
+ WTZR00DEU 23:200:47599 2259.0  29.7
+ WTZR00DEU 23:200:47600 2259.9  29.4
+ WTZR00DEU 23:200:47601 2260.5  29.0
+ WTZR00DEU 23:200:47602 2260.9  28.7
+ WTZR00DEU 23:200:47603 2261.1  28.4
+ WTZR00DEU 23:200:47604 2261.4  28.1
+ WTZR00DEU 23:200:47605 2261.3  27.8
+ WTZR00DEU 23:200:47606 2261.4  27.5
+ WTZR00DEU 23:200:47607 2261.5  27.3
+ WTZR00DEU 23:200:47608 2261.4  27.0
+ WTZR00DEU 23:200:47609 2261.6  26.7
+ WTZR00DEU 23:200:47610 2261.5  26.4
+ WTZR00DEU 23:200:47611 2261.4  26.2
+ WTZR00DEU 23:200:47612 2261.1  25.9
+ WTZR00DEU 23:200:47613 2260.8  25.6
+ WTZR00DEU 23:200:47614 2260.5  25.4
+ WTZR00DEU 23:200:47615 2260.6  25.2
+ WTZR00DEU 23:200:47616 2260.9  24.9
+ WTZR00DEU 23:200:47617 2261.3  24.7
+ WTZR00DEU 23:200:47618 2261.7  24.4
+ WTZR00DEU 23:200:47619 2261.9  24.2
+ WTZR00DEU 23:200:47620 2262.2  24.0
+ WTZR00DEU 23:200:47621 2262.6  23.7
+ WTZR00DEU 23:200:47622 2262.9  23.5
+ WTZR00DEU 23:200:47623 2263.3  23.3
+ WTZR00DEU 23:200:47624 2263.7  23.1
+ WTZR00DEU 23:200:47625 2264.3  22.9
+ WTZR00DEU 23:200:47626 2265.1  22.7
+ WTZR00DEU 23:200:47627 2266.3  22.5
+ WTZR00DEU 23:200:47628 2267.2  22.3
+ WTZR00DEU 23:200:47629 2268.0  22.1
+ WTZR00DEU 23:200:47630 2268.2  21.9
+ WTZR00DEU 23:200:47631 2268.4  21.7
+ WTZR00DEU 23:200:47632 2268.4  21.5
+ WTZR00DEU 23:200:47633 2268.3  21.3
+ WTZR00DEU 23:200:47634 2268.4  21.1
+ WTZR00DEU 23:200:47635 2268.5  21.0
+ WTZR00DEU 23:200:47636 2268.8  20.8
+ WTZR00DEU 23:200:47637 2269.0  20.6
+ WTZR00DEU 23:200:47638 2269.1  20.4
+ WTZR00DEU 23:200:47639 2269.1  20.3
+ WTZR00DEU 23:200:47640 2269.6  20.1
+ WTZR00DEU 23:200:47641 2270.1  19.9
+ WTZR00DEU 23:200:47642 2270.5  19.8
+ WTZR00DEU 23:200:47643 2270.7  19.6
+ WTZR00DEU 23:200:47644 2270.8  19.5
+ WTZR00DEU 23:200:47645 2271.4  19.3
+ WTZR00DEU 23:200:47646 2271.9  19.1
+ WTZR00DEU 23:200:47647 2272.6  19.0
+ WTZR00DEU 23:200:47648 2273.2  18.8
+ WTZR00DEU 23:200:47649 2273.8  18.7
+ WTZR00DEU 23:200:47650 2274.3  18.6
+ WTZR00DEU 23:200:47651 2274.7  18.4
+ WTZR00DEU 23:200:47652 2275.1  18.3
+ WTZR00DEU 23:200:47653 2275.3  18.1
+ WTZR00DEU 23:200:47654 2275.6  18.0
+ WTZR00DEU 23:200:47655 2275.9  17.9
+ WTZR00DEU 23:200:47656 2276.2  17.7
+ WTZR00DEU 23:200:47657 2276.4  17.6
+ WTZR00DEU 23:200:47658 2276.3  17.5
+ WTZR00DEU 23:200:47659 2276.0  17.3
+ WTZR00DEU 23:200:47660 2275.7  17.2
+ WTZR00DEU 23:200:47661 2275.5  17.1
+ WTZR00DEU 23:200:47662 2275.0  17.0
+ WTZR00DEU 23:200:47663 2274.5  16.8
+ WTZR00DEU 23:200:47664 2274.1  16.7
+-TROP/SOLUTION
+%=ENDTROP
Index: /trunk/BNC/src/RTCM3/gnss.h
===================================================================
--- /trunk/BNC/src/RTCM3/gnss.h	(revision 10126)
+++ /trunk/BNC/src/RTCM3/gnss.h	(revision 10127)
@@ -82,6 +82,8 @@
 #define BDS_WAVELENGTH_B2b  (LIGHTSPEED / BDS_FREQU_B2b) /* m */
 
+#define IRNSS_FREQU_L1      1575420000.0 /* Hz */
 #define IRNSS_FREQU_L5      1176450000.0 /* Hz */
 #define IRNSS_FREQU_S       2492028000.0 /* Hz */
+#define IRNSS_WAVELENGTH_L1 (LIGHTSPEED / IRNSS_FREQU_L1) /* m */
 #define IRNSS_WAVELENGTH_L5 (LIGHTSPEED / IRNSS_FREQU_L5) /* m */
 #define IRNSS_WAVELENGTH_S  (LIGHTSPEED / IRNSS_FREQU_S)  /* m */
Index: /trunk/BNC/src/bncmain.cpp
===================================================================
--- /trunk/BNC/src/bncmain.cpp	(revision 10126)
+++ /trunk/BNC/src/bncmain.cpp	(revision 10127)
@@ -238,10 +238,12 @@
       "   PPP/ionoFile    {VTEC file, full path [char string]}\n"
 #endif
-      "   PPP/nmeaPath    {Directory for NMEA output files [character string]}\n"
-      "   PPP/snxtroPath  {Directory for SINEX troposphere output files [character string]}\n"
-      "   PPP/snxtroIntr  {SINEX troposphere file interval [character string: 1 min|2 min|5 min|10 min|15 min|30 min|1 hour|1 day]}\n"
-      "   PPP/snxtroSampl {SINEX troposphere file sampling rate [character string: 1 sec|5 sec|10 sec|30 sec|60 sec|300 sec]}\n"
-      "   PPP/snxtroAc    {SINEX troposphere Analysis Center [3-char string]}\n"
-      "   PPP/snxtroSol   {SINEX troposphere solution ID [1-char]}\n"
+      "   PPP/nmeaPath      {Directory for NMEA output files [character string]}\n"
+      "   PPP/snxtroPath    {Directory for SINEX troposphere output files [character string]}\n"
+      "   PPP/snxtroIntr    {SINEX troposphere file interval [character string: 1 min|2 min|5 min|10 min|15 min|30 min|1 hour|1 day]}\n"
+      "   PPP/snxtroSampl   {SINEX troposphere file sampling rate [character string: 1 sec|5 sec|10 sec|30 sec|60 sec|300 sec]}\n"
+      "   PPP/snxtroAc      {SINEX troposphere Analysis Center [3-char string]}\n"
+      "   PPP/snxtroSolId   {SINEX troposphere solution ID [1-char]}\n"
+      "   PPP/snxtroSolType {SINEX troposphere solution type, e.g. RTS, UNK, .. [3-char]}\n"
+      "   PPP/snxtroCampId  {SINEX troposphere campaign ID, e.g. DEM, TST, OPS, .. [3-char]}\n"
       "\n"
       "PPP Client Panel 2 keys:\n"
Index: /trunk/BNC/src/bncoutf.cpp
===================================================================
--- /trunk/BNC/src/bncoutf.cpp	(revision 10126)
+++ /trunk/BNC/src/bncoutf.cpp	(revision 10127)
@@ -159,9 +159,11 @@
       bncSettings settings;
       QString ac  = settings.value("PPP/snxtroAc").toString();
-      QString sol = settings.value("PPP/snxtroSol").toString();
+      QString solId = settings.value("PPP/snxtroSolId").toString();
+      QString solType = settings.value("PPP/snxtroSolType").toString();
+      QString campId  = settings.value("PPP/snxtroCampId").toString();
       baseName.replace(0,3,ac);
-      baseName.replace(3,1,sol);
-      baseName.replace(4,3,"DEM");
-      baseName.replace(7,3,"RTS");
+      baseName.replace(3,1,solId);
+      baseName.replace(4,3,solType);
+      baseName.replace(7,3,campId);
       addition = QString("_%1_TRO").arg(site);
     }
Index: /trunk/BNC/src/bncsinextro.cpp
===================================================================
--- /trunk/BNC/src/bncsinextro.cpp	(revision 10126)
+++ /trunk/BNC/src/bncsinextro.cpp	(revision 10127)
@@ -79,7 +79,7 @@
                                        .arg(nominalEndSec , 5, 10, QLatin1Char('0'));
   int numEpochs = ((nominalEndSec - daysec) / _sampl) +1;
-  QString epo  = QString("%1").arg(numEpochs, 5, 10, QLatin1Char('0'));
-  QString ac   = QString("%1").arg(settings.value("PPP/snxtroAc").toString(),3,QLatin1Char(' '));
-  QString sol  = QString("   %1").arg(settings.value("PPP/snxtroSol").toString(),1,QLatin1Char(' '));
+  QString epo    = QString("%1").arg(numEpochs, 5, 10, QLatin1Char('0'));
+  QString ac     = QString("%1").arg(settings.value("PPP/snxtroAc").toString(),3,QLatin1Char(' '));
+  QString solId  = settings.value("PPP/snxtroSolId").toString();
   QString corr = "";
   if      (settings.value("PPP/dataSource").toString() == "Real-Time Streams") {
@@ -118,12 +118,42 @@
        << startTime.toStdString()    << " " << endTime.toStdString() << " P "
        << epo.toStdString() << " 0 " << " T " << endl;
-
+  _out << "*-------------------------------------------------------------------------------" << endl;
   _out << "+FILE/REFERENCE" << endl;
+  _out << "*INFO_TYPE_________ INFO________________________________________________________" << endl;
   _out << " DESCRIPTION        " << "BNC generated SINEX TRO file" << endl;
   _out << " OUTPUT             " << "Total Troposphere Zenith Path Delay Product" << endl;
   _out << " SOFTWARE           " <<  BNCPGMNAME <<  endl;
-  _out << " INPUT              " << "Observations: " << _opt->_roverName.substr(0,9)
-                                 << ", SSR corrections: "  << corr.toStdString() << endl;
-  _out << "-FILE/REFERENCE" << endl << endl;
+  _out << " INPUT              " << "OBS: "    << _opt->_roverName.substr(0,9) << ", SSR: "  << corr.toStdString() << endl;
+  _out << " VERSON NUMBER      " <<  QString("%1").arg(solId, 10, QLatin1Char(' ')).toStdString() << endl;
+  _out << "-FILE/REFERENCE" << endl;
+  _out << "*-------------------------------------------------------------------------------" << endl;
+
+
+  QString blqFileName = QString::fromStdString(_opt->_blqFileName);
+  QString blqFileBaseName;
+  QString blqFileExtension;
+  if (! blqFileName.isEmpty()) {
+    QFileInfo fileInfo(blqFileName);
+    blqFileBaseName  = fileInfo.baseName();
+    blqFileExtension = fileInfo.completeSuffix();
+    if (!blqFileExtension.isEmpty()) {
+      blqFileExtension = "." + blqFileExtension;
+    }
+  }
+  _out << "+TROP/DESCRIPTION" << endl;
+  _out << "*KEYWORD______________________ VALUE(S)______________" << endl;
+  _out << " SAMPLING INTERVAL                               "
+       << setw(4) << _sampl << endl;
+  _out << " SAMPLING TROP                                   "
+       << setw(4) << _sampl << endl;
+  _out << " ELEVATION CUTOFF ANGLE                          "
+       << setw(4) <<  int(_opt->_minEle * 180.0/M_PI) << endl;
+  if (! blqFileName.isEmpty()) {
+    _out << " OCEAN TIDE LOADING MODEL      " << blqFileBaseName.toStdString() + blqFileExtension.toStdString() << endl;
+  }
+  _out << " TROP MAPPING FUNCTION         " << "Saastamoinen" << endl;
+  _out << " SOLUTION_FIELDS_1             " << "TROTOT STDEV" << endl;
+  _out << "-TROP/DESCRIPTION"<< endl;
+  _out << "*-------------------------------------------------------------------------------" << endl;
 
   double recEll[3];
@@ -144,33 +174,56 @@
   }
   _out << "+SITE/ID" << endl;
-  _out << "*CODE      PT DOMES____ T _STATION DESCRIPTION__ APPROX_LON_ APPROX_LAT_ _APP_H_" << endl;
+  _out << "*STATION__ PT __DOMES__ T _STATION_DESCRIPTION__ _LONGITUDE _LATITUDE_ _HGT_ELI_" << endl;
   _out << " " << _opt->_roverName.substr(0,9) << "  A           P "
        << country.toStdString() << "                   "
-       << QString(" %1").arg(lonD, 3, 10, QLatin1Char(' ')).toStdString()
-       << QString(" %1").arg(lonM, 2, 10, QLatin1Char(' ')).toStdString()
-       << QString(" %1").arg(lonS, 4, 'f', 1, QLatin1Char(' ')).toStdString()
-       << QString(" %1").arg(latD, 3, 10, QLatin1Char(' ')).toStdString()
-       << QString(" %1").arg(latM, 2, 10, QLatin1Char(' ')).toStdString()
-       << QString(" %1").arg(latS, 4, 'f', 1, QLatin1Char(' ')).toStdString()
-       << QString(" %1").arg(recEll[2], 7, 'f', 1, QLatin1Char(' ')).toStdString()
+       << QString(" %1").arg(recEll[0]* 180.0 / M_PI,10, 'f', 6, QLatin1Char(' ')).toStdString()
+       << QString(" %1").arg(recEll[1]* 180.0 / M_PI,10, 'f', 6, QLatin1Char(' ')).toStdString()
+       << QString(" %1").arg(recEll[2], 9, 'f', 3, QLatin1Char(' ')).toStdString()
        << endl;
-  _out << "-SITE/ID" << endl << endl;
+  _out << "-SITE/ID" << endl;
+  _out << "*-------------------------------------------------------------------------------" << endl;
+
+  _out << "+TROP/COORDINATES" << endl;
+  _out << "*SITE      PT SOLN T STA_X_______ STA_Y_______ STA_Z_______ SYSTEM REMARK" << endl;
+  _out << " " << _opt->_roverName.substr(0,9) << "  A "
+       <<  solId.toStdString() << " P"
+       << QString(" %1").arg(_opt->_xyzAprRover(1), 12, 'f', 3, QLatin1Char(' ')).toStdString()
+       << QString(" %1").arg(_opt->_xyzAprRover(2), 12, 'f', 3, QLatin1Char(' ')).toStdString()
+       << QString(" %1").arg(_opt->_xyzAprRover(3), 12, 'f', 3, QLatin1Char(' ')).toStdString()
+       << " IGS20 " << ac.toStdString() << endl;
+  _out << "-TROP/COORDINATES"<< endl;
+  _out << "*-------------------------------------------------------------------------------" << endl;
+
+
+  _out << "+SITE/ECCENTRICITY" << endl;
+  _out << "*                                             UP______ NORTH___ EAST____" << endl;
+  _out << "*SITE      PT SOLN T DATA_START__ DATA_END____ AXE ARP->BENCHMARK(M)_________" << endl;
+  _out << " " << _opt->_roverName.substr(0,9) << "  A "
+       <<  solId.toStdString() << " P "
+       << startTime.toStdString() << " " << endTime.toStdString() << " UNE"
+       << QString("%1").arg(_opt->_neuEccRover(3), 9, 'f', 4, QLatin1Char(' ')).toStdString()
+       << QString("%1").arg(_opt->_neuEccRover(1), 9, 'f', 4, QLatin1Char(' ')).toStdString()
+       << QString("%1").arg(_opt->_neuEccRover(2), 9, 'f', 4, QLatin1Char(' ')).toStdString() << endl;
+  _out << "-SITE/ECCENTRICITY" << endl;
+  _out << "*-------------------------------------------------------------------------------" << endl;
 
   if (!_opt->_recNameRover.empty()) {
     _out << "+SITE/RECEIVER" << endl;
-    _out << "*SITE      PT SOLN T DATA_START__ DATA_END____ DESCRIPTION_________ S/N__ FIRMWARE___" << endl;
-    _out << " " << _opt->_roverName.substr(0,9) << "  A "  <<  sol.toStdString() << " P "
+    _out << "*STATION__ PT SOLN T __DATA_START__ __DATA_END____ DESCRIPTION_________ S/N_________________ FIRMW______" << endl;
+    _out << " " << _opt->_roverName.substr(0,9) << "  A "  <<  solId.toStdString() << " P "
          << startTime.toStdString() << " " << endTime.toStdString()
          << QString(" %1").arg(_opt->_recNameRover.c_str(), 20,QLatin1Char(' ')).toStdString()
          << " -----" << " -----------" << endl;
-    _out << "-SITE/RECEIVER" << endl << endl;
+    _out << "-SITE/RECEIVER" << endl;
+    _out << "*-------------------------------------------------------------------------------" << endl;
   }
 
   _out << "+SITE/ANTENNA" << endl;
-  _out << "*SITE      PT SOLN T DATA_START__ DATA_END____ DESCRIPTION_________ S/N__" << endl;
-  _out << " " << _opt->_roverName.substr(0,9) << "  A "  <<  sol.toStdString() << " P "
+  _out << "*STATION__ PT SOLN T __DATA_START__ __DATA_END____ DESCRIPTION_________ S/N_________________ PCV_MODEL_" << endl;
+  _out << " " << _opt->_roverName.substr(0,9) << "  A "  <<  solId.toStdString() << " P "
        << startTime.toStdString() << " " << endTime.toStdString() << " "
        << _opt->_antNameRover << " -----" << endl;
-  _out << "-SITE/ANTENNA" << endl << endl;
+  _out << "-SITE/ANTENNA" << endl;
+  _out << "*-------------------------------------------------------------------------------" << endl;
 
   if (!_opt->_antexFileName.empty()) {
@@ -188,5 +241,6 @@
            }
       _out << " ---------" << endl;
-      _out << "-SITE/GPS_PHASE_CENTER" << endl << endl;
+      _out << "-SITE/GPS_PHASE_CENTER" << endl;
+      _out << "*-------------------------------------------------------------------------------" << endl;
     }
     if (_opt->_LCsGLONASS.size()) {
@@ -202,5 +256,6 @@
            }
       _out << " ---------" << endl;
-      _out << "-SITE/GLONASS_PHASE_CENTER" << endl << endl;
+      _out << "-SITE/GLONASS_PHASE_CENTER" << endl;
+      _out << "*-------------------------------------------------------------------------------" << endl;
     }
     if (_opt->_LCsGalileo.size()) {
@@ -216,5 +271,6 @@
            }
       _out << " ---------" << endl;
-      _out << "-SITE/GALILEO_PHASE_CENTER" << endl << endl;
+      _out << "-SITE/GALILEO_PHASE_CENTER" << endl;
+      _out << "*-------------------------------------------------------------------------------" << endl;
     }
     if (_opt->_LCsBDS.size()) {
@@ -230,5 +286,6 @@
                }
       _out << " ---------" << endl;
-      _out << "-SITE/BEIDOU_PHASE_CENTER" << endl << endl;
+      _out << "-SITE/BEIDOU_PHASE_CENTER" << endl;
+      _out << "*-------------------------------------------------------------------------------" << endl;
     }
     delete _antex;
@@ -236,49 +293,6 @@
   }
 
-  _out << "+SITE/ECCENTRICITY" << endl;
-  _out << "*                                             UP______ NORTH___ EAST____" << endl;
-  _out << "*SITE      PT SOLN T DATA_START__ DATA_END____ AXE ARP->BENCHMARK(M)_________" << endl;
-  _out << " " << _opt->_roverName.substr(0,9) << "  A "  <<  sol.toStdString() << " P "
-       << startTime.toStdString() << " " << endTime.toStdString() << " UNE"
-       << QString("%1").arg(_opt->_neuEccRover(3), 9, 'f', 4, QLatin1Char(' ')).toStdString()
-       << QString("%1").arg(_opt->_neuEccRover(1), 9, 'f', 4, QLatin1Char(' ')).toStdString()
-       << QString("%1").arg(_opt->_neuEccRover(2), 9, 'f', 4, QLatin1Char(' ')).toStdString() << endl;
-  _out << "-SITE/ECCENTRICITY" << endl << endl;
-
-  _out << "+TROP/COORDINATES" << endl;
-  _out << "*SITE      PT SOLN T STA_X_______ STA_Y_______ STA_Z_______ SYSTEM REMARK" << endl;
-  _out << " " << _opt->_roverName.substr(0,9) << "  A "  <<  sol.toStdString() << " P"
-       << QString(" %1").arg(_opt->_xyzAprRover(1), 12, 'f', 3, QLatin1Char(' ')).toStdString()
-       << QString(" %1").arg(_opt->_xyzAprRover(2), 12, 'f', 3, QLatin1Char(' ')).toStdString()
-       << QString(" %1").arg(_opt->_xyzAprRover(3), 12, 'f', 3, QLatin1Char(' ')).toStdString()
-       << " IGS20 " << ac.toStdString() << endl;
-  _out << "-TROP/COORDINATES"<< endl << endl;
-
-  QString blqFileName = QString::fromStdString(_opt->_blqFileName);
-  QString blqFileBaseName;
-  QString blqFileExtension;
-  if (! blqFileName.isEmpty()) {
-    QFileInfo fileInfo(blqFileName);
-    blqFileBaseName  = fileInfo.baseName();
-    blqFileExtension = fileInfo.completeSuffix();
-    if (!blqFileExtension.isEmpty()) {
-      blqFileExtension = "." + blqFileExtension;
-    }
-  }
-  _out << "+TROP/DESCRIPTION" << endl;
-  _out << "*KEYWORD______________________ VALUE(S)______________" << endl;
-  _out << " SAMPLING INTERVAL                               "
-       << setw(4) << _sampl << endl;
-  _out << " SAMPLING TROP                                   "
-       << setw(4) << _sampl << endl;
-  _out << " ELEVATION CUTOFF ANGLE                          "
-       << setw(4) <<  int(_opt->_minEle * 180.0/M_PI) << endl;
-  _out << " OCEAN TIDE LOADING MODEL      " << blqFileBaseName.toStdString() + blqFileExtension.toStdString() << endl;
-  _out << " TROP MAPPING FUNCTION         " << "Saastamoinen" << endl;
-  _out << " SOLUTION_FIELDS_1             " << "TROTOT STDEV" << endl;
-  _out << "-TROP/DESCRIPTION"<< endl << endl;
-
   _out << "+TROP/SOLUTION" << endl;
-  _out << "*SITE      EPOCH_______ TROTOT STDEV" << endl;
+  _out << "*STATION__ ____EPOCH_____ TROTOT STDDEV " << endl;
 }
 
Index: /trunk/BNC/src/bncsp3.cpp
===================================================================
--- /trunk/BNC/src/bncsp3.cpp	(revision 10126)
+++ /trunk/BNC/src/bncsp3.cpp	(revision 10127)
@@ -78,5 +78,5 @@
       if (_lastEpoTime.valid() && _sampl > 0) {
         for (bncTime ep = _lastEpoTime +_sampl; ep < epoTime; ep = ep +_sampl) {
-          _out << "*  " << ep.datestr(' ') << ' ' << ep.timestr(8, ' ') << endl;
+          _out << "\n*  " << ep.datestr(' ') << ' ' << ep.timestr(8, ' ');
         }
       }
@@ -84,23 +84,21 @@
       // Print the new epoch
       // -------------------
-      _out << "*  " << epoTime.datestr(' ') << ' ' << epoTime.timestr(8, ' ') << endl;
+      _out << "\n*  " << epoTime.datestr(' ') << ' ' << epoTime.timestr(8, ' ');
 
       _lastEpoTime = epoTime;
     }
 
-    _out << "P" << prn.toLatin1().data()
+    _out << "\nP" << prn.toLatin1().data()
          << setw(14) << setprecision(6) << xCoM(1) / 1000.0 // [km]
          << setw(14) << setprecision(6) << xCoM(2) / 1000.0 // [km]
          << setw(14) << setprecision(6) << xCoM(3) / 1000.0 // [km]
-         << setw(14) << setprecision(6) << sp3Clk * 1e6     // microseconds
-         << endl;
+         << setw(14) << setprecision(6) << sp3Clk * 1e6;     // microseconds
 
     if (sp3ClkRate) {
-      _out << "V" << prn.toLatin1().data()
+      _out << "\nV" << prn.toLatin1().data()
            << setw(14) << setprecision(6) << v(1) * 10.0      // [dm/s]
            << setw(14) << setprecision(6) << v(2) * 10.0      // [dm/s]
            << setw(14) << setprecision(6) << v(3) * 10.0      // [dm/s]
-           << setw(14) << setprecision(6) << sp3ClkRate * 1e2 // 10^⁻4 microseconds/sec
-           << endl;
+           << setw(14) << setprecision(6) << sp3ClkRate * 1e2; // 10^⁻4 microseconds/sec
     }
     return success;
@@ -212,11 +210,16 @@
     istringstream in(_lastLine.substr(1).c_str());
     in >> sp3Sat->_prn >> sp3Sat->_xyz(1) >> sp3Sat->_xyz(2) >> sp3Sat->_xyz(3) >> sp3Sat->_clk;
-
-    if (sp3Sat->_xyz.NormFrobenius() == 0.0) {
+    sp3Sat->_xyz *= 1.e3;
+
+    // Simple Check - check satellite radial distance
+    double rr = sp3Sat->_xyz.NormFrobenius();
+    const double MINDIST = 2.e7;
+    const double MAXDIST = 6.e7;
+    if (rr < MINDIST || rr > MAXDIST || std::isnan(rr)) {
       delete sp3Sat;
       continue;
     }
 
-    sp3Sat->_xyz *= 1.e3;
+    // Simple Check - clock valid
     if (sp3Sat->_clk == 999999.999999) {
       sp3Sat->_clkValid = false;
Index: /trunk/BNC/src/bncwindow.cpp
===================================================================
--- /trunk/BNC/src/bncwindow.cpp	(revision 10126)
+++ /trunk/BNC/src/bncwindow.cpp	(revision 10127)
@@ -983,8 +983,10 @@
   _pppWidgets._logPath->setMaximumWidth(35*ww);
   _pppWidgets._snxtroPath->setMaximumWidth(35*ww);
-  _pppWidgets._snxtroIntr->setMaximumWidth(10*ww);
-  _pppWidgets._snxtroAc  ->setMaximumWidth(10*ww);
-  _pppWidgets._snxtroSol ->setMaximumWidth(7*ww);
-  _pppWidgets._ionoMount->setMaximumWidth(15*ww);
+  _pppWidgets._snxtroIntr->setMaximumWidth(7*ww);
+  _pppWidgets._snxtroAc->setMaximumWidth(7*ww);
+  _pppWidgets._snxtroSolId->setMaximumWidth(7*ww);
+  _pppWidgets._snxtroSolType->setMaximumWidth(7*ww);
+  _pppWidgets._snxtroCampId->setMaximumWidth(7*ww);
+    _pppWidgets._ionoMount->setMaximumWidth(15*ww);
 
 
@@ -1029,10 +1031,15 @@
   pppLayout1->addWidget(new QLabel("   SNX TRO AC"),         ir, 4);
   pppLayout1->addWidget(_pppWidgets._snxtroAc,               ir, 5);
-  pppLayout1->addWidget(new QLabel("   SNX TRO solution"),   ir, 6);
-  pppLayout1->addWidget(_pppWidgets._snxtroSol,              ir, 7, Qt::AlignRight);
+  pppLayout1->addWidget(new QLabel("   SNX TRO solution ID"),ir, 6);
+  pppLayout1->addWidget(_pppWidgets._snxtroSolId,            ir, 7, Qt::AlignRight);
   ++ir;
 #ifdef USE_PPP
-  pppLayout1->addWidget(new QLabel("BLQ file"),              ir, 0);
-  pppLayout1->addWidget(_pppWidgets._blqFile,                ir, 1);
+  pppLayout1->addWidget(new QLabel("BLQ file"),               ir, 0);
+  pppLayout1->addWidget(_pppWidgets._blqFile,                 ir, 1);
+  pppLayout1->addWidget(new QLabel("   SNX TRO campaign ID"), ir, 4);
+  pppLayout1->addWidget(_pppWidgets._snxtroCampId,            ir, 5);
+  pppLayout1->addWidget(new QLabel("   SNX TRO solution type"),ir, 6);
+  pppLayout1->addWidget(_pppWidgets._snxtroSolType,            ir, 7, Qt::AlignRight);
+
 #endif
   pppLayout1->setRowStretch(ir+1, 999);
@@ -1492,6 +1499,7 @@
   _pppWidgets._snxtroSampl->setWhatsThis(tr("<p>Select a 'Sampling' rate for saving troposphere parameters. <i>[key: PPP/snxtroSampl]</i></p>"));
   _pppWidgets._snxtroAc->setWhatsThis(tr("<p>Specify a 3-character abbreviation describing you as the generating Analysis Center (AC) in your SINEX troposphere files. <i>[key: PPP/snxtroAc]</i></p>"));
-  _pppWidgets._snxtroSol->setWhatsThis(tr("<p>Specify a 1-character solution ID to allow a distinction between different solutions per AC. <i>[key: PPP/snxtroSol]</i></p>"));
-
+  _pppWidgets._snxtroSolId->setWhatsThis(tr("<p>Specify a 1-character solution ID to allow a distinction between different solutions per AC. <i>[key: PPP/snxtroSolId]</i></p>"));
+  _pppWidgets._snxtroSolType->setWhatsThis(tr("<p>Specify a 3-character solution type, e.g. real-time (RTS), unknown (UNK), .. <i>[key: PPP/snxtroSolType]</i></p>"));
+  _pppWidgets._snxtroCampId->setWhatsThis(tr("<p>Specify a 3-character campaign ID, e.g. operational (OPS), demonstration (DEM), testing (TST), .. <i>[key: PPP/snxtroCampId]</i></p>"));
 
   // WhatsThis, PPP (3)
Index: /trunk/BNC/src/orbComp/sp3Comp.cpp
===================================================================
--- /trunk/BNC/src/orbComp/sp3Comp.cpp	(revision 10126)
+++ /trunk/BNC/src/orbComp/sp3Comp.cpp	(revision 10127)
@@ -225,5 +225,5 @@
     for (map<t_prn, double>::iterator it = dc.begin(); it != dc.end(); it++) {
       const t_prn& prn = it->first;
-      std::string sys; sys.assign(1, prn.system());
+      stringstream all; all << prn.system() << 99;
       if (satIndex(clkSats, prn) != -1) {
         int  index = epochs.size() + satIndex(clkSats, prn);
@@ -233,7 +233,7 @@
           dcRed[prn] = dc[prn] - dr.find(prn)->second[0]; // clock minus radial component
           stat[prn.toString()]._dcRedMean += dcRed[prn];
-          stat[sys           ]._dcRedMean += dcRed[prn];
+          stat[all.str()     ]._dcRedMean += dcRed[prn];
           stat[prn.toString()]._nc        += 1;
-          stat[sys           ]._nc        += 1;
+          stat[all.str()     ]._nc        += 1;
         }
       }
@@ -380,5 +380,5 @@
     for (map<t_prn, ColumnVector>::const_iterator it = dr.begin(); it != dr.end(); it++) {
       const t_prn&  prn = it->first;
-      std::string sys; sys.assign(1, prn.system());
+      stringstream all; all << prn.system() << 99;
       if (!excludeSat(prn)) {
         const ColumnVector& rao = it->second;
@@ -390,7 +390,7 @@
         }
         stat[prn.toString()]._rao += SP(rao, rao); // Schur product
-        stat[sys           ]._rao += SP(rao, rao);
+        stat[all.str()     ]._rao += SP(rao, rao);
         stat[prn.toString()]._nr  += 1;
-        stat[sys           ]._nr  += 1;
+        stat[all.str()     ]._nr  += 1;
         if (dc.find(prn) != dc.end() && dcRed.find(prn) != dc.end()) {
           double clkRes    = dc.find(prn)->second;
@@ -401,11 +401,11 @@
           }
           stat[prn.toString()]._dcRMS     += clkRes * clkRes;
-          stat[sys           ]._dcRMS     += clkRes * clkRes;
+          stat[all.str()     ]._dcRMS     += clkRes * clkRes;
           stat[prn.toString()]._dcRedRMS  += clkResRed * clkResRed;
-          stat[sys           ]._dcRedRMS  += clkResRed * clkResRed;
+          stat[all.str()     ]._dcRedRMS  += clkResRed * clkResRed;
           stat[prn.toString()]._dcRedSig  += (clkResRed - stat[prn.toString()]._dcRedMean) *
                                              (clkResRed - stat[prn.toString()]._dcRedMean);
-          stat[sys           ]._dcRedSig  += (clkResRed - stat[sys           ]._dcRedMean) *
-                                             (clkResRed - stat[sys           ]._dcRedMean);
+          stat[all.str()     ]._dcRedSig  += (clkResRed - stat[all.str()     ]._dcRedMean) *
+                                             (clkResRed - stat[all.str()     ]._dcRedMean);
         }
         else {
@@ -432,5 +432,5 @@
     const string& prn  = it->first;
     t_stat&       stat = it->second;
-    std::string sys; sys.assign(1, prn[0]);
+    stringstream all; all << prn[0] << 99;
     if (stat._nr > 0) {
       stat._rao[0] = sqrt(stat._rao[0] / stat._nr);
@@ -438,77 +438,32 @@
       stat._rao[2] = sqrt(stat._rao[2] / stat._nr);
       stat._rao3DRMS = stat._rao.NormFrobenius();
-      if (prn != sys) {
-        (_summaryOnly) ? out << "     " << prn << ' ' :
+      // orbit values in millimeter
+      if (prn != all.str()) {
+        (_summaryOnly) ? out << "     "  << prn << ' ':
                          out << "!     " << prn << ' ';
       }
-      // orbit values in millimeters
-      if (prn != sys) {
-        out << setw(10) << setprecision(1) << stat._rao[0]   * 1e3 << ' '
-            << setw(10) << setprecision(1) << stat._rao[1]   * 1e3 << ' '
-            << setw(10) << setprecision(1) << stat._rao[2]   * 1e3 << ' '
-            << setw(10) << setprecision(1) << stat._rao3DRMS * 1e3 << ' '
-            << setw( 7) << stat._nr << " ";
-      }
+      else {
+        (_summaryOnly) ? out << "     "   << QString("%1  ").arg(all.str()[0]).toStdString() << " ":
+                         out << "!     "  << QString("%1  ").arg(all.str()[0]).toStdString() << " ";
+      }
+      out << setw(10) << setprecision(1) << stat._rao[0]   * 1e3 << ' '
+          << setw(10) << setprecision(1) << stat._rao[1]   * 1e3 << ' '
+          << setw(10) << setprecision(1) << stat._rao[2]   * 1e3 << ' '
+          << setw(10) << setprecision(1) << stat._rao3DRMS * 1e3 << ' '
+          << setw( 7) << stat._nr << " ";
+      // clock values in nano seconds
       if (stat._nc > 0) {
         stat._dcRMS    = sqrt(stat._dcRMS    / stat._nc);
         stat._dcRedRMS = sqrt(stat._dcRedRMS / stat._nc);
         stat._dcRedSig = sqrt(stat._dcRedSig / stat._nc);
-        // clock values in nano seconds
-        if (prn != sys) {
-          out << setw(10) << setprecision(2) << stat._dcRMS    / t_CST::c * 1e9 << ' '
-              << setw(10) << setprecision(2) << stat._dcRedRMS / t_CST::c * 1e9 << ' '
-              << setw(10) << setprecision(2) << stat._dcRedSig / t_CST::c * 1e9 << ' '
-              << setw( 9) << stat._nc << " "
-              << setw( 9) << setprecision(2) << stat._offset / t_CST::c * 1e9;
-        }
-      }
-      else {
-        if  (prn != sys) {
-//          out << "  .       .    ";
-        }
-      }
-      if (prn != sys) {
-        out << "\n";
-      }
-    }
-  }
-  // Print Total
-  // ------------
-  out << "!\n! Mean";
-  out << "\n! -----------------------------------------------------------------------------------------------------------------\n";
-  out << "!\n!    GNSS   radialRMS   alongRMS    outRMS     3DRMS      nOrb    clkRMS    clkRedRMS   clkRedSig   nClk "
-          "\n!              [mm]       [mm]        [mm]      [mm]      [-]      [ns]        [ns]        [ns]      [-] "
-          "\n! -----------------------------------------------------------------------------------------------------------------";
-  for (map<string, t_stat>::iterator it = stat.begin(); it != stat.end(); it++) {
-    const string& prn  = it->first;
-    t_stat&       stat = it->second;
-    std::string sys; sys.assign(1, prn[0]);
-    if (stat._nr > 0) {
-      if (prn == sys) {
-        (_summaryOnly) ? out << "\n       "   << sys << " " :
-                         out << "\n!       "  << sys << " ";
-      }
-      // orbit values in millimeters
-      if (prn == sys) {
-        out << setw(10) << setprecision(1) << stat._rao[0]   * 1e3 << ' '
-            << setw(10) << setprecision(1) << stat._rao[1]   * 1e3 << ' '
-            << setw(10) << setprecision(1) << stat._rao[2]   * 1e3 << ' '
-            << setw(10) << setprecision(1) << stat._rao3DRMS * 1e3 << ' '
-            << setw( 7) << stat._nr << " ";
-      }
-      if (stat._nc > 0) {
-        // clock values in nano seconds
-        if (prn == sys) {
-          out << setw(10) << setprecision(2) << stat._dcRMS    / t_CST::c * 1e9 << ' '
-              << setw(10) << setprecision(2) << stat._dcRedRMS / t_CST::c * 1e9 << ' '
-              << setw(10) << setprecision(2) << stat._dcRedSig / t_CST::c * 1e9 << ' '
-              << setw( 9) << stat._nc << " ";
-        }
-      }
-      else {
-        if (prn == sys) {
-//          out << "  .       .    ";
-        }
-      }
+        out << setw(10) << setprecision(2) << stat._dcRMS    / t_CST::c * 1e9 << ' '
+            << setw(10) << setprecision(2) << stat._dcRedRMS / t_CST::c * 1e9 << ' '
+            << setw(10) << setprecision(2) << stat._dcRedSig / t_CST::c * 1e9 << ' '
+            << setw( 9) << stat._nc << " ";
+        if (prn != all.str()) {
+          out << setw( 9) << setprecision(2) << stat._offset / t_CST::c * 1e9;
+        }
+      }
+      out << "\n";
     }
   }
Index: /trunk/BNC/src/pppWidgets.cpp
===================================================================
--- /trunk/BNC/src/pppWidgets.cpp	(revision 10126)
+++ /trunk/BNC/src/pppWidgets.cpp	(revision 10127)
@@ -77,5 +77,7 @@
   _snxtroIntr   = new QComboBox();     _snxtroIntr  ->setObjectName("PPP/snxtroIntr");   _widgets << _snxtroIntr;
   _snxtroAc     = new QLineEdit();     _snxtroAc    ->setObjectName("PPP/snxtroAc");     _widgets << _snxtroAc;
-  _snxtroSol    = new QLineEdit();     _snxtroSol   ->setObjectName("PPP/snxtroSol");    _widgets << _snxtroSol;
+  _snxtroSolId  = new QLineEdit();     _snxtroSolId ->setObjectName("PPP/snxtroSolId");  _widgets << _snxtroSolId;
+  _snxtroSolType= new QLineEdit();     _snxtroSolType->setObjectName("PPP/snxtroSolType");_widgets << _snxtroSolType;
+  _snxtroCampId = new QLineEdit();     _snxtroCampId ->setObjectName("PPP/snxtroCampId");  _widgets << _snxtroCampId;
   _staTable     = new QTableWidget();  _staTable    ->setObjectName("PPP/staTable");     _widgets << _staTable;
   _lcGPS        = new QComboBox();     _lcGPS       ->setObjectName("PPP/lcGPS");        _widgets << _lcGPS;
@@ -118,5 +120,7 @@
   connect(_snxtroPath, SIGNAL(textChanged(const QString &)), this, SLOT(slotPPPTextChanged()));
   connect(_snxtroAc, SIGNAL(textChanged(const QString &)), this, SLOT(slotPPPTextChanged()));
-  connect(_snxtroSol, SIGNAL(textChanged(const QString &)), this, SLOT(slotPPPTextChanged()));
+  connect(_snxtroSolId, SIGNAL(textChanged(const QString &)), this, SLOT(slotPPPTextChanged()));
+  connect(_snxtroSolType, SIGNAL(textChanged(const QString &)), this, SLOT(slotPPPTextChanged()));
+  connect(_snxtroCampId, SIGNAL(textChanged(const QString &)), this, SLOT(slotPPPTextChanged()));
 
   slotEnableWidgets();
@@ -247,5 +251,7 @@
   delete _snxtroIntr;
   delete _snxtroAc;
-  delete _snxtroSol;
+  delete _snxtroSolId;
+  delete _snxtroSolType;
+  delete _snxtroCampId;
   for (int iRow = _staTable->rowCount()-1; iRow >=0; iRow--) {
     _staTable->removeRow(iRow);
@@ -333,11 +339,13 @@
   // LineEdits
   // ---------
-  _corrMount  ->setText(settings.value(_corrMount  ->objectName()).toString());
-  _ionoMount  ->setText(settings.value(_ionoMount  ->objectName()).toString());
-  _logPath    ->setText(settings.value(_logPath    ->objectName()).toString());
-  _nmeaPath   ->setText(settings.value(_nmeaPath   ->objectName()).toString());
-  _snxtroPath ->setText(settings.value(_snxtroPath ->objectName()).toString());
-  _snxtroAc   ->setText(settings.value(_snxtroAc   ->objectName()).toString());
-  _snxtroSol  ->setText(settings.value(_snxtroSol  ->objectName()).toString());
+  _corrMount    ->setText(settings.value(_corrMount     ->objectName()).toString());
+  _ionoMount    ->setText(settings.value(_ionoMount     ->objectName()).toString());
+  _logPath      ->setText(settings.value(_logPath       ->objectName()).toString());
+  _nmeaPath     ->setText(settings.value(_nmeaPath      ->objectName()).toString());
+  _snxtroPath   ->setText(settings.value(_snxtroPath    ->objectName()).toString());
+  _snxtroAc     ->setText(settings.value(_snxtroAc      ->objectName()).toString());
+  _snxtroSolId  ->setText(settings.value(_snxtroSolId   ->objectName()).toString());
+  _snxtroSolType->setText(settings.value(_snxtroSolType ->objectName()).toString());
+  _snxtroCampId ->setText(settings.value(_snxtroCampId  ->objectName()).toString());
 
   if (!settings.value(_sigmaC1->objectName()).toString().isEmpty()) {
@@ -462,5 +470,7 @@
   settings.setValue(_snxtroIntr  ->objectName(), _snxtroIntr  ->currentText());
   settings.setValue(_snxtroAc    ->objectName(), _snxtroAc    ->text());
-  settings.setValue(_snxtroSol   ->objectName(), _snxtroSol   ->text());
+  settings.setValue(_snxtroSolId  ->objectName(), _snxtroSolId   ->text());
+  settings.setValue(_snxtroSolType->objectName(), _snxtroSolType ->text());
+  settings.setValue(_snxtroCampId ->objectName(), _snxtroCampId  ->text());
   settings.setValue(_lcGPS       ->objectName(), _lcGPS       ->currentText());
   settings.setValue(_lcGLONASS   ->objectName(), _lcGLONASS   ->currentText());
@@ -545,5 +555,7 @@
     _snxtroIntr ->setEnabled(true);
     _snxtroAc   ->setEnabled(true);
-    _snxtroSol  ->setEnabled(true);
+    _snxtroSolId  ->setEnabled(true);
+    _snxtroSolType ->setEnabled(true);
+    _snxtroCampId  ->setEnabled(true);
   }
   else {
@@ -551,5 +563,7 @@
     _snxtroIntr ->setEnabled(false);
     _snxtroAc   ->setEnabled(false);
-    _snxtroSol  ->setEnabled(false);
+    _snxtroSolId  ->setEnabled(false);
+    _snxtroSolType ->setEnabled(false);
+    _snxtroCampId  ->setEnabled(false);
   }
 
@@ -639,9 +653,13 @@
       _snxtroIntr ->setEnabled(true);
       _snxtroAc   ->setEnabled(true);
-      _snxtroSol  ->setEnabled(true);
+      _snxtroSolId  ->setEnabled(true);
+      _snxtroSolType ->setEnabled(true);
+      _snxtroCampId  ->setEnabled(true);
       _snxtroSampl->setPalette(paletteWhite);
       _snxtroIntr ->setPalette(paletteWhite);
       _snxtroAc   ->setPalette(paletteWhite);
-      _snxtroSol  ->setPalette(paletteWhite);
+      _snxtroSolId  ->setPalette(paletteWhite);
+      _snxtroSolType ->setPalette(paletteWhite);
+      _snxtroCampId  ->setPalette(paletteWhite);
     }
     else {
@@ -649,12 +667,16 @@
     _snxtroIntr ->setEnabled(false);
     _snxtroAc   ->setEnabled(false);
-    _snxtroSol  ->setEnabled(false);
+    _snxtroSolId  ->setEnabled(false);
+    _snxtroSolType ->setEnabled(false);
+    _snxtroCampId  ->setEnabled(false);
     _snxtroSampl->setPalette(paletteGray);
     _snxtroIntr ->setPalette(paletteGray);
     _snxtroAc   ->setPalette(paletteGray);
-    _snxtroSol  ->setPalette(paletteGray);
-    }
-  }
-
-
-}
+    _snxtroSolId  ->setPalette(paletteGray);
+    _snxtroSolType ->setPalette(paletteGray);
+    _snxtroCampId  ->setPalette(paletteGray);
+    }
+  }
+
+
+}
Index: /trunk/BNC/src/pppWidgets.h
===================================================================
--- /trunk/BNC/src/pppWidgets.h	(revision 10126)
+++ /trunk/BNC/src/pppWidgets.h	(revision 10127)
@@ -61,5 +61,7 @@
   QComboBox*     _snxtroIntr;
   QLineEdit*     _snxtroAc;
-  QLineEdit*     _snxtroSol;
+  QLineEdit*     _snxtroSolId;
+  QLineEdit*     _snxtroSolType;
+  QLineEdit*     _snxtroCampId;
   QTableWidget*  _staTable;
   QComboBox*     _lcGPS;
Index: /trunk/BNC/src/rinex/rnxnavfile.h
===================================================================
--- /trunk/BNC/src/rinex/rnxnavfile.h	(revision 10126)
+++ /trunk/BNC/src/rinex/rnxnavfile.h	(revision 10127)
@@ -38,5 +38,5 @@
 #define defaultRnxNavVersion2 2.11
 #define defaultRnxNavVersion3 3.05
-#define defaultRnxNavVersion4 4.00
+#define defaultRnxNavVersion4 4.01
 
 class t_rnxNavFile {
Index: /trunk/BNC/src/rinex/rnxobsfile.h
===================================================================
--- /trunk/BNC/src/rinex/rnxobsfile.h	(revision 10126)
+++ /trunk/BNC/src/rinex/rnxobsfile.h	(revision 10127)
@@ -40,5 +40,5 @@
 #define defaultRnxObsVersion2 2.11
 #define defaultRnxObsVersion3 3.05
-#define defaultRnxObsVersion4 4.00
+#define defaultRnxObsVersion4 4.01
 
 class t_rnxObsHeader {
Index: /trunk/BNC/src/src.pro
===================================================================
--- /trunk/BNC/src/src.pro	(revision 10126)
+++ /trunk/BNC/src/src.pro	(revision 10127)
@@ -2,6 +2,6 @@
 TARGET = ../bnc
 
-CONFIG -= debug
-CONFIG += release
+CONFIG += debug
+CONFIG -= release
 
 include(src.pri)
