Class ViennaModelCoefficientsLoader
- All Implemented Interfaces:
DataLoader
A bilinear interpolation is performed the case of the user initialize the latitude and the longitude with values that are not contained in the stream.
The coefficients are obtained from Vienna Mapping Functions Open Access Data. Find more on the files at the VMF Model Documentation.
The files have to be extracted to UTF-8 text files before being read by this loader.
After extraction, it is assumed they are named VMFG_YYYYMMDD.Hhh for ViennaOne and VMF3_YYYYMMDD.Hhh ViennaThree.
Where YYYY is the 4-digits year, MM the month, DD the day and hh the 2-digits hour.
The format is always the same, with and example shown below for VMF1 model.
Example:
! Version: 1.0 ! Source: J. Boehm, TU Vienna (created: 2018-11-20) ! Data_types: VMF1 (lat lon ah aw zhd zwd) ! Epoch: 2018 11 19 18 00 0.0 ! Scale_factor: 1.e+00 ! Range/resolution: -90 90 0 360 2 2.5 ! Comment: https://vmf.geo.tuwien.ac.at/trop_products/GRID/2.5x2/VMF1/VMF1_OP/ 90.0 0.0 0.00116059 0.00055318 2.3043 0.0096 90.0 2.5 0.00116059 0.00055318 2.3043 0.0096 90.0 5.0 0.00116059 0.00055318 2.3043 0.0096 90.0 7.5 0.00116059 0.00055318 2.3043 0.0096 90.0 10.0 0.00116059 0.00055318 2.3043 0.0096 90.0 12.5 0.00116059 0.00055318 2.3043 0.0096 90.0 15.0 0.00116059 0.00055318 2.3043 0.0096 90.0 17.5 0.00116059 0.00055318 2.3043 0.0096 90.0 20.0 0.00116059 0.00055318 2.3043 0.0096 90.0 22.5 0.00116059 0.00055318 2.3043 0.0096 90.0 25.0 0.00116059 0.00055318 2.3043 0.0096 90.0 27.5 0.00116059 0.00055318 2.3043 0.0096
It is not safe for multiple threads to share a single instance of this class.
- Author:
- Bryan Cazabonne
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionViennaModelCoefficientsLoader(double latitude, double longitude, ViennaModelType type) Constructor with default supported names.ViennaModelCoefficientsLoader(String supportedNames, double latitude, double longitude, ViennaModelType type) Constructor with supported names given by user.ViennaModelCoefficientsLoader(String supportedNames, double latitude, double longitude, ViennaModelType type, DataProvidersManager dataProvidersManager) Constructor with supported names and source of mapping function files given by the user. -
Method Summary
Modifier and TypeMethodDescriptiondouble[]getA()Returns the a coefficients array.Get the supported names regular expression.double[]Returns the zenith delay array.voidloadData(InputStream input, String name) Load data from a stream.voidLoad the data using supported names .voidloadViennaCoefficients(DateTimeComponents dateTimeComponents) Load the data for a given day.booleanCheck if the loader still accepts new data.Methods inherited from class org.orekit.data.AbstractSelfFeedingLoader
feed, getDataProvidersManager, setSupportedNames
-
Field Details
-
DEFAULT_SUPPORTED_NAMES
Default supported files name pattern.- See Also:
-
-
Constructor Details
-
ViennaModelCoefficientsLoader
@DefaultDataContext public ViennaModelCoefficientsLoader(String supportedNames, double latitude, double longitude, ViennaModelType type) Constructor with supported names given by user. This constructor uses thedefault data context.- Parameters:
supportedNames- Supported nameslatitude- geodetic latitude of the station, in radianslongitude- geodetic latitude of the station, in radianstype- the type of Vienna tropospheric model (one or three)- See Also:
-
ViennaModelCoefficientsLoader
public ViennaModelCoefficientsLoader(String supportedNames, double latitude, double longitude, ViennaModelType type, DataProvidersManager dataProvidersManager) Constructor with supported names and source of mapping function files given by the user.- Parameters:
supportedNames- Supported nameslatitude- geodetic latitude of the station, in radianslongitude- geodetic latitude of the station, in radianstype- the type of Vienna tropospheric model (one or three)dataProvidersManager- provides access to auxiliary files.- Since:
- 10.1
-
ViennaModelCoefficientsLoader
@DefaultDataContext public ViennaModelCoefficientsLoader(double latitude, double longitude, ViennaModelType type) Constructor with default supported names. This constructor uses thedefault data context.- Parameters:
latitude- geodetic latitude of the station, in radianslongitude- geodetic latitude of the station, in radianstype- the type of Vienna tropospheric model (one or three)- See Also:
-
-
Method Details
-
getA
public double[] getA()Returns the a coefficients array.- double[0] = ah
- double[1] = aw
- Returns:
- the a coefficients array
-
getZenithDelay
public double[] getZenithDelay()Returns the zenith delay array.- double[0] = Dhz → zenith hydrostatic delay
- double[1] = Dwz → zenith wet delay
- Returns:
- the zenith delay array
-
getSupportedNames
Description copied from class:AbstractSelfFeedingLoaderGet the supported names regular expression.- Overrides:
getSupportedNamesin classAbstractSelfFeedingLoader- Returns:
- the supported names.
- See Also:
-
loadViennaCoefficients
public void loadViennaCoefficients()Load the data using supported names . -
loadViennaCoefficients
Load the data for a given day.- Parameters:
dateTimeComponents- date and time component.
-
stillAcceptsData
public boolean stillAcceptsData()Description copied from interface:DataLoaderCheck if the loader still accepts new data.This method is used to speed up data loading by interrupting crawling the data sets as soon as a loader has found the data it was waiting for. For loaders that can merge data from any number of sources (for example JPL ephemerides or Earth Orientation Parameters that are split among several files), this method should always return true to make sure no data is left over.
- Specified by:
stillAcceptsDatain interfaceDataLoader- Returns:
- true while the loader still accepts new data
-
loadData
Description copied from interface:DataLoaderLoad data from a stream.- Specified by:
loadDatain interfaceDataLoader- Parameters:
input- data input streamname- name of the file (or zip entry)- Throws:
IOException- if data can't be readParseException- if data can't be parsed or if some loader specific error occurs
-