Class AbstractGlobalPressureTemperature
- java.lang.Object
-
- org.orekit.models.earth.weather.AbstractGlobalPressureTemperature
-
- All Implemented Interfaces:
AzimuthalGradientProvider
,ViennaAProvider
,PressureTemperatureHumidityProvider
- Direct Known Subclasses:
GlobalPressureTemperature2
,GlobalPressureTemperature2w
,GlobalPressureTemperature3
public abstract class AbstractGlobalPressureTemperature extends Object implements ViennaAProvider, AzimuthalGradientProvider, PressureTemperatureHumidityProvider
Base class for Global Pressure and Temperature 2, 2w and 3 models. These models are empirical models that provide the temperature, the pressure and the water vapor pressure of a site depending its latitude and longitude. These models alsoprovide
the ah and aw coefficients for Vienna models.The requisite coefficients for the computation of the weather parameters are provided by the Department of Geodesy and Geoinformation of the Vienna University. They are based on an external grid file like "gpt2_1.grd" (1° x 1°), "gpt2_5.grd" (5° x 5°), "gpt2_1w.grd" (1° x 1°), "gpt2_5w.grd" (5° x 5°), "gpt3_1.grd" (1° x 1°), or "gpt3_5.grd" (5° x 5°) available at: link
A bilinear interpolation is performed in order to obtained the correct values of the weather parameters.
The format is always the same, with and example shown below for the pressure and the temperature. The "GPT2w" model (w stands for wet) also provide humidity parameters and the "GPT3" model also provides horizontal gradient, so the number of columns vary depending on the model.
Example:
% lat lon p:a0 A1 B1 A2 B2 T:a0 A1 B1 A2 B2 87.5 2.5 101421 21 409 -217 -122 259.2 -13.2 -6.1 2.6 0.3 87.5 7.5 101416 21 411 -213 -120 259.3 -13.1 -6.1 2.6 0.3 87.5 12.5 101411 22 413 -209 -118 259.3 -13.1 -6.1 2.6 0.3 87.5 17.5 101407 23 415 -205 -116 259.4 -13.0 -6.1 2.6 0.3 ...
- Since:
- 12.1
- Author:
- Bryan Cazabonne, Luc Maisonobe
- See Also:
- "K. Lagler, M. Schindelegger, J. Böhm, H. Krasna, T. Nilsson (2013), GPT2: empirical slant delay model for radio space geodetic techniques. Geophys Res Lett 40(6):1069–1073. doi:10.1002/grl.50288"
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractGlobalPressureTemperature(DataSource source, SeasonalModelType... expected)
Constructor with source of GPTn auxiliary data given by user.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract double
deltaRef(AbsoluteDate date)
Get duration since reference date.protected abstract <T extends CalculusFieldElement<T>>
TdeltaRef(FieldAbsoluteDate<T> date)
Get duration since reference date.<T extends CalculusFieldElement<T>>
FieldViennaACoefficients<T>getA(FieldGeodeticPoint<T> location, FieldAbsoluteDate<T> date)
Get coefficients array for VMF mapping function.ViennaACoefficients
getA(GeodeticPoint location, AbsoluteDate date)
Get coefficients array for VMF mapping function.<T extends CalculusFieldElement<T>>
FieldAzimuthalGradientCoefficients<T>getGradientCoefficients(FieldGeodeticPoint<T> location, FieldAbsoluteDate<T> date)
Get azimuthal asymmetry gradients.AzimuthalGradientCoefficients
getGradientCoefficients(GeodeticPoint location, AbsoluteDate date)
Get azimuthal asymmetry gradients.<T extends CalculusFieldElement<T>>
FieldPressureTemperatureHumidity<T>getWeatherParameters(FieldGeodeticPoint<T> location, FieldAbsoluteDate<T> date)
Provide weather parameters.PressureTemperatureHumidity
getWeatherParameters(GeodeticPoint location, AbsoluteDate date)
Provide weather parameters.
-
-
-
Constructor Detail
-
AbstractGlobalPressureTemperature
protected AbstractGlobalPressureTemperature(DataSource source, SeasonalModelType... expected) throws IOException
Constructor with source of GPTn auxiliary data given by user.- Parameters:
source
- grid data sourceexpected
- expected seasonal models types- Throws:
IOException
- if grid data cannot be read
-
-
Method Detail
-
deltaRef
protected abstract double deltaRef(AbsoluteDate date)
Get duration since reference date.- Parameters:
date
- date- Returns:
- duration since reference date
- Since:
- 13.0
-
deltaRef
protected abstract <T extends CalculusFieldElement<T>> T deltaRef(FieldAbsoluteDate<T> date)
Get duration since reference date.- Type Parameters:
T
- type of the field elements- Parameters:
date
- date- Returns:
- duration since reference date
- Since:
- 13.0
-
getA
public ViennaACoefficients getA(GeodeticPoint location, AbsoluteDate date)
Get coefficients array for VMF mapping function.- double[0] = ah
- double[1] = aw
- Specified by:
getA
in interfaceViennaAProvider
- Parameters:
location
- location at which parameters are requesteddate
- date at which parameters are requested- Returns:
- the coefficients array for VMF mapping function
-
getWeatherParameters
public PressureTemperatureHumidity getWeatherParameters(GeodeticPoint location, AbsoluteDate date)
Provide weather parameters.- Specified by:
getWeatherParameters
in interfacePressureTemperatureHumidityProvider
- Parameters:
location
- location at which parameters are requesteddate
- date at which parameters are requested- Returns:
- weather parameters
-
getGradientCoefficients
public AzimuthalGradientCoefficients getGradientCoefficients(GeodeticPoint location, AbsoluteDate date)
Get azimuthal asymmetry gradients.- Specified by:
getGradientCoefficients
in interfaceAzimuthalGradientProvider
- Parameters:
location
- location at which parameters are requesteddate
- date at which parameters are requested- Returns:
- azimuthal asymmetry gradients or null if no gradients are available
-
getA
public <T extends CalculusFieldElement<T>> FieldViennaACoefficients<T> getA(FieldGeodeticPoint<T> location, FieldAbsoluteDate<T> date)
Get coefficients array for VMF mapping function.- double[0] = ah
- double[1] = aw
- Specified by:
getA
in interfaceViennaAProvider
- Type Parameters:
T
- type of the field elements- Parameters:
location
- location at which parameters are requesteddate
- date at which parameters are requested- Returns:
- the coefficients array for VMF mapping function
-
getWeatherParameters
public <T extends CalculusFieldElement<T>> FieldPressureTemperatureHumidity<T> getWeatherParameters(FieldGeodeticPoint<T> location, FieldAbsoluteDate<T> date)
Provide weather parameters.- Specified by:
getWeatherParameters
in interfacePressureTemperatureHumidityProvider
- Type Parameters:
T
- type of the field elements- Parameters:
location
- location at which parameters are requesteddate
- date at which parameters are requested- Returns:
- weather parameters
-
getGradientCoefficients
public <T extends CalculusFieldElement<T>> FieldAzimuthalGradientCoefficients<T> getGradientCoefficients(FieldGeodeticPoint<T> location, FieldAbsoluteDate<T> date)
Get azimuthal asymmetry gradients.- Specified by:
getGradientCoefficients
in interfaceAzimuthalGradientProvider
- Type Parameters:
T
- type of the field elements- Parameters:
location
- location at which parameters are requesteddate
- date at which parameters are requested- Returns:
- azimuthal asymmetry gradients or null if no gradients are available
-
-