Class MendesPavlisModel

  • All Implemented Interfaces:
    DiscreteTroposphericModel, MappingFunction, ParameterDriversProvider

    public class MendesPavlisModel
    extends Object
    implements DiscreteTroposphericModel, MappingFunction
    The Mendes - Pavlis tropospheric delay model for optical techniques. It is valid for a wide range of wavelengths from 0.355µm to 1.064µm (Mendes and Pavlis, 2003)
    Author:
    Bryan Cazabonne
    See Also:
    "Mendes, V. B., & Pavlis, E. C. (2004). High‐accuracy zenith delay prediction at optical wavelengths. Geophysical Research Letters, 31(14).", "Petit, G. and Luzum, B. (eds.), IERS Conventions (2010), IERS Technical Note No. 36, BKG (2010)"
    • Constructor Detail

      • MendesPavlisModel

        public MendesPavlisModel​(double t0,
                                 double p0,
                                 double rh,
                                 double lambda)
        Create a new Mendes-Pavlis model for the troposphere. This initialisation will compute the water vapor pressure thanks to the values of the pressure, the temperature and the humidity
        Parameters:
        t0 - the temperature at the station, K
        p0 - the atmospheric pressure at the station, hPa
        rh - the humidity at the station, percent (50% → 0.5)
        lambda - laser wavelength, µm
    • Method Detail

      • getStandardModel

        public static MendesPavlisModel getStandardModel​(double lambda)
        Create a new Mendes-Pavlis model using a standard atmosphere model.
        • temperature: 18 degree Celsius
        • pressure: 1013.25 hPa
        • humidity: 50%
        Parameters:
        lambda - laser wavelength, µm
        Returns:
        a Mendes-Pavlis model with standard environmental values
      • pathDelay

        public double pathDelay​(double elevation,
                                GeodeticPoint point,
                                double[] parameters,
                                AbsoluteDate date)
        Calculates the tropospheric path delay for the signal path from a ground station to a satellite.
        Specified by:
        pathDelay in interface DiscreteTroposphericModel
        Parameters:
        elevation - the elevation of the satellite, in radians
        point - station location
        parameters - tropospheric model parameters
        date - current date
        Returns:
        the path delay due to the troposphere in m
      • pathDelay

        public <T extends CalculusFieldElement<T>> T pathDelay​(T elevation,
                                                               FieldGeodeticPoint<T> point,
                                                               T[] parameters,
                                                               FieldAbsoluteDate<T> date)
        Calculates the tropospheric path delay for the signal path from a ground station to a satellite.
        Specified by:
        pathDelay in interface DiscreteTroposphericModel
        Type Parameters:
        T - type of the elements
        Parameters:
        elevation - the elevation of the satellite, in radians
        point - station location
        parameters - tropospheric model parameters at current date
        date - current date
        Returns:
        the path delay due to the troposphere in m
      • computeZenithDelay

        public double[] computeZenithDelay​(GeodeticPoint point,
                                           double[] parameters,
                                           AbsoluteDate date)
        This method allows the computation of the zenith hydrostatic and zenith wet delay. The resulting element is an array having the following form:
        • double[0] = Dhz → zenith hydrostatic delay
        • double[1] = Dwz → zenith wet delay
        Parameters:
        point - station location
        parameters - tropospheric model parameters
        date - current date
        Returns:
        a two components array containing the zenith hydrostatic and wet delays.
      • computeZenithDelay

        public <T extends CalculusFieldElement<T>> T[] computeZenithDelay​(FieldGeodeticPoint<T> point,
                                                                          T[] parameters,
                                                                          FieldAbsoluteDate<T> date)
        This method allows the computation of the zenith hydrostatic and zenith wet delay. The resulting element is an array having the following form:
        • T[0] = Dhz → zenith hydrostatic delay
        • T[1] = Dwz → zenith wet delay
        Type Parameters:
        T - type of the elements
        Parameters:
        point - station location
        parameters - tropospheric model parameters
        date - current date
        Returns:
        a two components array containing the zenith hydrostatic and wet delays.
      • mappingFactors

        public double[] mappingFactors​(double elevation,
                                       GeodeticPoint point,
                                       AbsoluteDate date)
        With the Mendes Pavlis tropospheric model, the mapping function is not split into hydrostatic and wet component.

        Therefore, the two components of the resulting array are equals.

        • double[0] = m(e) → total mapping function
        • double[1] = m(e) → total mapping function

        The total delay will thus be computed as:
        δ = Dhz * m(e) + Dwz * m(e)
        δ = (Dhz + Dwz) * m(e) = δz * m(e)

        Specified by:
        mappingFactors in interface MappingFunction
        Parameters:
        elevation - the elevation of the satellite, in radians
        point - station location
        date - current date
        Returns:
        a two components array containing the hydrostatic and wet mapping functions.
      • mappingFactors

        public <T extends CalculusFieldElement<T>> T[] mappingFactors​(T elevation,
                                                                      FieldGeodeticPoint<T> point,
                                                                      FieldAbsoluteDate<T> date)
        With the Mendes Pavlis tropospheric model, the mapping function is not split into hydrostatic and wet component.

        Therefore, the two components of the resulting array are equals.

        • double[0] = m(e) → total mapping function
        • double[1] = m(e) → total mapping function

        The total delay will thus be computed as:
        δ = Dhz * m(e) + Dwz * m(e)
        δ = (Dhz + Dwz) * m(e) = δz * m(e)

        Specified by:
        mappingFactors in interface MappingFunction
        Type Parameters:
        T - type of the elements
        Parameters:
        elevation - the elevation of the satellite, in radians
        point - station location
        date - current date
        Returns:
        a two components array containing the hydrostatic and wet mapping functions.