001/*
002 * $Id: SGP4SatData.java,v 1.3 2011/03/24 16:06:33 davep Exp $
003 *
004 * This file is part of McIDAS-V
005 *
006 * Copyright 2007-2011
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
034package edu.wisc.ssec.mcidasv.data.adde.sgp4;
035
036import java.io.Serializable;
037
038/**
039 * 19 June 2009
040 * converted to Java by:
041 * @author Shawn E. Gano, shawn@gano.name
042 */
043public 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}