Class DTM2000

  • All Implemented Interfaces:
    Serializable, Atmosphere

    public class DTM2000
    extends Object
    implements Atmosphere
    This atmosphere model is the realization of the DTM-2000 model.

    It is described in the paper:
    The DTM-2000 empirical thermosphere model with new data assimilation and constraints at lower boundary: accuracy and properties
    S. Bruinsma, G. Thuillier and F. Barlier
    Journal of Atmospheric and Solar-Terrestrial Physics 65 (2003) 1053–1070

    This model provides dense output for altitudes beyond 120 km.

    The model needs geographical and time information to compute general values, but also needs space weather data : mean and instantaneous solar flux and geomagnetic indices.

    Mean solar flux is (for the moment) represented by the F10.7 indices. Instantaneous flux can be set to the mean value if the data is not available. Geomagnetic activity is represented by the Kp indice, which goes from 1 (very low activity) to 9 (high activity).

    All these data can be found on the NOAA (National Oceanic and Atmospheric Administration) website.

    Author:
    R. Biancale, S. Bruinsma: original fortran routine, Fabien Maussion (java translation)
    See Also:
    Serialized Form
    • Field Detail

      • ATOMIC_OXYGEN

        public static final int ATOMIC_OXYGEN
        Identifier for atomic oxygen.
        See Also:
        Constant Field Values
      • MOLECULAR_NITROGEN

        public static final int MOLECULAR_NITROGEN
        Identifier for molecular nitrogen.
        See Also:
        Constant Field Values
      • MOLECULAR_OXYGEN

        public static final int MOLECULAR_OXYGEN
        Identifier for molecular oxygen.
        See Also:
        Constant Field Values
      • ATOMIC_NITROGEN

        public static final int ATOMIC_NITROGEN
        Identifier for atomic nitrogen.
        See Also:
        Constant Field Values
    • Constructor Detail

      • DTM2000

        public DTM2000​(DTM2000InputParameters parameters,
                       PVCoordinatesProvider sun,
                       BodyShape earth)
        Simple constructor for independent computation.
        Parameters:
        parameters - the solar and magnetic activity data
        sun - the sun position
        earth - the earth body shape
    • Method Detail

      • getFrame

        public Frame getFrame()
        Get the frame of the central body.
        Specified by:
        getFrame in interface Atmosphere
        Returns:
        frame of the central body.
      • getDensity

        public double getDensity​(int day,
                                 double alti,
                                 double lon,
                                 double lat,
                                 double hl,
                                 double f,
                                 double fbar,
                                 double akp3,
                                 double akp24)
        Get the local density with initial entries.
        Parameters:
        day - day of year
        alti - altitude in meters
        lon - local longitude (rad)
        lat - local latitude (rad)
        hl - local solar time in rad (O hr = 0 rad)
        f - instantaneous solar flux (F10.7)
        fbar - mean solar flux (F10.7)
        akp3 - 3 hrs geomagnetic activity index (1-9)
        akp24 - Mean of last 24 hrs geomagnetic activity index (1-9)
        Returns:
        the local density (kg/m³)
      • getDensity

        public <T extends org.hipparchus.RealFieldElement<T>> T getDensity​(int day,
                                                                           T alti,
                                                                           T lon,
                                                                           T lat,
                                                                           T hl,
                                                                           double f,
                                                                           double fbar,
                                                                           double akp3,
                                                                           double akp24)
        Get the local density with initial entries.
        Type Parameters:
        T - type of the field elements
        Parameters:
        day - day of year
        alti - altitude in meters
        lon - local longitude (rad)
        lat - local latitude (rad)
        hl - local solar time in rad (O hr = 0 rad)
        f - instantaneous solar flux (F10.7)
        fbar - mean solar flux (F10.7)
        akp3 - 3 hrs geomagnetic activity index (1-9)
        akp24 - Mean of last 24 hrs geomagnetic activity index (1-9)
        Returns:
        the local density (kg/m³)
        Since:
        9.0
      • getDensity

        public double getDensity​(AbsoluteDate date,
                                 org.hipparchus.geometry.euclidean.threed.Vector3D position,
                                 Frame frame)
        Get the local density.
        Specified by:
        getDensity in interface Atmosphere
        Parameters:
        date - current date
        position - current position in frame
        frame - the frame in which is defined the position
        Returns:
        local density (kg/m³)
      • getDensity

        public <T extends org.hipparchus.RealFieldElement<T>> T getDensity​(FieldAbsoluteDate<T> date,
                                                                           org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> position,
                                                                           Frame frame)
        Get the local density.
        Specified by:
        getDensity in interface Atmosphere
        Type Parameters:
        T - instance of RealFieldElement
        Parameters:
        date - current date
        position - current position in frame
        frame - the frame in which is defined the position
        Returns:
        local density (kg/m³)