Class ICGEMFormatReader
- java.lang.Object
-
- org.orekit.forces.gravity.potential.PotentialCoefficientsReader
-
- org.orekit.forces.gravity.potential.ICGEMFormatReader
-
- All Implemented Interfaces:
DataLoader
public class ICGEMFormatReader extends PotentialCoefficientsReader
Reader for the ICGEM gravity field format.This format is used to describe the gravity field of EIGEN models published by the GFZ Potsdam since 2004. It is described in Franz Barthelmes and Christoph Förste paper: "the ICGEM-format". The 2006-02-28 version of this paper can be found here and the 2011-06-07 version of this paper can be found here. These versions differ in time-dependent coefficients, which are linear-only prior to 2011 (up to eigen-5 model) and have also harmonic effects after that date (starting with eigen-6 model). A third (undocumented as of 2018-05-14) version of the file format also adds a time-span for time-dependent coefficients, allowing for piecewise models. All three versions are supported by the class.
This reader uses relaxed check on the gravity constant key so any key ending in gravity_constant is accepted and not only earth_gravity_constant as specified in the previous documents. This allows to read also non Earth gravity fields as found in ICGEM - Gravity Field Models of other Celestial Bodies page to be read.
The proper way to use this class is to call the
GravityFieldFactory
which will determine which reader to use with the selected gravity field file.- Author:
- Luc Maisonobe
- See Also:
GravityFields
-
-
Constructor Summary
Constructors Constructor Description ICGEMFormatReader(String supportedNames, boolean missingCoefficientsAllowed)
Simple constructor.ICGEMFormatReader(String supportedNames, boolean missingCoefficientsAllowed, TimeScale timeScale)
Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RawSphericalHarmonicsProvider
getProvider(boolean wantNormalized, int degree, int order)
Get a provider for read spherical harmonics coefficients.void
loadData(InputStream input, String name)
Load data from a stream.-
Methods inherited from class org.orekit.forces.gravity.potential.PotentialCoefficientsReader
buildFlatArray, buildRow, getAe, getBaseProvider, getMaxAvailableDegree, getMaxAvailableOrder, getMaxParseDegree, getMaxParseOrder, getMu, getSupportedNames, getTideSystem, missingCoefficientsAllowed, parseCoefficient, parseDouble, rescale, rescale, setAe, setMaxParseDegree, setMaxParseOrder, setMu, setRawCoefficients, setReadComplete, setTideSystem, stillAcceptsData, toDate, toDate
-
-
-
-
Constructor Detail
-
ICGEMFormatReader
@DefaultDataContext public ICGEMFormatReader(String supportedNames, boolean missingCoefficientsAllowed)
Simple constructor.This constructor uses the
default data context
.- Parameters:
supportedNames
- regular expression for supported files namesmissingCoefficientsAllowed
- if true, allows missing coefficients in the input data- See Also:
ICGEMFormatReader(String, boolean, TimeScale)
-
ICGEMFormatReader
public ICGEMFormatReader(String supportedNames, boolean missingCoefficientsAllowed, TimeScale timeScale)
Simple constructor.- Parameters:
supportedNames
- regular expression for supported files namesmissingCoefficientsAllowed
- if true, allows missing coefficients in the input datatimeScale
- to use when parsing dates.- Since:
- 10.1
-
-
Method Detail
-
loadData
public void loadData(InputStream input, String name) throws IOException, ParseException, OrekitException
Load data from a stream.- Specified by:
loadData
in interfaceDataLoader
- Specified by:
loadData
in classPotentialCoefficientsReader
- 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 occursOrekitException
-
getProvider
public RawSphericalHarmonicsProvider getProvider(boolean wantNormalized, int degree, int order)
Get a provider for read spherical harmonics coefficients.- Specified by:
getProvider
in classPotentialCoefficientsReader
- Parameters:
wantNormalized
- if true, the provider will provide normalized coefficients, otherwise it will provide un-normalized coefficientsdegree
- maximal degreeorder
- maximal order- Returns:
- a new provider
-
-