Class DTM2000
- java.lang.Object
-
- org.orekit.forces.drag.atmosphere.DTM2000
-
- All Implemented Interfaces:
Serializable
,Atmosphere
public class DTM2000 extends Object implements Atmosphere
This atmosphere model is the realization of the DTM-2000 model.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.
- Author:
- R. Biancale, S. Bruinsma: original fortran routine, Fabien Maussion (java translation)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field 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 Summary
Constructors Constructor Description DTM2000(DTM2000InputParameters parameters, PVCoordinatesProvider sun, BodyShape earth)
Simple constructor for independent computation.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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>>
TgetDensity(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.double
getDensity(AbsoluteDate date, org.hipparchus.geometry.euclidean.threed.Vector3D position, Frame frame)
Get the local density.<T extends org.hipparchus.RealFieldElement<T>>
TgetDensity(FieldAbsoluteDate<T> date, org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> position, Frame frame)
Get the local density.Frame
getFrame()
Get the frame of the central body.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.forces.drag.atmosphere.Atmosphere
getVelocity, getVelocity
-
-
-
-
Field Detail
-
HYDROGEN
public static final int HYDROGEN
Identifier for hydrogen.- See Also:
- Constant Field Values
-
HELIUM
public static final int HELIUM
Identifier for helium.- See Also:
- Constant Field Values
-
ATOMIC_OXYGEN
public static final int ATOMIC_OXYGEN
Identifier for atomic oxygen.- See Also:
- Constant Field Values
-
MOLECULAR_NITROGEN
public static final int MOLECULAR_NITROGEN
Identifier for molecular nitrogen.- See Also:
- Constant Field Values
-
MOLECULAR_OXYGEN
public static final int MOLECULAR_OXYGEN
Identifier for molecular oxygen.- See Also:
- Constant Field Values
-
ATOMIC_NITROGEN
public static final int ATOMIC_NITROGEN
Identifier for atomic nitrogen.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DTM2000
public DTM2000(DTM2000InputParameters parameters, PVCoordinatesProvider sun, BodyShape earth)
Simple constructor for independent computation.- Parameters:
parameters
- the solar and magnetic activity datasun
- the sun positionearth
- the earth body shape
-
-
Method Detail
-
getFrame
public Frame getFrame()
Get the frame of the central body.- Specified by:
getFrame
in interfaceAtmosphere
- Returns:
- frame of the central body.
-
getDensity
public 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.- Parameters:
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)- Returns:
- the local density (kg/m³)
-
getDensity
public <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)
Get the local density with initial entries.- Type Parameters:
T
- type of the field elements- Parameters:
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)- Returns:
- the local density (kg/m³)
- Since:
- 9.0
-
getDensity
public double getDensity(AbsoluteDate date, org.hipparchus.geometry.euclidean.threed.Vector3D position, Frame frame)
Get the local density.- Specified by:
getDensity
in interfaceAtmosphere
- Parameters:
date
- current dateposition
- current position in frameframe
- the frame in which is defined the position- Returns:
- local density (kg/m³)
-
getDensity
public <T extends org.hipparchus.RealFieldElement<T>> T getDensity(FieldAbsoluteDate<T> date, org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> position, Frame frame)
Get the local density.- Specified by:
getDensity
in interfaceAtmosphere
- Type Parameters:
T
- instance of RealFieldElement- Parameters:
date
- current dateposition
- current position in frameframe
- the frame in which is defined the position- Returns:
- local density (kg/m³)
-
-