org.orekit.forces.atmospheres
Class JB2006

java.lang.Object
  extended by org.orekit.forces.atmospheres.JB2006
All Implemented Interfaces:
Serializable, Atmosphere

public class JB2006
extends Object
implements Atmosphere

This is the realization of the Jacchia-Bowman 2006 atmospheric model.

It is described in the paper:
A New Empirical Thermospheric Density Model JB2006 Using New Solar Indices
Bruce R. Bowman, W. Kent Tobiska and Frank A. Marcos
AIAA 2006-6166

Two computation methods are proposed to the user:

This model provides dense output for any position with altitude larger than 90kmm. Output data are :

The model needs geographical and time information to compute general values, but also needs space weather data : mean and daily solar flux, retrieved threw different indices, and planetary geomagnetic indices.
More information on these indices can be found on the official JB2006 website.

Author:
Bruce R Bowman (HQ AFSPC, Space Analysis Division), Feb 2006: FORTRAN routine, Fabien Maussion (java translation)
See Also:
Serialized Form

Constructor Summary
JB2006(JB2006InputParameters parameters, PVCoordinatesProvider sun, BodyShape earth)
          Constructor with space environment information for internal computation.
 
Method Summary
 double getDensity(AbsoluteDate date, Vector3D position, Frame frame)
          Get the local density.
 double getDensity(double dateMJD, double sunRA, double sunDecli, double satLon, double satLat, double satAlt, double f10, double f10B, double ap, double s10, double s10B, double xm10, double xm10B)
          Get the local density with initial entries.
 double getExosphericTemp()
          Get the exospheric temperature above input position.
 double getLocalTemp()
          Get the temperature at input position.
 double getSpeedOfSound(AbsoluteDate date, Vector3D position, Frame frame)
          Get the local speed of sound.
 Vector3D getVelocity(AbsoluteDate date, Vector3D position, Frame frame)
          Get the inertial velocity of atmosphere molecules.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JB2006

public JB2006(JB2006InputParameters parameters,
              PVCoordinatesProvider sun,
              BodyShape earth)
Constructor with space environment information for internal computation.

Parameters:
parameters - the solar and magnetic activity data
sun - the sun position
earth - the earth body shape
Method Detail

getDensity

public double getDensity(double dateMJD,
                         double sunRA,
                         double sunDecli,
                         double satLon,
                         double satLat,
                         double satAlt,
                         double f10,
                         double f10B,
                         double ap,
                         double s10,
                         double s10B,
                         double xm10,
                         double xm10B)
Get the local density with initial entries.

Parameters:
dateMJD - date and time, in modified julian days and fraction
sunRA - 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/(m2*Hertz)). Tabular time 1.0 day earlier
f10B - 10.7-cm Solar Flux, averaged 81-day centered on the input time
ap - Geomagnetic planetary 3-hour index Ap for a tabular time 6.7 hours earlier
s10 - EUV index (26-34 nm) scaled to F10. Tabular time 1 day earlier.
s10B - UV 81-day averaged centered index
xm10 - MG2 index scaled to F10
xm10B - MG2 81-day ave. centered index. Tabular time 5.0 days earlier.
Returns:
total mass-Density at input position (kg/m3)

getExosphericTemp

public double getExosphericTemp()
Get the exospheric temperature above input position. getDensity(double, double, double, double, double, double, double, double, double, double, double, double, double) must must be called before calling this function.

Returns:
the exospheric temperature (deg K)

getLocalTemp

public double getLocalTemp()
Get the temperature at input position. getDensity(double, double, double, double, double, double, double, double, double, double, double, double, double) must must be called before calling this function.

Returns:
the local temperature (deg K)

getDensity

public double getDensity(AbsoluteDate date,
                         Vector3D position,
                         Frame frame)
                  throws OrekitException
Get the local density.

Specified by:
getDensity in interface Atmosphere
Parameters:
date - current date
position - current position in frame
frame - the frame in which is defined the position
Returns:
local density (kg/m3)
Throws:
OrekitException - if date is out of range of solar activity

getVelocity

public Vector3D getVelocity(AbsoluteDate date,
                            Vector3D position,
                            Frame frame)
                     throws OrekitException
Get the inertial velocity of atmosphere molecules. Here the case is simplified : atmosphere is supposed to have a null velocity in earth frame.

Specified by:
getVelocity in interface Atmosphere
Parameters:
date - current date
position - current position in frame
frame - the frame in which is defined the position
Returns:
velocity (m/s) (defined in the same frame as the position)
Throws:
OrekitException - if some frame conversion cannot be performed

getSpeedOfSound

public double getSpeedOfSound(AbsoluteDate date,
                              Vector3D position,
                              Frame frame)
                       throws OrekitException
Get the local speed of sound.

Specified by:
getSpeedOfSound in interface Atmosphere
Parameters:
date - current date
position - current position in frame
frame - the frame in which is defined the position
Returns:
speed of sound (m/s)
Throws:
OrekitException - if some conversion cannot be performed


Copyright © 2017 CNES. All Rights Reserved.