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 }