Class DTM2000

All Implemented Interfaces:
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)
  • Constructor Details

  • Method Details

    • 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³)