public class GravityFieldFactory extends Object
Modifier and Type | Field | Description |
---|---|---|
static String |
EGM_FILENAME |
Default regular expression for EGM files.
|
static String |
FES_CHAT_EPSILON_FILENAME |
Default regular expression for FES C hat and epsilon tides files.
|
static String |
FES_CNM_SNM_FILENAME |
Default regular expression for FES Cnm, Snm tides files.
|
static String |
FES_HF_FILENAME |
Default regular expression for FES Hf tides files.
|
static String |
GRGS_FILENAME |
Default regular expression for GRGS files.
|
static String |
ICGEM_FILENAME |
Default regular expression for ICGEM files.
|
static String |
SHM_FILENAME |
Default regular expression for SHM files.
|
Modifier and Type | Method | Description |
---|---|---|
static void |
addDefaultOceanTidesReaders() |
Add the default READERS for ocean tides.
|
static void |
addDefaultPotentialCoefficientsReaders() |
Add the default readers for gravity fields.
|
static void |
addOceanTidesReader(OceanTidesReader reader) |
Add a reader for ocean tides.
|
static void |
addPotentialCoefficientsReader(PotentialCoefficientsReader reader) |
Add a reader for gravity fields.
|
static void |
clearOceanTidesReaders() |
Clear ocean tides readers.
|
static void |
clearPotentialCoefficientsReaders() |
Clear gravity field readers.
|
static void |
configureOceanLoadDeformationCoefficients(OceanLoadDeformationCoefficients oldc) |
Configure ocean load deformation coefficients.
|
static NormalizedSphericalHarmonicsProvider |
getConstantNormalizedProvider(int degree,
int order) |
Get the constant gravity field coefficients provider from the first supported file.
|
static UnnormalizedSphericalHarmonicsProvider |
getConstantUnnormalizedProvider(int degree,
int order) |
Get the constant gravity field coefficients provider from the first supported file.
|
static NormalizedSphericalHarmonicsProvider |
getNormalizedProvider(double ae,
double mu,
TideSystem tideSystem,
double[][] normalizedC,
double[][] normalizedS) |
Create a time-independent
NormalizedSphericalHarmonicsProvider from canonical coefficients. |
static NormalizedSphericalHarmonicsProvider |
getNormalizedProvider(int degree,
int order) |
Get the gravity field coefficients provider from the first supported file.
|
static NormalizedSphericalHarmonicsProvider |
getNormalizedProvider(UnnormalizedSphericalHarmonicsProvider unnormalized) |
Create a
NormalizedSphericalHarmonicsProvider from an UnnormalizedSphericalHarmonicsProvider . |
static OceanLoadDeformationCoefficients |
getOceanLoadDeformationCoefficients() |
Get the configured ocean load deformation coefficients.
|
static List<OceanTidesWave> |
getOceanTidesWaves(int degree,
int order) |
Get the ocean tides waves from the first supported file.
|
static double[][] |
getUnnormalizationFactors(int degree,
int order) |
Get a un-normalization factors array.
|
static UnnormalizedSphericalHarmonicsProvider |
getUnnormalizedProvider(double ae,
double mu,
TideSystem tideSystem,
double[][] unnormalizedC,
double[][] unnormalizedS) |
Create a time-independent
UnnormalizedSphericalHarmonicsProvider from canonical coefficients. |
static UnnormalizedSphericalHarmonicsProvider |
getUnnormalizedProvider(int degree,
int order) |
Get the gravity field coefficients provider from the first supported file.
|
static UnnormalizedSphericalHarmonicsProvider |
getUnnormalizedProvider(NormalizedSphericalHarmonicsProvider normalized) |
Create an
UnnormalizedSphericalHarmonicsProvider from a NormalizedSphericalHarmonicsProvider . |
static PotentialCoefficientsReader |
readGravityField(int maxParseDegree,
int maxParseOrder) |
Read a gravity field coefficients provider from the first supported file.
|
public static final String ICGEM_FILENAME
public static final String SHM_FILENAME
public static final String EGM_FILENAME
public static final String GRGS_FILENAME
public static final String FES_CNM_SNM_FILENAME
public static final String FES_CHAT_EPSILON_FILENAME
public static final String FES_HF_FILENAME
public static void addPotentialCoefficientsReader(PotentialCoefficientsReader reader)
reader
- custom reader to add for the gravity fieldaddDefaultPotentialCoefficientsReaders()
,
clearPotentialCoefficientsReaders()
public static void addDefaultPotentialCoefficientsReaders()
The default READERS supports ICGEM, SHM, EGM and GRGS formats with the
default names ICGEM_FILENAME
, SHM_FILENAME
, EGM_FILENAME
, GRGS_FILENAME
and don't allow missing coefficients.
public static void clearPotentialCoefficientsReaders()
public static void addOceanTidesReader(OceanTidesReader reader)
reader
- custom reader to add for the gravity fieldaddDefaultPotentialCoefficientsReaders()
,
clearPotentialCoefficientsReaders()
public static void configureOceanLoadDeformationCoefficients(OceanLoadDeformationCoefficients oldc)
oldc
- ocean load deformation coefficientsgetOceanLoadDeformationCoefficients()
public static OceanLoadDeformationCoefficients getOceanLoadDeformationCoefficients()
If configureOceanLoadDeformationCoefficients
has never been called, the default
value will be the IERS 2010
coefficients.
configureOceanLoadDeformationCoefficients(OceanLoadDeformationCoefficients)
public static void addDefaultOceanTidesReaders() throws OrekitException
The default READERS supports 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.
OrekitException
- if astronomical amplitudes cannot be readaddPotentialCoefficientsReader(PotentialCoefficientsReader)
,
clearPotentialCoefficientsReaders()
,
configureOceanLoadDeformationCoefficients(OceanLoadDeformationCoefficients)
,
getOceanLoadDeformationCoefficients()
public static void clearOceanTidesReaders()
public static NormalizedSphericalHarmonicsProvider getConstantNormalizedProvider(int degree, int order) throws OrekitException
If no PotentialCoefficientsReader
has been added by calling addPotentialCoefficientsReader
or if clearPotentialCoefficientsReaders
has been called afterwards, the addDefaultPotentialCoefficientsReaders
method will be called automatically.
degree
- maximal degreeorder
- maximal orderOrekitException
- if some data can't be read (missing or read error)
or if some loader specific error occursgetNormalizedProvider(int, int)
public static NormalizedSphericalHarmonicsProvider getNormalizedProvider(int degree, int order) throws OrekitException
If no PotentialCoefficientsReader
has been added by calling addPotentialCoefficientsReader
or if clearPotentialCoefficientsReaders
has been called afterwards, the addDefaultPotentialCoefficientsReaders
method will be called automatically.
degree
- maximal degreeorder
- maximal orderOrekitException
- if some data can't be read (missing or read error)
or if some loader specific error occursgetConstantNormalizedProvider(int, int)
public static NormalizedSphericalHarmonicsProvider getNormalizedProvider(double ae, double mu, TideSystem tideSystem, double[][] normalizedC, double[][] normalizedS)
NormalizedSphericalHarmonicsProvider
from canonical coefficients.
Note that contrary to the other factory method, this one does not read any data, it simply uses the provided data
ae
- central body reference radiusmu
- central body attraction coefficienttideSystem
- tide systemnormalizedC
- normalized tesseral-sectorial coefficients (cosine part)normalizedS
- normalized tesseral-sectorial coefficients (sine part)public static NormalizedSphericalHarmonicsProvider getNormalizedProvider(UnnormalizedSphericalHarmonicsProvider unnormalized) throws OrekitException
NormalizedSphericalHarmonicsProvider
from an UnnormalizedSphericalHarmonicsProvider
.
Note that contrary to the other factory method, this one does not read any data, it simply uses the provided data.
unnormalized
- provider to normalizeOrekitException
- if degree and order are too large
and the normalization coefficients underflowpublic static UnnormalizedSphericalHarmonicsProvider getConstantUnnormalizedProvider(int degree, int order) throws OrekitException
If no PotentialCoefficientsReader
has been added by calling addPotentialCoefficientsReader
or if clearPotentialCoefficientsReaders
has been called afterwards, the addDefaultPotentialCoefficientsReaders
method will be called automatically.
degree
- maximal degreeorder
- maximal orderOrekitException
- if some data can't be read (missing or read error)
or if some loader specific error occursgetUnnormalizedProvider(int, int)
public static UnnormalizedSphericalHarmonicsProvider getUnnormalizedProvider(int degree, int order) throws OrekitException
If no PotentialCoefficientsReader
has been added by calling addPotentialCoefficientsReader
or if clearPotentialCoefficientsReaders
has been called afterwards, the addDefaultPotentialCoefficientsReaders
method will be called automatically.
degree
- maximal degreeorder
- maximal orderOrekitException
- if some data can't be read (missing or read error)
or if some loader specific error occursgetConstantUnnormalizedProvider(int, int)
public static UnnormalizedSphericalHarmonicsProvider getUnnormalizedProvider(double ae, double mu, TideSystem tideSystem, double[][] unnormalizedC, double[][] unnormalizedS)
UnnormalizedSphericalHarmonicsProvider
from canonical coefficients.
Note that contrary to the other factory method, this one does not read any data, it simply uses the provided data
ae
- central body reference radiusmu
- central body attraction coefficienttideSystem
- tide systemunnormalizedC
- un-normalized tesseral-sectorial coefficients (cosine part)unnormalizedS
- un-normalized tesseral-sectorial coefficients (sine part)public static UnnormalizedSphericalHarmonicsProvider getUnnormalizedProvider(NormalizedSphericalHarmonicsProvider normalized) throws OrekitException
UnnormalizedSphericalHarmonicsProvider
from a NormalizedSphericalHarmonicsProvider
.
Note that contrary to the other factory method, this one does not read any data, it simply uses the provided data.
normalized
- provider to un-normalizeOrekitException
- if degree and order are too large
and the un-normalization coefficients underflowpublic static PotentialCoefficientsReader readGravityField(int maxParseDegree, int maxParseOrder) throws OrekitException
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 parseOrekitException
- if some data is missing
or if some loader specific error occurspublic static double[][] getUnnormalizationFactors(int degree, int order) throws OrekitException
Un-normalized coefficients are obtained by multiplying normalized coefficients by the factors array elements.
degree
- maximal degreeorder
- maximal orderOrekitException
- if degree and order are too large
and the latest coefficients underflowpublic static List<OceanTidesWave> getOceanTidesWaves(int degree, int order) throws OrekitException
If no OceanTidesReader
has been added by calling addOceanTidesReader
or if clearOceanTidesReaders
has been called afterwards, the addDefaultOceanTidesReaders
method will be called automatically.
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.
degree
- maximal degreeorder
- maximal orderOrekitException
- if some data can't be read (missing or read error)
or if some loader specific error occursCopyright © 2002-2018 CS Systèmes d'information. All rights reserved.