X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fshow%2Fmuf.pl;h=488ad8df8153172383c6879449eaccedacdca789;hb=24bfcc3275f8a8be7e9cdde2acfb46e27e3d875a;hp=65cc21b5883a9f58e70ca7338699384046773795;hpb=8ccb679964e6761c209fe2c3ee7a1084295dca97;p=spider.git diff --git a/cmd/show/muf.pl b/cmd/show/muf.pl index 65cc21b5..488ad8df 100644 --- a/cmd/show/muf.pl +++ b/cmd/show/muf.pl @@ -10,8 +10,18 @@ # my ($self, $line) = @_; -my ($prefix, $hr2) = split /\s+/, $line; +my @f = split /\s+/, $line; + +my $prefix = uc shift @f; return (1, $self->msg('e4')) unless $prefix; +my $lp; +my $hr2; + +while (@f) { + my $f = shift @f; + $lp++ if $f =~ /^l/; + $hr2 = $f if $f =~ /^\d+$/; +} $hr2 = 2 if !$hr2 || $hr2 < 2; $hr2 = 24 if $hr2 > 24; @@ -45,6 +55,16 @@ $b1 *= $d2r; $b2 *= $d2r; $d = ($d / $R); +# handle long path +if ($lp) { + $d = $pi2 - $d; + $b1 += $pi; + $b1 -= $pi2 if ($b1 >= $pi2); + $b2 += $pi; + $b2 -= $pi2 if ($b2 >= $pi2); +} + + my ($hr1, $day, $month) = (gmtime($main::systime))[2,3,4]; $month++; my $flux = Geomag::sfi; @@ -56,7 +76,7 @@ $theta=$theta+2.*$pi if( $theta <= -$pi); $theta=$theta-2.*$pi if( $theta >= $pi); my ($lats, $lons); # subsolar coordinates (rad) -my $dB1 = 20; # transmitter output power (dBW) +my $dB1 = 26; # transmitter output power (dBW) my $delay; # path delay (ms) my $psi; # sun zenith angle (rad) @@ -70,7 +90,7 @@ my $beta1; # elevation angle (rad) my $dhop; # hop great-circle distance (rad) my $height; # height of F layer (km) my $time; # time of day (hour) -my $rsens = -123; # RX sensitivity +my $rsens = -128; # RX sensitivity my @freq = qw(1.8 3.5 7.0 10.1 14.0 18.1 21.0 24.9 28.0 50.0); # working frequencies (MHz) @@ -96,7 +116,7 @@ $phiF = atan($ftemp / sqrt(1 - $ftemp * $ftemp)); $delay = ((2 * $hop * sin($dhop) * ($R + $hF)) / cos($beta1) / $VOFL) * 1e6; # print summary of data so far -push @out, sprintf("RxSens: $rsens dBM SFI:%4.0lf R:%4.0lf Month: $month Day: $day", $flux, $ssn); +push @out, sprintf("RxSens: $rsens dBM SFI:%4.0f R:%4.0f Month: $month Day: $day", $flux, $ssn); push @out, sprintf("Power : %3.0f dBW Distance:%6.0f km Delay:%5.1f ms", $dB1, $d * $R, $delay); push @out, sprintf("Location Lat / Long Azim"); push @out, sprintf("%-30.30s %-18s %3.0f", $main::myqth, DXBearing::lltos($lat1*$r2d, -$lon1*$r2d), $b1 * $r2d);