Class JB2008
- java.lang.Object
-
- org.orekit.models.earth.atmosphere.JB2008
-
- All Implemented Interfaces:
Serializable
,Atmosphere
public class JB2008 extends Object implements Atmosphere
This is the realization of the Jacchia-Bowman 2008 atmospheric model.It is described in the paper:
A New Empirical Thermospheric Density Model JB2008 Using New Solar Indices
Bruce R. Bowman & al.
AIAA 2008-6438
Two computation methods are proposed to the user:
- one OREKIT independent and compliant with initial FORTRAN routine entry values:
getDensity(double, double, double, double, double, double, double, double, double, double, double, double, double, double, double)
. - one compliant with OREKIT Atmosphere interface, necessary to the
drag force model
computation.
This model provides dense output for all altitudes and positions. Output data are :
- Exospheric Temperature above Input Position (deg K)
- Temperature at Input Position (deg K)
- Total Mass-Density at Input Position (kg/m³)
The model needs geographical and time information to compute general values, but also needs space weather data : mean and daily solar flux, retrieved through different indices, and planetary geomagnetic indices.
More information on these indices can be found on the official JB2008 website.- Author:
- Bruce R Bowman (HQ AFSPC, Space Analysis Division), 2008: FORTRAN routine, Pascal Parraud (java translation)
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description JB2008(JB2008InputParameters parameters, PVCoordinatesProvider sun, BodyShape earth)
Constructor with space environment information for internal computation.JB2008(JB2008InputParameters parameters, PVCoordinatesProvider sun, BodyShape earth, TimeScale utc)
Constructor with space environment information for internal computation.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
getDensity(double dateMJD, double sunRA, double sunDecli, double satLon, double satLat, double satAlt, double f10, double f10B, double s10, double s10B, double xm10, double xm10B, double y10, double y10B, double dstdtc)
Get the local density with initial entries.double
getDensity(AbsoluteDate date, Vector3D position, Frame frame)
Get the local density.<T extends CalculusFieldElement<T>>
TgetDensity(FieldAbsoluteDate<T> date, FieldVector3D<T> position, Frame frame)
Get the local density.<T extends CalculusFieldElement<T>>
TgetDensity(T dateMJD, T sunRA, T sunDecli, T satLon, T satLat, T satAlt, double f10, double f10B, double s10, double s10B, double xm10, double xm10B, double y10, double y10B, double dstdtc)
Get the local density with initial entries.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.models.earth.atmosphere.Atmosphere
getVelocity, getVelocity
-
-
-
-
Constructor Detail
-
JB2008
@DefaultDataContext public JB2008(JB2008InputParameters parameters, PVCoordinatesProvider sun, BodyShape earth)
Constructor with space environment information for internal computation.This method uses the
default data context
.- Parameters:
parameters
- the solar and magnetic activity datasun
- the sun positionearth
- the earth body shape- See Also:
JB2008(JB2008InputParameters, PVCoordinatesProvider, BodyShape, TimeScale)
-
JB2008
public JB2008(JB2008InputParameters parameters, PVCoordinatesProvider sun, BodyShape earth, TimeScale utc)
Constructor with space environment information for internal computation.- Parameters:
parameters
- the solar and magnetic activity datasun
- the sun positionearth
- the earth body shapeutc
- UTC time scale. Used to computed the day fraction.- Since:
- 10.1
-
-
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(double dateMJD, double sunRA, double sunDecli, double satLon, double satLat, double satAlt, double f10, double f10B, double s10, double s10B, double xm10, double xm10B, double y10, double y10B, double dstdtc)
Get the local density with initial entries.- Parameters:
dateMJD
- date and time, in modified julian days and fractionsunRA
- Right Ascension of Sun (radians)sunDecli
- Declination of Sun (radians)satLon
- Right Ascension of position (radians)satLat
- Geocentric latitude of position (radians)satAlt
- Height of position (m)f10
- 10.7-cm Solar flux (1e-22*Watt/(m²*Hertz))
(Tabular time 1.0 day earlier)f10B
- 10.7-cm Solar Flux, averaged 81-day centered on the input time
(Tabular time 1.0 day earlier)s10
- EUV index (26-34 nm) scaled to F10
(Tabular time 1 day earlier)s10B
- UV 81-day averaged centered index (Tabular time 1 day earlier)xm10
- MG2 index scaled to F10
(Tabular time 2.0 days earlier)xm10B
- MG2 81-day ave. centered index
(Tabular time 2.0 days earlier)y10
- Solar X-Ray & Lya index scaled to F10
(Tabular time 5.0 days earlier)y10B
- Solar X-Ray & Lya 81-day ave. centered index
(Tabular time 5.0 days earlier)dstdtc
- Temperature change computed from Dst index- Returns:
- total mass-Density at input position (kg/m³)
-
getDensity
public <T extends CalculusFieldElement<T>> T getDensity(T dateMJD, T sunRA, T sunDecli, T satLon, T satLat, T satAlt, double f10, double f10B, double s10, double s10B, double xm10, double xm10B, double y10, double y10B, double dstdtc)
Get the local density with initial entries.- Type Parameters:
T
- type of the field elements- Parameters:
dateMJD
- date and time, in modified julian days and fractionsunRA
- Right Ascension of Sun (radians)sunDecli
- Declination of Sun (radians)satLon
- Right Ascension of position (radians)satLat
- Geocentric latitude of position (radians)satAlt
- Height of position (m)f10
- 10.7-cm Solar flux (1e-22*Watt/(m²*Hertz))
(Tabular time 1.0 day earlier)f10B
- 10.7-cm Solar Flux, averaged 81-day centered on the input time
(Tabular time 1.0 day earlier)s10
- EUV index (26-34 nm) scaled to F10
(Tabular time 1 day earlier)s10B
- UV 81-day averaged centered index (Tabular time 1 day earlier)xm10
- MG2 index scaled to F10
(Tabular time 2.0 days earlier)xm10B
- MG2 81-day ave. centered index
(Tabular time 2.0 days earlier)y10
- Solar X-Ray & Lya index scaled to F10
(Tabular time 5.0 days earlier)y10B
- Solar X-Ray & Lya 81-day ave. centered index
(Tabular time 5.0 days earlier)dstdtc
- Temperature change computed from Dst index- Returns:
- total mass-Density at input position (kg/m³)
-
getDensity
public double getDensity(AbsoluteDate date, 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 CalculusFieldElement<T>> T getDensity(FieldAbsoluteDate<T> date, FieldVector3D<T> position, Frame frame)
Get the local density.- Specified by:
getDensity
in interfaceAtmosphere
- Type Parameters:
T
- instance of CalculusFieldElement- Parameters:
date
- current dateposition
- current position in frameframe
- the frame in which is defined the position- Returns:
- local density (kg/m³)
-
-