//  *************************************************************************
        /// @name Temperature access functions.
        /// There are several ways to get the temperature, and several modeled
        /// temperature values that can be retrieved. The U.S. Standard Atmosphere
        /// temperature either at a specified altitude, or at sea level can be
        /// retrieved. These two temperatures do NOT include the effects of any bias
        /// or delta gradient that may have been supplied by the user. The modeled
        /// temperature and the modeled temperature at sea level can also be
        /// retrieved. These two temperatures DO include the effects of an optionally
        /// user-supplied bias or delta gradient.
        // @{
        /// Returns the actual modeled temperature in degrees Rankine at a specified
        /// altitude.
        /// @param altitude The altitude above sea level (ASL) in feet.
        /// @return Modeled temperature in degrees Rankine at the specified altitude.
        public override double GetTemperature(double altitude)
        {
            double GeoPotAlt = GeopotentialAltitude(altitude);

            double T;

            if (GeoPotAlt >= 0.0)
            {
                T = StdAtmosTemperatureTable.GetValue(GeoPotAlt);

                if (GeoPotAlt <= gradientFadeoutAltitude)
                {
                    T -= temperatureDeltaGradient * GeoPotAlt;
                }
            }
            else
            {
                // We don't need to add TemperatureDeltaGradient*GeoPotAlt here because
                // the lapse rate vector already accounts for the temperature gradient.
                T = StdAtmosTemperatureTable.GetValue(0.0) + GeoPotAlt * LapseRates[0];
            }

            T += temperatureBias;

            if (GeoPotAlt <= gradientFadeoutAltitude)
            {
                T += temperatureDeltaGradient * gradientFadeoutAltitude;
            }

            return(T);
        }
        /// Returns the standard temperature in degrees Rankine at a specified
        /// altitude.
        /// @param altitude The altitude in feet above sea level (ASL) to get the
        ///                 temperature at.
        /// @return The STANDARD temperature in degrees Rankine at the specified
        ///         altitude.
        public virtual double GetStdTemperature(double altitude)
        {
            double GeoPotAlt = GeopotentialAltitude(altitude);

            if (GeoPotAlt >= 0.0)
            {
                return(StdAtmosTemperatureTable.GetValue(GeoPotAlt));
            }
            else
            {
                return(StdAtmosTemperatureTable.GetValue(0.0) + GeoPotAlt * LapseRates[0]);
            }
        }