Astro-satpass
view release on metacpan or search on metacpan
lib/Astro/Coord/ECI/TLE.pm view on Meta::CPAN
}
$parm->{aycof}= -0.5*$parm->{j3oj2}*$init->{sinio};
$parm->{delmo}= (1+$parm->{eta}*cos($parm->{meananomaly}))**3;
$parm->{sinmao}= sin($parm->{meananomaly});
$parm->{x7thm1}= 7*$init->{cosio2}-1;
#* ------------------------ Deep Space Initialization ------------------
if ((&SGP_TWOPI/$parm->{meanmotion}) >= 225) {
$parm->{deep_space}=1;
$parm->{isimp}= 1;
$tc= 0;
$init->{inclm}= $parm->{inclination};
$self->_r_dscom ($tc);
$self->_r_dpper ($t, \$parm->{eccentricity},
\$parm->{inclination}, \$parm->{ascendingnode},
\$parm->{argumentofperigee}, \$parm->{meananomaly});
$init->{argpm}= 0;
$init->{nodem}= 0;
$init->{mm}= 0;
$self->_r_dsinit ($t, $tc);
}
#* ------------ Set variables if not deep space or rp < 220 -------------
if ( ! $parm->{isimp}) {
$cc1sq= $parm->{cc1}*$parm->{cc1};
$parm->{d2}= 4*$init->{ao}*$tsi*$cc1sq;
$temp= $parm->{d2}*$tsi*$parm->{cc1}/ 3;
$parm->{d3}= (17*$init->{ao}+ $sfour) * $temp;
$parm->{d4}= 0.5*$temp*$init->{ao}*$tsi* (221*$init->{ao}+
31*$sfour)*$parm->{cc1};
$parm->{t3cof}= $parm->{d2}+ 2*$cc1sq;
$parm->{t4cof}= 0.25*
(3*$parm->{d3}+$parm->{cc1}*(12*$parm->{d2}+10*$cc1sq)
);
$parm->{t5cof}= 0.2* (3*$parm->{d4}+
12*$parm->{cc1}*$parm->{d3}+ 6*$parm->{d2}*$parm->{d2}+
15*$cc1sq* (2*$parm->{d2}+ $cc1sq) );
}
}
#>>>>trw init = 'n'
#>>>>trw CALL SGP4(whichconst, 0.0D0, r, v, error)
#c INCLUDE 'debug6.for'
#>>>>trw RETURN
delete $parm->{init};
return $parm;
}
#* -----------------------------------------------------------------------------
#*
#* SUBROUTINE SGP4
#*
#* this procedure is the sgp4 prediction model from space command. this is an
#* updated and combined version of sgp4 and sdp4, which were originally
#* published separately in spacetrack report #3. this version follows the
#* methodology from the aiaa paper (2006) describing the history and
#* development of the code.
#*
#* author : david vallado 719-573-2600 28 jun 2005
#*
#* inputs :
#* satrec - initialised structure from sgp4init() call.
#* tsince - time eince epoch (minutes)
#*
#* outputs :
#* r - position vector km
#* v - velocity km/sec
#* return code - non-zero on error.
#* 1 - mean elements, ecc >= 1.0 or ecc < -0.001 or a < 0.95 er
#* 2 - mean motion less than 0.0
#* 3 - pert elements, ecc < 0.0 or ecc > 1.0
#* 4 - semi-latus rectum < 0.0
#* 5 - epoch elements are sub-orbital
#* 6 - satellite has decayed
#*
#* locals :
#* am -
#* axnl, aynl -
#* betal -
#* COSIM , SINIM , COSOMM , SINOMM , Cnod , Snod , Cos2u ,
#* Sin2u , Coseo1 , Sineo1 , Cosi , Sini , Cosip , Sinip ,
#* Cosisq , Cossu , Sinsu , Cosu , Sinu
#* Delm -
#* Delomg -
#* Dndt -
#* Eccm -
#* EMSQ -
#* Ecose -
#* El2 -
#* Eo1 -
#* Eccp -
#* Esine -
#* Argpm -
#* Argpp -
#* Omgadf -
#* Pl -
#* R -
#* RTEMSQ -
#* Rdotl -
#* Rl -
#* Rvdot -
#* Rvdotl -
#* Su -
#* T2 , T3 , T4 , Tc
#* Tem5, Temp , Temp1 , Temp2 , Tempa , Tempe , Templ
#* U , Ux , Uy , Uz , Vx , Vy , Vz
#* inclm - inclination
#* mm - mean anomaly
#* nm - mean motion
#* nodem - longi of ascending node
#* xinc -
#* xincp -
#* xl -
#* xlm -
( run in 0.594 second using v1.01-cache-2.11-cpan-0bb4e1dffa6 )