line |
!l |
l&&!r |
l&&r |
condition |
736
|
0 |
59 |
0 |
ref $self and $self->{'debug'} |
1286
|
7 |
1 |
36 |
$line =~ / \A 1 (\s* [0-9]+) /msx and length $1 == 6 |
1291
|
44 |
0 |
0 |
length $line > 79 and substr($line, 79, 1) eq "G" |
1294
|
0 |
0 |
44 |
$line =~ /^1(\s*[0-9]+)/ and length $1 == 6 |
1305
|
0 |
0 |
44 |
$line =~ /^2(\s*[0-9]+)/ and length $1 == 6 |
1640
|
13 |
0 |
1 |
defined $pass_threshold and $pass_threshold > $horizon |
1710
|
3514 |
415 |
37524 |
$want_visible and not @info |
|
3929 |
8720 |
28804 |
$want_visible and not @info and not $dawn |
|
9135 |
34 |
28770 |
$want_visible and not @info and not $dawn and $time < $sun_screen |
1732
|
114 |
549 |
0 |
@info and $elev < $effective_horizon |
|
663 |
0 |
0 |
@info and $elev < $effective_horizon and $info[-1]{'elevation'} >= $effective_horizon |
|
647 |
14 |
2 |
$truncate and $time >= $pass_end |
1746
|
110 |
2 |
1 |
$truncate and $time < $pass_start |
1753
|
0 |
0 |
0 |
1 == $litup and not $tle->illuminated($time) |
1886
|
0 |
171 |
48 |
1 == $litup and not $tle->illuminated($time) |
1921
|
0 |
128 |
154 |
1 == $litup and not $tle->illuminated($_[0]) |
1988
|
6 |
13 |
1 |
$pass_variant & 2 and not grep({$_->{'event'} == "max";} @info) |
2036
|
1 |
0 |
1 |
$info[-1]{'elevation'} > $effective_horizon and $info[-1]{'time'} >= $pass_end |
2163
|
0 |
15 |
35 |
$elev > $screening_horizon && (!$want_visible || $litup == 1 && $sun_elev_from_sat >= $min_sun_elev_from_sat) |
2168
|
0 |
329 |
86 |
$litup == 1 and $sun_elev_from_sat < 0 |
2240
|
1 |
0 |
15 |
defined $smallest and $angle > $smallest |
4484
|
4 |
0 |
0 |
$xnq < "0.0052359877" and $xnq > "0.0034906585" |
4799
|
0 |
0 |
0 |
$t >= 0 and $dpsp->{'atime'} < 0 |
|
0 |
0 |
0 |
$t < 0 and $dpsp->{'atime'} >= 0 |
4950
|
4 |
8 |
2 |
defined $dpsp->{'savtsn'} and abs $dpsp->{'savtsn'} - $t < 30 |
5737
|
15 |
2 |
6 |
$init->{'xn'} < "0.0052359877" and $init->{'xn'} > "0.0034906585" |
5740
|
9 |
8 |
6 |
$init->{'xn'} >= "0.00826" and $init->{'xn'} <= "0.00924" |
|
17 |
1 |
5 |
$init->{'xn'} >= "0.00826" and $init->{'xn'} <= "0.00924" and $init->{'eccm'} >= "0.5" |
6083
|
0 |
0 |
0 |
$t >= 0 and $$atime < 0 |
|
0 |
0 |
0 |
$t < 0 and $$atime >= 0 |
6861
|
18816 |
0 |
56901 |
$temp >= "1e-12" and $iter < 10 |
7437
|
0 |
0 |
0 |
defined $val and $val ne "" |
7447
|
0 |
0 |
0 |
defined $lines[$line] and $lines[$line] =~ / \S /msx |
7533
|
0 |
0 |
0 |
defined $frac and $frac ne "." |
7678
|
0 |
0 |
0 |
$@ and warn $@ |
7982
|
0 |
13 |
31 |
defined $val and $val =~ / \S /msx |
8121
|
0 |
3 |
0 |
defined $value and not _looks_like_real($value) |
8137
|
0 |
0 |
0 |
defined $value and $value =~ / [^0-9] /msx |
line |
l |
!l&&r |
!l&&!r |
condition |
568
|
4 |
4 |
0 |
$$self{&TLE_INIT}{'TLE_apoapsis'} ||= (1 + $self->get("eccentricity")) * $self->semimajor |
661
|
1 |
2 |
8 |
$name =~ / \b deb \b /imsx or $name =~ / \b debris \b /imsx |
|
3 |
1 |
7 |
$name =~ / \b deb \b /imsx or $name =~ / \b debris \b /imsx or $name =~ / \b coolant \b /imsx |
|
3 |
1 |
6 |
$name =~ / \b deb \b /imsx or $name =~ / \b debris \b /imsx or $name =~ / \b coolant \b /imsx or $name =~ / \b shroud \b /imsx |
|
2 |
1 |
5 |
$name =~ / \b deb \b /imsx or $name =~ / \b debris \b /imsx or $name =~ / \b coolant \b /imsx or $name =~ / \b shroud \b /imsx or $name =~ / \b westford \s+ needles \b /imsx |
667
|
1 |
2 |
2 |
$name =~ m[ \b r/b \b ]imsx or $name =~ / \b [ap] km \b /imsx |
1732
|
12020 |
0 |
663 |
$elev < $screening_horizon or @info and $elev < $effective_horizon and $info[-1]{'elevation'} >= $effective_horizon |
|
0 |
2 |
661 |
$elev < $screening_horizon or @info and $elev < $effective_horizon and $info[-1]{'elevation'} >= $effective_horizon or $truncate and $time >= $pass_end |
1881
|
73 |
0 |
146 |
not $suntim or $time >= $suntim |
1952
|
13 |
34 |
3 |
not $want_visible or $event->{'illumination'} == "lit" |
1982
|
58 |
0 |
12 |
$_->{'illumination'} == "lit" or $_->{'event'} == "shdw" |
2163
|
365 |
35 |
15 |
$visible ||= $elev > $screening_horizon && (!$want_visible || $litup == 1 && $sun_elev_from_sat >= $min_sun_elev_from_sat) |
2365
|
4 |
4 |
0 |
$$self{&TLE_INIT}{'TLE_periapsis'} ||= (1 - $self->get("eccentricity")) * $self->semimajor |
2425
|
0 |
2 |
0 |
$$self{&TLE_INIT}{'TLE_period'} ||= do {
my $a1 = ("0.0743669161" / $self->{'meanmotion'}) ** "0.666666666666667";
my $temp = "0.000811962" * (3 * cos($self->{'inclination'}) ** 2 - 1) / (1 - $self->{'eccentricity'} * $self->{'eccentricity'}) ** "1.5";
my $del1 = $temp / ($a1 * $a1);
my $a0 = $a1 * (1 - $del1 * ("0.333333333333333" + $del1 * (1 + "1.65432098765432" * $del1)));
my $del0 = $temp / ($a0 * $a0);
my $xnodp = $self->{'meanmotion'} / (1 + $del0);
"6.28318530717959" / $xnodp * 60
} |
2445
|
18 |
32 |
0 |
$$self{&TLE_INIT}{'TLE_sgp4r'} ||= $self->_r_sgp4init |
2502
|
0 |
0 |
0 |
$args[0]{'class'} || $args[0]{'type'} |
2541
|
8 |
4 |
0 |
$$self{&TLE_INIT}{'TLE_semimajor'} ||= do {
my $to2pi = $self->period / "6.28318530717959";
exp log($to2pi * $to2pi * $mu) / 3
} |
2561
|
0 |
0 |
0 |
$$self{&TLE_INIT}{'TLE_semiminor'} ||= do {
my $e = $self->get("eccentricity");
$self->semimajor * sqrt(1 - $e * $e)
} |
2600
|
1049 |
4 |
181 |
$clear ||= $attrib{$name} |
2656
|
0 |
0 |
0 |
$type_map{$type} || $type |
2679
|
0 |
0 |
0 |
$type_map{$type} || $type |
2768
|
5 |
2 |
0 |
$$self{&TLE_INIT}{'TLE_sgp'} ||= do {
croak("Error - The SGP model is not valid for deep space objects.\n Use the SDP4, SDP4R, or SDP8 models instead.\n") if $self->is_deep;
my $c1 = "0.000811962";
my $c2 = "0.000135327";
my $c3 = "0.000270654";
my $c4 = "-0.00117253486000576";
my $cosi0 = cos $self->{'inclination'};
my $sini0 = sin $self->{'inclination'};
my $a1 = ("0.0743669161" / $self->{'meanmotion'}) ** "0.666666666666667";
my $d1 = $c1 / $a1 / $a1 * (3 * $cosi0 * $cosi0 - 1) / (1 - $self->{'eccentricity'} * $self->{'eccentricity'}) ** "1.5";
my $a0 = $a1 * (1 - "0.333333333333333" * $d1 - $d1 * $d1 - "1.65432098765432" * $d1 * $d1 * $d1);
my $p0 = $a0 * (1 - $self->{'eccentricity'} * $self->{'eccentricity'});
my $q0 = $a0 * (1 - $self->{'eccentricity'});
my $xlo = $self->{'meananomaly'} + $self->{'argumentofperigee'} + $self->{'ascendingnode'};
my $d10 = $c3 * $sini0 * $sini0;
my $d20 = $c2 * (7 * $cosi0 * $cosi0 - 1);
my $d30 = $c1 * $cosi0;
my $d40 = $d30 * $sini0;
my $po2no = $self->{'meanmotion'} / ($p0 * $p0);
my $omgdt = $c1 * $po2no * (5 * $cosi0 * $cosi0 - 1);
my $xnodot = -2 * $d30 * $po2no;
my $c5 = "0.5" * $c4 * $sini0 * (3 + 5 * $cosi0) / (1 + $cosi0);
my $c6 = $c4 * $sini0;
warn "Debug sgp initialization -\n A0 = $a0\n C5 = $c5\n C6 = $c6\n D10 = $d10\n D20 = $d20\n D30 = $d30\n D40 = $d40\n OMGDT = $omgdt\n Q0 = $q0\n XLO = $xlo\n XNODOT = $xnodot\n" if $self->{'debug'};
+{"a0", $a0, "c5", $c5, "c6", $c6, "d10", $d10, "d20", $d20, "d30", $d30, "d40", $d40, "omgdt", $omgdt, "q0", $q0, "xlo", $xlo, "xnodot", $xnodot}
} |
2874
|
7 |
0 |
20 |
abs $tem5 < "1e-06" or $item3++ >= 10 |
2984
|
5 |
2 |
0 |
$$self{&TLE_INIT}{'TLE_sgp4'} ||= do {
croak("Error - The SGP4 model is not valid for deep space objects.\n Use the SDP4, SDP4R or SDP8 models instead.\n") if $self->is_deep;
my $a1 = ("0.0743669161" / $self->{'meanmotion'}) ** "0.666666666666667";
my $cosi0 = cos $self->{'inclination'};
my $theta2 = $cosi0 * $cosi0;
my $x3thm1 = 3 * $theta2 - 1;
my $eosq = $self->{'eccentricity'} * $self->{'eccentricity'};
my $beta02 = 1 - $eosq;
my $beta0 = sqrt $beta02;
my $del1 = "0.000811962" * $x3thm1 / ($a1 * $a1 * $beta0 * $beta02);
my $a0 = $a1 * (1 - $del1 * ("0.333333333333333" + $del1 * (1 + "1.65432098765432" * $del1)));
my $del0 = "0.000811962" * $x3thm1 / ($a0 * $a0 * $beta0 * $beta02);
my $xnodp = $self->{'meanmotion'} / (1 + $del0);
my $aodp = $a0 / (1 - $del0);
my $isimp = $aodp * (1 - $self->{'eccentricity'}) / 1 < "1.03449284155948";
my $s4 = "1.01222928";
my $qoms24 = "1.88027916e-09";
my $perige = ($aodp * (1 - $self->{'eccentricity'}) - 1) * "6378.135";
unless ($perige >= 156) {
$s4 = $perige > 98 ? $perige - 78 : 20;
$qoms24 = ((120 - $s4) * 1 / "6378.135") ** 4;
$s4 = $s4 / "6378.135" + 1;
};
my $pinvsq = 1 / ($aodp * $aodp * $beta02 * $beta02);
my $tsi = 1 / ($aodp - $s4);
my $eta = $aodp * $self->{'eccentricity'} * $tsi;
my $etasq = $eta * $eta;
my $eeta = $self->{'eccentricity'} * $eta;
my $psisq = abs 1 - $etasq;
my $coef = $qoms24 * $tsi ** 4;
my $coef1 = $coef / $psisq ** "3.5";
my $c2 = $coef1 * $xnodp * ($aodp * (1 + "1.5" * $etasq + $eeta * (4 + $etasq)) + "0.000405981" * $tsi / $psisq * $x3thm1 * (8 + 3 * $etasq * (8 + $etasq)));
my $c1 = $self->{'bstardrag'} * $c2;
my $sini0 = sin $self->{'inclination'};
my $a3ovk2 = "0.00469013944002306";
my $c3 = $coef * $tsi * $a3ovk2 * $xnodp * 1 * $sini0 / $self->{'eccentricity'};
my $x1mth2 = 1 - $theta2;
my $c4 = 2 * $xnodp * $coef1 * $aodp * $beta02 * ($eta * (2 + "0.5" * $etasq) + $self->{'eccentricity'} * ("0.5" + 2 * $etasq) - "0.001082616" * $tsi / ($aodp * $psisq) * (-3 * $x3thm1 * (1 - 2 * $eeta + $etasq * ("1.5" - "0.5" * $eeta)) + "0.75" * $x1mth2 * (2 * $etasq - $eeta * (1 + $etasq)) * cos(2 * $self->{'argumentofperigee'})));
my $c5 = 2 * $coef1 * $aodp * $beta02 * (1 + "2.75" * ($etasq + $eeta) + $eeta * $etasq);
my $theta4 = $theta2 * $theta2;
my $temp1 = "0.001623924" * $pinvsq * $xnodp;
my $temp2 = $temp1 * "0.000541308" * $pinvsq;
my $temp3 = "7.762359375e-07" * $pinvsq * $pinvsq * $xnodp;
my $xmdot = $xnodp + "0.5" * $temp1 * $beta0 * $x3thm1 + "0.0625" * $temp2 * $beta0 * (13 - 78 * $theta2 + 137 * $theta4);
my $x1m5th = 1 - 5 * $theta2;
my $omgdot = "-0.5" * $temp1 * $x1m5th + "0.0625" * $temp2 * (7 - 114 * $theta2 + 395 * $theta4) + $temp3 * (3 - 36 * $theta2 + 49 * $theta4);
my $xhdot1 = -$temp1 * $cosi0;
my $xnodot = $xhdot1 + ("0.5" * $temp2 * (4 - 19 * $theta2) + 2 * $temp3 * (3 - 7 * $theta2)) * $cosi0;
my $omgcof = $self->{'bstardrag'} * $c3 * cos($self->{'argumentofperigee'});
my $xmcof = "-0.666666666666667" * $coef * $self->{'bstardrag'} * 1 / $eeta;
my $xnodcf = "3.5" * $beta02 * $xhdot1 * $c1;
my $t2cof = "1.5" * $c1;
my $xlcof = "0.125" * $a3ovk2 * $sini0 * (3 + 5 * $cosi0) / (1 + $cosi0);
my $aycof = "0.25" * $a3ovk2 * $sini0;
my $delmo = (1 + $eta * cos($self->{'meananomaly'})) ** 3;
my $sinmo = sin $self->{'meananomaly'};
my $x7thm1 = 7 * $theta2 - 1;
my($d2, $d3, $d4, $t3cof, $t4cof, $t5cof);
unless ($isimp) {
my $c1sq = $c1 * $c1;
$d2 = 4 * $aodp * $tsi * $c1sq;
my $temp = $d2 * $tsi * $c1 / 3;
$d3 = (17 * $aodp + $s4) * $temp;
$d4 = "0.5" * $temp * $aodp * $tsi * (221 * $aodp + 31 * $s4) * $c1;
$t3cof = $d2 + 2 * $c1sq;
$t4cof = "0.25" * (3 * $d3 * $c1 * (12 * $d2 + 10 * $c1sq));
$t5cof = "0.2" * (3 * $d4 + 12 * $c1 * $d3 + 6 * $d2 * $d2 + 15 * $c1sq * (2 * $d2 + $c1sq));
};
print qq[Debug SGP4 - Initialize\n AODP = $aodp\n AYCOF = $aycof\n C1 = $c1\n C4 = $c4\n C5 = $c5\n COSIO = $cosi0\n D2 = @{[defined $d2 ? $d2 : "undef"];}\n D3 = @{[defined $d3 ? $d3 : "undef"];}\n D4 = @{[defined $d4 ? $d4 : "undef"];}\n DELMO = $delmo\n ETA = $eta\n ISIMP = $isimp\n OMGCOF = $omgcof\n OMGDOT = $omgdot\n SINIO = $sini0\n SINMO = $sinmo\n T2COF = @{[defined $t2cof ? $t2cof : "undef"];}\n T3COF = @{[defined $t3cof ? $t3cof : "undef"];}\n T4COF = @{[defined $t4cof ? $t4cof : "undef"];}\n T5COF = @{[defined $t5cof ? $t5cof : "undef"];}\n X1MTH2 = $x1mth2\n X3THM1 = $x3thm1\n X7THM1 = $x7thm1\n XLCOF = $xlcof\n XMCOF = $xmcof\n XMDOT = $xmdot\n XNODCF = $xnodcf\n XNODOT = $xnodot\n XNODP = $xnodp\n] if $self->{'debug'};
+{"aodp", $aodp, "aycof", $aycof, "c1", $c1, "c4", $c4, "c5", $c5, "cosi0", $cosi0, "d2", $d2, "d3", $d3, "d4", $d4, "delmo", $delmo, "eta", $eta, "isimp", $isimp, "omgcof", $omgcof, "omgdot", $omgdot, "sini0", $sini0, "sinmo", $sinmo, "t2cof", $t2cof, "t3cof", $t3cof, "t4cof", $t4cof, "t5cof", $t5cof, "x1mth2", $x1mth2, "x3thm1", $x3thm1, "x7thm1", $x7thm1, "xlcof", $xlcof, "xmcof", $xmcof, "xmdot", $xmdot, "xnodcf", $xnodcf, "xnodot", $xnodot, "xnodp", $xnodp}
} |
3190
|
0 |
2 |
5 |
$e > 1 or $e < -1 |
3333
|
5 |
2 |
0 |
$$self{&TLE_INIT}{'TLE_sdp4'} ||= do {
croak("Error - The SDP4 model is not valid for near-earth objects.\n Use the SGP, SGP4, SGP4R, or SGP8 models instead.\n") unless $self->is_deep;
my $a1 = ("0.0743669161" / $self->{'meanmotion'}) ** "0.666666666666667";
my $cosi0 = cos $self->{'inclination'};
my $theta2 = $cosi0 * $cosi0;
my $x3thm1 = 3 * $theta2 - 1;
my $eosq = $self->{'eccentricity'} * $self->{'eccentricity'};
my $beta02 = 1 - $eosq;
my $beta0 = sqrt $beta02;
my $del1 = "0.000811962" * $x3thm1 / ($a1 * $a1 * $beta0 * $beta02);
my $a0 = $a1 * (1 - $del1 * ("0.333333333333333" + $del1 * (1 + "1.65432098765432" * $del1)));
my $del0 = "0.000811962" * $x3thm1 / ($a0 * $a0 * $beta0 * $beta02);
my $xnodp = $self->{'meanmotion'} / (1 + $del0);
my $aodp = $a0 / (1 - $del0);
my $s4 = "1.01222928";
my $qoms24 = "1.88027916e-09";
my $perige = ($aodp * (1 - $self->{'eccentricity'}) - 1) * "6378.135";
unless ($perige >= 156) {
$s4 = $perige > 98 ? $perige - 78 : 20;
$qoms24 = ((120 - $s4) * 1 / "6378.135") ** 4;
$s4 = $s4 / "6378.135" + 1;
};
my $pinvsq = 1 / ($aodp * $aodp * $beta02 * $beta02);
my $sing = sin $self->{'argumentofperigee'};
my $cosg = cos $self->{'argumentofperigee'};
my $tsi = 1 / ($aodp - $s4);
my $eta = $aodp * $self->{'eccentricity'} * $tsi;
my $etasq = $eta * $eta;
my $eeta = $self->{'eccentricity'} * $eta;
my $psisq = abs 1 - $etasq;
my $coef = $qoms24 * $tsi ** 4;
my $coef1 = $coef / $psisq ** "3.5";
my $c2 = $coef1 * $xnodp * ($aodp * (1 + "1.5" * $etasq + $eeta * (4 + $etasq)) + "0.000405981" * $tsi / $psisq * $x3thm1 * (8 + 3 * $etasq * (8 + $etasq)));
my $c1 = $self->{'bstardrag'} * $c2;
my $sini0 = sin $self->{'inclination'};
my $a3ovk2 = "0.00469013944002306";
my $x1mth2 = 1 - $theta2;
my $c4 = 2 * $xnodp * $coef1 * $aodp * $beta02 * ($eta * (2 + "0.5" * $etasq) + $self->{'eccentricity'} * ("0.5" + 2 * $etasq) - "0.001082616" * $tsi / ($aodp * $psisq) * (-3 * $x3thm1 * (1 - 2 * $eeta + $etasq * ("1.5" - "0.5" * $eeta)) + "0.75" * $x1mth2 * (2 * $etasq - $eeta * (1 + $etasq)) * cos(2 * $self->{'argumentofperigee'})));
my $theta4 = $theta2 * $theta2;
my $temp1 = "0.001623924" * $pinvsq * $xnodp;
my $temp2 = $temp1 * "0.000541308" * $pinvsq;
my $temp3 = "7.762359375e-07" * $pinvsq * $pinvsq * $xnodp;
my $xmdot = $xnodp + "0.5" * $temp1 * $beta0 * $x3thm1 + "0.0625" * $temp2 * $beta0 * (13 - 78 * $theta2 + 137 * $theta4);
my $x1m5th = 1 - 5 * $theta2;
my $omgdot = "-0.5" * $temp1 * $x1m5th + "0.0625" * $temp2 * (7 - 114 * $theta2 + 395 * $theta4) + $temp3 * (3 - 36 * $theta2 + 49 * $theta4);
my $xhdot1 = -$temp1 * $cosi0;
my $xnodot = $xhdot1 + ("0.5" * $temp2 * (4 - 19 * $theta2) + 2 * $temp3 * (3 - 7 * $theta2)) * $cosi0;
my $xnodcf = "3.5" * $beta02 * $xhdot1 * $c1;
my $t2cof = "1.5" * $c1;
my $xlcof = "0.125" * $a3ovk2 * $sini0 * (3 + 5 * $cosi0) / (1 + $cosi0);
my $aycof = "0.25" * $a3ovk2 * $sini0;
my $x7thm1 = 7 * $theta2 - 1;
$$self{&TLE_INIT}{'TLE_deep'} = {$self->_dpinit($eosq, $sini0, $cosi0, $beta0, $aodp, $theta2, $sing, $cosg, $beta02, $xmdot, $omgdot, $xnodot, $xnodp)};
print qq[Debug SDP4 - Initialize\n AODP = $aodp\n AYCOF = $aycof\n C1 = $c1 << 2.45532e-06 in test_sgp-c-lib\n c2 = $c2 << 0.000171569 in test_sgp-c-lib\n C4 = $c4\n COSIO = $cosi0\n ETA = $eta\n OMGDOT = $omgdot\n s4 = $s4\n SINIO = $sini0\n T2COF = @{[defined $t2cof ? $t2cof : "undef"];} << 3.68298e-06 in test_sgp-c-lib\n X1MTH2 = $x1mth2\n X3THM1 = $x3thm1\n X7THM1 = $x7thm1\n XLCOF = $xlcof\n XMDOT = $xmdot\n XNODCF = $xnodcf << -1.40764e-11 in test_sgp-c-lib\n XNODOT = $xnodot\n XNODP = $xnodp\n] if $self->{'debug'};
+{"aodp", $aodp, "aycof", $aycof, "c1", $c1, "c4", $c4, "cosi0", $cosi0, "eta", $eta, "omgdot", $omgdot, "sini0", $sini0, "t2cof", $t2cof, "x1mth2", $x1mth2, "x3thm1", $x3thm1, "x7thm1", $x7thm1, "xlcof", $xlcof, "xmdot", $xmdot, "xnodcf", $xnodcf, "xnodot", $xnodot, "xnodp", $xnodp}
} |
3495
|
0 |
2 |
5 |
$e > 1 or $e < -1 |
3618
|
5 |
2 |
0 |
$$self{&TLE_INIT}{'TLE_sgp8'} ||= do {
croak("Error - The SGP8 model is not valid for deep space objects.\n Use the SDP4, SGP4R, or SDP8 models instead.\n") if $self->is_deep;
my $a1 = ("0.0743669161" / $self->{'meanmotion'}) ** "0.666666666666667";
my $cosi = cos $self->{'inclination'};
my $theta2 = $cosi * $cosi;
my $tthmun = 3 * $theta2 - 1;
my $eosq = $self->{'eccentricity'} * $self->{'eccentricity'};
my $beta02 = 1 - $eosq;
my $beta0 = sqrt $beta02;
my $del1 = "0.000811962" * $tthmun / ($a1 * $a1 * $beta0 * $beta02);
my $a0 = $a1 * (1 - $del1 * ("0.333333333333333" + $del1 * (1 + "1.65432098765432" * $del1)));
my $del0 = "0.000811962" * $tthmun / ($a0 * $a0 * $beta0 * $beta02);
my $aodp = $a0 / (1 - $del0);
my $xnodp = $self->{'meanmotion'} / (1 + $del0);
my $b = 2 * $self->{'bstardrag'} / "0.15696615";
my $isimp = 0;
my $po = $aodp * $beta02;
my $pom2 = 1 / ($po * $po);
my $sini = sin $self->{'inclination'};
my $sing = sin $self->{'argumentofperigee'};
my $cosg = cos $self->{'argumentofperigee'};
my $temp = "0.5" * $self->{'inclination'};
my $sinio2 = sin $temp;
my $cosio2 = cos $temp;
my $theta4 = $theta2 ** 2;
my $unm5th = 1 - 5 * $theta2;
my $unmth2 = 1 - $theta2;
my $a3cof = "0.00469013944002306";
my $pardt1 = "0.001623924" * $pom2 * $xnodp;
my $pardt2 = $pardt1 * "0.000541308" * $pom2;
my $pardt4 = "7.762359375e-07" * $pom2 * $pom2 * $xnodp;
my $xmdt1 = "0.5" * $pardt1 * $beta0 * $tthmun;
my $xgdt1 = "-0.5" * $pardt1 * $unm5th;
my $xhdt1 = -$pardt1 * $cosi;
my $xlldot = $xnodp + $xmdt1 + "0.0625" * $pardt2 * $beta0 * (13 - 78 * $theta2 + 137 * $theta4);
my $omgdt = $xgdt1 + "0.0625" * $pardt2 * (7 - 114 * $theta2 + 395 * $theta4) + $pardt4 * (3 - 36 * $theta2 + 49 * $theta4);
my $xnodot = $xhdt1 + ("0.5" * $pardt2 * (4 - 19 * $theta2) + 2 * $pardt4 * (3 - 7 * $theta2)) * $cosi;
my $tsi = 1 / ($po - "1.01222928");
my $eta = $self->{'eccentricity'} * "1.01222928" * $tsi;
my $eta2 = $eta ** 2;
my $psim2 = abs 1 / (1 - $eta2);
my $alpha2 = 1 + $eosq;
my $eeta = $self->{'eccentricity'} * $eta;
my $cos2g = 2 * $cosg ** 2 - 1;
my $d5 = $tsi * $psim2;
my $d1 = $d5 / $po;
my $d2 = 12 + $eta2 * (36 + "4.5" * $eta2);
my $d3 = $eta2 * (15 + "2.5" * $eta2);
my $d4 = $eta * (5 + "3.75" * $eta2);
my $b1 = "0.000541308" * $tthmun;
my $b2 = "-0.000541308" * $unmth2;
my $b3 = $a3cof * $sini;
my $c0 = "0.5" * $b * "0.15696615" * "1.88027916e-09" * $xnodp * $aodp * $tsi ** 4 * $psim2 ** "3.5" / sqrt($alpha2);
my $c1 = "1.5" * $xnodp * $alpha2 ** 2 * $c0;
my $c4 = $d1 * $d3 * $b2;
my $c5 = $d5 * $d4 * $b3;
my $xndt = $c1 * (2 + $eta2 * (3 + 34 * $eosq) + 5 * $eeta * (4 + $eta2) + "8.5" * $eosq + $d1 * $d2 * $b1 + $c4 * $cos2g + $c5 * $sing);
my $xndtn = $xndt / $xnodp;
my($ed, $edot, $gamma, $pp, $ovgpp, $qq, $xnd);
if (abs $xndtn * 1440 < "0.00216") {
$isimp = 1;
$edot = "-0.666666666666667" * $xndtn * (1 - $self->{'eccentricity'});
}
else {
my $d6 = $eta * (30 + "22.5" * $eta2);
my $d7 = $eta * (5 + "12.5" * $eta2);
my $d8 = 1 + $eta2 * ("6.75" + $eta2);
my $c8 = $d1 * $d7 * $b2;
my $c9 = $d5 * $d8 * $b3;
$edot = -$c0 * ($eta * (4 + $eta2 + $eosq * ("15.5" + 7 * $eta2)) + $self->{'eccentricity'} * (5 + 15 * $eta2) + $d1 * $d6 * $b1 + $c8 * $cos2g + $c9 * $sing);
my $d20 = "0.333333333333333" * $xndtn;
my $aldtal = $self->{'eccentricity'} * $edot / $alpha2;
my $tsdtts = 2 * $aodp * $tsi * ($d20 * $beta02 + $self->{'eccentricity'} * $edot);
my $etdt = ($edot + $self->{'eccentricity'} * $tsdtts) * $tsi * "1.01222928";
my $psdtps = -$eta * $etdt * $psim2;
my $sin2g = 2 * $sing * $cosg;
my $c0dtc0 = $d20 + 4 * $tsdtts - $aldtal - 7 * $psdtps;
my $c1dtc1 = $xndtn + 4 * $aldtal + $c0dtc0;
my $d9 = $eta * (6 + 68 * $eosq) + $self->{'eccentricity'} * (20 + 15 * $eta2);
my $d10 = 5 * $eta * (4 + $eta2) + $self->{'eccentricity'} * (17 + 68 * $eta2);
my $d11 = $eta * (72 + 18 * $eta2);
my $d12 = $eta * (30 + 10 * $eta2);
my $d13 = 5 + "11.25" * $eta2;
my $d14 = $tsdtts - 2 * $psdtps;
my $d15 = 2 * ($d20 + $self->{'eccentricity'} * $edot / $beta02);
my $d1dt = $d1 * ($d14 + $d15);
my $d2dt = $etdt * $d11;
my $d3dt = $etdt * $d12;
my $d4dt = $etdt * $d13;
my $d5dt = $d5 * $d14;
my $c4dt = $b2 * ($d1dt * $d3 + $d1 * $d3dt);
my $c5dt = $b3 * ($d5dt * $d4 + $d5 * $d4dt);
my $d16 = $d9 * $etdt + $d10 * $edot + $b1 * ($d1dt * $d2 + $d1 * $d2dt) + $c4dt * $cos2g + $c5dt * $sing + $xgdt1 * ($c5 * $cosg - 2 * $c4 * $sin2g);
my $xnddt = $c1dtc1 * $xndt + $c1 * $d16;
my $eddot = $c0dtc0 * $edot - $c0 * ((4 + 3 * $eta2 + 30 * $eeta + $eosq * ("15.5" + 21 * $eta2)) * $etdt + (5 + 15 * $eta2 + $eeta * (31 + 14 * $eta2)) * $edot + $b1 * ($d1dt * $d6 + $d1 * $etdt * (30 + "67.5" * $eta2)) + $b2 * ($d1dt * $d7 + $d1 * $etdt * (5 + "37.5" * $eta2)) * $cos2g + $b3 * ($d5dt * $d8 + $d5 * $etdt * $eta * ("13.5" + 4 * $eta2)) * $sing + $xgdt1 * ($c9 * $cosg - 2 * $c8 * $sin2g));
my $d25 = $edot ** 2;
my $d17 = $xnddt / $xnodp - $xndtn ** 2;
my $tsddts = 2 * $tsdtts * ($tsdtts - $d20) + $aodp * $tsi * ("0.666666666666667" * $beta02 * $d17 - 4 * $d20 * $self->{'eccentricity'} * $edot + 2 * ($d25 + $self->{'eccentricity'} * $eddot));
my $etddt = ($eddot + 2 * $edot * $tsdtts) * $tsi * "1.01222928" + $tsddts * $eta;
my $d18 = $tsddts - $tsdtts ** 2;
my $d19 = -$psdtps ** 2 / $eta2 - $eta * $etddt * $psim2 - $psdtps ** 2;
my $d23 = $etdt * $etdt;
my $d1ddt = $d1dt * ($d14 + $d15) + $d1 * ($d18 - 2 * $d19 + "0.666666666666667" * $d17 + 2 * ($alpha2 * $d25 / $beta02 + $self->{'eccentricity'} * $eddot) / $beta02);
my $xntrdt = $xndt * ("1.33333333333333" * $d17 + 3 * ($d25 + $self->{'eccentricity'} * $eddot) / $alpha2 - 6 * $aldtal ** 2 + 4 * $d18 - 7 * $d19) + $c1dtc1 * $xnddt + $c1 * ($c1dtc1 * $d16 + $d9 * $etddt + $d10 * $eddot + $d23 * (6 + 30 * $eeta + 68 * $eosq) + $etdt * $edot * (40 + 30 * $eta2 + 272 * $eeta) + $d25 * (17 + 68 * $eta2) + $b1 * ($d1ddt * $d2 + 2 * $d1dt * $d2dt + $d1 * ($etddt * $d11 + $d23 * (72 + 54 * $eta2))) + $b2 * ($d1ddt * $d3 + 2 * $d1dt * $d3dt + $d1 * ($etddt * $d12 + $d23 * (30 + 30 * $eta2))) * $cos2g + $b3 * (($d5dt * $d14 + $d5 * ($d18 - 2 * $d19)) * $d4 + 2 * $d4dt * $d5dt + $d5 * ($etddt * $d13 + "22.5" * $eta * $d23)) * $sing + $xgdt1 * ((7 * $d20 + 4 * $self->{'eccentricity'} * $edot / $beta02) * ($c5 * $cosg - 2 * $c4 * $sin2g) + (2 * $c5dt * $cosg - 4 * $c4dt * $sin2g - $xgdt1 * ($c5 * $sing + 4 * $c4 * $cos2g))));
my $tmnddt = $xnddt * "1000000000";
my $temp = $tmnddt ** 2 - $xndt * "1e+18" * $xntrdt;
$pp = ($temp + $tmnddt ** 2) / $temp;
$gamma = -$xntrdt / ($xnddt * ($pp - 2));
$xnd = $xndt / ($pp * $gamma);
$qq = 1 - $eddot / ($edot * $gamma);
$ed = $edot / ($qq * $gamma);
$ovgpp = 1 / ($gamma * ($pp + 1));
};
print qq[Debug SGP8 - Initialize\n A3COF = @{[defined $a3cof ? $a3cof : "undef"];}\n COSI = @{[defined $cosi ? $cosi : "undef"];}\n COSIO2 = @{[defined $cosio2 ? $cosio2 : "undef"];}\n ED = @{[defined $ed ? $ed : "undef"];}\n EDOT = @{[defined $edot ? $edot : "undef"];}\n GAMMA = @{[defined $gamma ? $gamma : "undef"];}\n ISIMP = @{[defined $isimp ? $isimp : "undef"];}\n OMGDT = @{[defined $omgdt ? $omgdt : "undef"];}\n OVGPP = @{[defined $ovgpp ? $ovgpp : "undef"];}\n PP = @{[defined $pp ? $pp : "undef"];}\n QQ = @{[defined $qq ? $qq : "undef"];}\n SINI = @{[defined $sini ? $sini : "undef"];}\n SINIO2 = @{[defined $sinio2 ? $sinio2 : "undef"];}\n THETA2 = @{[defined $theta2 ? $theta2 : "undef"];}\n TTHMUN = @{[defined $tthmun ? $tthmun : "undef"];}\n UNM5TH = @{[defined $unm5th ? $unm5th : "undef"];}\n UNMTH2 = @{[defined $unmth2 ? $unmth2 : "undef"];}\n XGDT1 = @{[defined $xgdt1 ? $xgdt1 : "undef"];}\n XHDT1 = @{[defined $xhdt1 ? $xhdt1 : "undef"];}\n XLLDOT = @{[defined $xlldot ? $xlldot : "undef"];}\n XMDT1 = @{[defined $xmdt1 ? $xmdt1 : "undef"];}\n XND = @{[defined $xnd ? $xnd : "undef"];}\n XNDT = @{[defined $xndt ? $xndt : "undef"];}\n XNODOT = @{[defined $xnodot ? $xnodot : "undef"];}\n XNODP = @{[defined $xnodp ? $xnodp : "undef"];}\n] if $self->{'debug'};
+{"a3cof", $a3cof, "cosi", $cosi, "cosio2", $cosio2, "ed", $ed, "edot", $edot, "gamma", $gamma, "isimp", $isimp, "omgdt", $omgdt, "ovgpp", $ovgpp, "pp", $pp, "qq", $qq, "sini", $sini, "sinio2", $sinio2, "theta2", $theta2, "tthmun", $tthmun, "unm5th", $unm5th, "unmth2", $unmth2, "xgdt1", $xgdt1, "xhdt1", $xhdt1, "xlldot", $xlldot, "xmdt1", $xmdt1, "xnd", $xnd, "xndt", $xndt, "xnodot", $xnodot, "xnodp", $xnodp}
} |
4005
|
5 |
2 |
0 |
$$self{&TLE_INIT}{'TLE_sdp8'} ||= do {
croak("Error - The SDP8 model is not valid for near-earth objects.\n Use the SGP, SGP4, SGP4R, or SGP8 models instead.\n") unless $self->is_deep;
my $a1 = ("0.0743669161" / $self->{'meanmotion'}) ** "0.666666666666667";
my $cosi = cos $self->{'inclination'};
my $theta2 = $cosi * $cosi;
my $tthmun = 3 * $theta2 - 1;
my $eosq = $self->{'eccentricity'} * $self->{'eccentricity'};
my $beta02 = 1 - $eosq;
my $beta0 = sqrt $beta02;
my $del1 = "0.000811962" * $tthmun / ($a1 * $a1 * $beta0 * $beta02);
my $a0 = $a1 * (1 - $del1 * ("0.333333333333333" + $del1 * (1 + "1.65432098765432" * $del1)));
my $del0 = "0.000811962" * $tthmun / ($a0 * $a0 * $beta0 * $beta02);
my $aodp = $a0 / (1 - $del0);
my $xnodp = $self->{'meanmotion'} / (1 + $del0);
my $b = 2 * $self->{'bstardrag'} / "0.15696615";
my $po = $aodp * $beta02;
my $pom2 = 1 / ($po * $po);
my $sini = sin $self->{'inclination'};
my $sing = sin $self->{'argumentofperigee'};
my $cosg = cos $self->{'argumentofperigee'};
my $temp = "0.5" * $self->{'inclination'};
my $sinio2 = sin $temp;
my $cosio2 = cos $temp;
my $theta4 = $theta2 ** 2;
my $unm5th = 1 - 5 * $theta2;
my $unmth2 = 1 - $theta2;
my $a3cof = "0.00469013944002306";
my $pardt1 = "0.001623924" * $pom2 * $xnodp;
my $pardt2 = $pardt1 * "0.000541308" * $pom2;
my $pardt4 = "7.762359375e-07" * $pom2 * $pom2 * $xnodp;
my $xmdt1 = "0.5" * $pardt1 * $beta0 * $tthmun;
my $xgdt1 = "-0.5" * $pardt1 * $unm5th;
my $xhdt1 = -$pardt1 * $cosi;
my $xlldot = $xnodp + $xmdt1 + "0.0625" * $pardt2 * $beta0 * (13 - 78 * $theta2 + 137 * $theta4);
my $omgdt = $xgdt1 + "0.0625" * $pardt2 * (7 - 114 * $theta2 + 395 * $theta4) + $pardt4 * (3 - 36 * $theta2 + 49 * $theta4);
my $xnodot = $xhdt1 + ("0.5" * $pardt2 * (4 - 19 * $theta2) + 2 * $pardt4 * (3 - 7 * $theta2)) * $cosi;
my $tsi = 1 / ($po - "1.01222928");
my $eta = $self->{'eccentricity'} * "1.01222928" * $tsi;
my $eta2 = $eta ** 2;
my $psim2 = abs 1 / (1 - $eta2);
my $alpha2 = 1 + $eosq;
my $eeta = $self->{'eccentricity'} * $eta;
my $cos2g = 2 * $cosg ** 2 - 1;
my $d5 = $tsi * $psim2;
my $d1 = $d5 / $po;
my $d2 = 12 + $eta2 * (36 + "4.5" * $eta2);
my $d3 = $eta2 * (15 + "2.5" * $eta2);
my $d4 = $eta * (5 + "3.75" * $eta2);
my $b1 = "0.000541308" * $tthmun;
my $b2 = "-0.000541308" * $unmth2;
my $b3 = $a3cof * $sini;
my $c0 = "0.5" * $b * "0.15696615" * "1.88027916e-09" * $xnodp * $aodp * $tsi ** 4 * $psim2 ** "3.5" / sqrt($alpha2);
my $c1 = "1.5" * $xnodp * $alpha2 ** 2 * $c0;
my $c4 = $d1 * $d3 * $b2;
my $c5 = $d5 * $d4 * $b3;
my $xndt = $c1 * (2 + $eta2 * (3 + 34 * $eosq) + 5 * $eeta * (4 + $eta2) + "8.5" * $eosq + $d1 * $d2 * $b1 + $c4 * $cos2g + $c5 * $sing);
my $xndtn = $xndt / $xnodp;
my $edot = "-0.666666666666667" * $xndtn * (1 - $self->{'eccentricity'});
$$self{&TLE_INIT}{'TLE_deep'} = {$self->_dpinit($eosq, $sini, $cosi, $beta0, $aodp, $theta2, $sing, $cosg, $beta02, $xlldot, $omgdt, $xnodot, $xnodp)};
+{"a3cof", $a3cof, "cosi", $cosi, "cosio2", $cosio2, "edot", $edot, "omgdt", $omgdt, "sini", $sini, "sinio2", $sinio2, "theta2", $theta2, "tthmun", $tthmun, "unm5th", $unm5th, "unmth2", $unmth2, "xgdt1", $xgdt1, "xhdt1", $xhdt1, "xlldot", $xlldot, "xmdt1", $xmdt1, "xndt", $xndt, "xnodot", $xnodot, "xnodp", $xnodp}
} |
4484
|
0 |
4 |
0 |
$xnq < "0.00826" or $xnq > "0.00924" |
|
4 |
0 |
0 |
$xnq < "0.00826" or $xnq > "0.00924" or $eq < "0.5" |
4799
|
0 |
0 |
0 |
not $dpsp->{'atime'} or $t >= 0 and $dpsp->{'atime'} < 0 |
|
0 |
0 |
0 |
not $dpsp->{'atime'} or $t >= 0 and $dpsp->{'atime'} < 0 or $t < 0 and $dpsp->{'atime'} >= 0 |
5753
|
3 |
0 |
20 |
$init->{'inclm'} < "0.052359877" or $init->{'inclm'} > &SGP_PI - "0.052359877" |
5770
|
3 |
0 |
20 |
$init->{'inclm'} < "0.052359877" or $init->{'inclm'} > &SGP_PI - "0.052359877" |
6083
|
220 |
0 |
0 |
$$atime == 0 or $t >= 0 and $$atime < 0 |
|
0 |
0 |
0 |
$$atime == 0 or $t >= 0 and $$atime < 0 or $t < 0 and $$atime >= 0 |
6097
|
0 |
0 |
544 |
abs $t < abs $$atime or $iret == 351 |
6468
|
35 |
0 |
0 |
$init->{'omeosq'} >= 0 or $parm->{'meanmotion'} >= 0 |
6690
|
18817 |
3 |
0 |
$$self{&TLE_INIT}{'TLE_sgp4r'} ||= $self->_r_sgp4init |
6777
|
0 |
4 |
18816 |
$eccm >= 1 or $eccm < "-0.001" |
|
4 |
0 |
18816 |
$eccm >= 1 or $eccm < "-0.001" or $am < "0.95" |
6829
|
0 |
0 |
395 |
$eccp < 0 or $eccp > 1 |
7670
|
0 |
0 |
0 |
$self->get("effective") or $self->get("epoch") |
7972
|
0 |
0 |
0 |
ref $body || $body |