DME Component Libraries for .NET 2024 r1

## ScalarDensityMsis86 Class |

Calculates atmospheric density according to the MSIS 1986 model.

The Mass-Spectrometer-Incoherent-Scatter-1986 (MSIS-86) neutral atmosphere model describes the neutral temperature and the densities of He, O, N2, O2, Ar, H, and N. The MSIS model is based on the extensive data compilation and analysis work of A. E. Hedin and his collaborators [A. E. Hedin et al., J. Geophys. Res. 82, 2139-2156, 1977; A. E. Hedin, J. Geophys. Res. 88, 10170- 10188, 1983; A. E. Hedin, J. Geophys. Res. 92, 4649, 1987]. MSIS-86 constitutes the upper part of the COSPAR International Reference Atmosphere (CIRA-86).

Unlike other density models, this type does not make use of the VectorToSun and instead determines the shape of the atmosphere purely based on the time of day.

If available, the MSIS models will make use of the time varying daily averages for the geomagnetic flux defined by the SolarGeophysicalData instance.

Inheritance Hierarchy

SystemObject

AGI.Foundation.InfrastructureDefinitionalObject

AGI.Foundation.GeometryScalar

AGI.Foundation.CelestialScalarAtmosphericDensity

AGI.Foundation.CelestialScalarDensityMsis86

AGI.Foundation.InfrastructureDefinitionalObject

AGI.Foundation.GeometryScalar

AGI.Foundation.CelestialScalarAtmosphericDensity

AGI.Foundation.CelestialScalarDensityMsis86

Syntax

The ScalarDensityMsis86 type exposes the following members.

Constructors

Name | Description | |
---|---|---|

ScalarDensityMsis86 | Initializes a Scalar representing the MSIS 1986 model of atmospheric density. The TargetPoint and SolarGeophysicalData properties must be set before GetEvaluator(EvaluatorGroup) is called. | |

ScalarDensityMsis86(Point, SolarGeophysicalData) |
Initializes a Scalar representing the MSIS 1986 model
of atmospheric density using the target point and solar-geophysical data.
| |

ScalarDensityMsis86(ScalarDensityMsis86, CopyContext) | Initializes a new instance as a copy of an existing instance. |

Properties

Name | Description | |
---|---|---|

AverageSolarRadioFluxLagSeconds |
Gets the value for the time lag used when modeling when to apply the values of
AverageSolarRadioFlux to the atmosphere.
MSIS models use no time lag for average solar flux.
| |

CentralBody |
Gets or sets the central body of the atmosphere described by the density model.
This is set to the Earth by default.
(Inherited from ScalarAtmosphericDensity.) | |

Dimension |
Gets the dimension of the values produced by the object. For example, Vectors
would have a dimension of three, and Scalars of one. A PartialDerivativesEvaluator
created by this type will have a "RowDimension" equal to this
property, and a "ColumnDimension equal to the summation
of the dimensions of the independent variables that this object is dependent on.
| |

GeomagneticFluxLagSeconds |
Gets the value for the time lag used when modeling when to apply the values of
GeomagneticFlux to the atmosphere.
MSIS models use no time lag for geomagnetic flux.
| |

IsFrozen |
Gets a value indicating whether this object is frozen. A frozen object cannot be modified and an
ObjectFrozenException will be thrown if an attempt is made to do so.
(Inherited from DefinitionalObject.) | |

LowerHeightLimit |
Gets the lower bound of the height (in meters above the ellipsoid)
for which this density model is valid. MSIS 1986 is only valid at and
above 85,000 meters. This model will still produce results at lower
altitudes, but should not be considered accurate.
(Overrides ScalarAtmosphericDensityLowerHeightLimit.) | |

SolarGeophysicalData |
Gets or sets the solar and magnetic flux information.
(Inherited from ScalarAtmosphericDensity.) | |

SolarRadioFluxLagSeconds |
Gets the value for the time lag used when modeling when to apply the values of
SolarRadioFlux to the atmosphere.
MSIS models use a time lag of one day.
| |

TargetPoint |
Gets or sets the target point describing the time-varying position at which density is
to be calculated.
(Inherited from ScalarAtmosphericDensity.) | |

UpperHeightLimit |
Gets or sets the upper bound of the height (in meters above the ellipsoid)
above which this density model will return a value of zero. The default value is 2500000 meters.
(Overrides ScalarAtmosphericDensityUpperHeightLimit.) | |

VectorToSun |
Gets or sets the vector to the sun to use for modeling the effects of solar radiation on the atmosphere.
By default, this is set to represent the apparent displacement from the Earth
to the Sun based on light time delay and aberration from the relative
motion of the celestial bodies. Setting this to use the true displacement
will be slightly less accurate but take less time to compute. However, not all density models will use the Sun's position.
(Inherited from ScalarAtmosphericDensity.) |

Methods

Name | Description | |
---|---|---|

Add(Double) |
Adds a fixed scalar to this one.
(Inherited from Scalar.) | |

Add(Scalar) |
Adds another scalar to this one.
(Inherited from Scalar.) | |

