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.
GravityFieldFactory
Constructor and Description |
---|
ICGEMFormatReader(String supportedNames,
boolean missingCoefficientsAllowed)
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
public ICGEMFormatReader(String supportedNames, boolean missingCoefficientsAllowed)
supportedNames
- regular expression for supported files namesmissingCoefficientsAllowed
- if true, allows missing coefficients in the input datapublic 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 parsedOrekitException
- if some data is missing
or if some loader specific error occurspublic RawSphericalHarmonicsProvider getProvider(boolean wantNormalized, int degree, int order) throws OrekitException
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 orderOrekitException
- if the requested maximal degree or order exceeds the
available degree or order or if no gravity field has read yetPotentialCoefficientsReader.getConstantProvider(boolean, int, int)
Copyright © 2002-2017 CS Systèmes d'information. All rights reserved.