001    /*
002     * $Id: SGP4SatData.java,v 1.4 2012/02/19 17:35:39 davep Exp $
003     *
004     * This file is part of McIDAS-V
005     *
006     * Copyright 2007-2012
007     * Space Science and Engineering Center (SSEC)
008     * University of Wisconsin - Madison
009     * 1225 W. Dayton Street, Madison, WI 53706, USA
010     * https://www.ssec.wisc.edu/mcidas
011     * 
012     * All Rights Reserved
013     * 
014     * McIDAS-V is built on Unidata's IDV and SSEC's VisAD libraries, and
015     * some McIDAS-V source code is based on IDV and VisAD source code.  
016     * 
017     * McIDAS-V is free software; you can redistribute it and/or modify
018     * it under the terms of the GNU Lesser Public License as published by
019     * the Free Software Foundation; either version 3 of the License, or
020     * (at your option) any later version.
021     * 
022     * McIDAS-V is distributed in the hope that it will be useful,
023     * but WITHOUT ANY WARRANTY; without even the implied warranty of
024     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
025     * GNU Lesser Public License for more details.
026     * 
027     * You should have received a copy of the GNU Lesser Public License
028     * along with this program.  If not, see http://www.gnu.org/licenses.
029     */
030    // based off of the "typedef struct elsetrec" in the CSSI's sgp4unit.h file
031    // conatins all the data needed for a SGP4 propogated satellite
032    // holds all initialization info, etc.
033    
034    package edu.wisc.ssec.mcidasv.data.adde.sgp4;
035    
036    import java.io.Serializable;
037    
038    /**
039     * 19 June 2009
040     * converted to Java by:
041     * @author Shawn E. Gano, shawn@gano.name
042     */
043    public class SGP4SatData implements Serializable
044    {
045      public int   satnum; // changed to int SEG
046      public int    epochyr, epochtynumrev;
047      public int    error; // 0 = ok, 1= eccentricity (sgp4),   6 = satellite decay, 7 = tle data
048      public char   operationmode;
049      public char   init, method;
050    
051      public SGP4unit.Gravconsttype gravconsttype; // gravity constants to use - SEG
052    
053      /* Near Earth */
054      public int    isimp;
055      public double aycof  , con41  , cc1    , cc4      , cc5    , d2      , d3   , d4    ,
056                    delmo  , eta    , argpdot, omgcof   , sinmao , t       , t2cof, t3cof ,
057                    t4cof  , t5cof  , x1mth2 , x7thm1   , mdot   , nodedot, xlcof , xmcof ,
058                    nodecf;
059    
060      /* Deep Space */
061    
062      public int    irez;
063      public double d2201  , d2211  , d3210  , d3222    , d4410  , d4422   , d5220 , d5232 ,
064                    d5421  , d5433  , dedt   , del1     , del2   , del3    , didt  , dmdt  ,
065                    dnodt  , domdt  , e3     , ee2      , peo    , pgho    , pho   , pinco ,
066                    plo    , se2    , se3    , sgh2     , sgh3   , sgh4    , sh2   , sh3   ,
067                    si2    , si3    , sl2    , sl3      , sl4    , gsto    , xfact , xgh2  ,
068                    xgh3   , xgh4   , xh2    , xh3      , xi2    , xi3     , xl2   , xl3   ,
069                    xl4    , xlamo  , zmol   , zmos     , atime  , xli     , xni;
070    
071      public double a      , altp   , alta   , epochdays, jdsatepoch       , nddot , ndot  ,
072                    bstar  , rcse   , inclo  , nodeo    , ecco             , argpo , mo    ,
073                    no;
074    
075      // Extra Data added by SEG - from TLE and a name variable (and save the lines for future use)
076      public String name="", line1="", line2="";
077      public boolean tleDataOk;
078      public String classification, intldesg;
079      public int nexp, ibexp, numb; // numb is the second number on line 1
080      public long elnum,revnum; 
081    
082    }