CheckForSameDefinition(DefinitionalObject) |
Checks to determine if another instance has the same definition as this instance and
returns if it does. Derived classes MUST override this method and check
all new fields introduced by the derived class for definitional equivalence. It is NOT necessary
to check base class fields because the base class will already have done that. When overriding this method,
you should NOT call the base implementation because it will return for all derived-class instances.
Derived classes should check the type of other to preserve the symmetric nature of IsSameDefinition(Object).
(Inherited from Scalar.) | |

CheckForSameDefinition(Scalar) |
Checks to determine if another instance has the same definition as this instance and
returns if it does. Derived classes MUST override this method and check
all new fields introduced by the derived class for definitional equivalence. It is NOT necessary
to check base class fields because the base class will already have done that. When overriding this method,
you should NOT call the base implementation because it will return for all derived-class instances.
Derived classes should check the type of other to preserve the symmetric nature of IsSameDefinition(Object).
(Inherited from ScalarAtmosphericDensity.) | |

CheckForSameDefinition(ScalarAtmosphericDensity) |
Checks to determine if another instance has the same definition as this instance and
returns if it does. Derived classes MUST override this method and check
all new fields introduced by the derived class for definitional equivalence. It is NOT necessary
to check base class fields because the base class will already have done that. When overriding this method,
you should NOT call the base implementation because it will return for all derived-class instances.
Derived classes should check the type of other to preserve the symmetric nature of IsSameDefinition(Object).
(Overrides ScalarAtmosphericDensityCheckForSameDefinition(ScalarAtmosphericDensity).) | |

CheckForSameDefinition(ScalarDensityMsis86) | ||

Clone |
Clones this object using the specified context.
(Overrides DefinitionalObjectClone(CopyContext).) | |

ComputeCurrentDefinitionHashCode |
Computes a hash code based on the current properties of this object. Derived classes MUST override this
method and compute a hash code that combines: a unique hash code seed, the base implementation result, and
the hash codes of all new fields introduced by the derived class which are used in the
CheckForSameDefinition(DefinitionalObject) method.
(Overrides ScalarAtmosphericDensityComputeCurrentDefinitionHashCode.) | |

CreateScalarDerivative |
Constructs a scalar which represents a derivative of this scalar.
(Inherited from Scalar.) | |

Divide(Double) |
Divides this scalar (numerator) by a fixed value (denominator).
(Inherited from Scalar.) | |

Divide(Scalar) |
Divides this scalar (numerator) by another one (denominator).
(Inherited from Scalar.) | |

EnumerateDependencies |
Enumerates the dependencies of this object by calling
EnumerateT(T) for each object that this object directly depends upon.
Derived classes which contain additional dependencies MUST override this method, call the base
implementation, and enumerate dependencies introduced by the derived class.
(Inherited from ScalarAtmosphericDensity.) | |

Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |

Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |

Freeze |
Freezes this object. Further attempts to modify it will result
in an ObjectFrozenException.
(Inherited from DefinitionalObject.) | |

FreezeAggregatedObjects |
Called by Freeze to also freeze any objects that are considered to be a part of this object.
Derived classes which contain additional aggregated objects MUST override this method, call the base
implementation, and freeze aggregated objects introduced by the derived class. The objects that need to be
frozen in this method are frequently created in this object's constructor and are not settable via
properties.
(Inherited from DefinitionalObject.) | |

GetDefinitionHashCode |
Gets a hash code representing the definition of this object.
(Inherited from DefinitionalObject.) | |

GetEvaluator |
Gets an evaluator that can be used to find the value of this scalar function at a given JulianDate.
(Inherited from Scalar.) | |

GetEvaluator(EvaluatorGroup) |
Gets an evaluator that calculates Density according to the MSIS 1986 density model.
(Overrides ScalarGetEvaluator(EvaluatorGroup).) | |

GetHashCode | Serves as the default hash function. (Inherited from Object.) | |

GetPartialDerivativesEvaluator |
Gets an evaluator that calculates the partial derivatives of the density
with respect to any of the independentVariables parameters that apply, generally the position.
| |

GetType | Gets the Type of the current instance. (Inherited from Object.) | |

IsSameDefinition |
Determines if this object has the same definition as another object.
(Inherited from DefinitionalObject.) | |

MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |

Multiply(Double) |
Multiplies this scalar with a fixed value.
(Inherited from Scalar.) | |

Multiply(Scalar) |
Multiplies another scalar with this one.
(Inherited from Scalar.) | |

Power |
Raises this scalar to the given fixed exponent.
(Inherited from Scalar.) | |

SetApparentSunPosition | (Inherited from ScalarAtmosphericDensity.) | |

SetTrueSunPosition | (Inherited from ScalarAtmosphericDensity.) | |

Subtract(Double) |
Subtracts a fixed scalar from this one.
(Inherited from Scalar.) | |

Subtract(Scalar) |
Subtracts another scalar from this one.
(Inherited from Scalar.) | |

ThrowIfFrozen |
Throws ObjectFrozenException if this object IsFrozen.
This method should be called from any method or property that modifies this object.
(Inherited from DefinitionalObject.) | |

ToString | Returns a string that represents the current object. (Inherited from Object.) |

See Also