Class DTM2000

  • All Implemented Interfaces:
    Serializable, Atmosphere

    public class DTM2000
    extends AbstractSunInfluencedAtmosphere
    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 index, 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
    • Method Detail

      • getFrame

        public Frame getFrame()
        Get the frame of the central body.
        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 CalculusFieldElement<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,
                                 Vector3D position,
                                 Frame frame)
        Get the local density.
        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 CalculusFieldElement<T>> T getDensity​(FieldAbsoluteDate<T> date,
                                                                FieldVector3D<T> position,
                                                                Frame frame)
        Get the local density.
        Type Parameters:
        T - instance of CalculusFieldElement
        Parameters:
        date - current date
        position - current position in frame
        frame - the frame in which is defined the position
        Returns:
        local density (kg/m³)