Class MendesPavlisModel

  • All Implemented Interfaces:
    TroposphereMappingFunction, TroposphericModel, ParameterDriversProvider

    public class MendesPavlisModel
    extends Object
    implements TroposphericModel, TroposphereMappingFunction
    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)"
    • Method Detail

      • getStandardModel

        public static MendesPavlisModel getStandardModel​(double lambda,
                                                         Unit lambdaUnits)
        Create a new Mendes-Pavlis model using a standard atmosphere model.
        • altitude: 0m
        • temperature: 18 degree Celsius
        • pressure: 1013.25 hPa
        • humidity: 50%
        Parameters:
        lambda - laser wavelength, µm
        lambdaUnits - units in which lambda is given
        Returns:
        a Mendes-Pavlis model with standard environmental values
        Since:
        12.1
        See Also:
        TroposphericModelUtils.MICRO_M, TroposphericModelUtils.NANO_M
      • pathDelay

        public TroposphericDelay pathDelay​(TrackingCoordinates trackingCoordinates,
                                           GeodeticPoint point,
                                           PressureTemperatureHumidity weather,
                                           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 TroposphericModel
        Parameters:
        trackingCoordinates - tracking coordinates of the satellite
        point - station location
        weather - weather parameters
        parameters - tropospheric model parameters
        date - current date
        Returns:
        the path delay due to the troposphere
      • computeZenithDelay

        public double[] computeZenithDelay​(GeodeticPoint point,
                                           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
        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,
                                                                          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
        date - current date
        Returns:
        a two components array containing the zenith hydrostatic and wet delays.
      • mappingFactors

        public double[] mappingFactors​(TrackingCoordinates trackingCoordinates,
                                       GeodeticPoint point,
                                       PressureTemperatureHumidity weather,
                                       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 TroposphereMappingFunction
        Parameters:
        trackingCoordinates - tracking coordinates of the satellite
        point - station location
        weather - weather parameters
        date - current date
        Returns:
        a two components array containing the hydrostatic and wet mapping functions.
      • mappingFactors

        public <T extends CalculusFieldElement<T>> T[] mappingFactors​(FieldTrackingCoordinates<T> trackingCoordinates,
                                                                      FieldGeodeticPoint<T> point,
                                                                      FieldPressureTemperatureHumidity<T> weather,
                                                                      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 TroposphereMappingFunction
        Type Parameters:
        T - type of the elements
        Parameters:
        trackingCoordinates - tracking coordinates of the satellite
        point - station location
        weather - weather parameters
        date - current date
        Returns:
        a two components array containing the hydrostatic and wet mapping functions.