Ignore:
Timestamp:
Oct 12, 2026, 3:32:43 PM (3 days ago)
Author:
stuerze
Message:

further fixes and improvements

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/scripts/compareSP3Plot.pl

    r10126 r11083  
    1515# - at first one offset 'per epoch for all satellites' and
    1616# - secondly one offset 'per satellite for all epochs'.
     17# The signal-in-space difference SIS (radial minus clock difference, only the
     18# epoch offset removed, i.e. including the satellite offsets) is given in the
     19# last column of BNC's epoch lines.
    1720# ========================================================================
    1821# Uses
    … …  
    7073    my (%COMPARISON);
    7174    my (@array);
    72     my ($sys, $sat, $epo, $radial, $along, $out, $drange, $clk, $clkRed);
     75    my ($sys, $sat, $epo, $radial, $along, $out, $drange, $clk, $clkRed, $sis);
    7376    # -----------------------------------------------------------------------------
    7477    # create pdf for plot results
    … …  
    9598            $clk    = $array[5];#print "$clk\n";
    9699            $clkRed = $array[6];#print "$clkRed\n";
     100            $sis    = $array[8];# not present if the clock comparison is missing
    97101            if ($out !~ /^\.$/) {
    98102              push @{$COMPARISON{$sys}{$sat}{EPOCH }}, $epo;
    … …  
    102106              push @{$COMPARISON{$sys}{$sat}{CLK   }}, $clk;
    103107              push @{$COMPARISON{$sys}{$sat}{CLKRED}}, $clkRed;
     108            }
     109            if (defined $sis && $sis =~ /^-?\d/) {
     110              push @{$COMPARISON{$sys}{$sat}{EPOCH_SIS}}, $epo;
     111              push @{$COMPARISON{$sys}{$sat}{SIS      }}, $sis;
    104112            }
    105113        }
    … …  
    280288        }
    281289    }
     290    ######## SIS #####################
     291    if (("ALL" ~~ @plotTypes ) || ("SIS" ~~ @plotTypes)) {
     292        print "Plot SIGNAL-IN-SPACE DIFFERENCES (RADIAL MINUS CLOCK) ...\n";
     293        $page = $pdf->page(); $page->mediabox('A4');
     294        $headline = sprintf("Signal-in-space differences, radial minus clock, incl. satellite offsets (%s)", $inputFilename);
     295        $headline_text = $page->text;
     296        $headline_text->font($font1, 11/pt);
     297        $headline_text->translate(15/mm, 280/mm);
     298        $headline_text->text($headline);
     299        $y = $y0+$dy;
     300        #SYSTEM
     301        foreach my $key_sys (sort keys %COMPARISON) {
     302            my @sats = grep { exists $COMPARISON{$key_sys}{$_}{SIS} } sort keys %{$COMPARISON{$key_sys}};
     303            next unless @sats;
     304            print "    for $key_sys\n";
     305            my @datasets_s; # init datasets
     306            my $pngName_s  = sprintf ("%s_SIS_%s.png", $inputFilename, $key_sys);
     307            # SIS contains the satellite offsets: y range from the data
     308            my $maxAbs = 0.1;
     309            foreach my $key_sat (@sats) {
     310                my ( $min, $max ) = minmax @{$COMPARISON{$key_sys}{$key_sat}{SIS}};
     311                $maxAbs = abs($min) if abs($min) > $maxAbs;
     312                $maxAbs = abs($max) if abs($max) > $maxAbs;
     313            }
     314            my $chart_s = Chart::Gnuplot->new(
     315                          output => $pngName_s, terminal => 'png',title => "SIS (radial minus clock)",
     316                          ylabel => "SIS Difference [m]", yrange => ["-$maxAbs", "$maxAbs"],
     317                          xlabel => "Time [h]", timeaxis => 'x', xtics => {labelfmt => '%H:%M', rotate => '-270',},
     318                          legend => { position => "outside right",},
     319                          grid => 'on',);
     320            #SATELLITE
     321            foreach my $key_sat (@sats) {
     322                my $colour = sprintf("%d", (substr $key_sat, -2)+1);
     323                my $dataset_s = Chart::Gnuplot::DataSet->new(
     324                                xdata => \@{$COMPARISON{$key_sys}{$key_sat}{EPOCH_SIS}},
     325                                ydata => \@{$COMPARISON{$key_sys}{$key_sat}{SIS}},
     326                                title => "$key_sat",
     327                                timefmt => '%Y-%m-%d_%H:%M:%S',
     328                                linetype => $colour,
     329                                style => " lines ",);
     330                push (@datasets_s, $dataset_s);
     331            }
     332            $chart_s->plot2d(@datasets_s);
     333            $y = $y - $dy;
     334            if($y < 30/mm) {
     335                $page = $pdf->page(); $page->mediabox('A4');
     336                $y = $y0;
     337            }
     338            $png = $page->gfx(); die("Unable to find image file: $!") unless -e $pngName_s;
     339            $png->image($pdf->image_png($pngName_s), $x, $y, $width, $height);
     340        }
     341    }
    282342    $pdf->save();
    283343    $pdf->end();
    … …  
    295355PARAMETER:
    296356
    297       --plotTypes     possible: ALL => RAO and CLOCK; CLK => CLOCK and CLOCKRED; RAO => RAO only
    298       --logFiles      comma separated list of BNC's combination logfiles
     357      --plotTypes     possible: ALL => RAO, CLOCK and SIS; CLK => CLOCK and CLOCKRED; RAO => RAO only;
     358                      SIS => signal-in-space differences (radial minus clock) only
     359      --logFiles      comma separated list of BNC's SP3 comparison logfiles
    299360      --help          show help contents
    300361
Note: See TracChangeset for help on using the changeset viewer.