Serializable, Atmospherepublic class NRLMSISE00 extends Object implements Atmosphere
NRLMSISE-00 calculates the neutral atmosphere empirical model from the surface to lower exosphere (0 to 1000 km) and provides:
The model needs geographical and time information to compute general values, but also needs space weather data:
Switches can be used to turn on and off particular variations:
0 is off, 1 is on, and 2 is main effects off but cross terms on.
The standard value is 1 for all the 23 available switches.
Function of each switch according to its number:
The NRLMSISE-00 model was developed by Mike Picone, Alan Hedin, and Doug Drob.
They also wrote a NRLMSISE-00 distribution package in FORTRAN available at:
ftp://hanna.ccmc.gsfc.nasa.gov/pub/modelweb/atmospheric/msis/nrlmsise00/
Dominik Brodowski implemented a C version of the NRLMSISE-00 model available at:
http://www.brodo.de/space/nrlmsise/index.html
Instances of this class are immutable.
| Modifier and Type | Class | Description |
|---|---|---|
class |
NRLMSISE00.FieldOutput<T extends org.hipparchus.RealFieldElement<T>> |
This class is a placeholder for the computed densities and temperatures.
|
| Constructor | Description |
|---|---|
NRLMSISE00(NRLMSISE00InputParameters parameters,
PVCoordinatesProvider sun,
BodyShape earth) |
Constructor.
|
| Modifier and Type | Method | 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.
|
Frame |
getFrame() |
Get the frame of the central body.
|
NRLMSISE00 |
withSwitch(int number,
int value) |
Change a switch.
|
getVelocity, getVelocitypublic NRLMSISE00(NRLMSISE00InputParameters parameters, PVCoordinatesProvider sun, BodyShape earth)
The model is constructed with all switches set to 1.
Parameters are mandatory only for the
getDensity() and
getVelocity() methods.
parameters - the solar and magnetic activity datasun - the Sun positionearth - the Earth body shapepublic NRLMSISE00 withSwitch(int number, int value)
This method creates a new instance, the current instance is not changed at all!
number - switch number between 1 and 23value - switch valuepublic Frame getFrame()
getFrame in interface Atmospherepublic double getDensity(AbsoluteDate date, org.hipparchus.geometry.euclidean.threed.Vector3D position, Frame frame)
getDensity in interface Atmospheredate - current dateposition - current position in frameframe - the frame in which is defined the positionpublic <T extends org.hipparchus.RealFieldElement<T>> T getDensity(FieldAbsoluteDate<T> date, org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> position, Frame frame)
getDensity in interface AtmosphereT - instance of RealFieldElementdate - current dateposition - current position in frameframe - the frame in which is defined the positionCopyright © 2002-2019 CS Systèmes d'information. All rights reserved.