public class LazyLoadedGravityFields extends Object implements GravityFields
GravityFieldFactory
in Orekit 10.0.GravityFieldFactory
Constructor and Description |
---|
LazyLoadedGravityFields(DataProvidersManager dataProvidersManager,
TimeScale timeScale)
Create a factory for gravity fields that uses the given data manager to load the
gravity field files.
|
Modifier and Type | Method and Description |
---|---|
void |
addDefaultOceanTidesReaders()
Add the default readers for ocean tides.
|
void |
addDefaultPotentialCoefficientsReaders()
Add the default readers for gravity fields.
|
void |
addOceanTidesReader(OceanTidesReader reader)
Add a reader for ocean tides.
|
void |
addPotentialCoefficientsReader(PotentialCoefficientsReader reader)
Add a reader for gravity fields.
|
void |
clearOceanTidesReaders()
Clear ocean tides readers.
|
void |
clearPotentialCoefficientsReaders()
Clear gravity field readers.
|
void |
configureOceanLoadDeformationCoefficients(OceanLoadDeformationCoefficients oldc)
Configure ocean load deformation coefficients.
|
NormalizedSphericalHarmonicsProvider |
getConstantNormalizedProvider(int degree,
int order)
Get a constant gravity field normalized coefficients provider.
|
UnnormalizedSphericalHarmonicsProvider |
getConstantUnnormalizedProvider(int degree,
int order)
Get a constant gravity field unnormalized coefficients provider.
|
NormalizedSphericalHarmonicsProvider |
getNormalizedProvider(int degree,
int order)
Get a gravity field normalized coefficients provider.
|
OceanLoadDeformationCoefficients |
getOceanLoadDeformationCoefficients()
Get the configured ocean load deformation coefficients.
|
List<OceanTidesWave> |
getOceanTidesWaves(int degree,
int order)
Get the ocean tides waves.
|
UnnormalizedSphericalHarmonicsProvider |
getUnnormalizedProvider(int degree,
int order)
Get a gravity field unnormalized coefficients provider.
|
PotentialCoefficientsReader |
readGravityField(int maxParseDegree,
int maxParseOrder)
Read a gravity field coefficients provider from the first supported file.
|
public LazyLoadedGravityFields(DataProvidersManager dataProvidersManager, TimeScale timeScale)
dataProvidersManager
- provides access to auxiliary data files.timeScale
- use to parse dates for the addDefaultPotentialCoefficientsReaders()
.
In Orekit 10.0 it is TT.public void addPotentialCoefficientsReader(PotentialCoefficientsReader reader)
reader
- custom reader to add for the gravity fieldaddDefaultPotentialCoefficientsReaders()
,
clearPotentialCoefficientsReaders()
public void addDefaultPotentialCoefficientsReaders()
The default readers support ICGEM, SHM, EGM and GRGS formats with the
default names GravityFieldFactory.ICGEM_FILENAME
, GravityFieldFactory.SHM_FILENAME
, GravityFieldFactory.EGM_FILENAME
, GravityFieldFactory.GRGS_FILENAME
and don't allow missing coefficients.
public void clearPotentialCoefficientsReaders()
public void addOceanTidesReader(OceanTidesReader reader)
reader
- custom reader to add for the gravity fieldaddDefaultPotentialCoefficientsReaders()
,
clearPotentialCoefficientsReaders()
public void configureOceanLoadDeformationCoefficients(OceanLoadDeformationCoefficients oldc)
oldc
- ocean load deformation coefficientsgetOceanLoadDeformationCoefficients()
public OceanLoadDeformationCoefficients getOceanLoadDeformationCoefficients()
If configureOceanLoadDeformationCoefficients
has never been called, the default
value will be the IERS 2010
coefficients.
configureOceanLoadDeformationCoefficients(OceanLoadDeformationCoefficients)
public void addDefaultOceanTidesReaders()
The default readers support files similar to the fes2004_Cnm-Snm.dat and
fes2004.dat as published by IERS, using the configured
ocean load deformation coefficients, which by default are the
IERS 2010 coefficients, which are limited to degree 6. If higher degree
coefficients are needed, the configureOceanLoadDeformationCoefficients
method can be called prior to
loading the ocean tides model with the high degree coefficients
computed
by Pascal Gégout.
WARNING: the files referenced in the published conventions have some errors. These errors have been corrected and the updated files can be found here: http://tai.bipm.org/iers/convupdt/convupdt_c6.html.
public void clearOceanTidesReaders()
public PotentialCoefficientsReader readGravityField(int maxParseDegree, int maxParseOrder)
If no PotentialCoefficientsReader
has been added by calling addPotentialCoefficientsReader
or if clearPotentialCoefficientsReaders
has been called afterwards, the addDefaultPotentialCoefficientsReaders
method will be called automatically.
maxParseDegree
- maximal degree to parsemaxParseOrder
- maximal order to parsepublic NormalizedSphericalHarmonicsProvider getConstantNormalizedProvider(int degree, int order)
If no PotentialCoefficientsReader
has been added by calling addPotentialCoefficientsReader
or if clearPotentialCoefficientsReaders
has been called afterwards, the addDefaultPotentialCoefficientsReaders
method will be called automatically.
getConstantNormalizedProvider
in interface GravityFields
degree
- maximal degreeorder
- maximal orderGravityFields.getNormalizedProvider(int, int)
public NormalizedSphericalHarmonicsProvider getNormalizedProvider(int degree, int order)
If no PotentialCoefficientsReader
has been added by calling addPotentialCoefficientsReader
or if clearPotentialCoefficientsReaders
has been called afterwards, the addDefaultPotentialCoefficientsReaders
method will be called automatically.
getNormalizedProvider
in interface GravityFields
degree
- maximal degreeorder
- maximal orderGravityFields.getConstantNormalizedProvider(int, int)
public UnnormalizedSphericalHarmonicsProvider getConstantUnnormalizedProvider(int degree, int order)
If no PotentialCoefficientsReader
has been added by calling addPotentialCoefficientsReader
or if clearPotentialCoefficientsReaders
has been called afterwards, the addDefaultPotentialCoefficientsReaders
method will be called automatically.
getConstantUnnormalizedProvider
in interface GravityFields
degree
- maximal degreeorder
- maximal orderGravityFields.getUnnormalizedProvider(int, int)
public UnnormalizedSphericalHarmonicsProvider getUnnormalizedProvider(int degree, int order)
If no PotentialCoefficientsReader
has been added by calling addPotentialCoefficientsReader
or if clearPotentialCoefficientsReaders
has been called afterwards, the addDefaultPotentialCoefficientsReaders
method will be called automatically.
getUnnormalizedProvider
in interface GravityFields
degree
- maximal degreeorder
- maximal orderGravityFields.getConstantUnnormalizedProvider(int, int)
public List<OceanTidesWave> getOceanTidesWaves(int degree, int order)
WARNING: as of 2013-11-17, there seem to be an inconsistency when loading one or the other file, for wave Sa (Doodson number 56.554) and P1 (Doodson number 163.555). The sign of the coefficients are different. We think the problem lies in the input files from IERS and not in the conversion (which works for all other waves), but cannot be sure. For this reason, ocean tides are still considered experimental at this date.
If no OceanTidesReader
has been added by calling addOceanTidesReader
or if clearOceanTidesReaders
has been called afterwards, the addDefaultOceanTidesReaders
method will be called automatically.
getOceanTidesWaves
in interface GravityFields
degree
- maximal degreeorder
- maximal orderCopyright © 2002-2020 CS Group. All rights reserved.