public class ICGEMFormatReader extends PotentialCoefficientsReader
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). Both 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.
In order to simplify implementation, some design choices have been made: the reference date and the periods of harmonic pulsations are stored globally and not on a per-coefficient basis. This has the following implications:
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.
GravityFields
Constructor and Description |
---|
ICGEMFormatReader(String supportedNames,
boolean missingCoefficientsAllowed)
Simple constructor.
|
ICGEMFormatReader(String supportedNames,
boolean missingCoefficientsAllowed,
TimeScale timeScale)
Simple constructor.
|
Modifier and Type | Method and 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.
|
buildRow, buildTriangularArray, extendListOfLists, getAe, getConstantProvider, getMaxAvailableDegree, getMaxAvailableOrder, getMaxParseDegree, getMaxParseOrder, getMu, getSupportedNames, getTideSystem, missingCoefficientsAllowed, parseCoefficient, parseCoefficient, parseDouble, rescale, setAe, setMaxParseDegree, setMaxParseOrder, setMu, setRawCoefficients, setReadComplete, setTideSystem, stillAcceptsData, toArray, toDate
@DefaultDataContext public ICGEMFormatReader(String supportedNames, boolean missingCoefficientsAllowed)
This constructor uses the default data context
.
supportedNames
- regular expression for supported files namesmissingCoefficientsAllowed
- if true, allows missing coefficients in the input dataICGEMFormatReader(String, boolean, TimeScale)
public ICGEMFormatReader(String supportedNames, boolean missingCoefficientsAllowed, TimeScale timeScale)
supportedNames
- regular expression for supported files namesmissingCoefficientsAllowed
- if true, allows missing coefficients in the input
datatimeScale
- to use when parsing dates.public void loadData(InputStream input, String name) throws IOException, ParseException, OrekitException
loadData
in interface DataLoader
loadData
in class PotentialCoefficientsReader
input
- data input streamname
- name of the file (or zip entry)IOException
- if data can't be readParseException
- if data can't be parsed
or if some loader specific error occursOrekitException
public RawSphericalHarmonicsProvider getProvider(boolean wantNormalized, int degree, int order)
ICGEM fields do include time-dependent parts which are taken into account in the returned provider.
getProvider
in class PotentialCoefficientsReader
wantNormalized
- if true, the provider will provide normalized coefficients,
otherwise it will provide un-normalized coefficientsdegree
- maximal degreeorder
- maximal orderPotentialCoefficientsReader.getConstantProvider(boolean, int, int)
Copyright © 2002-2020 CS Group. All rights reserved.