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