public class NRLMSISE00 extends Object implements Atmosphere
NRLMSISE-00计算从地表到下部外部层(0到1000公里)的中性大气经验模型,并提供:
该模型需要地理和时间信息来计算一般值,但也需要空间天气数据:
开关可用于打开和关闭特定变化:
0表示关闭,1表示打开,2表示关闭主要效应但打开交叉项。
所有23个可用开关的标准值为1。
每个开关的功能取决于其编号:
NRLMSISE-00模型由Mike Picone,Alan Hedin和Doug Drob开发。
他们还编写了一个FORTRAN版本的NRLMSISE-00分发包,可在以下网址找到:
ftp://hanna.ccmc.gsfc.nasa.gov/pub/modelweb/atmospheric/msis/nrlmsise00/
Dominik Brodowski实现了一个C版本的NRLMSISE-00模型,可在以下网址找到:
http://www.brodo.de/space/nrlmsise/index.html
此类的实例是不可变的。
Modifier and Type | Class and Description |
---|---|
class |
NRLMSISE00.FieldOutput<T extends org.hipparchus.CalculusFieldElement<T>>
这个类是计算密度和温度的占位符。
|
Constructor and Description |
---|
NRLMSISE00(NRLMSISE00InputParameters parameters, PVCoordinatesProvider sun, BodyShape earth)
构造函数。
|
NRLMSISE00(NRLMSISE00InputParameters parameters, PVCoordinatesProvider sun, BodyShape earth, TimeScale ut)
构造函数。
|
Modifier and Type | Method and Description |
---|---|
double |
getDensity(AbsoluteDate date, org.hipparchus.geometry.euclidean.threed.Vector3D position, Frame frame)
获取局部密度。
|
<T extends org.hipparchus.CalculusFieldElement<T>> |
getDensity(FieldAbsoluteDate<T> date, org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> position, Frame frame)
获取局部密度。
|
Frame |
getFrame()
获取中心天体的参考系。
|
NRLMSISE00 |
withSwitch(int number, int value)
更改开关。
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getVelocity, getVelocity
@DefaultDataContext public NRLMSISE00(NRLMSISE00InputParameters parameters, PVCoordinatesProvider sun, BodyShape earth)
该模型的所有开关都设置为1。
仅对getDensity()
和getVelocity()
方法是强制性的。
此构造函数使用default data context
。
parameters
- 太阳和磁活动数据
sun
- 太阳位置
earth
- 地球形状
NRLMSISE00(NRLMSISE00InputParameters, PVCoordinatesProvider, BodyShape, TimeScale)
public NRLMSISE00(NRLMSISE00InputParameters parameters, PVCoordinatesProvider sun, BodyShape earth, TimeScale ut)
该模型的所有开关都设置为1。
仅对getDensity()
和getVelocity()
方法是强制性的。
parameters
- 太阳和磁活动数据
sun
- 太阳位置
earth
- 地球形状
ut
- UT时间尺度。NRLMSISE00的原始文档不区分UTC和UT1。在Orekit 10.0中使用了TimeScalesFactory.getUT1(IERSConventions.IERS_2010, true)
。
public NRLMSISE00 withSwitch(int number, int value)
此方法创建一个新实例,当前实例完全不会改变!
number
- 介于1和23之间的开关编号
value
- 开关值
public Frame getFrame()
getFrame
在接口 Atmosphere
public double getDensity(AbsoluteDate date, org.hipparchus.geometry.euclidean.threed.Vector3D position, Frame frame)
getDensity
在接口 Atmosphere
date
- 当前日期
position
- 框架中的当前位置
frame
- 定义位置的框架
public <T extends org.hipparchus.CalculusFieldElement<T>> T getDensity(FieldAbsoluteDate<T> date, org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> position, Frame frame)
getDensity
在接口 Atmosphere
T
- CalculusFieldElement的实例
date
- 当前日期
position
- 框架中的当前位置
frame
- 定义位置的框架
Copyright © 2002-2023 CS GROUP. All rights reserved.