public class DTM2000 extends Object implements Atmosphere
It is described in the paper:
The DTM-2000 empirical thermosphere model with new data assimilation
and constraints at lower boundary: accuracy and properties
S. Bruinsma, G. Thuillier and F. Barlier
Journal of Atmospheric and Solar-Terrestrial Physics 65 (2003) 1053–1070
This model provides dense output for altitudes beyond 120 km.
The model needs geographical and time information to compute general values, but also needs space weather data : mean and instantaneous solar flux and geomagnetic indices.
Mean solar flux is (for the moment) represented by the F10.7 indices. Instantaneous flux can be set to the mean value if the data is not available. Geomagnetic activity is represented by the Kp indice, which goes from 1 (very low activity) to 9 (high activity).
All these data can be found on the NOAA (National Oceanic and Atmospheric Administration) website.
Modifier and Type | Field and Description |
---|---|
static int |
ATOMIC_NITROGEN
Identifier for atomic nitrogen.
|
static int |
ATOMIC_OXYGEN
Identifier for atomic oxygen.
|
static int |
HELIUM
Identifier for helium.
|
static int |
HYDROGEN
Identifier for hydrogen.
|
static int |
MOLECULAR_NITROGEN
Identifier for molecular nitrogen.
|
static int |
MOLECULAR_OXYGEN
Identifier for molecular oxygen.
|
Constructor and Description |
---|
DTM2000(DTM2000InputParameters parameters,
PVCoordinatesProvider sun,
BodyShape earth)
Simple constructor for independent computation.
|
Modifier and Type | Method and Description |
---|---|
double |
getDensity(AbsoluteDate date,
org.hipparchus.geometry.euclidean.threed.Vector3D position,
Frame frame)
Get the local density.
|
<T extends org.hipparchus.RealFieldElement<T>> |
getDensity(FieldAbsoluteDate<T> date,
org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> position,
Frame frame)
Get the local density.
|
double |
getDensity(int day,
double alti,
double lon,
double lat,
double hl,
double f,
double fbar,
double akp3,
double akp24)
Get the local density with initial entries.
|
<T extends org.hipparchus.RealFieldElement<T>> |
getDensity(int day,
T alti,
T lon,
T lat,
T hl,
double f,
double fbar,
double akp3,
double akp24)
Get the local density with initial entries.
|
Frame |
getFrame()
Get the frame of the central body.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getVelocity, getVelocity
public static final int HYDROGEN
public static final int HELIUM
public static final int ATOMIC_OXYGEN
public static final int MOLECULAR_NITROGEN
public static final int MOLECULAR_OXYGEN
public static final int ATOMIC_NITROGEN
public DTM2000(DTM2000InputParameters parameters, PVCoordinatesProvider sun, BodyShape earth) throws OrekitException
parameters
- the solar and magnetic activity datasun
- the sun positionearth
- the earth body shapeOrekitException
- if some resource file reading error occurspublic Frame getFrame()
getFrame
in interface Atmosphere
public double getDensity(int day, double alti, double lon, double lat, double hl, double f, double fbar, double akp3, double akp24) throws OrekitException
day
- day of yearalti
- altitude in meterslon
- local longitude (rad)lat
- local latitude (rad)hl
- local solar time in rad (O hr = 0 rad)f
- instantaneous solar flux (F10.7)fbar
- mean solar flux (F10.7)akp3
- 3 hrs geomagnetic activity index (1-9)akp24
- Mean of last 24 hrs geomagnetic activity index (1-9)OrekitException
- if altitude is outside of supported rangepublic <T extends org.hipparchus.RealFieldElement<T>> T getDensity(int day, T alti, T lon, T lat, T hl, double f, double fbar, double akp3, double akp24) throws OrekitException
T
- type of the field elementsday
- day of yearalti
- altitude in meterslon
- local longitude (rad)lat
- local latitude (rad)hl
- local solar time in rad (O hr = 0 rad)f
- instantaneous solar flux (F10.7)fbar
- mean solar flux (F10.7)akp3
- 3 hrs geomagnetic activity index (1-9)akp24
- Mean of last 24 hrs geomagnetic activity index (1-9)OrekitException
- if altitude is outside of supported rangepublic double getDensity(AbsoluteDate date, org.hipparchus.geometry.euclidean.threed.Vector3D position, Frame frame) throws OrekitException
getDensity
in interface Atmosphere
date
- current dateposition
- current position in frameframe
- the frame in which is defined the positionOrekitException
- if date is out of range of solar activity model
or if some frame conversion cannot be performedpublic <T extends org.hipparchus.RealFieldElement<T>> T getDensity(FieldAbsoluteDate<T> date, org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> position, Frame frame) throws OrekitException
getDensity
in interface Atmosphere
T
- instance of RealFieldElementdate
- current dateposition
- current position in frameframe
- the frame in which is defined the positionOrekitException
- if date is out of range of solar activity model
or if some frame conversion cannot be performedCopyright © 2002-2017 CS Systèmes d'information. All rights reserved.