Index: trunk/BNC/scripts/Bnc.pm
===================================================================
--- trunk/BNC/scripts/Bnc.pm	(revision 10798)
+++ trunk/BNC/scripts/Bnc.pm	(revision 10806)
@@ -395,6 +395,5 @@
 			if (   $hlp[14] eq '-nan'
 				|| $hlp[15] eq '-nan'
-				|| $hlp[16] eq '-nan' )
-			{
+				|| $hlp[16] eq '-nan' )	{
 				WARN("$hlp[2] $hlp[3]: NEU displacements are NAN");
 				next;
@@ -503,5 +502,5 @@
 #          $logMode    [optional] Flag. If set, remember the position of the file-read
 #                      for the next read. Default: off
-# Return : $station, \%data
+# Return : $dateStr, $station, $ssrData \%data
 # =============================================================================
 sub parsePPPLogfile {
@@ -517,12 +516,25 @@
 		$startSec = time() - $goBackSecs;
 	}
-	my $epo;
+	my $epo_ppp;
 	my $old_epochSec = 0;
 	my $epochSec     = 0;
 	my $epochDiff    = 0;
+
+    my ( @EPOCH_PPP);
 	my ( @hlp, @N, @E, @U, @ISFIX, @NUMFIX, @TRP );
-	my ( @EPOCH, );
 	my ( %SATNUM, %RECCLK, %AMB, %RES, %ELE, %ION, %BIA );
-	my ( $station, $lki, $sys, $sat, $amb );
+	my ( $date, $station, $lki, $sys, $sat, $amb );
+
+	my ( @EPOCH_SSR);
+	my ( %CLKCORR);
+	my ( %YAW_SSR);
+	my ( %YAW_DEF);
+	my ( %CODEBIAS);
+	my ( %PHASEBIAS);
+	my ( %JUMPCOUNT);
+	my $epochSsrSec = 0;
+	my $ssrData;
+	my $dateStr;
+
 	open( my $fh, "<", $file ) || LOGDIE "Could not open file $file: $!\n";
 
@@ -536,16 +548,18 @@
 	while (<$fh>) {
 		chomp( $ln = $_ );
-
 		if ( $ln =~ /\bof Epoch\b/ ) {
-
 			# PPP of Epoch 2015-08-27_14:00:15.000
-			if ( $ln =~
-				/PPP of Epoch (\d{4}-\d{2}-\d{2}_\d{2}:\d{2}:\d{2})\.\d+/ )
-			{
-				$epo = $1;    #print "$epo\n";
-			}
-			else { ERROR "strange line: \"$ln\""; next }
-
-			my $tp = Time::Piece->strptime( $epo, '%Y-%m-%d_%H:%M:%S' );
+			if ( $ln =~ /PPP of Epoch (\d{4}-\d{2}-\d{2}_\d{2}:\d{2}:\d{2})\.\d+/ ) {
+				$epo_ppp = $1;    #print "$epo_ppp\n";
+				@hlp = split( /\s+/, $ln );
+                $ssrData = $hlp[5]; #print "$ssrData\n";
+                $dateStr = substr( $hlp[3], 0, 9 );
+
+			}
+			else {
+				ERROR "strange ppp line: \"$ln\""; next
+			}
+
+			my $tp = Time::Piece->strptime( $epo_ppp, '%Y-%m-%d_%H:%M:%S' );
 			$epochSec  = $tp->epoch();
 			$epochDiff = $epochSec - $old_epochSec;
@@ -553,26 +567,24 @@
 		}
 
-		next if ( !$epo );
+		next if ( !$epo_ppp );
 		next if ( defined $startSec && $epochSec < $startSec );
 		next if ( $epochDiff && $epochDiff < $sampling );
 
 		@hlp = split( /\s+/, $ln );
-		my $numFix = 0;
-		my $isFix;
-		my $strFix = "fix";
+
 		if ( $ln =~ /\bdN\b/ ) {
-			push( @EPOCH, $epochSec );    # besser $epo ?
+			#2025-11-29_16:55:09.000 WTZR00DEU0 X = 4075580.2482 +- 0.0500 Y = 931854.1736 +- 0.0314 Z = 4801568.3044 +- 0.0591 dN = 0.0074 +- 0.0407 dE = 0.0895 +- 0.0284 dU = -0.0072 +- 0.0672 fix 96 %
+			push( @EPOCH_PPP, $epochSec );
 			$old_epochSec = $epochSec;
-
-#2025-11-29_16:55:09.000 WTZR00DEU0 X = 4075580.2482 +- 0.0500 Y = 931854.1736 +- 0.0314 Z = 4801568.3044 +- 0.0591 dN = 0.0074 +- 0.0407 dE = 0.0895 +- 0.0284 dU = -0.0072 +- 0.0672 fix 96 %
+			$date = substr( $hlp[0], 0, 9 );
 			$station = $hlp[1];
-
+		    my $numFix = 0;
+		    my $isFix;
+		    my $strFix = "fix";
 			if (   $hlp[19] eq '-nan'
 				|| $hlp[24] eq '-nan'
-				|| $hlp[29] eq '-nan' )
-			{
+				|| $hlp[29] eq '-nan' )	{
 				WARN("$hlp[0] $station: NEU displacements are NAN");
 			}
-
 			push @N, $hlp[19];
 			push @E, $hlp[24];
@@ -590,20 +602,16 @@
 			push @NUMFIX, $numFix;
 		}
-		elsif ( ( $ln =~ /\bAMB\b/ ) && ( $ln !~ /RESET/ ) ) {
-
-		 # 2015-08... AMB lIF G04 253.0000 -8.9924 +- 1.7825 el = 22.03 epo = 86
+		elsif ( ( $ln =~ /\bAMB\b/ ) && ( $ln !~ /RESET/ ) ) {		 # 2015-08... AMB lIF G04 253.0000 -8.9924 +- 1.7825 el = 22.03 epo = 86
 			$lki = $hlp[2];
 			$sat = $hlp[3];
 			$sys = substr( $sat, 0, 1 );
 			$amb = $hlp[4] + $hlp[5];
-			push @{ $AMB{$lki}{$sys}{$sat}{EPOCH} },  $epochSec;
+			push @{ $AMB{$lki}{$sys}{$sat}{EPOCH_PPP} },  $epochSec;
 			push @{ $AMB{$lki}{$sys}{$sat}{DATA} },   $amb;
 			push @{ $AMB{$lki}{$sys}{$sat}{NUMEPO} }, $hlp[13];
-			push @{ $ELE{$sys}{$sat}{EPOCH} }, $epochSec;
+			push @{ $ELE{$sys}{$sat}{EPOCH_PPP} }, $epochSec;
 			push @{ $ELE{$sys}{$sat}{DATA} },  $hlp[10];
 		}
-		elsif ( $ln =~ /\bRES\b/ && $ln !~ /Neglected/ ) {
-
-			# 2015-08... RES lIF G30  -0.0076
+		elsif ( $ln =~ /\bRES\b/ && $ln !~ /Neglected/ ) {			# 2015-08... RES lIF G30  -0.0076
 			$sat = $hlp[3];
 			$lki = $hlp[2];
@@ -611,21 +619,17 @@
 
 			#print "$epo $lki $sys $sat $res\n";
-			push @{ $RES{$lki}{$sys}{$sat}{EPOCH} }, $epochSec;
+			push @{ $RES{$lki}{$sys}{$sat}{EPOCH_PPP} }, $epochSec;
 			push @{ $RES{$lki}{$sys}{$sat}{DATA} },  $hlp[4];
 		}
-		elsif ( ( $ln =~ /\bION\b/ ) && ( $ln !~ /RESET/ ) ) {
-
-		# 2018-12-01_20:37:58.000 ION      G02     0.0000    -0.3277 +-   2.4663
+		elsif ( ( $ln =~ /\bION\b/ ) && ( $ln !~ /RESET/ ) ) {		# 2018-12-01_20:37:58.000 ION      G02     0.0000    -0.3277 +-   2.4663
 			$sat = $hlp[2];
 			$sys = substr( $sat, 0, 1 );
-			push @{ $ION{$sys}{$sat}{EPOCH} }, $epochSec;
+			push @{ $ION{$sys}{$sat}{EPOCH_PPP} }, $epochSec;
 			push @{ $ION{$sys}{$sat}{DATA} },  $hlp[4];
 		}
-		elsif ( ( $ln =~ /\bBIA\b/ ) && ( $ln !~ /RESET/ ) ) {
-
-		# 2020-12-09_00:55:19.000 BIA  c1  G       0.0000    +2.5149 +-   9.6543
+		elsif ( ( $ln =~ /\bBIA\b/ ) && ( $ln !~ /RESET/ ) ) {		# 2020-12-09_00:55:19.000 BIA  c1  G       0.0000    +2.5149 +-   9.6543
 			$lki = $hlp[2];
 			$sys = $hlp[3];
-			push @{ $BIA{$lki}{$sys}{EPOCH} }, $epochSec;
+			push @{ $BIA{$lki}{$sys}{EPOCH_PPP} }, $epochSec;
 			push @{ $BIA{$lki}{$sys}{DATA} },  $hlp[4] + $hlp[5];
 		}
@@ -636,10 +640,90 @@
 			push( @TRP, $hlp[2] + $hlp[3] );
 		}
-		elsif ( $ln =~ /\bREC_CLK\b/ ) {
-
-		 # 2024-10-20_03:57:30.000 RECCLK  G       0.0000    -1.7861 +-   0.5268
+		elsif ( $ln =~ /\bREC_CLK\b/ ) {		 # 2024-10-20_03:57:30.000 RECCLK  G       0.0000    -1.7861 +-   0.5268
 			$sys = $hlp[2];
-			push @{ $RECCLK{$sys}{EPOCH} }, $epochSec;
+			push @{ $RECCLK{$sys}{EPOCH_PPP} }, $epochSec;
 			push @{ $RECCLK{$sys}{DATA} },  $hlp[3] + $hlp[4];
+		}
+		##################
+		# SSR parameters #
+		##################
+	    elsif ( $ln =~ /\bclkCorr\b/ && @hlp > 3) {
+	    	# clkCorr 2025-11-17_13:50:45.000 C45 -18.576
+	    	if ( $ln =~ /clkCorr (\d{4}-\d{2}-\d{2}_\d{2}:\d{2}:\d{2})\.\d+/ ) {
+				$epochSsrSec = $1;    #print "$epochSsrSec\n";
+			}
+			else {
+				ERROR "strange ssr line: \"$ln\""; next
+			}
+			my $tp = Time::Piece->strptime( $epo_ppp, '%Y-%m-%d_%H:%M:%S' );
+			$epochSsrSec  = $tp->epoch();
+			$date = substr( $hlp[0], 0, 9 );
+			$sat = $hlp[2];
+			$sys = substr( $sat, 0, 1 );
+			push @{ $CLKCORR{$sys}{$sat}{EPOCH_SSR} }, $epochSsrSec;
+			push @{ $CLKCORR{$sys}{$sat}{DATA} },  $hlp[3];
+		}
+	    elsif ( $ln =~ /\byawAngle\b/&& @hlp > 3 ) {
+	    	# yawAngle 2025-11-17_13:50:40.000 G06 218.672 136.115
+	    	if ( $ln =~ /yawAngle (\d{4}-\d{2}-\d{2}_\d{2}:\d{2}:\d{2})\.\d+/ ) {
+				$epochSsrSec = $1;    #print "$epochSsrSec\n";
+			}
+			else {
+				ERROR "strange ssr line: \"$ln\""; next
+			}
+			my $tp = Time::Piece->strptime( $epo_ppp, '%Y-%m-%d_%H:%M:%S' );
+			$epochSsrSec  = $tp->epoch();
+			$sat = $hlp[2];
+			$sys = substr( $sat, 0, 1 );
+			push @{ $YAW_SSR{$sat}{EPOCH_SSR} }, $epochSsrSec;
+			push @{ $YAW_SSR{$sat}{DATA} },  $hlp[3];
+			push @{ $YAW_DEF{$sat}{EPOCH_SSR} }, $epochSsrSec;
+			push @{ $YAW_DEF{$sat}{DATA} },  $hlp[4];
+		}
+	    elsif ( $ln =~ /\bcodeBias\b/ && @hlp > 3) {
+	    	#codeBias 2025-11-17_13:50:35.000 C45  1P  12.140  2I  13.330  5P  21.740  6I  20.190
+	    	if ( $ln =~ /codeBias (\d{4}-\d{2}-\d{2}_\d{2}:\d{2}:\d{2})\.\d+/ ) {
+				$epochSsrSec = $1;    #print "$epochSsrSec\n";
+			}
+			else {
+				ERROR "strange ssr line: \"$ln\""; next
+			}
+			my $tp = Time::Piece->strptime( $epo_ppp, '%Y-%m-%d_%H:%M:%S' );
+			my ($num_bias, $bias_type, $bias_value);
+			$epochSsrSec  = $tp->epoch();
+			$sat = $hlp[2];
+			$sys = substr( $sat, 0, 1 );
+			my $hlpSize = @hlp;
+			for (my $i=3; $i < $hlpSize; $i++) {
+              $bias_type  = $hlp[$i++];
+              $bias_value = $hlp[$i];
+              push @{ $CODEBIAS{$bias_type}{$sys}{$sat}{EPOCH_SSR} }, $epochSsrSec;
+			  push @{ $CODEBIAS{$bias_type}{$sys}{$sat}{DATA} },  $bias_value;
+            }
+		}
+	    elsif ( $ln =~ /\bphaseBias\b/ && @hlp > 3) {
+	    	#phaseBias 2025-11-17_13:50:55.000 G02  315.00   0.000  1C  1 x  0.291  2W  1 x  0.408
+	    	if ( $ln =~ /phaseBias (\d{4}-\d{2}-\d{2}_\d{2}:\d{2}:\d{2})\.\d+/ ) {
+				$epochSsrSec = $1;    #print "$epochSsrSec\n";
+			}
+			else {
+				ERROR "strange ssr line: \"$ln\""; next
+			}
+			my $tp = Time::Piece->strptime( $epo_ppp, '%Y-%m-%d_%H:%M:%S' );
+			my ($num_bias, $bias_type, $bias_value, $jump_count, $int_flag);
+			$epochSsrSec  = $tp->epoch();
+			$sat = $hlp[2];
+			$sys = substr( $sat, 0, 1 );
+			my $hlpSize = @hlp;
+			for (my $i=5; $i < $hlpSize; $i++) {
+              $bias_type  = $hlp[$i++]; #print "$sat type: $bias_type";
+              $jump_count = $hlp[$i++]; #print " count: $jump_count";
+              $int_flag   = $hlp[$i++]; #print " flag: $int_flag";
+              $bias_value = $hlp[$i];	#print " bias: $bias_value \n";
+              push @{ $PHASEBIAS{$bias_type}{$sys}{$sat}{EPOCH_SSR} }, $epochSsrSec;
+              push @{ $JUMPCOUNT{$bias_type}{$sys}{$sat}{EPOCH_SSR} }, $epochSsrSec;
+			  push @{ $PHASEBIAS{$bias_type}{$sys}{$sat}{DATA} },  $bias_value;
+			  push @{ $JUMPCOUNT{$bias_type}{$sys}{$sat}{DATA} },  $jump_count;
+            }
 		}
 	}    # -----  next line  -----
@@ -648,5 +732,5 @@
 	close $fh;
 
-	my $nof_epochs = scalar @EPOCH;
+	my $nof_epochs = scalar @EPOCH_PPP;
 	DEBUG(  "$station: epochs:$nof_epochs, North displac.: "
 		  . scalar @N
@@ -671,21 +755,28 @@
 
 	my %data = (
-		EPOCH  => \@EPOCH,
-		N      => \@N,
-		E      => \@E,
-		U      => \@U,
-		ISFIX  => \@ISFIX,
-		NUMFIX => \@NUMFIX,
-		TRP    => \@TRP,
-		SATNUM => \%SATNUM,
-		RECCLK => \%RECCLK,
-		RES    => \%RES,
-		AMB    => \%AMB,
-		ELE    => \%ELE,
-		ION    => \%ION,
-		BIA    => \%BIA,
+		EPOCH_PPP  => \@EPOCH_PPP,
+		N          => \@N,
+		E          => \@E,
+		U          => \@U,
+		ISFIX      => \@ISFIX,
+		NUMFIX     => \@NUMFIX,
+		TRP        => \@TRP,
+		SATNUM     => \%SATNUM,
+		RECCLK     => \%RECCLK,
+		RES        => \%RES,
+		AMB        => \%AMB,
+		ELE        => \%ELE,
+		ION        => \%ION,
+		BIA        => \%BIA,
+		EPOCH_SSR  => \@EPOCH_SSR,
+		CLKCORR    => \%CLKCORR,
+		YAW_SSR    => \%YAW_SSR,
+		YAW_DEF    => \%YAW_DEF,
+		CODEBIAS   => \%CODEBIAS,
+		PHASEBIAS  => \%PHASEBIAS,
+		JUMPCOUNT  => \%JUMPCOUNT,
 	);
 
-	return ( $station, \%data, 0 );
+	return ($dateStr, $station, $ssrData, \%data, 0 );
 }
 
Index: trunk/BNC/scripts/pppPlot.pl
===================================================================
--- trunk/BNC/scripts/pppPlot.pl	(revision 10798)
+++ trunk/BNC/scripts/pppPlot.pl	(revision 10806)
@@ -106,17 +106,28 @@
  # Read logfile
  # -----------------------------------------------------------------------------
-	my ( $station, $file ) = Bnc::parsePPPLogfile( $file, $sampling );
-	my $EPOCH  = $file->{'EPOCH'};
-	my $N      = $file->{'N'};
-	my $E      = $file->{'E'};
-	my $U      = $file->{'U'};
-	my $ISFIX  = $file->{'ISFIX'};
-	my $NUMFIX = $file->{'NUMFIX'};
-	my %RECCLK = %{ $file->{'RECCLK'} };
-	my %AMB    = %{ $file->{'AMB'} };
-	my %RES    = %{ $file->{'RES'} };
-	my %ELE    = %{ $file->{'ELE'} };
-	my %ION    = %{ $file->{'ION'} };
-	my %BIA    = %{ $file->{'BIA'} };
+	my ( $dateStr, $station, $ssrData, $file ) = Bnc::parsePPPLogfile( $file, $sampling );
+print "TEST: $ssrData\n";
+	# PPP #
+	my $EPOCH_PPP = $file->{'EPOCH_PPP'};
+	my $N         = $file->{'N'};
+	my $E         = $file->{'E'};
+	my $U         = $file->{'U'};
+	my $ISFIX     = $file->{'ISFIX'};
+	my $NUMFIX    = $file->{'NUMFIX'};
+	my %RECCLK    = %{ $file->{'RECCLK'} };
+	my %AMB       = %{ $file->{'AMB'} };
+	my %RES       = %{ $file->{'RES'} };
+	my %ELE       = %{ $file->{'ELE'} };
+	my %ION       = %{ $file->{'ION'} };
+	my %BIA       = %{ $file->{'BIA'} };
+
+	# SSR #
+	my $EPOCH_SSR = $file->{'EPOCH_SSR'};
+	my %CLKCORR   = %{ $file->{'CLKCORR'} };
+	my %YAW_SSR   = %{ $file->{'YAW_SSR'} };
+	my %YAW_DEF   = %{ $file->{'YAW_DEF'} };
+	my %CODEBIAS  = %{ $file->{'CODEBIAS'} };
+	my %PHASEBIAS = %{ $file->{'PHASEBIAS'} };
+	my %JUMPCOUNT = %{ $file->{'JUMPCOUNT'}};
 
  # -----------------------------------------------------------------------------
@@ -140,5 +151,7 @@
 	$str_rms_u   = sprintf( " %.2f ", $rms_u );
 	$str_rms_trp = sprintf( " %.2f ", $rms_trp );
-	DEBUG("RMS: North: $str_rms_n, East: $str_rms_e, Up: $str_rms_u, TRP: $str_rms_trp");
+	DEBUG(
+"RMS: North: $str_rms_n, East: $str_rms_e, Up: $str_rms_u, TRP: $str_rms_trp"
+	);
 
  # -----------------------------------------------------------------------------
@@ -146,56 +159,54 @@
  # -----------------------------------------------------------------------------
 	my $dataset;
-	$page = $pdf->page();
-	$page->mediabox('A4');
-	$headline      = sprintf( "PPP results for station %s", $station );
-	$headline_text = $page->text;
-	$headline_text->font( $font1, 11 / pt );
-	$headline_text->translate( 15 / mm, 280 / mm );
-	$headline_text->text($headline);
-	$y = $y0;
-
 	######### NEU #####################
-	DEBUG "Plot NEU";
-	my $pngNameNEU = sprintf( "%s_NEU.png", $station );
-	my $chartNEU   = newChart($station);
-	$chartNEU->set(
-		output => $pngNameNEU,
-		ylabel => "Displacements [m]",
-		yrange => [ " -0.5 ", " 0.5 " ],
-	);
-	my $dataN = Chart::Gnuplot::DataSet->new(
-		xdata   => $EPOCH,
-		ydata   => $N,
-		title   => "Displacements N, RMS + -$str_rms_n m",
-		timefmt => '%s',
-		style   => "dots",
-	);
-	my $dataE = Chart::Gnuplot::DataSet->new(
-		xdata   => $EPOCH,
-		ydata   => $E,
-		title   => "Displacements E, RMS + -$str_rms_e m",
-		timefmt => '%s',
-		style   => "dots",
-	);
-	my $dataU = Chart::Gnuplot::DataSet->new(
-		xdata   => $EPOCH,
-		ydata   => $U,
-		title   => "Displacements U, RMS + -$str_rms_u m",
-		timefmt => '%s',
-		style   => "dots",
-	);
-
-	my @datasets = ( $dataN, $dataE, $dataU );
-	$chartNEU->plot2d(@datasets);
-
-	$png = $page->gfx();
-	LOGDIE("could not find image file: $!\n") unless -e $pngNameNEU;
-	$png->image( $pdf->image_png($pngNameNEU), $x, $y, $width, $height );
-
+	if ( grep ( $_ eq "PPP", @plotTypes ) ) {
+		$page = $pdf->page();
+	    $page->mediabox('A4');
+	    $headline      = sprintf( "PPP results for station %s", $station );
+    	$headline_text = $page->text;
+	    $headline_text->font( $font1, 11 / pt );
+    	$headline_text->translate( 15 / mm, 280 / mm );
+	    $headline_text->text($headline);
+	    $y = $y0;
+		DEBUG "Plot NEU ";
+		my $pngNameNEU = sprintf( "%s_NEU.png", $station );
+		my $chartNEU   = newChart("$station ($dateStr)");
+		$chartNEU->set(
+			output => $pngNameNEU,
+			ylabel => "Displacements [m]",
+			yrange => [ " -0.5 ", " 0.5 " ],
+		);
+		my $dataN = Chart::Gnuplot::DataSet->new(
+			xdata   => $EPOCH_PPP,
+			ydata   => $N,
+			title   => "Displacements N, RMS + -$str_rms_n m",
+			timefmt => '%s',
+			style   => "dots",
+		);
+		my $dataE = Chart::Gnuplot::DataSet->new(
+			xdata   => $EPOCH_PPP,
+			ydata   => $E,
+			title   => "Displacements E, RMS + -$str_rms_e m",
+			timefmt => '%s',
+			style   => "dots",
+		);
+		my $dataU = Chart::Gnuplot::DataSet->new(
+			xdata   => $EPOCH_PPP,
+			ydata   => $U,
+			title   => "Displacements U, RMS + -$str_rms_u m",
+			timefmt => '%s',
+			style   => "dots",
+		);
+		my @datasets = ( $dataN, $dataE, $dataU );
+		$chartNEU->plot2d(@datasets);
+		$png = $page->gfx();
+		LOGDIE("could not find image file: $!\n") unless -e $pngNameNEU;
+		$png->image( $pdf->image_png($pngNameNEU), $x, $y, $width, $height );
+	}
 	######### FIX #####################
-	if ( grep ( $_ eq "ALL", @plotTypes ) ) {
+	if ( grep ( $_ eq "PPP", @plotTypes ) ) {
 		DEBUG "Plot FIX";
 		my $pngNameFIX = sprintf( "%s_FIX.png", $station );
-		my $chartFIX   = newChart($station);
+		my $chartFIX   = newChart("$station ($dateStr)");
 		$chartFIX->set(
 			output => $pngNameFIX,
@@ -204,7 +215,6 @@
 			ytics  => 20,
 		);
-
 		my $dataNUMFIX = Chart::Gnuplot::DataSet->new(
-			xdata   => $EPOCH,
+			xdata   => $EPOCH_PPP,
 			ydata   => $NUMFIX,
 			timefmt => '%s',
@@ -212,5 +222,4 @@
 			color   => "green",
 		);
-
 		$chartFIX->plot2d($dataNUMFIX);
 		$y = $y - $dy;
@@ -225,15 +234,15 @@
 	}
 	######### TRP #####################
-	if ( grep ( $_ eq "ALL", @plotTypes ) ) {
+	if ( grep ( $_ eq "PPP", @plotTypes ) ) {
 		DEBUG "Plot TRP";
 		my $pngNameTRP = sprintf( "%s_TRP.png", $station );
-		my $chartTRP   = newChart($station);
+		my $chartTRP   = newChart("$station ($dateStr)");
 		$chartTRP->set( output => $pngNameTRP );
 		$chartTRP->set(
 			ylabel => "Tropospheric Delay [m]",
-			yrange => [ " 1.0 ", " 3.0 " ]
+			yrange => [ " 1.0 ", " 3.0 " ],
 		);
 		my $dataTRP = Chart::Gnuplot::DataSet->new(
-			xdata   => $EPOCH,
+			xdata   => $EPOCH_PPP,
 			ydata   => $file->{'TRP'},
 			title   => "Tropospheric Delay, RMS + -$str_rms_trp m",
@@ -252,6 +261,7 @@
 		LOGDIE("could not find image file: $!\n") unless -e $pngNameTRP;
 		$png->image( $pdf->image_png($pngNameTRP), $x, $y, $width, $height );
-
-		######### RECCLK #####################
+	}
+	######### RECCLK #####################
+	if ( grep ( $_ eq "PPP", @plotTypes ) ) {
 		DEBUG "Plot Receiver Clocks";
 		$page = $pdf->page();
@@ -263,17 +273,16 @@
 		$headline_text->translate( 15 / mm, 280 / mm );
 		$headline_text->text($headline);
-
-		my $chartRECCLK = newChart($station);
-		$chartRECCLK->set( legend => { position => "outside right" } );
+		my $chartRECCLK = newChart("$station ($dateStr)");
+		$chartRECCLK->set(
+		    legend => { position => "outside right" } ,
+		);
 		my @datasets      = ();                                  # init datasets
 		my $pngNameRECCLK = sprintf( "%s_RECCLK.png", $station );
 		$chartRECCLK->set( output => $pngNameRECCLK );
 		$chartRECCLK->set( ylabel => "Receiver Clocks [m]" );
-
 		# SYSTEM
 		foreach my $key_sys ( sort keys %RECCLK ) {
-
 			$dataset = Chart::Gnuplot::DataSet->new(
-				xdata => \@{ $RECCLK{$key_sys}{EPOCH} },    # array of epochs
+				xdata => \@{ $RECCLK{$key_sys}{EPOCH_PPP} },   # array of epochs
 				ydata => \@{ $RECCLK{$key_sys}{DATA} }
 				,    # array of elevations of one satellite
@@ -285,6 +294,4 @@
 		}
 		$chartRECCLK->plot2d(@datasets);
-
-		# system ("display $pngName&");
 		$y = $y - $dy;
 		if ( $y < 30 / mm ) {
@@ -296,6 +303,7 @@
 		die("could not find image file: $!") unless -e $pngNameRECCLK;
 		$png->image( $pdf->image_png($pngNameRECCLK), $x, $y, $width, $height );
-
-		######### ELE #####################
+	}
+	######### ELE #####################
+	if ( grep ( $_ eq "PPP", @plotTypes ) ) {
 		DEBUG "Plot Elevations";
 		$page = $pdf->page();
@@ -307,11 +315,10 @@
 		$headline_text->translate( 15 / mm, 280 / mm );
 		$headline_text->text($headline);
-
-		my $chartELE = newChart($station);
-		$chartELE->set( legend => { position => "outside right" } );
-
+		my $chartELE = newChart("$station ($dateStr)");
+		$chartELE->set(
+		    legend => { position => "outside right" },
+		);
 		# SYSTEM #print Dumper \%ELE;
 		foreach my $key_sys ( sort keys %ELE ) {
-
 			# print "$key_sys \n";# print Dumper $ELE{$key_sys};
 			my @datasets = ();    # init datasets
@@ -322,11 +329,8 @@
 				yrange => [ " 0.0 ", " 90.0 " ]
 			);
-
 			# SATELLITE
-			foreach my $key_sat ( sort keys %{ $ELE{$key_sys} } ) {
-
-				# print "$key_sat = $ELE{$key_sys}{$key_sat} \n";
+			foreach my $key_sat ( sort keys %{ $ELE{$key_sys} } ) {				# print "$key_sat = $ELE{$key_sys}{$key_sat} \n";
 				$dataset = Chart::Gnuplot::DataSet->new(
-					xdata => \@{ $ELE{$key_sys}{$key_sat}{EPOCH} }
+					xdata => \@{ $ELE{$key_sys}{$key_sat}{EPOCH_PPP} }
 					,    # array of epochs
 					ydata => \@{ $ELE{$key_sys}{$key_sat}{DATA} }
@@ -339,6 +343,4 @@
 			}
 			$chartELE->plot2d(@datasets);
-
-			# system ("display $pngName&");
 			$y = $y - $dy;
 			if ( $y < 30 / mm ) {
@@ -352,6 +354,7 @@
 				$height );
 		}
-
-		######### AMB #####################
+	}
+	######### AMB #####################
+	if ( grep ( $_ eq "PPP", @plotTypes ) ) {
 		DEBUG "Plot Ambiguities";
 		$page = $pdf->page();
@@ -363,15 +366,10 @@
 		$headline_text->translate( 15 / mm, 280 / mm );
 		$headline_text->text($headline);
-
 		# AMBIGUITY_TYPE #print Dumper \%AMB;
-		foreach my $key_ambType (%AMB) {    #print "$key_ambType \n";
+		foreach my $key_ambType (%AMB) {
 			foreach my $key_sys ( sort keys %{ $AMB{$key_ambType} } ) {
-
-				#print "$key_sys \n"; print Dumper $AMB{$key_ambType};
 				my ( @datasets_amb, @datasets_epo );    # init datasets
-				my $pngNameAMB = sprintf( "%s_AMB_%s_%s.png",
-					$station, $key_ambType, $key_sys );
-				my $pngNameEPO = sprintf( "%s_EPO_%s_%s.png",
-					$station, $key_ambType, $key_sys );
+				my $pngNameAMB = sprintf( "%s_AMB_%s_%s.png",	$station, $key_ambType, $key_sys );
+				my $pngNameEPO = sprintf( "%s_EPO_%s_%s.png",	$station, $key_ambType, $key_sys );
 				my $chartAMB = Chart::Gnuplot->new(
 					output   => $pngNameAMB,
@@ -379,7 +377,4 @@
 					title    => $station,
 					ylabel   => "Ambiguities $key_ambType [m]",
-
-					# yrange => [" 0.0 ", " 90.0 "],
-					xlabel   => "Time [h]",
 					timeaxis => 'x',
 					xtics    => { labelfmt => '%H:%M', rotate => '-270', },
@@ -392,7 +387,4 @@
 					title    => $station,
 					ylabel   => "Number of Epochs $key_ambType [-]",
-
-					# yrange => [" 0.0 ", " 90.0 "],
-					xlabel   => "Time [h]",
 					timeaxis => 'x',
 					xtics    => { labelfmt => '%H:%M', rotate => '-270', },
@@ -400,17 +392,10 @@
 					grid     => 'on',
 				);
-
 				# SATELLITE
-				foreach
-				  my $key_sat ( sort keys %{ $AMB{$key_ambType}{$key_sys} } )
-				{
-
-				  #print "$key_sat = $AMB{$key_ambType}{$key_sys}{$key_sat} \n";
-				  # ambiguities
+				foreach  my $key_sat ( sort keys %{ $AMB{$key_ambType}{$key_sys} } ){
+					# ambiguities
 					my $dataset_amb = Chart::Gnuplot::DataSet->new(
-						xdata => $AMB{$key_ambType}{$key_sys}{$key_sat}{EPOCH}
-						,    # array of epochs
-						ydata => $AMB{$key_ambType}{$key_sys}{$key_sat}{DATA}
-						,    # array of ambiguities of one satellite
+						xdata =>  $AMB{$key_ambType}{$key_sys}{$key_sat}{EPOCH_PPP}		,    # array of epochs
+						ydata => $AMB{$key_ambType}{$key_sys}{$key_sat}{DATA}			,    # array of ambiguities of one satellite
 						title   => "$key_sat",
 						timefmt => '%s',
@@ -418,11 +403,8 @@
 					);
 					push( @datasets_amb, $dataset_amb );
-
 					# number of epochs used for ambiguity
 					my $dataset_epo = Chart::Gnuplot::DataSet->new(
-						xdata => $AMB{$key_ambType}{$key_sys}{$key_sat}{EPOCH}
-						,    # array of epochs
-						ydata => $AMB{$key_ambType}{$key_sys}{$key_sat}{NUMEPO}
-						,    # array of ambiguities of one satellite
+						xdata =>  $AMB{$key_ambType}{$key_sys}{$key_sat}{EPOCH_PPP}	,    # array of epochs
+						ydata => $AMB{$key_ambType}{$key_sys}{$key_sat}{NUMEPO}		,    # array of ambiguities of one satellite
 						title   => "$key_sat",
 						timefmt => '%s',
@@ -431,9 +413,6 @@
 					push( @datasets_epo, $dataset_epo );
 				}
-
 				# ambiguities
 				$chartAMB->plot2d(@datasets_amb);
-
-				# system ("display $pngName_amb&");
 				$y = $y - $dy;
 				if ( $y < 30 / mm ) {
@@ -443,12 +422,9 @@
 				}
 				$png = $page->gfx();
-				LOGDIE("could not find image file: $!\n") unless -e $pngNameAMB;
-				$png->image( $pdf->image_png($pngNameAMB),
-					$x, $y, $width, $height );
-
+				LOGDIE("could not find image file: $!\n")
+				  unless -e $pngNameAMB;
+				$png->image( $pdf->image_png($pngNameAMB),	$x, $y, $width, $height );
 				# number of epochs used for ambiguity
 				$chartEPO->plot2d(@datasets_epo);
-
-				# system ("display $pngName_epo&");
 				$y = $y - $dy;
 				if ( $y < 30 / mm ) {
@@ -464,43 +440,82 @@
 			}
 		}
-
-		######### ION #####################
-		if ( grep ( $_ eq "ALL", @plotTypes ) ) {
-			DEBUG "Plot ION";
-			$page = $pdf->page();
-			$page->mediabox('A4');
-			$y        = $y0 + $dy;
-			$headline = sprintf( "Ionosphere Delay for station %s", $station );
-			$headline_text = $page->text;
-			$headline_text->font( $font1, 11 / pt );
-			$headline_text->translate( 15 / mm, 280 / mm );
-			$headline_text->text($headline);
-
-			my $chartION = newChart($station);
-			$chartION->set( ylabel => "Ionophere Delay [m]" );
-			$chartION->set( legend => { position => "outside right" } );
-
-			# SYSTEM
-			foreach my $ksys ( sort keys %ION )
-			{    #print "$key_sys \n"; #print Dumper $ION{$key_sys};
+	}
+	######### ION #####################
+	if ( grep ( $_ eq "PPP", @plotTypes ) ) {
+		DEBUG "Plot ION";
+		$page = $pdf->page();
+		$page->mediabox('A4');
+		$y             = $y0 + $dy;
+		$headline      = sprintf( "Ionosphere Delay for station %s", $station );
+		$headline_text = $page->text;
+		$headline_text->font( $font1, 11 / pt );
+		$headline_text->translate( 15 / mm, 280 / mm );
+		$headline_text->text($headline);
+		my $chartION = newChart("$station ($dateStr)");
+		$chartION->set( ylabel => "Ionophere Delay [m]" );
+		$chartION->set( legend => { position => "outside right" } );
+		# SYSTEM
+		foreach my $ksys ( sort keys %ION ) {
+			my @datasets;    # init datasets
+			my $pngNameION = sprintf( "%s_ION_%s.png", $station, $ksys );
+			$chartION->set( output => $pngNameION );
+			# SATELLITE
+			foreach my $sat ( sort keys %{ $ION{$ksys} } ) {
+				my $dataset = Chart::Gnuplot::DataSet->new(
+					xdata => $ION{$ksys}{$sat}{EPOCH_PPP},    # array of epochs
+					ydata => $ION{$ksys}{$sat}{DATA}
+					,    # array of ionvations of one satellite
+					title   => "$sat",
+					timefmt => '%s',
+					style   => "dots",
+				);
+				push( @datasets, $dataset );
+			}
+			$chartION->plot2d(@datasets);    #system ("display $pngName&");
+			$y = $y - $dy;
+			if ( $y < 30 / mm ) {
+				$page = $pdf->page();
+				$page->mediabox('A4');
+				$y = $y0;
+			}
+			$png = $page->gfx();
+			die("could not find image file: $!") unless -e $pngNameION;
+			$png->image( $pdf->image_png($pngNameION), $x, $y, $width,
+				$height );
+		}
+	}
+	######### BIAS #####################
+	if ( grep ( $_ eq "PPP", @plotTypes ) ) {
+		DEBUG "Plot BIAS";
+		$page = $pdf->page();
+		$page->mediabox('A4');
+		$y             = $y0 + $dy;
+		$headline      = sprintf( "Receiver Biases for station %s", $station );
+		$headline_text = $page->text;
+		$headline_text->font( $font1, 11 / pt );
+		$headline_text->translate( 15 / mm, 280 / mm );
+		$headline_text->text($headline);
+		my $chartBIAS = newChart("$station ($dateStr)");
+		$chartBIAS->set( legend => { position => "outside right" } );
+
+		# BIAS_TYPE   #print Dumper \%BIA;
+		foreach my $key_biasType ( sort keys %BIA )	{    #print "key_biasType: $key_biasType \n";
+			foreach my $key_sys ( sort keys %{ $BIA{$key_biasType} } )	{  #print "key_sys: $key_sys \n"; #print Dumper $BIA{$key_biasType};
 				my @datasets;    # init datasets
-				my $pngNameION = sprintf( "%s_ION_%s.png", $station, $ksys );
-				$chartION->set( output => $pngNameION );
-
-				# SATELLITE
-				foreach my $sat ( sort keys %{ $ION{$ksys} } )
-				{    #print "$key_sat = $ION{$key_sys}{$key_sat} \n";
-					my $dataset = Chart::Gnuplot::DataSet->new(
-						xdata => $ION{$ksys}{$sat}{EPOCH},    # array of epochs
-						ydata => $ION{$ksys}{$sat}{DATA}
-						,    # array of ionvations of one satellite
-						title   => "$sat",
-						timefmt => '%s',
-						style   => "dots",
-					);
-					push( @datasets, $dataset );
-				}
-
-				$chartION->plot2d(@datasets);    #system ("display $pngName&");
+				my $pngNameBIA = sprintf( "%s_BIAS_%s_%s.png",
+					$station, $key_biasType, $key_sys );
+				$chartBIAS->set( output => $pngNameBIA );
+				$chartBIAS->set( ylabel => "Receiver Bias $key_biasType [m]" );
+
+				my $dataset = Chart::Gnuplot::DataSet->new(
+					xdata   => $BIA{$key_biasType}{$key_sys}{EPOCH_PPP},
+					ydata   => $BIA{$key_biasType}{$key_sys}{DATA},
+					title   => "$key_sys",
+					timefmt => '%s',
+					style   => "dots",
+				);
+				push( @datasets, $dataset );
+
+				$chartBIAS->plot2d(@datasets);
 				$y = $y - $dy;
 				if ( $y < 30 / mm ) {
@@ -510,63 +525,11 @@
 				}
 				$png = $page->gfx();
-				die("could not find image file: $!") unless -e $pngNameION;
-				$png->image( $pdf->image_png($pngNameION),
-					$x, $y, $width, $height );
-			}
-		}
-
-		######### BIAS #####################
-		if ( grep ( $_ eq "ALL", @plotTypes ) ) {
-			DEBUG "Plot BIAS";
-			$page = $pdf->page();
-			$page->mediabox('A4');
-			$y        = $y0 + $dy;
-			$headline = sprintf( "Receiver Biases for station %s", $station );
-			$headline_text = $page->text;
-			$headline_text->font( $font1, 11 / pt );
-			$headline_text->translate( 15 / mm, 280 / mm );
-			$headline_text->text($headline);
-
-			my $chartBIAS = newChart($station);
-			$chartBIAS->set( legend => { position => "outside right" } );
-
-			# BIAS_TYPE   #print Dumper \%BIA;
-			foreach my $key_biasType ( sort keys %BIA )
-			{    #print "key_biasType: $key_biasType \n";
-				foreach my $key_sys ( sort keys %{ $BIA{$key_biasType} } ) {
-
-			   #print "key_sys: $key_sys \n"; #print Dumper $BIA{$key_biasType};
-					my @datasets;    # init datasets
-					my $pngNameBIA = sprintf( "%s_BIAS_%s_%s.png",
-						$station, $key_biasType, $key_sys );
-					$chartBIAS->set( output => $pngNameBIA );
-					$chartBIAS->set(
-						ylabel => "Receiver Bias $key_biasType [m]" );
-
-					my $dataset = Chart::Gnuplot::DataSet->new(
-						xdata   => $BIA{$key_biasType}{$key_sys}{EPOCH},
-						ydata   => $BIA{$key_biasType}{$key_sys}{DATA},
-						title   => "$key_sys",
-						timefmt => '%s',
-						style   => "dots",
-					);
-					push( @datasets, $dataset );
-
-					$chartBIAS->plot2d(@datasets);
-					$y = $y - $dy;
-					if ( $y < 30 / mm ) {
-						$page = $pdf->page();
-						$page->mediabox('A4');
-						$y = $y0;
-					}
-					$png = $page->gfx();
-					die("could not find image file: $!") unless -e $pngNameBIA;
-					$png->image( $pdf->image_png($pngNameBIA),
-						$x, $y, $width, $height );
-				}
-			}
-		}
-
-		######### RES #####################
+				die("could not find image file: $!") unless -e $pngNameBIA;
+				$png->image( $pdf->image_png($pngNameBIA), $x, $y, $width, $height );
+			}
+		}
+	}
+	######### RES #####################
+	if ( grep ( $_ eq "PPP", @plotTypes ) ) {
 		DEBUG "Plot Residuals";
 		$page = $pdf->page();
@@ -578,21 +541,14 @@
 		$headline_text->translate( 15 / mm, 280 / mm );
 		$headline_text->text($headline);
-
-		my $chartRES = newChart($station);
+		my $chartRES = newChart("$station ($dateStr)");
 		$chartRES->set( legend => { position => "outside right" } );
-
 		# RESIDUAL_TYPE   #print Dumper \%RES;
-		foreach my $key_resType ( sort keys %RES )
-		{    #print "key_resType: $key_resType \n";
-				#SYSTEM
-			foreach my $key_sys ( sort keys %{ $RES{$key_resType} } ) {
-
-				#print "key_sys: $key_sys \n"; #print Dumper $RES{$key_resType};
+		foreach my $key_resType ( sort keys %RES ){    #print "key_resType: $key_resType \n";
+			#SYSTEM
+			foreach my $key_sys ( sort keys %{ $RES{$key_resType} } ) {				#print "key_sys: $key_sys \n"; #print Dumper $RES{$key_resType};
 				my @datasets;
-				my $pngNameRES = sprintf( "%s_RES_%s_%s.png",
-					$station, $key_resType, $key_sys );
+				my $pngNameRES = sprintf( "%s_RES_%s_%s.png", $station, $key_resType, $key_sys );
 				$chartRES->set( output => $pngNameRES );
-				$chartRES->set( ylabel => "Residuals $key_resType [m]" );
-
+				$chartRES->set(ylabel => "Residuals $key_resType [m]" );
 				if ( $key_resType =~ /^c/ ) {
 					$chartRES->set( yrange => [ " -6.0 ", " 6.0 " ] );
@@ -601,18 +557,11 @@
 					$chartRES->set( yrange => [ " -0.06 ", " 0.06 " ] );
 				}
-
 				elsif ( $key_resType =~ /^GIM/ ) {
 					$chartRES->set( yrange => [ " -6.0 ", " 6.0 " ] );
 				}
-
 				# SATELLITE
-				foreach
-				  my $key_sat ( sort keys %{ $RES{$key_resType}{$key_sys} } )
-				{
-
-				  #print "$key_sat = $RES{$key_resType}{$key_sys}{$key_sat} \n";
+				foreach my $key_sat ( sort keys %{ $RES{$key_resType}{$key_sys} } ) {			  #print "$key_sat = $RES{$key_resType}{$key_sys}{$key_sat} \n";
 					$dataset = Chart::Gnuplot::DataSet->new(
-						xdata => $RES{$key_resType}{$key_sys}{$key_sat}{EPOCH}
-						,    # array of epochs
+						xdata => $RES{$key_resType}{$key_sys}{$key_sat}{EPOCH_PPP},    # array of epochs
 						ydata => $RES{$key_resType}{$key_sys}{$key_sat}{DATA}
 						,    # array of residuals of one satellite
@@ -631,18 +580,229 @@
 				}
 				$png = $page->gfx();
-				LOGDIE("could not find image file: $!\n") unless -e $pngNameRES;
-				$png->image( $pdf->image_png($pngNameRES),
-					$x, $y, $width, $height );
-			}
-		}
-	}    # end if ALL @plotTypes
-
-	$pdf->save();
-	$pdf->end();
-
-	system("rm *.png");
-	if (Common::amInteractiv) {
-		system("evince $inputDir/$pdf_name");
-	}
+				LOGDIE("could not find image file: $!\n")
+				  unless -e $pngNameRES;
+				$png->image( $pdf->image_png($pngNameRES), $x, $y, $width, $height );
+			}
+		}
+	}
+    ######### CLKCORR #####################
+	if ( grep ( $_ eq "SSR", @plotTypes ) ) {
+		DEBUG "Plot CLKCORR";
+		$page = $pdf->page();
+		$page->mediabox('A4');
+		$y             = $y0 + $dy;
+		$headline      = sprintf( "Clock Corrections from %s", $ssrData );
+		$headline_text = $page->text;
+		$headline_text->font( $font1, 11 / pt );
+		$headline_text->translate( 15 / mm, 280 / mm );
+		$headline_text->text($headline);
+		my $chartCLKCORR = newChart("$station ($dateStr)");
+		$chartCLKCORR->set( ylabel => "Clock Corrections [m]" );
+		$chartCLKCORR->set( legend => { position => "outside right" } );
+		# SYSTEM
+		foreach my $ksys ( sort keys %CLKCORR )	{    #print "$key_sys \n"; #print Dumper $CLKCORR{$key_sys};
+			my @datasets;
+			my $pngNameCLKCORR = sprintf( "%s_CLKCORR_%s.png", $station, $ksys );
+			$chartCLKCORR->set( output => $pngNameCLKCORR );
+			# SATELLITE
+			foreach my $sat ( sort keys %{ $CLKCORR{$ksys} } ) {    #print "$key_sat = $CLKCORR{$key_sys}{$key_sat} \n";
+				my $dataset = Chart::Gnuplot::DataSet->new(
+					xdata => $CLKCORR{$ksys}{$sat}{EPOCH_SSR}, # array of epochs
+					ydata => $CLKCORR{$ksys}{$sat}{DATA},    # array of ionvations of one satellite
+					title   => "$sat",
+					timefmt => '%s',
+					style   => "dots",
+				);
+				push( @datasets, $dataset );
+			}
+			$chartCLKCORR->plot2d(@datasets);    #system ("display $pngName&");
+			$y = $y - $dy;
+			if ( $y < 30 / mm ) {
+				$page = $pdf->page();
+				$page->mediabox('A4');
+				$y = $y0;
+			}
+			$png = $page->gfx();
+			die("could not find image file: $!") unless -e $pngNameCLKCORR;
+			$png->image( $pdf->image_png($pngNameCLKCORR),
+				$x, $y, $width, $height );
+		}
+	}
+	######### YAW ANGLE #####################
+	if ( grep ( $_ eq "SSR", @plotTypes ) ) {
+		DEBUG "Plot YAW";
+		$page = $pdf->page();
+		$page->mediabox('A4');
+		$y = $y0 + $dy;
+		$headline =
+		  sprintf( "Yaw angle from %s versus Standard Model", $ssrData );
+		$headline_text = $page->text;
+		$headline_text->font( $font1, 11 / pt );
+		$headline_text->translate( 15 / mm, 280 / mm );
+		$headline_text->text($headline);
+		# SATELLITE
+		foreach my $sat ( sort keys %YAW_SSR ) {
+			my @datasets;
+			my $chartYAW = newChart("Yaw Angle Satellite $sat ($dateStr)");
+			$chartYAW->set( ylabel => "Yaw Angle [°]" );
+			#$chartYAW->set( legend => { position => "outside right" } );
+			my $pngNameYAW = sprintf( "%s_YAW_%s.png", $station, $sat );
+			$chartYAW->set( output => $pngNameYAW );
+			# YAW from SSR data
+			my $datasetYAW_SSR = Chart::Gnuplot::DataSet->new(
+				xdata => $YAW_SSR{$sat}{EPOCH_SSR},    # array of epochs
+				ydata => $YAW_SSR{$sat}{DATA}	,    # array of ionvations of one satellite
+				title   => $ssrData,
+				timefmt => '%s',
+				style   => "line",
+			);
+			push( @datasets, $datasetYAW_SSR );
+			# YAW from standard model
+			my $datasetYAW_DEF = Chart::Gnuplot::DataSet->new(
+				xdata => $YAW_DEF{$sat}{EPOCH_SSR},    # array of epochs
+				ydata => $YAW_DEF{$sat}{DATA}	,    # array of ionvations of one satellite
+				title   => "Standard Model",
+				timefmt => '%s',
+				style   => "line",
+			);
+			push( @datasets, $datasetYAW_DEF );
+			$chartYAW->plot2d(@datasets);
+			$y = $y - $dy;
+			if ( $y < 30 / mm ) {
+				$page = $pdf->page();
+				$page->mediabox('A4');
+				$y = $y0;
+			}
+			$png = $page->gfx();
+			die("could not find image file: $!") unless -e $pngNameYAW;
+			$png->image( $pdf->image_png($pngNameYAW), $x, $y, $width,	$height );
+		}
+	}
+	######### CODE BIASES #####################
+	if ( grep ( $_ eq "SSR", @plotTypes ) ) {
+		DEBUG "Plot Code Biases";
+		$page = $pdf->page();
+		$page->mediabox('A4');
+		$y             = $y0 + $dy;
+		$headline      = sprintf( "Code Biases from %s ", $ssrData );
+		$headline_text = $page->text;
+		$headline_text->font( $font1, 11 / pt );
+		$headline_text->translate( 15 / mm, 280 / mm );
+		$headline_text->text($headline);
+		my $chartCB = newChart("$ssrData ($dateStr)");
+		$chartCB->set( legend => { position => "outside right" } );
+		foreach my $key_type ( sort keys %CODEBIAS ) {
+			#SYSTEM
+			foreach my $key_sys ( sort keys %{ $CODEBIAS{$key_type} } ) {
+				my @datasets;
+				my $pngNameCB =  sprintf( "%s_CB_%s_%s.png", $station, $key_type, $key_sys );
+				$chartCB->set( output => $pngNameCB );
+				$chartCB->set( ylabel => "Code Biases $key_type [m]" );
+				# SATELLITE
+				foreach  my $key_sat ( sort keys %{ $CODEBIAS{$key_type}{$key_sys} } )	{
+					$dataset = Chart::Gnuplot::DataSet->new(
+						xdata => $CODEBIAS{$key_type}{$key_sys}{$key_sat}{EPOCH_SSR},    # array of epochs
+						ydata => $CODEBIAS{$key_type}{$key_sys}{$key_sat}{DATA}		,    # array of residuals of one satellite
+						title   => "$key_sat",
+						timefmt => '%s',
+						style   => "dots",
+					);
+					push( @datasets, $dataset );
+				}
+				$chartCB->plot2d(@datasets);
+				$y = $y - $dy;
+				if ( $y < 30 / mm ) {
+					$page = $pdf->page();
+					$page->mediabox('A4');
+					$y = $y0;
+				}
+				$png = $page->gfx();
+				LOGDIE("could not find image file: $!\n")
+				  unless -e $pngNameCB;
+				$png->image( $pdf->image_png($pngNameCB),$x, $y, $width, $height );
+			}
+		}
+	}
+	######### PHASE BIASES #####################
+	if ( grep ( $_ eq "SSR", @plotTypes ) ) {
+		DEBUG "Plot Phase Biases";
+		$page = $pdf->page();
+		$page->mediabox('A4');
+		$y             = $y0 + $dy;
+		$headline      = sprintf( "Phase Biases from %s ", $ssrData );
+		$headline_text = $page->text;
+		$headline_text->font( $font1, 11 / pt );
+		$headline_text->translate( 15 / mm, 280 / mm );
+		$headline_text->text($headline);
+		foreach my $key_type ( sort keys %PHASEBIAS ) {
+			#SYSTEM
+			foreach my $key_sys ( sort keys %{ $PHASEBIAS{$key_type} } ) {
+				my (@datasetsPB, $datasetPB);
+				my (@datasetsJC, $datasetJC);
+				my $pngNamePB =  sprintf( "%s_PB_%s_%s.png", $station, $key_type, $key_sys );
+				my $pngNameJC =  sprintf( "%s_JC_%s_%s.png", $station, $key_type, $key_sys );
+				my $chartPB = newChart("$ssrData ($dateStr)");
+	        	$chartPB->set( legend => { position => "outside right" } );
+				$chartPB->set( output => $pngNamePB );
+				$chartPB->set( ylabel => "Phase Biases $key_type [m]" );
+				my $chartJC = newChart("$ssrData ($dateStr)");
+	        	$chartJC->set( legend => { position => "outside right" } );
+				$chartJC->set( output => $pngNameJC );
+				$chartJC->set( ylabel => "Counter Value $key_type " );
+				# SATELLITE
+				foreach  my $key_sat ( sort keys %{ $PHASEBIAS{$key_type}{$key_sys} } )	{
+					$datasetPB = Chart::Gnuplot::DataSet->new(
+						xdata => $PHASEBIAS{$key_type}{$key_sys}{$key_sat}{EPOCH_SSR},    # array of epochs
+						ydata => $PHASEBIAS{$key_type}{$key_sys}{$key_sat}{DATA},    # array of residuals of one satellite
+						title   => "$key_sat",
+						timefmt => '%s',
+						style   => "linespoints",
+					);
+					push( @datasetsPB, $datasetPB );
+					$datasetJC = Chart::Gnuplot::DataSet->new(
+						xdata => $JUMPCOUNT{$key_type}{$key_sys}{$key_sat}{EPOCH_SSR},    # array of epochs
+						ydata => $JUMPCOUNT{$key_type}{$key_sys}{$key_sat}{DATA},    # array of residuals of one satellite
+						title   => "$key_sat",
+						timefmt => '%s',
+						style   => "linespoints",
+					);
+					push( @datasetsJC, $datasetJC );
+				}
+				#phase biases
+				$chartPB->plot2d(@datasetsPB);
+				$y = $y - $dy;
+				if ( $y < 30 / mm ) {
+					$page = $pdf->page();
+					$page->mediabox('A4');
+					$y = $y0;
+				}
+				$png = $page->gfx();
+				LOGDIE("could not find image file: $!\n")
+				  unless -e $pngNamePB;
+				$png->image( $pdf->image_png($pngNamePB),$x, $y, $width, $height );
+				#jump counter
+				$chartJC->plot2d(@datasetsJC);
+				$y = $y - $dy;
+				if ( $y < 30 / mm ) {
+					$page = $pdf->page();
+					$page->mediabox('A4');
+					$y = $y0;
+				}
+				$png = $page->gfx();
+				LOGDIE("could not find image file: $!\n")
+				  unless -e $pngNameJC;
+				$png->image( $pdf->image_png($pngNameJC),$x, $y, $width, $height );
+			}
+		}
+	}
+
+$pdf->save();
+$pdf->end();
+
+system("rm *.png");
+if (Common::amInteractiv) {
+	system("evince $inputDir/$pdf_name");
+}
+
 }    # -----  next logfile  -----
 
@@ -653,7 +813,8 @@
 		terminal => 'png',
 		title    => $title,
-		xlabel   => "Time [h]",
 		timeaxis => 'x',
+        xlabel   => "Time [h]",
 		xtics    => { labelfmt => '%H:%M', rotate => '-270' },
+		#xtics    => { labelfmt => '%H:%M\n%m-%d', rotate => '-270'},
 		grid     => 'on',
 	);
@@ -668,5 +829,5 @@
 
 OPTIONS:
-  -p, --plotTypes    ALL or NEU (default)
+  -p, --plotTypes    PPP or SSR (requires PPP files in debug mode)
   -l, --logFiles     comma separated list of BNC's PPP logfiles
   -s, --sampling     sampling interval in seconds for the logfile data (default: 1); for a daily logfile <30> seconds should be usefull
@@ -674,5 +835,5 @@
 
 EXAMPLES:
-  $prog --plotTypes ALL -s 30 -l /path/to/FFMJ186730.ppp
+  $prog --plotTypes PPP -s 30 -l /path/to/FFMJ186730.ppp
 
 2021 andrea.stuerze\@bkg.bund.de
