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.
public class ScalarDensityMsis86 : ScalarAtmosphericDensity, IPartialDifferentiable, IEquatableDefinition
Public Class ScalarDensityMsis86 Inherits ScalarAtmosphericDensity Implements IPartialDifferentiable, IEquatableDefinition
public ref class ScalarDensityMsis86 : public ScalarAtmosphericDensity, IPartialDifferentiable, IEquatableDefinition
type ScalarDensityMsis86 = class inherit ScalarAtmosphericDensity interface IPartialDifferentiable interface IEquatableDefinition end
Thetype exposes the following members.
Initializes a Scalar representing the MSIS 1986 model of atmospheric density using the target point and solar-geophysical data.
Initializes a new instance as a copy of an existing instance.
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.
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.)
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.
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.
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.)
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.)
Gets or sets the solar and magnetic flux information.(Inherited from ScalarAtmosphericDensity.)
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.
Gets or sets the target point describing the time-varying position at which density is to be calculated.(Inherited from ScalarAtmosphericDensity.)
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.)
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.)
Adds a fixed scalar to this one.(Inherited from Scalar.)
Adds another scalar to this one.(Inherited from Scalar.)
Clones this object using the specified context.(Overrides DefinitionalObjectClone(CopyContext).)
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.)
Constructs a scalar which represents a derivative of this scalar.(Inherited from Scalar.)
Divides this scalar (numerator) by a fixed value (denominator).(Inherited from Scalar.)
Divides this scalar (numerator) by another one (denominator).(Inherited from Scalar.)
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.)
Determines whether the specified object is equal to the current object.(Inherited from Object.)
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)
Freezes this object. Further attempts to modify it will result in an ObjectFrozenException.(Inherited from DefinitionalObject.)
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.)
Gets a hash code representing the definition of this object.(Inherited from DefinitionalObject.)
Gets an evaluator that can be used to find the value of this scalar function at a given JulianDate.(Inherited from Scalar.)
Gets an evaluator that calculates Density according to the MSIS 1986 density model.(Overrides ScalarGetEvaluator(EvaluatorGroup).)
Serves as the default hash function.(Inherited from Object.)
Gets an evaluator that calculates the partial derivatives of the density with respect to any of the independentVariables parameters that apply, generally the position.
Gets the Type of the current instance.(Inherited from Object.)
Determines if this object has the same definition as another object.(Inherited from DefinitionalObject.)
Creates a shallow copy of the current Object.(Inherited from Object.)
Multiplies this scalar with a fixed value.(Inherited from Scalar.)
Multiplies another scalar with this one.(Inherited from Scalar.)
Raises this scalar to the given fixed exponent.(Inherited from Scalar.)
Subtracts a fixed scalar from this one.(Inherited from Scalar.)
Subtracts another scalar from this one.(Inherited from Scalar.)
Throws ObjectFrozenException if this object IsFrozen. This method should be called from any method or property that modifies this object.(Inherited from DefinitionalObject.)
Returns a string that represents the current object.(Inherited from Object.)